FinalIK 逆ダイナミクス プラグインの学習

1.全身 Biped IK コンポーネント

グローバルプロパティ

FixTransform IK 位置を更新 (このオプションがオフの場合、ボーン ポイントをドラッグすると、キャラクターは空間内にいるかのように移動します)

重みは適用度を表します

反復 他のポイントが更新される頻度。使用しないときは0に変更することができ、手を握ったときは手動操作のみが行われ、他の部分には影響を与えません。

ボディ属性                

UseThighs は太ももの筋肉を使用し、デフォルトでチェックされており、エクササイズはより穏やかでソフトになります。

脊椎は腹部(胸腔)の領域です。回転やストレッチ時に胸と腹部が体と一緒に動き、他の位置の変化によって胸と腹部が変形しないように、重みは 1 にする必要があります。

MaintainHeadRot     頭のデフォルト アニメーションの重み。 0 の場合、頭は他の位置と一緒に移動せず、元のアニメーションが維持されます。 1 時、非常に柔らかい

アームアーム

手の下のターゲットなど、ターゲットのプロパティを理解することに重点を置き、シーン内のオブジェクトをターゲットにドラッグして、位置のウェイトを 1 に調整します。このとき、ターゲット オブジェクトをドラッグすると、キャラクターの手が追従することがわかります。物体の動き。

コード制御

総重量を設定する

GetComponent<FullBodyBipedIK>().solver.SetIKPositionWeight(1);

左右の腕と左右の脚をセットします

GetComponent<FullBodyBipedIK>().solver.SetChainWeights(FullBodyBipedChain.LeftArm,1, 1);

設定ウェイト:体の位置、左右の手、足、肩、太もも

GetComponent<FullBodyBipedIK>().solver.SetEffectorWeights(FullBodyBipedEffector.Body,1, 1);

2.Aim Ik コンポーネント - 照準コンポーネント

ターゲット 狙う対象

ポール ターゲット オブジェクトの位置によってキャラクターの左右のプローブを制御できます (銃撃戦ゲームの左右のプローブ効果など)

Aim Transform ターゲットを狙うためにどの部分を使用するか (通常、銃口に新しい空のオブジェクトが作成され、その空のオブジェクトが使用されます)

軸 ターゲットに対する照準ターゲットの軸を指します。デフォルトは Z 軸であり、通常は変更されません。

weight 混合 IK エフェクトのウェイト。clampWeight と組み合わせて使用​​します。

clampWeight ソルバーの回転値。 0はフリースピン、1は完全に固定され効果はありません。
通常、ウェイトは 1 で、clampWeight は約 0.5 です

ボーン 人間のボーン (通常は背骨から首まで) をドラッグし、各ボーンのウェイトを調整して、人体がターゲットとともに回転するときの各部分の影響の度合いを示します。一般に、首から下に行くほど、重量を下げます。

3.Grounder Full Body Biped IK コンポーネント --- キャラクターの足が地形にフィットします

このコンポーネントを使用するには、キャラクターに全身 Biped IK が必要です。

レイヤー 足跡検出のレベルは地形のレベルと一致している必要があります

最大ステップ 最大足上げ高さ

Spine を理解することに重点を置きます。キャラクタが上り坂を移動すると、体全体のボーンが特定の影響を与えます。Spine に要素を追加し、EffectorType を選択し、Weight を調整して、キャラクタが移動するときに影響を受けるパーツのウェイトを完成させます。

4.インタラクションシステム-----インタラクションシステム、つまりキャラクターとボタンやドアなどのオブジェクト間のインタラクション

このシステムを使用するには、フル ボディ Biped IK コンポーネントをキャラクタに追加し、次にインタラクション システム コンポーネントを追加する必要があります。その後、ターゲット オブジェクトにインタラクション オブジェクト コンポーネントが必要です。次に、ウェイト カーブを追加し、タイプを選択してカーブを設定します。 、その後、イベント イベントを追加し、一時停止とピックアップを操作することを選択できます。

次に、次のように簡単なスクリプトをキャラクターに追加します。

public class FinalIKInteractionController : MonoBehaviour
{
    public InteractionSystem Interaction_System;

    public InteractionObject Interaction_Object;

    void Update()
    {

        if(Input.GetKeyDown(KeyCode.Space))
        {

            //此处选择与物体交互使用哪个部位
            Interaction_System.StartInteraction(FullBodyBipedEffector.LeftHand,Interaction_Object, true);
        }

        else if (Input.GetKeyDown(KeyCode.B))
        {
            //取消暂停
            Interaction_System.ResumeAll();
        }
    }
}

手をオブジェクトによりよくフィットさせる必要がある場合は、モデルの手をコピーし、指の回転を調整し、そのコピーをターゲット オブジェクトのサブオブジェクトとしてターゲット オブジェクトにコピーしてから、インタラクション ターゲット コンポーネントをサブオブジェクトを作成し、ターゲット オブジェクトを割り当てます。ピボットを与え、ツイスト軸の回転軸を調整して、キャラクタがオブジェクトと対話するときに自然な手の感触を実現します。

次に、オブジェクトにアニメーションを追加して、ボタンを押したり、ドアを開いたりするなどのインタラクティブなアニメーション効果を実現できます。

特定のエフェクト調整については、Unity プラグイン チュートリアル コレクションの FinalIk チュートリアルのレクチャー 5 を参照してください。

5.CCDIK --- カスタマイズされた骨関節

CCDIK は、人間以外のスケルトンや、多関節ロボット アームなどの複数の関節を持つオブジェクトに適しています。

ターゲット、ウェイト、その他のパラメータは以前と同じです。主な理由は、ボーンがロボット アームのシャットダウンを個別にロードしてウェイトを調整する必要があるためです。場合によっては、ロボットのボーン ノードの回転を制限する必要があるためです。腕。追加できます

回転制限角度、回転制限ヒンジ

おすすめ

転載: blog.csdn.net/qq_42720695/article/details/133025273