Jump to content
Sign in to follow this  
xcqoax

Problema con animación

Recommended Posts

tengo un problema con el script de una animación, la animación se reproduce automáticamente si haber presionado botón alguno. la animación es que cuando dispare el arma esta se retraiga.

var arma: Animation;

function Star ()

{

armar =GetComponent.();

}



function Update ()

{

    if (Input.GetMouseButtonDown())

        {  

          arma.Play("fire1",PlayMode.StopAll);

        }

}

 

Edited by pioj
uso de tags y <> para pegar código.

Share this post


Link to post
Share on other sites

pueden ser varias razones por la cual la animación se reproduce automaticamente,

 

1: que en el Animator, ese clip este por default ( color naranja )

2. que no tengas configurada correctamente la transición a ese clip.

 

coloca una cap de tu Animator de ese gameobjet para orientarte mejor saludos. :)

Share this post


Link to post
Share on other sites

claro solo que llegue a casa, el dia de ayer no pude volver al projecto y hacer la captura. espero tener una oprtunidad en la tarde y subirlo. gracias

Share this post


Link to post
Share on other sites

Hola xcqoax,

Como bien dice ACarranza, es posible que tu problema sea debido a una mala configuración del controlador de animaciones del objeto. Fijate bien que en el animator, la animacion de regreso del arma no esté puesta como Default (si está puesta como animacion Default verás el recuadro en naranja). 

Una vez comprobado eso, en la ventana de animator tienes que buscar la ventanita de Parameters, ahi te encontraras que pone list is empty (si no has añadido ninguno claro) y al lado del buscador de parametros veras un pequeño signo de suma, le das ahí y añades un parametro que sea bool con el nombre que tu quieras, lo inicializas como false una vez esté creado. Ahora que ya has creado el parametro, Tienes que borrar cualquier flecha que haya (escogiendola y clickando Supr) y una vez hecho eso, le das click derecha al recuadro Any State y eliges la opcion Make Transition (podrás decidir hacia que animacion se hace la transicion, tienes que clickar en la animacion del retroceso del arma)

Una vez hecho todo esto, selecciona la linea que acabas de crear que va del recuadro Any State al recuadro de la animacion del arma y en la ventana del inspector (a la derecha generalmente) tienes que buscar un tablero que se llame Conditions y ponga abajo List is Empty, una vez lo has encontrado le das al signo de la suma y escoges el parametro que creaste anteriormente, y le pones que la condicion para que haya la transicion sea que el parametro creado esté en true.

 

Una vez hecho todo esto, en la condicion on mouse down en ver de darle play a la animacion, cambias el valor del parametro creado por true, y pones otro condicional de on mouse up (creo que se llamaba asi, me refiero a cuando sueltas el boton del mouse) que modifique el valor del parametro creado por false.

Por supuesto, antes de nada tienes que seleccionar la animacion en la vista de Proyecto, y en la ventana de Inspector desmarcar la casilla de Loop Time.

 

Así sería el método que yo seguiría pero estoy aprendiendo aún así que seguramente te dirán métodos mejores que este y menos lio.

 

Un saludo!

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...