はじめに
Corgi Engineでキャラクターモデルの置き換え手順をまとめました。
日本語の情報は多くないので手探りながらも調べた内容をメモしていきます。
ここではATART Casual Archer Packのモデルを使用していますが、お気に入りのモデルを使用して頂ければと思います。
なるべく既存の仕組みを利用して作成していきたいです。
使用アセット
Corgi Engine - 2D + 2.5D Platformer
ATART Casual Archer Pack
今回の記事で使用したアーチャーのモデルです。
作業環境
Unity 2019.4.16f1
プレイヤーモデルの差し替え
デモシーンのコピー
Corgi Engine - 2D + 2.5D Platformer と ATART Casual Archer Packをインポートした状態から更新していきます。
3Dのモデルを使用しますのでイメージに近いCorgiEngine/Demos/Corgi3D/NewCorgi3Dを変更していきたいと思います。
NewCorgi3DシーンをコピーしArcherと名前を変更しました。
シーン側プレイヤープレハブの変更
Archerシーンを開き、HierarchyのLevelManagerを選択します。
Corgi EngineではLevelManagerがシーン初期化処理を行っています。
パラメータのPlayer PrefabsのNewCorgi3D (Character)をクリックします。
Player Prefabsに設定されたキャラクターが操作キャラクターとなります。
マルチプレイも考慮されているため配列の型となっています。
NewCorgi3DのプレハブをコピーしArcherと名前を変更します。
コピーしたArcherプレハブをドラッグし、LevelManagerのPlayer Prefabsに設定します。
これでArcherプレハブを変更すれば、プレイヤーが変更されるようになりました。
プレイヤープレハブにモデル追加
コピーしたArcherプレハブをダブルクリックしプレハブの中を確認します。
沢山のオブジェクトが入っていて「ぐはっ」とは思いましたが確認したところ、今回関係しそうなオブジェクトは2つしかありません。
ノードの一番上にあるArcherと対象のモデルのNewCorgi@T-Poseを今回は更新していきます。
他は移動時のパーティクルや演出に使用したり、カメラのターゲット用のオブジェクトでモデルの変更には関係ありません。
用意したモデル(Animator付きのプレハブ)をArcherプレハブのNesterに配置します。 ATART Casual Archer Packを使用されている方はATART/Archer/Prefabs/PlayerFemaleを配置します。
NewCorgi@T-Poseの設定を確認するとPosition, Rotation, Scaleが調整されています。
用意されていたキツネさんと同じ位置、向き、サイズとなるように調整しました。
ちょっと怖いですがモデルが同じくらいの感じになれば良いと思います。
AnimationController/CharacterControllerの設定
NewCorgi@T-PoseのAnimatorに設定されているAnimationControllerの仕組みを使えば アニメーションを置き換えるだけで動くはずですのでこちらを流用していきます。 NewCorgi@T-PoseのAnimatorをクリックし、Animator/ControllerのNewCorgi3DAnimatorContorollerをクリックしてください。
NewCorgi3DAnimatorContorollerをコピーしてArcherAnimatorContorollerと名前を変更しました。
新しく追加したモデルのAnimatorにArcherAnimatorContorollerを設定します。
ノードトップのArcherを選択し、InspectorからCharacterのAnimatorに、PlayerFemaleをドラッグし設定します。
コンポーネントはたくさんついているのでスクロールさせる必要があります。確認した環境では上から5番目にありました。
Corgi EngineではこのトップにあるCharacterや一緒についているコンポーネントを触ることでパラメータや動きを変更できます。
元からあったNewCorgi@T-Poseを非表示にします。
削除しても問題ありませんが動くの確認するまでは、設定の違いを確認するために非表示で置いておくのも良いと考えています。
Animatorの更新
最後の項目になります。このAnimatorの更新が終われば設定は完了となります。
あと少しです!
Animatorを開く
PlayerFemaleからArcherAnimatorControllerをクリックします。 Animatorウィンドウを開いていない場合は「Unityメニュー→Window→Animation→Animator」から開けます。
こう言うのが出てきます。
NewCorgi3DAnimatorControllerの構成
変更前の設定を確認したところNewCorgi3DAnimatorControllerの実装は16モーションで構成されていました。
- Idle...立ち待機
- LookingUp...見上げる
- Walking...歩き
- Running...走り
- Crouching...しゃがみ
- Crawling...しゃがみ歩き
- Dangling...不安定な足場から落ちそう
- Pushing...押す
- Landing...着地
- ClimbingLadderIdle...梯子つかまり待機
- ClimbingLadder...梯子登り
- Falling...落下(空中にいる状態)
- WallClinging...壁につかまっている状態(壁を滑っている状態)
- GettingHit...ダメージを受けた
- Dying...死亡時
- Dashing...滑空/飛行
必須モーション
全部のモーションを用意できればベストではありますが、必須と感じる部分だけ置き換えることができれば差し替えは可能です。
必須と思う3モーションだけあればゲームは作れます!
用意したモデルでもアニメーションが一部足らないため用意があるものを設定しました。
必須はこれがないとゲームが成り立たないもの。
仕様次第はゲームの仕様次第では無くても問題ないもの。例えば
無くても良いクオリティアップの要素が強く、待機状態等の置き換えでも問題はないもの。ただ、あるに越したことはありません!
重要度 | アニメーション名 | 動き | 代替案 |
---|---|---|---|
必須 | Idle | 立ち待機 | - |
必須 | Walking | 歩き | - |
必須 | Falling | 落下(空中にいる状態) | - |
仕様次第 | Running | 走り | Walkingと同じにするか、歩きのアニメ速度を上げたものにする |
仕様次第 | WallClinging | 壁滑り | - |
仕様次第 | Crouching | しゃがみ | - |
仕様次第 | Crawling | しゃがみ歩き | - |
仕様次第 | Pushing | 押す | - |
仕様次第 | ClimbingLadderIdle | 梯子つかまり待機 | ClimbingLadder の1フレームを切り抜いたものにする |
仕様次第 | ClimbingLadder | 梯子登り | - |
仕様次第 | Dashing | 滑空/飛行 | - |
無くても良い | LookingUp | 見上げる | Idleと同じ設定する |
無くても良い | Dangling | 不安定な足場 | Idleと同じ設定する |
無くても良い | Landing | 着地 | Idleと同じ設定する |
無くても良い | GettingHit | ダメージを受けた | Idleと同じ設定する |
無くても良い | Dying | 死亡時 | Idleと同じ設定する |
アーチャーモデルで設定する場合
重要度 | アニメーション名 | 動き | 設定した内容 |
---|---|---|---|
必須 | Idle | 立ち待機 | Idle2 |
必須 | Walking | 歩き | Walk |
必須 | Falling | 落下(空中にいる状態) | Jump_In |
仕様次第 | Running | 走り | Run |
仕様次第 | WallClinging | 壁滑り | OnWall |
仕様次第 | Crouching | しゃがみ | Sit |
仕様次第 | Crawling | しゃがみ歩き | Sit |
仕様次第 | Pushing | 押す | Walk |
仕様次第 | ClimbingLadderIdle | 梯子つかまり待機 | 変更無 |
仕様次第 | ClimbingLadder | 梯子登り | 変更無 |
仕様次第 | Dashing | 滑空/飛行 | Jump_Spin |
無くても良い | LookingUp | 見上げる | Idle2 |
無くても良い | Dangling | 不安定な足場 | Idle2 |
無くても良い | Landing | 着地 | JumpOut |
無くても良い | GettingHit | ダメージを受けた | Damage_Strong |
無くても良い | Dying | 死亡時 | Death |
モーションの設定
Animatorの項目をクリックし、Inspector上のMotionに設定することで切り替えることができます。
アーチャーモデルで設定する場合は下記の場所にモーションファイルがありますので、これをドラッグしてMotionに設定します。
各モーション全て設定を更新したら設定は完了となります。
上の表にある「アーチャーモデルで設定する場合」を参考に設定をします。
設定は完了となります。おつかれさまでした!
実行し動作の確認をしてみてください。
おわりに
今後も触った内容のメモは残していきたいと思います。
Corgi Engineより先にTopdown Engineに触れたのですが使い方は一緒でした。
Corgi Engineを会得できたらTopdown Engineもその流れで使えるようになりそうです。
残りのモーションをどうするか
ここでは用意されているものだけの実装ですが、Unity上でモーションを作成できるアセットも出ているので、今後はモーション作成にも挑戦してみたいと思います。