Sistema de movimiento avanzado de animación UE4 Análisis AdvancedLocomotionSystemV

Análisis AdvancedLocomotionSystemV

Utilizando el plano de animación del personaje como representación, se calcula una gran cantidad de datos del juego para lograr mejores efectos en el movimiento del personaje. Al mismo tiempo, se utiliza la animación de la cámara y la música de fondo para optimizar aún más la expresión. Sobre la base de lo anterior, proporciona una gran cantidad de métodos de depuración, mejores formas de expansión, suficiente información de anotaciones y una estructura de diseño de plano clara.

La arquitectura de este sistema se muestra a continuación: el plano de animación es el foco del sistema.

Insertar descripción de la imagen aquí

Mi método para analizar planos de animación: 1. Comprender su estructura básica y los datos que puede utilizar 2. Comprender la fuente y la función de los datos en detalle a través de curvas de animación y Pawn. Una vez que conozca la estructura y los datos, será más fácil expandirse.

La composición y estructura de los gráficos animados.

El sistema de animación divide toda la acción en una combinación de seis partes (excepto el modo ragdoll, que se trata de forma especial)

Ellos son:

  • Posición básica: en cuclillas o de pie.
  • Superposición: modo Hombre fuerte, con las manos vacías, sosteniendo una pistola, sosteniendo una caja, sosteniendo un cubo, etc.
  • Capa básica: recoge el estado afectado por la entrada del jugador, agacharse, caminar, correr, saltar, rotar, etc.
  • Desplazamiento del objetivo: mirar hacia arriba, abajo, izquierda y derecha de la cabeza y la columna
  • Hand IK: En algunos casos, los accesorios se llevarán a cabo en la mano.
  • Foot IK: Se requiere IK en la mayoría de situaciones cuando el pie está en el suelo.

La estructura combinada que utiliza múltiples posturas es muy clara y muy propicia para la expansión. La secuencia de mezcla es la siguiente:

Postura básica

Solo se proporciona la postura básica de cuclillas o de pie, que es la base para mezclar la capa superpuesta y la capa base. Debe haber una postura básica para una superposición razonable.

capa base

La capa base determina principalmente las diferentes posturas de movimiento, aquí utilizamos el método de arriba hacia abajo para analizar (de general a detalle)

Cambio entre estado terrestre y aéreo

Tiene un estado de despegue y caída y un estado de caída directa en el aire, cuando hay una entrada de despegue se utiliza el estado de despegue y caída, en caso contrario es un estado de caída directa.

Los factores que afectan la animación del estado de caída directa son: velocidad de caída (hay tres velocidades para determinar la actitud de caída y dos velocidades para determinar la actitud en el momento del aterrizaje), aceleración (que determina la inclinación del cuerpo) y distancia desde el suelo (determinando si se debe cambiar a la actitud de aterrizaje)

El estado de salto y caída se divide en tres estados: salto, caída y aterrizaje. Hay 4 tipos de animaciones de despegue (despegue con el pie izquierdo o derecho, use la máquina de estados para separarse; despegue en el lugar o en movimiento, use interpolación híbrida), caída en el aire (solo dividida en dos niveles, baja velocidad o alta velocidad), aterrizaje (igual que el estado de caída directa). Todo el proceso también determinará la inclinación del cuerpo en función de la aceleración.

Es necesario que haya una transición entre el momento del aterrizaje y el momento de permanecer firme en el suelo. Es necesario combinar la animación del aterrizaje con la animación del suelo. Hay dos estados . Cuando el jugador no tiene entrada de movimiento, una simple mezcla es suficiente. Cuando hay entrada de movimiento, es necesario utilizar animación superpuesta para adaptarse a varias acciones de giro.

Animación del estado fundamental guardada usando la máquina de estado fundamental

Conmutación del estado fundamental

Hay dos estados base, agachado o de pie, y un estado especial, rodando. Entre ellos, rodar tiene la mayor prioridad, al mismo tiempo, solo hay acción de rodar cuando está de pie, agacharse y rodar aquí es un poco rígido. Puedes cambiar libremente entre agacharte y pararte, y hay animaciones correspondientes para una transición suave. Para el movimiento agachado o de pie, utilice la máquina de estados correspondiente.

Cambiar de estado al agacharse

Dividido en cinco estados: sin movimiento, sin movimiento de giro, dejar de moverse, girar a la izquierda, girar a la derecha

