IKControl

Mostrar obsoleto

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

Instâncias de IKControl geram poses de animação procedimentais usando Kinática Inversa (IK).Eles permitem que você faça com que os personagens respondam realisticamente ao seu ambiente.

Por exemplo, você pode fazer com que um personagem coloque a mão em uma alça de porta exatamente, e o personagem fará isso independentemente de sua posição.Os controles IK fornecem a vantagem de precisar criar muito menos animações para o seu jogo, enquanto dá à sua experiência um sentimento mais realista e polido.

IKControls deve ser um filho de um Humanoid ou AnimationController com um Animator e ter todas as suas propriedades necessárias definidas corretamente, caso contrário, elas não terão nenhum efeito.As propriedades necessárias são Type , EndEffector , Target , ChainRoot .Assim que eles são definidos, o IkControl modifica a posição de seu personagem conforme você especifica.O seguinte exemplo de código mostra como configurar o seu primeiro IKControl e começar a criar animações mais realistas para o seu jogo.

Você pode usar IKControls para fazer um personagem:

  • Gire sua cabeça e torso para olhar para um ponto de interesse no mundo.
  • Modifique suas posições de pés para responder ao terreno dinâmico. Ajuste suas pernas e pés para colocá-los de acordo no terreno com pedras e planícies.
  • Segure uma arma e coloque as mãos dela adequadamente no cabo sem precisar criar animações para cada arma no jogo.
  • Mire em um ponto no mundo, para que a ponta do ponto da arma aponta exatamente para o que você quer atirar. Especialmente útil em atiradores de terceira pessoa.
  • Coloque as mãos no volante de um carro e siga-o quando girar.
  • Muito mais!

IKControl substituirá a animação para todas as peças entre o ChainRoot e o EndEffector .Você pode ativar/desativar usando Enabled ou alterar quanto eles têm um efeito sobre a animação subjacente usando o Weight.Tenha cuidado: se você não configurar seu IKControls corretamente, você pode gerar poses ruins e irrealistas!

Amostras de código

This sample shows the basic setup for an IKControl that moves a character's left arm to reach for a point in the world.

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

    A última parte em que você está interessado em mover seu personagem.Por exemplo, o braço superior.Deve ser um ancestral de EndEffector e ser um BasePart ou um Bone em seu personagem.

  • Ler Parallel

    Alterna o controle em e desligado. Verdadeiro por padrão.

  • Ler Parallel

    A parte que você está interessado em mover para chegar ao Target .Por exemplo, a mão do seu personagem.Deve ser um descendente de ChainRoot e ser um BasePart ou um Bone em seu personagem.

  • Um deslocamento adicional aplicado em cima do EndEffector em seu espaço local para mudar onde se move.

  • Ler Parallel

    Um deslocamento adicional aplicado em cima do Target para mudar onde o EndEffector se move.

  • Ler Parallel

    Uma instância opcional que determina em qual direção a corrente se dobra. Você pode usar isso para especificar em qual direção um punho ou joelho se dobra.

  • Ler Parallel

    Specifica a ordem em que os controles são resolvidos. Os valores mais altos têm maior prioridade.

  • Ler Parallel

    Specifica o número médio de segundos que leva para o EndEffector atingir suavemente o Target.

  • Ler Parallel

    O objeto que o EndEffector alcança ou aponta.Pode ser qualquer coisa que tenha uma posição no mundo, como BasePart , Attachment , Bone ou Motor6D.

  • Especifica como o solucionador satisfaz esse controle.

  • Ler Parallel

    Specifica o peso do alvo de controle IK. Deve estar na faixa [0, 1].

Propriedades

ChainRoot

Ler Parallel

Enabled

Ler Parallel

EndEffector

Ler Parallel

EndEffectorOffset

Ler Parallel

Offset

Ler Parallel
Ler Parallel

Priority

Ler Parallel

SmoothTime

Ler Parallel

Target

Ler Parallel
Ler Parallel

Weight

Ler Parallel

Métodos

GetChainCount


Devolução

GetChainLength


Devolução

GetNodeLocalCFrame

Parâmetros

index: number
Valor Padrão: ""

Devolução

GetNodeWorldCFrame

Parâmetros

index: number
Valor Padrão: ""

Devolução

GetRawFinalTarget


Devolução

GetSmoothedFinalTarget


Devolução

Eventos