【Unity】StarterAssetsのTPSのキャラクタを変更してみる

2023年5月27日

Unity公式のStarterAssetsには、TPS(三人称視点のゲーム)のサンプルが入っています

キャラクタの移動処理が実装ずみ、カメラワークが実装ずみなので、うまくキャラクタを差し替えると自分でカスタマイズしたTPSアプリが作れることになります

移植のポイント

Unity公式のコントローラーは、キャラクタの差し替えが比較的簡単に行えるように配慮されています
手順に従って進めると、コードを追加変更することなく、自分好みのキャラクタに置き換えることができるようになります

なお、今回のキャラクタはUnity公式ではありません
なので、基本的にUnity側も製作者側も動作の保証をしているわけではありません
(全てのアセットにこれは言えませすので、日頃からのスキルアップ、対応力の向上が重要になるのは言うまでもありません

この記事は、参考欄のStarter Assets Overviewを元に制作されています

新規でプロジェクトを作成する場合、内蔵されているサンプルシーンでテストするには、URPでプロジェクトを作成する必要があります

また、InputSystem(多くのネット情報、書籍では入力関係はInputManagerを使っている)を使っているのでPackageManagerでインストールする必要があります

実行結果

まず、実行結果を見てみましょう
求めている挙動と同じであれば、移植することを検討していいでしょう

Playgroundシーンからの変更点

公式のサンプルシーン(Playgroundシーン:Assets/Starter/Assets/ThirdPersonController/Scene/Playground.unity)の構成からキャラクタを変更する手順についてになります
適用するキャラクタによっては同様にならないことがありますので、キャラクタの構成に応じてカスタムしてみましょう

テストシーンに配置しているCubeなどの3Dモデルは変更しています

プレイヤー関連(PlayerArmatureゲームオブジェクト)

プレイヤーキャラクタのオブジェクトになります
子オブジェクトとともに構成されています
AnimaterやCharacterControllerなどキャラクタに関するコンポーネントがアタッチされています

PlayerArmatureのプレファブを解除します

カスタムしたキャラクタにするために現在のプレファブを一旦解除します

子オブジェクトの構成を指し変えます
PlayerAmature(親オブジェクト)にアタッチされているコンポーネント類はそのまま残しておきます

モデルの差し替え

3Dモデルは、Geometryゲームオブジェクト内の子オブジェクトとして格納されています
ここ新しいものに置き換える作業になります

Unity公式サンプルのモデル(ロボット)を削除します
新しいモデルを取り付けます

削除した場所に変更したいモデルをD&Dして、子オブジェクトにします

AnimatorコンポーネントのAvatarを差し替えます

新しいモデルにアニメーターがアタッチされている場合、削除します

完成

以上の作業で新しいキャラクタが動作するようになります
再度、プレファブにして活用していきましょう

参考