En circunstancias normales, la rotación de los personajes se completa mediante montaje, pero en el estado de apuntar, se requiere una rotación más pequeña y más suave. El usuario proporciona especialmente otra animación de rotación hacia la izquierda y hacia la derecha, así como la máquina de estado correspondiente.

Dado que existe una gran diferencia entre las piernas y los pies en reposo y al final del movimiento, se proporciona un estado de transición adicional para detener el movimiento (aquí solo se muestra una transición mixta simple)

Solo use una postura cuando esté parado. El proceso es complicado cuando está en movimiento. Se implementa usando una máquina de estado en movimiento de 6 direcciones.

Cambio de estado de movimiento al ponerse en cuclillas

Primero veamos el cambio de estado del movimiento de seis direcciones mientras estamos de pie y luego volvamos aquí. El principio es exactamente el mismo.

La gran diferencia entre ponerse en cuclillas (ponerse en cuclillas con el pie izquierdo delante y el pie derecho detrás) y estar de pie es que el cuerpo gira ligeramente hacia la izquierda, si te mueves hacia la derecha izquierda de la persona, el cuerpo ya ha girado hacia la izquierda. No es natural si supera los 90 grados, por lo que al moverse hacia la izquierda es mejor retroceder, al moverse hacia la derecha las piernas todavía están hacia adelante. Otros principios y cambio de estado son los mismos que los de estar de pie.

Cambiar de estado estando de pie

Se divide en 5 estados como el cambio de estado al agacharse, y el principio es básicamente el mismo.

Existen diferencias detalladas entre los estados de movimiento y de parada de movimiento.

Estado de conmutación cuando el movimiento se detiene estando de pie

Existen diferencias en la implementación específica del stop motion. El simple hecho de usar una transición mixta producirá las consecuencias de un deslizamiento. Al ponerse en cuclillas, dado que la distancia entre los dos pies no es grande, no parece obvio, pero producirá un gran error. al estar de pie.. Para que el estado sea natural, el autor divide el estado de movimiento del personaje en cuatro tipos cuando deja de moverse, los cuales están determinados por dos factores: el pie izquierdo o derecho se mueve mucho en el aire y el otro pie se mueve en el suelo o el otro pie se mueve ligeramente.

Para los dos estados con un pie en el suelo, solo necesita bloquear este pie. En este momento, el otro pie no ha superado el pie actual en el espacio. El otro pie continúa mezclándose hacia el estado de reposo hasta que lo alcanza y está bloqueado. Solo usa tus pies.

Para los dos estados en los que un pie se mueve en un rango pequeño, el otro pie debe exceder el pie actual en el espacio en este momento, por lo que el otro pie debe aterrizar primero y luego el pie delantero puede seguirlo. La solución es mezclar el pie que se mueve mucho en el aire hasta el estado en el que el pie está en el suelo y bloquearlo. El pie que se mueve en pequeñas cantidades continúa mezclándose hasta el estado estacionario hasta que alcanza el pie bloqueado. pie.

Cambio de estado del ejercicio estando de pie

En comparación con el simple movimiento de 6 direcciones al ponerse en cuclillas, aquí se agregan la posición inicial entre caminar y correr, y la posición inicial entre caminar hacia adelante y hacia atrás para hacer la transición más suave.

Varias posturas iniciales se muestran mediante 4 animaciones. La diferencia en el estado de las diferentes posturas iniciales solo afecta el momento en que la animación comienza a reproducirse.

Hay una optimización adicional para cambiar entre caminar hacia adelante y hacia atrás varias veces. Cuando ocurre un intento de avanzar, pero se cancela inmediatamente y el movimiento es hacia atrás, la postura inicial hacia adelante puede pasar directamente a la postura inicial hacia atrás. En lugar de pasar de adelante hasta pararse y luego hacia atrás. Por supuesto, este método también se utiliza para cambiar el estado entre delantero izquierdo y trasero derecho, delantero derecho y trasero izquierdo.

Para obtener detalles sobre cómo caminar y correr en cada dirección, debes leer la siguiente sección.

Cambio de estado de movimiento en seis direcciones estando de pie

Para proporcionar un movimiento de 360° en diferentes direcciones, el autor proporciona 6 estados. Primero hablemos de por qué hay 6 estados.

