IKControl

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

IKControl instancje generują proceduralne pozy animacji za pomocą odwrotnej kinematyki (IK).Pozwalają ci sprawić, że postacie będą realistycznie reagować na swoje środowisko.

Na przykład możesz sprawić, że postać położy rękę na uchwycie drzwi dokładnie, a postać zrobi to niezależnie od swojej pozycji.IKControls zapewniają przewagę potrzeby tworzenia znacznie mniej animacji dla twojej gry, zapewniając twojemu doświadczeniu bardziej realistyczny i wykończony wygląd.

musi być dzieckiem lub z ustawionymi właściwościami wymaganymi, w przeciwnym razie nie będą miały żadnego wpływu.Wymagane właściwości są Type , EndEffector , Target , ChainRoot .Gdy te są ustawiać, moduł IkControl zmienia pozyę twojej postaci tak, jak określasz.Poniższy przykład kodu pokazuje, jak skonfigurować swoje pierwsze IKControl i rozpocząć tworzenie bardziej realistycznych animacji dla twojej gra.

Możesz używać IKControls, aby stworzyć postać:

  • Obróć jego głowę i tułów, aby spojrzeć na punkt zainteresowania na świecie.
  • Dostosuj pozycję stóp, aby odpowiedzieć na dynamiczny teren. Dostosuj jego nogi i stopy, aby umieścić je odpowiednio na terenie z kamieniami i zboczniami.
  • Trzymaj broń i umieść jej ręce odpowiednio na uchwycie bez potrzeby tworzenia animacji dla każdej broni w gra.
  • Celuj w punkt na świecie, aby końcówka lufy dokładnie wskazała na to, co chcesz strzelić. Szczególnie przydatna w grach strzelających z trzeciej osoby.
  • Połóż ręce na kierownicy samochodu i podążaj za nim, gdy się obraca.
  • O wiele więcej!

IKControl zastąpi animację dla wszystkich części między ChainRoot a EndEffector.Możesz włączyć/wyłączyć go za pomocą Enabled lub zmienić, jak duży mają wpływ na podstawową animację za pomocą Weight.Uważaj: jeśli nie skonfigurujesz swojego IKControls prawidłowo, możesz wygenerować złe i nierealistyczne pozy!

Przykłady kodu

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

Podsumowanie

Właściwości

  • Odczyt równoległy

    Ostatnia część, w której jesteś zainteresowany przeniesieniem swojej postaci.Na przykład, górna ręka.Musi być przodkiem EndEffector i być BasePart lub Bone w twojej postaci.

  • Odczyt równoległy

    Przełącza kontrolę włączoną i wyłączone. Domyślnie prawda.

  • Odczyt równoległy

    Część, w której jesteś zainteresowany przeniesieniem, aby dotrzeć do Target.Na przykład ręka twojej postaci.Musi być potomkiem ChainRoot i być BasePart lub Bone w twojej postaci.

  • Odczyt równoległy

    Dodatkowy przesunięcie zastosowane na górze EndEffector w jego lokalnej przestrzeni, aby zmienić, gdzie się porusza.

  • Odczyt równoległy

    Dodatkowy przesunięcie zastosowane na górze Target do zmiany, gdzie się porusza EndEffector.

  • Odczyt równoległy

    Opcjonalna instancja, która określa, w jaki sposób łańcuch się zgina. Możesz użyć tego, aby określić, w jaki sposób łokieć lub kolano się zgina.

  • Odczyt równoległy

    Określa kolejność rozwiązywania kontroli. Wartości wyższe mają wyższy priorytet.

  • Odczyt równoległy

    Określa średnią liczbę sekund, jaką zajmuje przejście EndEffector do Target.

  • Odczyt równoległy

    Obiekt, do którego EndEffector dotarza lub wskazuje.Może to być wszystko, co ma pozycję na świecie, takie jak BasePart , Attachment , Bone lub Motor6D .

  • Odczyt równoległy

    Określa, w jaki sposób rozwiązanie spełnia to kontrolę.

  • Odczyt równoległy

    Określa wagę celu kontroli IK. Powinien znajdować się w zakresie [0, 1].

Właściwości

ChainRoot

Odczyt równoległy

Enabled

Odczyt równoległy

EndEffector

Odczyt równoległy

EndEffectorOffset

Odczyt równoległy

Offset

Odczyt równoległy
Odczyt równoległy

Priority

Odczyt równoległy

SmoothTime

Odczyt równoległy

Target

Odczyt równoległy
Odczyt równoległy

Weight

Odczyt równoległy

Metody

GetChainCount


Zwroty

GetChainLength


Zwroty

GetNodeLocalCFrame

Parametry

index: number
Wartość domyślna: ""

Zwroty

GetNodeWorldCFrame

Parametry

index: number
Wartość domyślna: ""

Zwroty

GetRawFinalTarget


Zwroty

GetSmoothedFinalTarget


Zwroty

Zdarzenia