IKControl
*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.
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
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.
Przełącza kontrolę włączoną i wyłączone. Domyślnie prawda.
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.
Dodatkowy przesunięcie zastosowane na górze EndEffector w jego lokalnej przestrzeni, aby zmienić, gdzie się porusza.
Dodatkowy przesunięcie zastosowane na górze Target do zmiany, gdzie się porusza EndEffector.
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.
Określa kolejność rozwiązywania kontroli. Wartości wyższe mają wyższy priorytet.
Określa średnią liczbę sekund, jaką zajmuje przejście EndEffector do Target.
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 .
Określa, w jaki sposób rozwiązanie spełnia to kontrolę.
Określa wagę celu kontroli IK. Powinien znajdować się w zakresie [0, 1].