Básicamente, las piernas humanas sólo pueden moverse hacia adelante o hacia atrás. Caminar hacia la izquierda o hacia la derecha no es natural. Puedes intentar ponerte de pie. Tomando la izquierda como ejemplo, si realmente quieres moverte hacia la izquierda, la única forma es girar la parte inferior del cuerpo hacia la izquierda (lo que puede entenderse como girar primero hacia la izquierda y luego girar la parte superior del cuerpo hacia la derecha). Sin embargo, el ángulo de rotación de la parte superior/inferior del cuerpo de una persona es limitado, se puede considerar que es de aproximadamente 90°. Entonces, ¿qué debemos hacer si nos movemos hacia la izquierda y hacia atrás? Si lo intentas tú mismo, pronto descubrirás que sólo necesitas correr hacia atrás y girar el ángulo correspondiente. Además, a través de mis propios experimentos, también puedo encontrar que, aunque los movimientos hacia adelante e izquierdo de las piernas son posturas de movimiento hacia adelante, la diferencia en los detalles sigue siendo bastante grande, por lo que se agrega una postura adicional para el movimiento hacia la izquierda y el movimiento hacia la izquierda. Lo mismo ocurre con el movimiento hacia la derecha. También hay bastantes diferencias entre los movimientos de atrás hacia la izquierda, de atrás hacia la derecha y hacia atrás. Se añaden dos posturas adicionales, formando así 6 estados de movimiento.

Para que el nombre y el diseño sean hermosos, el autor nombró los frentes izquierdo y derecho respectivamente, izquierda y derecha, y formó un diseño hexagonal regular (el autor está muy preocupado por el formato).

Hay 6 estados, y el siguiente paso es cambiar entre los 6 estados. Dado que el frente izquierdo y el trasero izquierdo, y el frente derecho y el trasero derecho cambian mucho, no podemos simplemente usar el espacio de mezcla, sino que necesitamos el efecto del espacio de mezcla, por lo que la parte del autor es en realidad implementar manualmente un espacio de mezcla bidimensional y, al mismo tiempo, agregar un efecto de mezcla especial en el punto de conmutación entre el frente izquierdo y la parte trasera izquierda. Además, el autor parece utilizar 4 parámetros, que son esencialmente dos parámetros que van de -1 a 1. En principio, es una versión simplificada del espacio mixto bidimensional.

Finalmente, este espacio de mezcla personalizado ha sido programado para tener 6 estados, pero esperamos que el movimiento hacia adelante continúe dividiéndose en dos estados (carrera normal y sprint), por lo que para el estado de movimiento hacia adelante, antes de comenzar este espacio de mezcla, mezcle primero.

Cubrir

La capa superpuesta es principalmente la postura personalizada del personaje, con un total de 13 posturas superpuestas.

gesto sencillo

Predeterminado/Masculino/Femenino/Lesionado/Manos atadas/Barril

Movimientos básicos: De pie 1 (inactivo), De pie 2 (descansando/preparándose para moverse), agachándose

Acción superpuesta: respirar

gestos complejos

De uno a tres estados básicos, tres estados: relajado, listo, apuntando, dos estados: predeterminado, apuntando, un estado: predeterminado. Habrá ciertas diferencias en cada estado de diferentes posturas.

Una acción necesaria (respirar)

Hay tres acciones especiales (trepar por una pared baja, rodar y trepar). Para completar estas acciones, es necesario reproducir un montaje. Para realizar la reutilización de montajes, utilizamos el mismo montaje para posturas superpuestas similares. Sin embargo, aunque estas posturas son similares, siguen siendo diferentes. Para abordar la deformación causada al reproducir el mismo montaje en diferentes posturas superpuestas, diseñamos una postura separada para diferentes posturas superpuestas. La superposición del montaje en esta postura dará como resultado mínima deformación. Para poses que sean bastante diferentes, simplemente use diferentes montajes. Nota: No existe una pose correspondiente establecida para el montaje de pared alta.

A continuación presentaremos los estados básicos de las diferentes posturas, en primer lugar se afirma que cuantas más posturas haya, mejor será el efecto, sin embargo, algunas posturas no son muy diferentes y pueden omitirse.

fusil

Relajación Aire/Sentadilla/Pararse/Caminar/Correr/Sprint
Aire: Despegar o aterrizar/En el aire
Correr: Correr hacia adelante/Otras direcciones
Sprint: Iniciar sprint/Sprint constante

