はじめに
先日無料化された「Power IK」というアセットの導入方法についての記事です。
この記事ではIK導入の初歩としてTPSテンプレートのサードパーソンキャラクターにFootIKの機能を持たせたいと思います。とても強力なプラグインなのでこれだけでは役不足ですが、導入編ということでご理解ください。
インストール
まずはEpic Games LauncherからPower IKをインストールしましょう。
インストールが終わったらプロジェクトを開きます。
(今回の記事の中では「ThirdPerson」テンプレートを使用しています。)
UE4エディターのEditタブからPluginsでプラグイン設定画面を開き、Power IKをEnabled(有効)にして再起動します。
Foot IK設定
テンプレートプロジェクトに含まれている「ThirdPerson_AnimBP」を開き、AnimGraphを編集していきます。
AnimGraphを開くと、DefaultからOutput Poseに繋がっています。Defaultをダブルクリックで開き、さらにIdle/Runをダブルクリックで開きます。するとThirdPerson_IdleRun_2DとOutputノードがあるので、この2つのノードの間にPower IK Groundというノードを挟んでやります。(ノードを繋ぐと自動的に変換ノードが挟まれて以下の形になります)
Power IK GroundノードをクリックするとDetailsタブに詳細の設定が表示されます。この中の、Rig->Feetの横にある+マークを2回クリックします。追加された要素中のBone Nameに「foot_l」「foot_r」と設定しておきます。これがIKを適用させるボーンの名前となります。
ここでコンパイルを行いPower IK Groundノードをクリックした状態でプレビュー画面を見ると、先ほど設定したボーンに黄色いマークが付いていることがわかります。
次に、IKを適用させるために地面を認識させる必要があります。ここでは公式ドキュメントの手順に則って進めていきます。
プロジェクト設定からCollisionの設定画面を開きます。その中のTraceChannelsに新規追加でIKTraceを追加します。DefaultResponseはBlockに設定しておきます。
次にキャラクターには反応しないようにするため、下のPresetからPawn、CharacterMeshそれぞれを選択しIKTraceに対してはIgnore(無視)に設定しておきます。
そして最後に「ThirdPerson_AnimBP」に戻り、詳細タブのCollision Channelを先ほど追加したIKTraceに設定します。
Foot IK導入完了
たったこれだけの操作でFoot IKが導入できました。足のIKだけではそれほど恩恵がないかもしれませんが、公式ドキュメントには詳細設定など様々な情報が載っておりますのでそちらもご参照ください。