Jump to content
Sign in to follow this  
Silver_Wolf

¿Es posible un Any State local? Animator

Recommended Posts

Muy buenas, antes de nada, pedir disculpas si no va aquí el tema, vi otra sección donde podía ir mejor, pero no me deja crear temas allí.

Tengo un problema con el "Any State" del Animator que aparece por defecto o dentro de un Sub-Machine.

La historia es que, tengo una aplicación que usa unity como una especie de red neuronal de animaciones, con animaciones aleatorias en según que submachines y voy viajando tocando según que teclas entre diferentes "estados de animo".

https://gyazo.com/da43f819487e76deb047b0266fd7c765

Dentro de cada estado de animo (Una sub-machine) hay un funcionamiento en bucle de aleatoriedad entre las demás animaciones. y cuando pulso X tecla, se va a otro estado por uno de los posibles carriles de transición.

https://gyazo.com/46e433e3431af56bea8f9eac1398c4bd

Pues bien, el "Any State" me viene genial porque esto al final se empieza a convertir en algo de crecimiento exponencial, debido a que mientras más Submachines creo (más sentimientos) más transiciones manuales una a una tengo que hacer y sobre todo, porque hay acciones como saludar, beber agua, bailar y un infinito etc, que pueden darse lugar, digamos que hay 3 sentimientos (Feliz, normal o enfadado) y desde ellos se pueden lanzar tambien animaciones de un saludo por ejemplo.


El Any State pensaba que me solucionaría esto pero no, porque funciona dentro de TODO el animator, y afecta a todos los submachines y no quiero viajar desde cualquier estado a cualquier sitio, todo tiene su orden. Esto lo puedo solucionar conectando uno por uno, pero se vuelve super tedioso.

Lo que busco sería algo así como un Any State Local, es decir, que pueda llamar a X Animator para hacer una transición hacia el, sin tener que conectar los cables, pero que no sea literalmente cualquier, sino por ejemplo, cualquier estado dentro de la submachine por ejemplo en la que estoy.


¿Existe algo asi o voy armándome de paciencia?

Edited by Silver_Wolf

Share this post


Link to post
Share on other sites

¿Con Animator Override?, podrías crear toda la lógica del animator para un estado de ánimo y luego sobreescribir, para cada estado de ánimo restante.

Share this post


Link to post
Share on other sites

aquí tienes un script básico para que lo entiendas, es fácil de entender espero te sirva y puedas aplicarlo a tu juego.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class Ejemplo: MonoBehaviour
{

//Pudes seguir agregando mas Animators todos los que necesites.
    public Animator anim1;

    public Animator anim2;



//Esto es un ejemplo con colisiones modifícalo y pon lo que quieras que haga

    void OnTriggerEnter(Collider other)//esto se ejecuta si colisiona con el Tag Especificado.
    {
        if (other.CompareTag("Player"))
        {
            anim1.Play("AnimacionX1");// esto sirve para buscar la AnimacionX2 en el Animator == anim1
        }
    }

    void ParedCompare(Collider other) //esto se ejecuta si colisiona con el Tag Especificado.
    {
        if (other.CompareTag("Pared"))
        {
            anim2.Play("AnimacionX2"); // esto sirve para buscar la AnimacionX2 en el Animator == anim2 
        }
    }

}

 

Share this post


Link to post
Share on other sites

Muy buenas, gracias por las respuestas pero me temo que me será imposible aplicarlas dado que a veces se me olvida el nivel tan bajo de programación que tengo.

Actualmente estoy empezando unos cursos de programación pero me temo que la respuesta al problema va a ser más compleja de lo que seré capaz de asimilar. Voy a investigar el override a ver si encuentro algo porque era una funcion que desconocía.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...