Prepárate para agacharte/pararte/caminar o correr

Apuntar proporciona dos animaciones superpuestas en cualquier dirección de apuntar de arriba a abajo, lo que requiere posturas básicas.
De pie: apuntar mientras está de pie en el lugar/apuntar mientras se mueve.
Agacharse: apuntar.

Pistola 1H de una sola mano

Relajarse: ponerse en cuclillas/pararse/caminar o correr/correr

Otros son iguales que Rifle.

Pistol2H pistola de dos manos

Misma pistola 1H

Arco

Relajarse en cuclillas/pararse/caminar/correr/correr

Otros son iguales que Rifle.

AntorchaAntorcha

Sentadilla/pararse/caminar/correr/correr por defecto

Apunta igual que el rifle

BinocularesTelescopios

Sentadilla/pararse/caminar o correr/correr por defecto

Apunta igual que el rifle

Caja caja

Sentadilla/pararse/caminar/correr/correr por defecto

Combinando las tres primeras partes (LayerBlending)

Antes de que entiendas cómo se mezcla, supongamos que necesitamos reproducir un montaje de danzas con los dedos que animen que las palmas se cierren y se abran nuevamente.

Dado que el plano de animación no admite la animación de ciertos huesos por separado, solo podemos animar todo el cuerpo y hacer que varios huesos relacionados con las manos se muevan, mientras que los otros huesos no se mueven. Este montaje se puede reproducir cuando sea necesario. Pero obviamente esto está mal (las posiciones de otros huesos son fijas). En este momento, debe ignorar otros huesos en el montaje y solo conservar los cambios de los huesos de la mano. UE4 proporciona una función para retener algunos cambios óseos: mezcla de huesos en capas .

Aquí hay un ejemplo de uso del montaje, pero la misma situación se aplica a la mezcla de estados de movimiento: usamos la pose básica para la cabeza, la capa superpuesta para las manos, la capa base para los pies, etc. Este problema se puede resolver. colocando capas de huesos y mezclándolos. Al mismo tiempo, podemos usar los huesos para Los parámetros de combinación de capas determinan la proporción de mezcla de las capas de huesos. Pero luego viene otra pregunta: cuándo usar la pose básica dentro de una determinada capa de hueso y cuándo usar la pose superpuesta, que debe seleccionarse mediante fusión y animación de superposición .

ALSV divide el personaje en 8 capas de hueso y el coeficiente de fusión de cada capa está controlado por el valor correspondiente. Las 8 capas son piernas, pelvis, columna vertebral, cabeza, brazo izquierdo, brazo derecho, mano izquierda y mano derecha. Las posturas de las manos izquierda y derecha solo están relacionadas con la capa superpuesta, por lo que no se utilizan animaciones de fusión y superposición (la capa base y la postura base no implican movimientos de la mano).

¿Por qué se proporcionan ranuras en la animación de superposición de cada capa ? En primer lugar, la postura básica es muy simple y no requiere montaje. La capa base se utiliza para manejar el estado de movimiento básico. Su montaje debe ser para todo el cuerpo en lugar de ciertos huesos. Se han proporcionado ranuras en el proceso de creación. la capa base. . Un montaje que existe solo en un determinado hueso solo aparecerá en la capa superpuesta. Es más intuitivo y sencillo proporcionarlo aquí. (Escribir durante el proceso de creación de la superposición es más legible, pero más engorroso)

Finalmente, ALSV proporciona una mezcla en capas adicional de huesos virtuales después de que se mezclan las tres animaciones. Obviamente, los huesos virtuales no se pueden mostrar, por lo que el único propósito de mezclar en este lugar es simplemente proporcionar una ranura. En las ranuras de la capa superpuesta, aunque se proporcionan ranuras para cada capa de hueso, el método de combinación entre cada capa es variable. Entonces, si se usan curvas en estas ranuras, los resultados de las curvas pueden variar debido a la combinación entre capas. Para resolver este problema, el autor agregó directamente una ranura adicional a la capa superpuesta después de que se completó la mezcla de todas las capas óseas y utilizó esta ranura para modificar la curva de la capa superpuesta.

Compensación de puntería combinada (AimOffset)

