06-03-2017, 06:34 PM
(Questo messaggio è stato modificato l'ultima volta il: 06-03-2017, 06:39 PM da carloss.)
Ciao ci sono diversi approcci per gestire varie situazioni, dipende da cosa devi fare. Sicuramente il metodo che hai adottato non è sbagliato, anzi penso sia il modo più corretto per gestire i movimenti di un personaggio nello spazio.
Quello che devi settare via script è l'azione e l'animazione associata da compiere ad un input , ad esempio saltare alla pressione di un tasto oppure camminare quando si muove in avanti la levetta analogica di un controller.
Ovviamente all'occorrenza puoi controllare la lunghezza del salto e la direzione aggiungendo una forza via script.
Per le animazioni di un personaggio ti consiglio di studiarti per bene Unity Mecanim e i Blend Tree per le transizioni da una animazione all'altra (cammina, corri, ruota).
Per completezza di informazione puoi disattivare i movimenti nello spazio presenti nell'animazione disabilitando il check box "Apply root motion" nel componente Animator.
Inoltre quando importi l'fbx puoi fare il bake della rotazione, posizione y e posizione xy, ciò significa che quando l'animazione viene riavviata riparte dallo stesso punto(localmente) in cui è stato fatto il bake.
Quello che devi settare via script è l'azione e l'animazione associata da compiere ad un input , ad esempio saltare alla pressione di un tasto oppure camminare quando si muove in avanti la levetta analogica di un controller.
Ovviamente all'occorrenza puoi controllare la lunghezza del salto e la direzione aggiungendo una forza via script.
Per le animazioni di un personaggio ti consiglio di studiarti per bene Unity Mecanim e i Blend Tree per le transizioni da una animazione all'altra (cammina, corri, ruota).
Per completezza di informazione puoi disattivare i movimenti nello spazio presenti nell'animazione disabilitando il check box "Apply root motion" nel componente Animator.
Inoltre quando importi l'fbx puoi fare il bake della rotazione, posizione y e posizione xy, ciò significa che quando l'animazione viene riavviata riparte dallo stesso punto(localmente) in cui è stato fatto il bake.