Personalización Enrutamiento de máquina de estado con conjuntos de movimiento disperso - Lumberyard Guía del usuario

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Personalización Enrutamiento de máquina de estado con conjuntos de movimiento disperso

Esta característica está en versión preliminar y está sujeta a cambios.

Puedes encontrarte con un caso en el que tengas caracteres diferentes que no tengan el mismos movimientos que el personaje para el que creó el gráfico de animación. En lugar de duplicar partes grandes o crear nuevos gráficos de animación para diferentes personajes, puede comparten el mismo gráfico de animación para todos los personajes.

Puede permitir o denegar transiciones y rutas a estados de movimiento en una máquina de estado, en función de la existencia de la entrada de movimiento dada.

Conjuntos de movimiento disperso

Un conjunto de movimientos contiene una lista de entradas de movimiento. Cada entrada de movimiento tiene un ID de movimiento que puede definir. Por ejemplo, puede asignar un nombre a un ID de movimiento, Walk o bien Jump. La entrada de movimiento asigna el ID de movimiento personalizado como Walk a un archivo de movimiento específico, como /SampleProject/Animations/Human_Walk.motion.

Puede añadir entradas de movimiento a un conjunto de movimientos con la + o el icono en la ventana del conjunto de movimientos. El + el icono crea una nueva motion entry (entrada de movimiento) donde puede especificar el ID de movimiento, pero no asignarlo a un movimiento del archivo. Puede hacer clic en el icono de la carpeta para seleccionar un movimiento para agregar. Basado en el archivo de movimiento name, se genera un ID de movimiento predeterminado para usted.

La conjunto de movimiento disperso es cuando las entradas de movimiento no tienen un del archivo de movimiento asignado a ellos.

Cuando elige una entrada de movimiento sin asignar en un estado de movimiento en una máquina de estado, el El movimiento muestra un borde rojo alrededor del nodo. Si el estado de movimiento está activado, el el personaje va a una postura de reposo. En el siguiente ejemplo, el gráfico de animación del personaje no pasa de inactivo a saltar porque el Salto el nodo es con un conjunto de movimientos dispersos; no se asigna ningún archivo de movimiento. El personaje permanece en el campo Inactivo del nodo.


                Puede especificar una entrada de movimiento sin asignar a un conjunto de movimientos dispersos.

Jerárquico Conjuntos de movimientos y sobrescritura de entradas de movimiento

Un conjunto de movimientos puede contener conjuntos de movimientos secundarios que se almacenan en el mismo archivo. Niño Los conjuntos de movimientos heredan todas las entradas de movimiento del elemento principal.

En el siguiente ejemplo, un conjunto de movimientos jerárquicos tiene el El ser humano del movimiento en el nivel raíz. El zombi es un conjunto de movimiento secundario, que hereda de la matriz El ser humano conjunto de movimientos. El zombi el conjunto de movimientos no tiene una entrada de movimiento para Jump.

ejemplo : conjunto de movimientos jerárquicos

Humano (conjunto de movimientos)

  • + Inactivo – GenericIdle.motion

  • + Caminar – GenericWalk.motion

  • + Salto – GenericJump.motion

    Zombie (conjunto de movimientos)

    • + Caminar – ZombieWalk.motion

Porque el conjunto de movimientos principal define el Jump entrada de movimiento con un archivo de movimiento, el conjunto de movimientos secundario hereda ese movimiento. Esto significa que cuando el zombi el conjunto de movimientos está activado, personajes con ese conjunto de movimientos hacer que el ser humano Jump movimiento.

Si no quieres que tus personajes zombis salten, puedes deshabilitar la herencia para eso el movimiento especificado. En el conjunto de movimientos secundarios, puede crear una nueva entrada de movimiento denominada Jump y, a continuación, márquelo como sin asignar. De esta forma puede anular la entrada de movimiento del elemento principal, no asignándola al conjunto de movimientos secundario.

ejemplo : conjunto de movimientos secundarios con movimiento de salto no asignado

Humano (conjunto de movimientos)

  • + Inactivo – GenericIdle.motion

  • + Caminar – GenericWalk.motion

  • + Salto – GenericJump.motion

    Zombie (conjunto de movimientos)

    • + Caminar – ZombieWalk.motion

    • + Salto – Sin asignar

El zombi El conjunto de movimientos de utiliza el Idle movimiento del conjunto de movimientos principal, personaliza el Walk el movimiento, y deshabilita Jump movimiento.

Para conjuntos de movimientos jerárquicos, puede crear una entrada de movimiento y anular su asignación para deshabilitarla. herencia del conjunto de movimientos principal. Si no utiliza conjuntos de movimiento jerárquico, es lo mismo que no tener una entrada de movimiento con el ID de movimiento especificado.

Estado de personalización Máquinas basadas en conjuntos de movimientos

Los gráficos de animación se pueden compartir entre caracteres. Dos personajes diferentes que utilizan el mismo gráfico de animación puede funcionar con dos conjuntos de movimientos diferentes. Por ejemplo, usted puede tener un personaje humano que utilice el conjunto de movimiento humano y un personaje zombi que utiliza zombi conjunto de movimientos. Ambos caracteres pueden usar el mismo del gráfico de animación.

Puede configurar la máquina de estado para evitar estados de movimiento que no están asignados. En este ejemplo, no quieres que el zombi entre en el Salto estado ya que este movimiento no estaba asignado para el conjunto de movimientos zombis.

Para configurar la máquina de estado para evitar conjuntos de movimiento

  1. En la pestaña Gráfico de animación, elija la línea de transición entre sus nodos de movimiento. Por ejemplo, puede seleccionar la línea de transición entre el Inactivo y Salto nodos.

  2. En la Atributos , haz clic en [EMPTY] Condición y luego seleccione Movimiento Condición.

  3. Para Movimiento, selecciona la opción Salto el estado.

  4. Para Función de prueba, selecciona Es movimiento ¿Asignado?.

    
                        Añada condiciones de movimiento para que algunos estados de movimiento sean
                            sin asignar.

    Porque zombi el conjunto de movimientos no tiene un archivo de movimiento asignado para Jump, el personaje no puede realizar la transición desde el inactivo para saltar estado. El semáforo de condición aparece en rojo y bloquea el transición. Esto le permite controlar si un personaje puede ir a de movimiento específico o no.

    
                        Personalice las máquinas de estado en función de los conjuntos de movimientos.