Hay dos métodos para combinar el desplazamiento de puntería, el primero es un desplazamiento de puntería controlado manualmente por el usuario y el otro siempre se desplaza hacia la dirección del movimiento. La elección de qué modo utilizar está determinada por RotationMode. Al superponer el desplazamiento de puntería a la pose básica fusionada de las tres primeras partes, se completa la fusión de la parte actual. La relación de fusión de esta parte también se puede determinar mediante parámetros.

Las partes anteriores controlan la modificación y transformación de la cabeza, pero al sostener un objeto, como levantar un arma para apuntar, el cuerpo girará junto con la cabeza, por lo que el autor añadió una rotación de la columna.

Modo de compensación manual

En términos generales, puedes seleccionar un cuadro específico según el ángulo de la dirección de apuntamiento cuando miras hacia la izquierda o hacia la derecha. Sin embargo, hay un caso especial en el que no puedes configurarlo directamente. No existe tal problema cuando miras hacia arriba y hacia abajo. configúrelo directamente.

Por ejemplo, cuando se mira desde la parte trasera izquierda hacia la parte trasera derecha, la cabeza no se puede girar directamente, sino que se debe mirar primero de izquierda a frente y luego a la derecha, por lo que se pueden distinguir tres estados (izquierda, frente y derecha) son obligatorios. La izquierda no se puede cambiar directamente a la derecha. Primero debe pasar del estado anterior. Lo mismo se aplica cuando se mira desde la espalda derecha hacia la espalda izquierda.

Además, para lograr un efecto realista, cuando de repente se mira desde la izquierda hacia atrás hacia la derecha y desde la izquierda hacia el frente y luego hacia la derecha, aunque la trayectoria del movimiento de la cabeza es la misma, debe haber Habrá diferencias en el rendimiento. El primero debe resaltar el efecto del movimiento rápido. Para lograr el efecto de un giro repentino, el autor agregó un estado de transición adicional (mirar hacia adelante rápidamente), en este momento, el camino desde atrás izquierda a atrás derecha se convierte en atrás izquierda - avance rápido - atrás derecha.

Modo de dirección de movimiento

Este modo es muy simple, simplemente alinee la dirección de la cabeza con la dirección del cuerpo. Al girar la cabeza, el autor añadió una interpolación para que el efecto fuera realista.

IK mano combinada

Al recoger objetos sostenidos con ambas manos, las posiciones de las manos izquierda y derecha están vinculadas y es necesario utilizar esqueletos virtuales para resolver IK. Generalmente, la posición de la otra mano se calcula en función de una mano.

Pie combinado IK

Para evitar que el pie se deslice y parezca natural, es necesario calcular con precisión la posición del pie. Cuando el pie aterriza, la posición del pie no se puede modificar. La transformación ósea correspondiente debe establecerse independientemente de los movimientos del pie. todo el cuerpo. Al mismo tiempo, debido a que el suelo puede no ser plano, también es necesario configurar la dirección de los pies para la transformación ósea. Los ganglios radiculares de todos los huesos del cuerpo también deben restablecerse según la posición de los pies. El autor agregó dos ranuras a cada pie, estas dos ranuras también cambiarán con el pie IK.

Curvas de animación y notificaciones de animación.

Los diversos cambios de estado de los gráficos animados anteriores están controlados por datos. Además de los datos de entrada, el núcleo son las notificaciones de curvas y animaciones. Aquí enumeraremos todas las curvas y notificaciones de animación utilizadas en la animación y las describiremos brevemente.

curva

