IKControl
*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.
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
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.
Alterna o controle em e desligado. Verdadeiro por padrão.
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.
Um deslocamento adicional aplicado em cima do Target para mudar onde o EndEffector se move.
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.
Specifica a ordem em que os controles são resolvidos. Os valores mais altos têm maior prioridade.
Specifica o número médio de segundos que leva para o EndEffector atingir suavemente o Target.
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.
Specifica o peso do alvo de controle IK. Deve estar na faixa [0, 1].