Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Sebas92 en Mayo 19, 2015, 07:37:18 AM

Título: Reproduce la animación pero no se mueve
Publicado por: Sebas92 en Mayo 19, 2015, 07:37:18 AM
Hola, me he descargado este personaje http://tf3dm.com/3d-model/army-pilot-fully-rigged-animated-20-animations-57044.html dicho personaje viene con animaciones, he tratado de hacer la animación de caminar con mecanim pero cuando le doy play reproduce la animación pero no se mueve queda estatico en el lugar, un poco de ayuda
Título: Reproduce la animación pero no se mueve
Publicado por: kaito en Mayo 19, 2015, 08:08:55 AM
El personaje se mueve en la vista 'Preview' de la animación?
Título: Reproduce la animación pero no se mueve
Publicado por: Sebas92 en Mayo 19, 2015, 08:48:31 AM
Cita de: kaito date=1432015735El personaje se mueve en la vista 'Preview' de la animación?
No, no lo hace
Título: Reproduce la animación pero no se mueve
Publicado por: mrpacogp en Mayo 19, 2015, 09:58:09 AM
Tendrás que seleccionar Apply Root Motion.
Título: Reproduce la animación pero no se mueve
Publicado por: Goex en Mayo 19, 2015, 10:42:48 AM
El tema es que si usa Apply Root motion hay que ver las direcciones que tienen las animaciones, a veces una animacion de walk no va derecha, en ese caso si la quiere usar y que valla derecha, deberia no seleccion el apply root motion y asignarle el mov al pj desde los scripts
 
lamentablemente soy noob y no entiendo mucho, pero aca tengo un script de movimiento que podrias probar
 
#pragma strict
 
public var speed : float = 6.0;
public var jumpSpeed : float = 8;
public var gravity : float = 20;
 
private var moveDirection : Vector3 = Vector3.zero;
 
function Start () {
 
}
 
function Update () {
 
var Controller : CharacterController = GetComponent(CharacterController);
 
if (Controller.isGrounded)
{
moveDirection = Vector3(Input.GetAxis("Horizontal"),0,Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection (moveDirection);
moveDirection *= speed;
 
if(Input.GetButton("Jump"))
{
moveDirection.y = jumpSpeed;
}
}
 
moveDirection.y -= gravity *Time.deltaTime;
 
Controller.Move(moveDirection *Time.deltaTime);
 
}
Título: Reproduce la animación pero no se mueve
Publicado por: Sebas92 en Mayo 19, 2015, 06:11:07 PM
Cita de: mrpacogp date=1432022289Tendrás que seleccionar Apply Root Motion.
Si, pense lo del Apply Root Motion pero ya lo tengo activado y no se mueve, nose ¿tengo que modificar algo en inspector de la animación?
Título: Reproduce la animación pero no se mueve
Publicado por: mrpacogp en Mayo 19, 2015, 10:59:04 PM
Pues igual esas animaciones no llevan translación y las debes aplicar con físicas en unity, no lo sé.
Título: Reproduce la animación pero no se mueve
Publicado por: kaito en Mayo 20, 2015, 09:15:02 AM
Cita de: Sebas92 date=1432018111No, no lo hace
 
Bueno, ya le he echado un vistazo.
 
Las animaciones aunque tienen claves(keys) de posición no utilizan 'Root Motion'.
 
Se mueve en el eje XZ hacia adelante y hacia atrás, es decir, que realmente no avanza, no aplica 'Root Motion' (Movimiento en el hueso raíz o principal).
 
Simula movimiento, pero no se desplaza.
 
Tienes que mover el personaje moviendo directamente el CharacterController o aplicando una fuerza al Rigidbody.
Título: Reproduce la animación pero no se mueve
Publicado por: Sebas92 en Mayo 21, 2015, 08:35:16 AM
Cita de: kaito date=1432106102Bueno, ya le he echado un vistazo.
 
Las animaciones aunque tienen claves(keys) de posición no utilizan 'Root Motion'.
 
Se mueve en el eje XZ hacia adelante y hacia atrás, es decir, que realmente no avanza, no aplica 'Root Motion' (Movimiento en el hueso raíz o principal).
 
Simula movimiento, pero no se desplaza.
 
Tienes que mover el personaje moviendo directamente el CharacterController o aplicando una fuerza al Rigidbody.
Gracias, pero como hago eso ¿con un script?
Título: Reproduce la animación pero no se mueve
Publicado por: kaito en Mayo 21, 2015, 10:45:21 AM
Cita de: Sebas92 date=1432190116Gracias, pero como hago eso ¿con un script?
 
Antes de preguntar, tal que así.
 
Deberías buscar en la documentación charactercontroller y rigidbody, y buscar por la red algún tutorial.
 
Seguramente alguien ha tenido esa duda antes que tú en unity answer y le han respondido ya.
Título: Reproduce la animación pero no se mueve
Publicado por: Sebas92 en Mayo 21, 2015, 05:24:33 PM
Cita de: kaito date=1432197921Antes de preguntar, tal que así.
 
Deberías buscar en la documentación charactercontroller y rigidbody, y buscar por la red algún tutorial.
 
Seguramente alguien ha tenido esa duda antes que tú en unity answer y le han respondido ya.
Solucionado, solo le puse el script de Goex pero ahora me di cuenta que el personaje camina derecho pero la animación se reproduce en diagonal  vaya problema, vere como lo soluciono, gracias.