Nombre de la curva efecto
BasePose_CLF Zancada mixta, conmutación del estado fundamental de la capa base, conmutación del estado fundamental de la capa superpuesta
Pose_N Superposición de conmutación del estado fundamental
Ficticio
Habilitar_FootIK_L Habilite la transformación IK del pie izquierdo, la transformación del hueso de la raíz y desplace el hueso para adaptarse al terreno.
Habilitar_FootIK_R Igual que arriba, pero para el pie derecho.
Enable_HandIK_L Habilitar IK de la mano izquierda
Habilitar_HandIK_R Habilitar IK de la mano derecha
Habilitar_SpineRotation Habilitar la rotación de la columna
Habilitar_transición Permite la rotación del cuerpo y se activa cuando deja de moverse. Al superponer y sostener un arma, solo cuando la rotación del cuerpo esté habilitada se producirá la transición del estado listo al estado relajado; solo cuando la rotación del cuerpo esté habilitada el cuerpo rotará automáticamente.
pies_cruzando Registre si la posición de las piernas admite la inversión. En el movimiento de 6 direcciones, la inversión de postura se producirá al cambiar de adelante izquierda a atrás izquierda, o de adelante derecha a atrás derecha. La inversión solo podrá completarse cuando la posición de las piernas sea adecuada.
Posición_pies Registre la relación de adelante hacia atrás entre los dos pies para determinar el pie que despega y el pie que deja de moverse en la capa base.
Bloqueo de pie_L Permite calcular la transformación necesaria para fijar el pie izquierdo en una determinada posición.
Bloqueo de pie_R Igual que arriba, pero para el pie derecho.
HipOrientation_Bias Se utiliza para cancelar la acción de giro cuando se mueve en 6 direcciones.
Capas_brazo_L Las siguientes curvas de colocación se utilizan para combinar la mezcla en capas de las tres primeras partes.
Layering_Arm_L_Add
Capas_Arm_L_LS
Capas_brazo_R
Layering_Arm_R_Add
Capas_Arm_R_LS
Capas_Mano_L
Capas_Mano_R
Cabeza_de_capas
Layering_Head_Add
Capas_piernas
Capas_Pelvis
Capas_espina
Layering_Spine_Add
Mask_AimOffset Combinación de escudo apuntando pieza desplazada
Mask_FootstepSonido Se utiliza en notificaciones de animación de pasos para participar en el cálculo del volumen.
Mask_LandPrediction Participar en el cálculo de previsiones de aterrizaje.
Máscara_Lean
Máscara_Sprint Acción de sprint con escudo, utilizada en movimientos de 6 direcciones.
Cantidad de rotación Se utiliza para establecer la rotación del peón y se utiliza en la postura del arco.
Peso_marcha El peso de la marcha al caminar y correr se utiliza para calcular la longitud de la zancada actual, determinar la velocidad de reproducción de las animaciones relacionadas con el movimiento, calcular los parámetros de mezcla del espacio de mezcla de animaciones relacionadas con el movimiento, los parámetros del cambio de caminar-correr de la capa base, y los parámetros del cambio de caminar-correr de la capa superpuesta.
Peso_en el aire
Desplazamiento de guiñada Se utiliza para configurar la rotación de peones.

No se encontró información relevante para las 3 curvas restantes.

notificaciones animadas

notificar

CameraShake_Notify: reproduce el movimiento de la cámara en el controlador del personaje actual, solo hay un tipo de movimiento

Footstep_AnimNotify: Reproduce pasos según el tipo de movimiento, hay 4 tipos: pisar, caminar, saltar y aterrizar.

GroundedEntryState_AnimNotify:设置动画蓝图的运动状态为在翻滚,改变基础层的地面状态为站立,以便播放蒙太奇

通知状态

EarlyBlendOut_NotifyState:Pawn上墙时最后的蒙太奇动作在一些情况会跳过,使蒙太奇播放更加顺滑,情况有:运动状态是在空中、姿态为蹲下、拥有移动输入

MovementAction_NotifyState:设置Pawn的移动行为,有五种状态:正常、上矮墙、上高墙、翻滚、爬起

OverlayOverride_NotifyState:设置动画蓝图的叠加状态,改变叠加层的复杂姿势,有4种状态:正常、上矮墙、翻滚、爬起。注意:没有为上高墙蒙太奇设置对应的姿势

其它

  • 提供了三种蒙太奇,且均是附加于基础层的BaseLayer插槽
  • 其它数据处理部分省略,数据处理的主要目标是使各个状态之间的切换更加顺滑,主要方法是获取角色当前数据,与上一帧数据以及某些射线检测的数据进行插值或比较

Pawn基类

由于重点是动画系统,所以这一部分主要作用是根据默认参数或输入参数设置运动状态所需要的值

Begin

  • 根据MovementMode表格数据来设置运动模式(运动速度)。
  • 设置初始状态:步态(走、跑、冲),旋转模式(运动方向、视口方向、瞄准方向),视口模式(第一人称、第三人称),叠加模式(如动画图表叠加层所见的13种叠加姿势),姿态(立、蹲)
  • 根据ActorRotation记录初始的的旋转方向:当前方向、上一帧速度方向、上一帧输入方向

