IKControl

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Las instancias de IKControl generan poses de animación procedurales usando Inverse Kinematics (IK). Te permite hacer que los personajes respondan realmente a su entorno, ambiente.

Por ejemplo, puede hacer que un personaje coloque su mano en un asa de puerta exactamente, y el personaje lo hará independientemente de su posición. IKControls proporciona la ventaja de tener que crear muchas menos animaciones para su juego mientras que da a su experiencia un sentido más realista y pulido.

IKControls debe ser un hijo de un Humanoid o AnimationController con un 0> Class.

Puedes usar IKControls para crear un personaje:

  • Gira su cabeza y torso para mirar un punto de interés en el mundo.
  • Modifique sus posiciones de pies para responder a terrenos dinámicos. Ajuste sus piernas y pies para colocarlos según sea necesario en el terreno con rocas y pendientes.
  • Sostén un arma y colóquela sus manos apropiadamente en el mango sin necesidad de crear animaciones para cada arma en el juego.
  • Apunta a un punto en el mundo, para que la punta de la arma apunte exactamente a lo que quieres disparar. Útil especialmente en los shooters de tercera persona.
  • Coloca sus manos en el volante de un coche y sigue cuando gira.
  • ¡Mucho más!

IKControl anulará la animación para todas las partes entre el ChainRoot y el

Amostras de código

IKControl setup

local character = script.Parent.Character
local humanoid = character.Humanoid
local root = character.HumanoidRootPart
-- Create a new attachment to use as the IKControl.Target
local target = Instance.new("Attachment")
target.CFrame = CFrame.new(-1, 0, -1)
target.Parent = root
local ikControl = Instance.new("IKControl")
ikControl.Type = Enum.IKControlType.Position
ikControl.EndEffector = character.LeftHand
ikControl.ChainRoot = character.LeftUpperArm
ikControl.Target = target
ikControl.Parent = humanoid

Resumo

Propriedades

  • Ler Parallel

    La última parte en la que estás interesado en mover tu personaje. Por ejemplo, el brazo superior. Debe ser un ancestro de EndEffector y ser un BasePart o un Bone en tu personaje.

  • Ler Parallel

    Alterna el control de encendido y desactivado. Verdadero por defecto.

  • Ler Parallel

    La parte que estás interesado en mover para alcanzar el Target . Por ejemplo, la mano de tu personaje. Debe ser un descendiente de ChainRoot y ser un BasePart o un 1> Class.Bone1> en tu personaje.

  • Un desplazamiento adicional aplicado en la parte superior del EndEffector en su espacio local para cambiar dónde se mueve.

  • Ler Parallel

    Un desplazamiento adicional aplicado en la parte superior de la Target para cambiar el lugar donde se mueve el EndEffector .

  • Ler Parallel

    Una instancia opcional que determina la manera en que se dobla la cadena. Puedes usar esto para especificar la manera en que se dobla un tobogán o rodilla.

  • Ler Parallel

    Especifica el orden en que se solucionan los controles. Los valores más altos tienen una prioridad más alta.

  • Ler Parallel

    Especifica el número promedio de segundos que se necesitan para que el EndEffector alcance con facilidad el Target .

  • Ler Parallel

    El objeto que el EndEffector alcanza o apunta. Puede ser cualquier cosa que tenga una posición en el mundo, como BasePart, Attachment, 1> Class.Bone1> o 4> Class.Motor6D4> .

  • Especifica cómo el solventador satisface este control.

  • Ler Parallel

    Especifica el peso del objetivo de control IK. Debe estar en el rango [0, 1].

Propriedades

ChainRoot

Ler Parallel

Al especificar un ChainRoot y un EndEffector

Enabled

Ler Parallel

Esta propiedad te permite alternar el control de IK de forma activa e inactiva. Está activado por defecto. Cuando Enabled es falso, el control de IK está desactivado y no se resuelve por el solucionador de física PGS.

EndEffector

Ler Parallel

El Class.IKControl.EndEffector|End

EndEffectorOffset

Ler Parallel

El

Alternativamente, puede usar accesorios al configurar un accesorio como EndEffector , que lo mueve al Target en lugar de las partes a las que se adjunta, lo que permite obtener de forma efectiva el mismo resultado.

También puede usar EndEffectorOffset para modificar qué eje del EndEffector debe apuntar al Target cuando se usa 1> LookAt1> como

Offset

Ler Parallel

El desplazamiento es un desplazamiento adicional de CFrame aplicado en la parte superior del Target``Datatype.CFrame que produce el final 1>

Ler Parallel

El Pole es un opcional Instance que te da control sobre cómo deben doblarse las partes en tu personaje. Puede ser cualquier cosa que tenga una posición en el mundo, como BasePart o 2>Class.IKControl.Base2>. Cuando lo especificas, el solventador intentará hacer que las partes se doblen adecuadamente según la posición del personaje. La posición

Priority

Ler Parallel

Cuando hay múltiples controles activos en un personaje, el orden en que se resuelven por el sistema subyacente afecta la postura final generada. Al cambiar este valor, especifica el orden en que se satisfacen los controles. Los valores más altos tienen una prioridad más alta, y los controles de mayor prioridad se resuelven más tarde porque su resultado puede sobresalir el resultado anterior de otros controles. Si tienes múltiples controles en

SmoothTime

Ler Parallel

Este valor especifica el número promedio de segundos que se necesitan para que el EndEffector alcance el Target . El comportamiento es el de una mola de resorte críticamente

Target

Ler Parallel

El Target representa un punto

Ler Parallel

Al cambiar el Type, puede cambiar el comportamiento del control. Estas son las opciones disponibles:

Weight

Ler Parallel

Puede controlar la cantidad de un control que afecta a la postura del personaje al usar esta propiedad. Los valores deben estar en el rango [0, 1]. 0 significa sin efecto, y 1 significa el efecto completo del control IK. Los valores fuera de este rango están redondeados. La suavidad de este valor permite mezclar o apagar un control específico para evitar el movimiento dejar. Es 1 por defecto.

El peso determina el factor de interpolación entre el End-Effector y el IK target. Establecer el peso en 0 no desactiva el control IK porque otros factores, incluido el SmoothTime smoothing factor y Pole, todavía pueden cambiar la postura. Para desactivar realmente el control IK, turn the Enabled property to false.

Métodos

GetChainCount


Devolução

GetChainLength


Devolução

GetNodeLocalCFrame

Parâmetros

index: number

Devolução

GetNodeWorldCFrame

Parâmetros

index: number

Devolução

GetRawFinalTarget


Devolução

GetSmoothedFinalTarget


Devolução

Eventos