前回で最低限のステージを作ってみました。
今回はキャラクターを作ってみようと思います。
このページを参考に。
一番簡単に作ろうと思ったら、コーギーエンジンのDemosフォルダ内にあるプレハブからキャラクターを複製してスプライトを変えたりすればOK! というようなことも書いてあります。
とは言っても、型通りに作るなら簡単みたいです。
対象となるゲームオブジェクトにCharacterコンポーネントを付けます。
下部にあるAutoBuilPlayerCharacterボタンを押すと、rigidbody2dや必要なコンポーネントが自動で追加されます。
これで動きます。
動画だとキャラクターが奥の方向を向いちゃってますが、 MeshRendrerとAnimatorコンポーネントを持ったオブジェクトを 子に作り、そのオブジェクトのRotationYを90度回転させればちゃんと表示されます。 親のCharacterコンポーネントのInspectorから、 CharacterAnimatorプロパティにメッシュオブジェクトのアニメータをセットしてあげれば、 調整できます。 Unityの入門書なんかにも、 グラフィック関連のオブジェクトと、操作に関する処理は別なオブジェクトにするべき みたいな記述を見かける気がします。
キャラクターのインプットやジャンプなんかの基本機能はコーギーエンジンがやってくれる感じです。スプライトの設定やアニメーションは自分で作る必要がありますが。
コンポーネントが自動で付きますが、いらない機能があれば、対応するコンポーネントを削除するだけで良いみたいです。武器を持つとかジャンプするとか、いろんな機能がついている模様。
キャラクターを作ったら、GameManagerコンポーネントとLevelManagerコンポーネントを持ったオブジェクトを作り、バーチャルパッドが必要であればコーギーエンジンのプレハブからUICameraをシーンに配置すれば良いかと思います。前回でやった通りに。
接地判定なんかもレイを飛ばしてやってくれてるみたいです。
RigidBodyやBoxcolliderは直接いじる必要はない……のかな?
あと簡単に使える機能として、シーンの境界線みたいなのも設定できるようで。
LevelBoundsという名前で扱っているみたいですが。
黄色い枠がキャラクターに反応するラインになっています。
このラインより外には出れないようにする。
マリオみたいに、下に落ちたらゲームオーバーになる。
そんな機能を簡単につけることができます。枠の下側の線にプレイヤーが当たったらゲームオーバーにするみたいに、上下左右に別々の処理をすることができるみたいです。
アニメーションの設定
アニメーション自体は自分でつくるなりアセットを使うなりするわけですが、トリガーだったりの遷移については用意してあるものがあります。
コーギーエンジンの入力に合わせたトリガーがセットしてあるAnimatorがあるので、対応するアニメーションをセットしてあげればOKみたいな。そのアニメーションを変えればOKという感じ。
そういうわけで
色んな機能を持つキャラクターが用意されているということで。
自分好みにしようと思ったらやはりスクリプトをいじる必要がありそうですが、そのまま使っても上等なものができそうな気がしてきました。
なんかやれる気がしてくる……!
コメント