Tick

第一步获取并记录当前的运动数据:计算得到的真实加速度、平面上的速度大小、速度方向、移动输入值(0-1)、移动输入所提供的旋转方向、控制器旋转方向、是否在移动、是否有移动输入

第二部根据移动状态分五种情况考虑,有三种情况需要进行设置

  • 地面状态:
    • 根据设置的步态、旋转模式、姿态确定允许的运动姿态(因为某些情况下冲刺姿态是不存在的)
    • 根据允许的运动姿态与当前的运动速度,确定新的运动姿态
    • 根据当前运动姿态,修改当前运动模式
    • 设置Pawn的旋转,根据不同的状态设置为旋转向移动输入方向或控制器旋转方向
  • 空中状态:
    • 设置Pawn的旋转,根据不同的状态设置为旋转向移动输入方向或控制器旋转方向
    • 进行碰撞检测,首先检测前方,若未发生碰撞则直接返回,若发生碰撞,则表示需要攀爬。继续射线检测,检测墙体高度,设置为对应的攀爬姿势并选择蒙太奇进行播放
  • 布娃娃状态:
    • 根据速度设置马达角驱动,保证骨骼不会过度扭曲
    • 启用重力
    • 将当前Actor随Pawn模型的移动而移动

第三步保留当前的速度与旋转值供下一帧计算使用

第四步绘制调试信息:速度箭头、移动输入箭头、旋转方向箭头、Pawn视锥、Pawn胶囊体

Input

  • 移动输入:前后左右
  • 控制器旋转:Pitch、Yaw
  • 跳跃:蹲下时站立、站立时跳起、布娃娃状态时结束布娃娃状态
  • 蹲下键:单击切换蹲下或站立、双击翻滚
  • WalkAction/SpringAction:切换允许的运动姿态,走、跑、冲刺
  • SelectRotationMode/AimAction:修改旋转模式,运动方向、视口方向、瞄准方向
  • CameraAction:修改摄像机位置,第三人称左、第三人称右、第一人称
  • RagdollAction:进去或取消布娃娃状态

Interface

设置游戏状态Character States

  • BPISetOverlayState:设置叠加姿态(总共13种叠加姿态)
  • BPISetViewMode:设置视口模式(第三人称左、第三人称右、第一人称)
  • BPISetGait:设置步态(走、跑、冲刺)
  • BPISetRotationMode:设置旋转模式(运动方向、视口方向、瞄准方向)
  • BPISetMovementAction:设置移动行为(正常、上矮墙、上高墙、翻滚、爬起)
  • BPISetMovementState:设置移动状态(默认、地面、空中、布娃娃、爬墙)

获取角色信息

  • BPIGetEssentialValues: obtiene valores básicos (velocidad, aceleración real, aceleración de entrada de movimiento, si se está moviendo, si hay entrada de movimiento, velocidad en el plano, valor de entrada de movimiento (0-1), dirección del controlador, velocidad de rotación del controlador
  • BPIGetCurrentStates: obtiene el estado actual (modo de movimiento, estado de movimiento, estado de movimiento anterior, comportamiento de movimiento, modo de rotación, marcha, postura básica, modo de ventana gráfica, postura superpuesta)

Obtener información del sistema de cámara

  • BPIGet3PTraceParams: para realizar manualmente el efecto del brazo de resorte, debe proporcionar información sobre los puntos adicionales del brazo de resorte (origen de detección, radio de detección, canal de detección)
  • BPIGet3PPivotTarget: obtiene el punto de pivote, necesario al vincular ciertos objetos
  • BPIGetFPCameraTarget: obtenga la ranura para cámara en primera persona
  • BPIGetCameraParameters: obtiene los parámetros de la cámara (ángulo del campo de visión en primera persona, ángulo del campo de visión en tercera persona, si es el ángulo de visión correcto)

hoja

La tabla MovementMode proporciona 3 estructuras/modos de movimiento (Normal, Responsivo, Lento). Cada modo de estructura/movimiento registra 6 tipos de datos que constan de tres modos de rotación y dos posturas. Cada dato registra 7 tipos de velocidad (caminar), correr, carrera, aceleración, velocidad de frenado, fricción, velocidad de rotación)

Supongo que te gusta

Origin blog.csdn.net/m0_59723700/article/details/127710807
Recomendado
Clasificación