Script basilare per il movimento tramite fisica - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia) +--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D) +--- Discussione: Script basilare per il movimento tramite fisica (/thread-Script-basilare-per-il-movimento-tramite-fisica) |
Script basilare per il movimento tramite fisica - samuele55598@gmail.com - 19-11-2015 Sempre il solito imbecille di ritorno alle basi delle basi, muovere uno sprite in alto e basso, ma per ora ho scritto un codice che dovrebbe essere corretto, ma non fa ciò che voglio RE: Script basilare per il movimento tramite fisica - Chip - 20-11-2015 Perché aggiungi la forza? Poi quanto è la massa del corpo rigido? Non era meglio lavorare con la velocity del corpo rigido? Codice: GetComponent<Rigidbody2D>().velocity = new Vector2(0, walk_speed); RE: Script basilare per il movimento tramite fisica - samuele55598@gmail.com - 21-11-2015 Altre volte usavo la forza, e modificando un pò la massa del gameobject funzionava, ora no. Con velocity inserito nel codice di sopra, al posto di addForce, l'oggetto comincia a muoversi alla pressione di w ma continua (logicamente) quindi velocity nel mio caso non va bene, nello specifico sto cercando di muovere una "piattaforma" e come nella realtà si ferma quando io smetto di premere il bottone. E poi se ho la piattaforma e il muro di sopra, dovrebbero collidere in quanto entrambi hanno collider e rigidbody (entrambi kinematici perchè non devono cadere per effetto della gravità) ma nulla si compenetrano -.- RE: Script basilare per il movimento tramite fisica - Chip - 21-11-2015 Per i muri basta che gli dai un box collider, il rigidbody non è necessario visto che non li muovi. L'unica cosa che dovrebbe avere un rigidbody sono la palla e le racchette, ovvio anche queste dovranno avere una collisione, la palla un circle_collider, le racchette un'altro box collider. Il pong si può fare in molti modi, sfumature diverse, in base a quanto vuoi gestire tu la fisica o lasciarla gestire a unity. Vedo un 1 sulle Gravity Scale? RE: Script basilare per il movimento tramite fisica - Master Gabriel - 22-11-2015 Ma fare un Codice: if(Input.GetKeyUp("w") RE: Script basilare per il movimento tramite fisica - samuele55598@gmail.com - 22-11-2015 Beh ora ci ho pensato un pò e credo che non serva utilizzare la fisica. Un tranform.translate credo andrà bene in fondo è un gioco per me che non dovrò rilasciare, in più parliamo di 2 rettangoli che dovranno muoversi mentre la palla sarà l'unica affetta dalla fisica RE: Script basilare per il movimento tramite fisica - samuele55598@gmail.com - 30-12-2015 Ricreato per la...non so 30a volta, il pad si muove e la palla pure, anche se non nella direzione voluta, avevo pensato ad un 50/50 tra spingerla a sinistra e giu (quindi Vector.Lerp credo), ma il problema è un pò prima e più importante, con rigidbody.AddForce, al solito non funziona, ho provato con un infinità di modi moltiplicando per Time.deltaTime e per una variabile che ho portato fino a 5000 ma niente da fare, la palla ha rigidbody e collider perchè ricordo che in unity 4 dovevano esserci entrambi affinche il collider funzionasse, non voglio usare velocity perchè esiste addForce e con quella posso spingere la palla in diagonale anziche solo dritta, il codice della palla è questo: Codice: using UnityEngine; Codice: using UnityEngine; Per ora si muove con add force ci sono riuscito, ho messo gravity scale a 0 is kinect false (a quanto pare is kinect non permette il movimento tramite metodi del rigidbody, probabilmente è ovvio ma non per me) ma la variabile moltiplicata (force) ha valore 3000 ed è ancora un pò lenta... |