problema nei movimenti del personaggio - 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: problema nei movimenti del personaggio (/thread-problema-nei-movimenti-del-personaggio) |
problema nei movimenti del personaggio - 93sunderland - 03-02-2016 salve, vorrei esporvi un problema che assolutamente non riesco a risolvere ho creato un CharacterController su Unity nella quale ho inserito pure un RigidBody e un script creato da me per muoversi Codice: using UnityEngine; però ho due problemi: 1) quando il personaggio salta e tocca il tetto, quest'ultimo non cade subito a terra ma rimane qualche decimo di secondo ancora in aria, come se la spinta del salto non fosse ancora terminata 2) quando fisso il pavimento con la telecamera e cammino all'indietro, anziché camminare il personaggio "saltella" qualche consiglio? RE: problema nei movimenti del personaggio - Zettamax - 03-02-2016 Ciao, per risolvere il secondo problema basta che semplicemente elimini la riga: Codice: moveDirection = fpsCamera.transform.TransformDirection (moveDirection); Per prima cosa crea un tag e dagli un nome(io ad esempio ho messo "top"), ora metti questo nello script che ci hai postato: Codice: void OnControllerColliderHit(ControllerColliderHit hit) RE: problema nei movimenti del personaggio - 93sunderland - 04-02-2016 per il secondo problema, se elimino quella riga allora non riesco più a far muovere il personaggio secondo la direzione della MainCamera avevo pensato a un modo per poter costringere il movimento solamente lungo il piano orizzontale ma non ci sto riuscendo RE: problema nei movimenti del personaggio - 93sunderland - 05-02-2016 sono riuscito a risolvere parzialmente il primo problema, quello delle collisioni Codice: void Update() ho messo la funzione collisionFlags che permette di discriminare solo le collisioni da un lato RE: problema nei movimenti del personaggio - 93sunderland - 05-02-2016 ok, ho risolto quasi totalmente il problema delle collisioni mentre si salta, ecco lo script modificato Codice: using UnityEngine; scusate per il post multiplo ma non vorrei che il problema del movimento del personaggio venga dimenticato: quello non sono riuscito ancora a risolverlo RE: problema nei movimenti del personaggio - Zettamax - 05-02-2016 Ho risolto il problema del personaggio quando "saltellava" se guardavi il pavimento e camminavi all'indietro. Crea un empty GameObject come child della camera e mettigli questo script(lo script si chiama "Lock.cs"): Codice: using UnityEngine; Per prima cosa crea questa variabile(ovviamente puoi assegnarli il nome che vuoi): Codice: public GameObject dir; ora sostituisci questo: Codice: moveDirection = fpsCamera.transform.TransformDirection (moveDirection); Codice: moveDirection = dir.transform.TransformDirection(moveDirection); RE: problema nei movimenti del personaggio - 93sunderland - 06-02-2016 funzionaaaa grazie mille zettamax RE: problema nei movimenti del personaggio - 93sunderland - 08-02-2016 malgrado tutte queste soluzioni ho notato un altro problema ritornando al discorso delle collisioni del personaggio, sono riuscito a sistemare parzialmente il problema con lo script che ho riportato in un post qua sopra, però solo oggi mi sono accorto di un altro problema: se io salto in messo alla stanza allora sarà tutto nella norma, me se io salto contro una parete, lasciando premuto il tasto per camminarci incontro, il personaggio non riuscirà totalmente a toccare terra, anzi, a volte mi capita che penetra nel muro per qualche secondo qualche consiglio? RE: problema nei movimenti del personaggio - Blackg96 - 08-02-2016 Secondo me non è un problema di script, ma di come sono stati disposti i gameObject. Se devi fare un sistema di movimento semplice ecco un mio vecchio tutorial : 1- https://www.youtube.com/watch?v=Ymws95i2FxM 2- https://www.youtube.com/watch?v=zLIumWhrwIg (Non tutto il tutorial è dedicato al movimento, ma solo una parte) (Spero non sia spam anche perchè non sto più nell'OnGame e quel canale è chiuso da un bel pezzo) Vedi un pò se può esserti utile. RE: problema nei movimenti del personaggio - 93sunderland - 08-02-2016 mi dispiace ma i video non mi danno informazioni utili, però se vuoi ti passo il file della mia Scene e puoi controllare se c'è qualcosa che non va RE: problema nei movimenti del personaggio - Blackg96 - 08-02-2016 Va bene, passamelo e vediamo che posso fare RE: problema nei movimenti del personaggio - 93sunderland - 08-02-2016 eccolo https://drive.google.com/file/d/0B1zvD6Nq_N3zSFhOTGlRVWpUNWM/view?usp=sharing RE: problema nei movimenti del personaggio - Blackg96 - 08-02-2016 Allora, io non ho trovato nessuno dei problemi da te elencati Ho azzerato il near della camera, per quel bug che delle volte trapassa per un secondo il muro, poi i bug delle collisioni io non li noto boh, fammi sapere =) RE: problema nei movimenti del personaggio - 93sunderland - 08-02-2016 prova a premere W e andare incontro una parete, e poi tieni premuto pure SPACE per poter osservare meglio, tieni aperto le funzione del personaggio e vedrai che tra i parametri dello script PlayerMovement ce n'è uno che ti avvisa che puoi saltare (è un parametro che ho creato per essere sicuro che il personaggio tocchi terra per saltare) e si vede che resta attivato sempre |