IKControl

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

IKControl インスタンスは、逆キネマティクス (IK) を使用して手続きアニメーションポーズを生成します。キャラクターが環境にリアルに反応するようにすることができます。

たとえば、キャラクターがドアのハンドルに手を置くように指示することができ、キャラクターはその位置に関係なく独立してそうすることができます。IKControls は、ゲームのためにより少ないアニメーションを作成する必要があり、エクスペリエンスにより現実的で洗練された感触を与えるという利点を提供します。

IKControls は、Humanoid または AnimationController の子であり、Animator とすべての必要なプロパティが適切に設定されていなければ、効果はありません。必須のプロパティは Type , EndEffector , Target , ChainRoot です。それらが設定されると、IkControl は指定した通りにキャラクターのポーズを変更します。次のコードサンプルでは、最初の IKControl を設定し、ゲームのより現実的なアニメーションを作成する方法を示しています。

IKControls を使用してキャラクターを作成できます:

  • 頭と胴体を回転させて、世界の特定の場所を見る
  • その足の位置を変更して、動的な地形に対応します。その足と脚を調整して、岩や坂のある地形にそれらを配置します。
  • 銃を持って、ゲーム内の各銃のためにアニメーションを作成する必要なく、グリップに手を適切に配置します。
  • 世界のあるポイントを狙い、銃のチップが正確に狙いたいものに向かうようにします。特に、3人称シューターで役立ちます。
  • 車のステアリングホイールに手を置き、回転するときにそれに従います。
  • はるかに多く!

IKControl は、ChainRootEndEffector の間のすべてのパーツのアニメーションをオーバーライドします。 または を使用して有効化/無効化できます。または、 を使用して、基本のアニメーションに対する効果量を変更できます。注意してください:如果你未正確に設定 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.

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

概要

プロパティ

  • 並列読み取り

    キャラクターを移動する最後の部分。たとえば、上腕。祖先が EndEffector であり、キャラクターで BasePart または Bone である必要があります。

  • 並列読み取り

    コントロールのオンとオフを切り替えます。デフォルトでは、真です。

  • 並列読み取り

    移動して Target に到達するのに興味があるパーツ。たとえば、キャラクターの手。必須の子孫は ChainRoot であり、キャラクターで BasePart または Bone である必要があります。

  • 並列読み取り

    ローカルスペースの EndEffector 上に追加のオフセットを適用して、移動先を変更する

  • 並列読み取り

    Target の上に追加のオフセットを適用して、移動する EndEffector の場所を変更する。

  • 並列読み取り

    チェーンが曲がる方向を決定するオプションのインスタンス。これを使用して、エルボーまたは膝がどの方向に曲がるかを指定できます。

  • 並列読み取り

    コントロールの解決順序を指定します。高い値は優先度が高いです。

  • 並列読み取り

    EndEffector がスムーズに Target に到達するのに必要な平均秒数を指定します。

  • 並列読み取り

    EndEffector が到達したり、指したりするオブジェクト。それは、BasePartAttachmentBone、またはMotor6Dのように、世界に位置があるものでもあります。

  • 並列読み取り

    ソルバーがこの制御を満たす方法を指定します。

  • 並列読み取り

    IK コントロールターゲットの重量を指定します。[0, 1] 範囲である必要があります。

プロパティ

ChainRoot

並列読み取り

Enabled

並列読み取り

EndEffector

並列読み取り

EndEffectorOffset

並列読み取り

Offset

並列読み取り
並列読み取り

Priority

並列読み取り

SmoothTime

並列読み取り

Target

並列読み取り
並列読み取り

Weight

並列読み取り

方法

GetChainCount


戻り値

GetChainLength


戻り値

GetNodeLocalCFrame

パラメータ

index: number
既定値: ""

戻り値

GetNodeWorldCFrame

パラメータ

index: number
既定値: ""

戻り値

GetRawFinalTarget


戻り値

GetSmoothedFinalTarget


戻り値

イベント