はじめに
Unityの有料アセット、TopDown EngineのLoft3Dデモでプレイヤーキャラクターを差し替える際に行った作業を備忘録としてまとめておきます。
Suspendersのプレハブをコピーしてモデルを差し替え
Loft3Dデモでは、プレイヤーキャラクターとしてPrefabs/PlayableCharactersの下のSuspendersプレハブが使用されています。
まずはこれをコピーして、名前を適当に変えます。
複製したプレハブのSuspenders@Idle(1)以下は必要ないので削除し、代わりに使用したい3Dモデルを子オブジェクトとして追加します。
Animatorの設定
追加した3DモデルのAnimatorのControllerをSuspendersAnimationControllerに変更します。
Weapon IKの追加
追加した3Dモデルが武器を構えられるように、Weapon IKコンポーネントを追加します。
Weapon IKコンポーネントの追加は、Animatorコンポーネントが設定されているオブジェクトに対して行います。
パラメーターはデフォルトのまま。
武器を装備した時の武器の座標を表すオブジェクトを追加
キャラクターの3Dモデルに対して、武器を装備した時の武器の位置をTransformとして持つオブジェクトを追加します。
今回はSuspendersのWeaponAttachmentContainer以下をそのままコピーして、3Dモデルに追加しました。
CharacterHandleWeaponの設定
CharacterHandleWeaponのWeapon Attachmentに、先ほどコピーしたWeaponAttachmentContainerの下のWeaponAttachmentオブジェクトを指定します。
CharacterCrouchの設定
CharacterCrouchのObjectsToOffsetにWeaponAttachmentContainerを指定します。
これにより、キャラクターがしゃがんだり這ったりするときに、武器の位置をそれに合わせてOffsetCrouch/OffsetCrawlの分だけ移動させることができます。
LevelManagerのPlayer Prefabsの設定
LevelManagerのPlayer PrefabsからSuspendersプレハブを削除し、今回作成したプレハブを指定します。
完成
シーンを再生して、プレイヤーキャラクターが正常に動作するか確認します。