IKControl
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
IKControl インスタンスは、逆キネマティクス (IK) を使用して手続きアニメーションポーズを生成します。キャラクターが環境にリアルに反応するようにすることができます。
たとえば、キャラクターがドアのハンドルに手を置くように指示することができ、キャラクターはその位置に関係なく独立してそうすることができます。IKControls は、ゲームのためにより少ないアニメーションを作成する必要があり、エクスペリエンスにより現実的で洗練された感触を与えるという利点を提供します。
IKControls は、Humanoid または AnimationController の子であり、Animator とすべての必要なプロパティが適切に設定されていなければ、効果はありません。必須のプロパティは Type , EndEffector , Target , ChainRoot です。それらが設定されると、IkControl は指定した通りにキャラクターのポーズを変更します。次のコードサンプルでは、最初の IKControl を設定し、ゲームのより現実的なアニメーションを作成する方法を示しています。
IKControls を使用してキャラクターを作成できます:
- 頭と胴体を回転させて、世界の特定の場所を見る
- その足の位置を変更して、動的な地形に対応します。その足と脚を調整して、岩や坂のある地形にそれらを配置します。
- 銃を持って、ゲーム内の各銃のためにアニメーションを作成する必要なく、グリップに手を適切に配置します。
- 世界のあるポイントを狙い、銃のチップが正確に狙いたいものに向かうようにします。特に、3人称シューターで役立ちます。
- 車のステアリングホイールに手を置き、回転するときにそれに従います。
- はるかに多く!
IKControl は、ChainRoot と EndEffector の間のすべてのパーツのアニメーションをオーバーライドします。 または を使用して有効化/無効化できます。または、 を使用して、基本のアニメーションに対する効果量を変更できます。注意してください:如果你未正確に設定 your IKControls 、あなたは悪い非現実的なポーズを生成する可能性があります!
コードサンプル
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
概要
プロパティ
キャラクターを移動する最後の部分。たとえば、上腕。祖先が EndEffector であり、キャラクターで BasePart または Bone である必要があります。
コントロールのオンとオフを切り替えます。デフォルトでは、真です。
移動して Target に到達するのに興味があるパーツ。たとえば、キャラクターの手。必須の子孫は ChainRoot であり、キャラクターで BasePart または Bone である必要があります。
ローカルスペースの EndEffector 上に追加のオフセットを適用して、移動先を変更する
Target の上に追加のオフセットを適用して、移動する EndEffector の場所を変更する。
チェーンが曲がる方向を決定するオプションのインスタンス。これを使用して、エルボーまたは膝がどの方向に曲がるかを指定できます。
コントロールの解決順序を指定します。高い値は優先度が高いです。
EndEffector がスムーズに Target に到達するのに必要な平均秒数を指定します。
EndEffector が到達したり、指したりするオブジェクト。それは、BasePart、Attachment、Bone、またはMotor6Dのように、世界に位置があるものでもあります。
ソルバーがこの制御を満たす方法を指定します。
IK コントロールターゲットの重量を指定します。[0, 1] 範囲である必要があります。