IKControl

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Le istanze IKControl generano pose di animazione procedurale utilizzando Kinematica Inversa (IK).Permettono di far rispondere ai personaggi in modo realistico al loro Ambiente.

Ad esempio, puoi fare in modo che un personaggio metta la mano su una maniglia di porta esattamente e il personaggio lo farà indipendentemente dalla sua posizione.I controlli IK forniscono il vantaggio di dover creare meno animazioni per il tuo gioco mentre dai alla tua esperienza una sensazione più realistica e levigata.

IKControls deve essere un figlio di un Humanoid o AnimationController con un Animator e avere tutte le loro proprietà richieste impostate correttamente, altrimenti non hanno alcun effetto.Le proprietà richieste sono Type , EndEffector , Target , ChainRoot .Non appena questi sono Impostare, il modulo IkControl modifica la posa del tuo personaggio come specificato.Il seguente esempio di codice mostra come configurare il tuo primo IKControl e iniziare a creare animazioni più realistiche per il tuo Gioco.

Puoi usare IKControls per creare un personaggio:

  • Ruota la sua testa e il torso per guardare un punto di interesse nel Mondo.
  • Modifica le posizioni dei suoi piedi per rispondere al terreno dinamico. Aggiusta le sue gambe e i piedi per posizionarli in modo appropriato sul terreno con rocce e pendenze.
  • Tieni una pistola e posiziona le sue mani in modo appropriato sul grip senza dover creare animazioni per ogni pistola nel Gioco.
  • Mira a un punto nel Mondo, in modo che la punta del punto della pistola si posizioni esattamente su ciò che vuoi sparare. Particolarmente utile nei tiratori in terza persona.
  • Posiziona le sue mani sulla ruota di sterzo di un'auto e seguila quando si gira.
  • Molto di più!

IKControl sovrascriverà l'animazione per tutte le parti tra il ChainRoot e il EndEffector .Puoi abilitarlo/disabilitarlo usando Enabled o cambiare quanto hanno un effetto sull'animazione sottostante usando il Weight.Fai attenzione: se non configuri correttamente il tuo IKControls, potresti generare pose cattive e irrealistiche!

Campioni di codice

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

Sommario

Proprietà

  • Lettura Parallela

    L'ultima parte in cui sei interessato a spostare il tuo personaggio.Ad esempio, il braccio superiore.Deve essere un antenato di EndEffector e essere un BasePart o un Bone nel tuo personaggio.

  • Lettura Parallela

    Attiva/disattiva il controllo. Vero per Offpredefinita.

  • Lettura Parallela

    La parte a cui sei interessato a spostarti per raggiungere il Target .Ad esempio, la mano del tuo personaggio.Deve essere un discendente di ChainRoot e essere un BasePart o un Bone nel tuo personaggio.

  • Lettura Parallela

    Un offset aggiuntivo applicato sopra il EndEffector nel suo spazio locale per cambiare dove si muove.

  • Lettura Parallela

    Un offset aggiuntivo applicato sopra il Target per cambiare dove si muove il EndEffector .

  • Lettura Parallela

    Un'istanza opzionale che determina in quale modo si piega la catena. Puoi usarla per specificare in quale modo si piega un gomito o un ginocchio.

  • Lettura Parallela

    Specifica l'ordine in cui i controlli vengono risolti. I valori più alti hanno una priorità maggiore.

  • Lettura Parallela

    Specifica il numero medio di secondi che ci vogliono perché il EndEffector raggiunga senza problemi il Target .

  • Lettura Parallela

    L'oggetto a cui il EndEffector raggiunge o punta.Può essere qualsiasi cosa abbia una posizione nel Mondo, come BasePart , Attachment , Bone , o Motor6D .

  • Lettura Parallela

    Specifica come il solvente soddisfi questo controllo.

  • Lettura Parallela

    Specifica il peso del bersaglio di controllo IK. Dovrebbe essere nella gamma [0, 1].

Proprietà

ChainRoot

Lettura Parallela

Enabled

Lettura Parallela

EndEffector

Lettura Parallela

EndEffectorOffset

Lettura Parallela

Offset

Lettura Parallela
Lettura Parallela

Priority

Lettura Parallela

SmoothTime

Lettura Parallela

Target

Lettura Parallela
Lettura Parallela

Weight

Lettura Parallela

Metodi

GetChainCount


Restituzioni

GetChainLength


Restituzioni

GetNodeLocalCFrame

Parametri

index: number
Valore predefinito: ""

Restituzioni

GetNodeWorldCFrame

Parametri

index: number
Valore predefinito: ""

Restituzioni

GetRawFinalTarget


Restituzioni

GetSmoothedFinalTarget


Restituzioni

Eventi