IKControl 인스턴스는 역 시네마틱(IK)을 사용하여 절차 애니메이션 포즈를 생성합니다. 이를 통해 캐릭터가 환경에 적절하게 반응할 수 있습니다.
예를 들어, 캐릭터가 문 핸들에 손을 올바르게 놓을 수 있도록 할 수 있습니다. 캐릭터는 위치에 관계없이 독립적으로 수행됩니다. IKControls는 경험에 더 현실감 있고 매끄럽게 느낄 수 있도록 훨씬 적은 애니메이션을 만드는 장점을 제공합니다.
IKControls 는 Humanoid 또는 AnimationController 와 자식이어야 하며, 모든 필수
IKControls를 사용하여 캐릭터를 만들 수 있습니다:
- 머리와 몸통을 회전하여 세계의 관심 지점을 확인합니다.
- 지형에 반응하도록 발의 위치를 변경하십시오. 발을 조정하여 바위 및 경사로와 함께 지형에 배치하십시오.
- 총을 들고 그 손을 게임에서 각 총에 대해 애니메이션을 만들 필요 없이 그립에 적절하게 배치하십시오.
- 세계의 어떤 지점에 대해 조준하십시오, 그래야 총의 팁이 정확히 무엇을 쏠 지 알 수 있습니다. 특히 3인칭 샷꾼에게 유용합니다.
- 자동차의 스티어링 휠에 손을 두고 회전할 때 따라가십시오.
- 훨씬 더!
IKControl 는 모든 부품 사이의 애니메이션을 覆盖 할 것입니다. Class.IK
코드 샘플
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
요약
속성
캐릭터를 이동하는 마지막 부분은 예를 들어 상팔입니다. 상팔은 EndEffector 의 조상이어야 하고 캐릭터에 BasePart 또는 Bone 이어야 합니다.
컨트롤을 끄기끕니다. 기본적으로 예입니다.
캐릭터의 손이 이동하여 Class.IKControl.Target|Target 에 도달하려는 부분입니다. 예를 들어, 캐릭터의 손. 손은 Target 의 하위이어야 하고 캐릭터의 ChainRoot 또는 Class.B
로컬 공간에 있는 EndEffector 위에 추가 오프셋을 적용하여 이동 위치를 변경합니다.
Class.IKControl.Target|Target 위에 적용된 추가 오프셋을 적용하여 EndEffector가 이동하는 위치를 변경합니다.
사슬이 어느 방향으로 구부릴지 결정하는 옵션 인스턴스입니다. 엘보우 또는 무릎이 구부릴 방향을 지정하는 데 사용할 수 있습니다.
컨트롤의 해결 순서를 지정합니다. 값이 더 높을수록 우선 순위가 높습니다.
Class.IKControl.EndEffector|EndEffector 이 최적화된 대상에 도달하는 데 걸리는 평균 시간(초)을 지정합니다.
Class.IKControl.EndEffector 가 달성하거나 가리키는 개체는 세계의 어느 곳에나 있을 수 있습니다. 예를 들어, BasePart, Attachment, 1>Class.Bone1>, 또는 4>Class.Motor6D4> 입니
솔버가 이 컨트롤을 충족하는 방법을 지정합니다.
IK 컨트롤 대상의 무게를 지정합니다. [0, 1] 범위여야 합니다.
메서드
속성
EndEffectorOffset
끝
또한, 부착을 설정하여 EndEffector 로 이동시켜 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착 부착
Class.IKControl.EndEffectorOffset|EndEffectorOffset 를 사용하여 EndEffector 가 Target 에 포인트할 때 1>LookAt1> 를 사용하는 것이 더 좋습니다.
Priority
캐릭터에서 여러 컨트롤이 활성인 경우 기본 시스템에서 해결되는 순서는 순서 해결을 통해 최종 생성된 포즈에 영향을 줍니다. 이 값을 변경하여 컨트롤이 얼마나 우선 순위가 높은지 지정합니다. 더 높
Class.IKControl.Type|Type를 변경하면 컨트롤의 동작을 변경할 수 있습니다. 이 옵션은 다음과 같습니다.
- 변환: 완전한 6-DoF 제약 조건입니다. EndEffector``Datatype.CFrame를 Target 에 맞춥니다.
- 위치: EndEffector 위치를 Target 위치에 맞춥니다.
- 회전: EndEffector 회전을 Target 에 맞춥니다.
- LookAt: 전체 체인을 이동하고 정렬하여 축(기본적으로 앞쪽 축)을 세계에 지정된 위치의 EndEffector 점에 대해 세계 지정된 위치의 Target 에 대해 축을 만듭니다.
Weight
이 속성을 사용하여 캐릭터 포즈에 주어진 컨트롤의 영향을 제어할 수 있습니다. 값은 [0, 1] 범위에 있어야 합니다. 0은 효과가 없고 1은 전체 이클립스 효과입니다. 이 값 외부의 값은 잘리지 않고 부드럽게 변경하면 이동 간 충돌을 피할
무게는 끝-효과자와 IK 대상 사이의 인터플레이션 팩터를 결정합니다. 무게를 0으로 설정하면 End-Effector와 IK 대상 간의 인터플레이션 팩터가 모두 해제되지 않지만, 다른 요소, 예를 들어 부드럽게 하기 위한 시간 및 낚시 대상을 포함하여 포