【Unityアセット】Game Creator -②プレイヤー・キャラクター編-
はじめに

「Game Creator」はUnityアセットストアにて購入できる有料アセットです。
3Dゲーム製作に便利なツールで、ビジュアルスクリプティングでコードを書かずにゲームを製作することができます。
今回このブログでご紹介するのはGame Creatorの無印版で、
2021年9月にGame Creator2がリリースされています。
2021年9月時点ではベータ版であり、拡張モジュールとの互換性はまだ無い様なのでご注意ください。
環境
記事内での環境は以下の通りです。
Unity 2020.3.5f1 Personal
Game Creator Version 1.1.13 May 18,2021
Playerについて
それでは前回は基本となる仕組みについてでしたが、
今回はPlayerについてご紹介します。
Playerはその名の通りゲーム内で操作するプレイヤーキャラクターになります。

ヒエラルキーで+を押してCharacters⇨Playerで生成します。
一通りプレイヤーに関するCharacter Controllerなどのコンポーネントが用意されています。

Character ModelのDrop your 3D modelのところに任意の3Dモデルをドラック&ドロップするだけで
好みのキャラクターに変更できます。
※キャラクターモデルをLow Poly Animated Peopleのプレハブを使用しています。
また、ボーンが入っているモデルである必要がある様です。
基本的にPlayerはこのまま再生するとWASDキーでの移動やspaceでのジャンプなどは既に実装されています。
Player Characterコンポーネントではプレイヤーの挙動についてなどを変更できます。
Is Controllableは操作ができるか、
Can Runのチェックを外すと走れなくなったり、
走るスピードやジャンプについてのパラメーターを変更することができます。

また、Character Animatorコンポーネント内のDefault Stateという部分は、
デフォルトはNoneとなっていますが、Stateを用意してアタッチすると
キャラクターの移動などのアニメーション全般をまとめて変更する事ができます。

Game CreatorでいくつかStateが用意されているので、試しに適用してみます。
CrouchというStateを適用しました。
移動とアイドル状態がしゃがんだ状態になりました。
Stateの中身を見てみます。

アイドル状態から、走る歩くの8方向など、細かく設定できます。
アニメーションアセットなどで移動モーションもそれぞれ8方向用意されていることが多いと思うので、
そのまま差し替えてあげれば適用されますので便利です。
このStateを使えば、キャラクターの状態によって動きをまとめて変化させてあげることができます。
ActionsにCharacter Stateというアクションがあるので、

これでPlayerのStateを任意のタイミングで変更してあげることができます。
左クリックしたらStateをNone⇨Crouchにチェンジしました。
Characterについて
次はCharacterについてご紹介します。
Playerと同様にCharactersからCharacterを選択して生成します。

ほとんどPlayerと同じ仕様になってます。
プレイヤー以外のNPCなどに使います。
Playerと同じく、
Character ModelのDrop your 3D modelのところに任意の3Dモデルをドラック&ドロップするだけで
好きなモデルに変更できます。
例として、Stateを新規作成しCharacterのアニメーションを独自のものに変更してみたいと思います。
プロジェクト上などで右クリックのCreateで、Game Creator→Charactersの先にStateがあります。
今回はアイドル状態だけを利用するので、Simple Stateを作成します。

Boxerという名前にしています。
Character@simpleというところにアニメーションクリップをアタッチします。
これも別アセットのものを今回は適用しています。

それではこのボクサーのアイドル状態Stateをデフォルトにしたいので、
BoxerというStateを、Default stateのところにアタッチします。

これで再生してみます。
無事ボクサーがファイトポーズをとっている状態に出来ました。
Stateを変更するパターンはPlayerの説明でご紹介しましたが、
アニメーションを単発で再生したいときもあります。パンチするとか、手を振るとか。
例えば、ActionsでCharacter Gestureというアクションがあります。

このActionにCharacterオブジェクトをアタッチし、
アニメーションクリップも任意のものをアタッチします。

トリガーは丸い土台の上に置いてあり、On Player EnterなのでPlayerが乗っかたらCharacter Gestureを実行するようにしています。
再生してみます。
Playerが丸い土台の上に乗るとTriggerが発動し、ボクサーがパンチをするアニメーションを一度行っています。
まとめ
今回はPlayerとCharacterについて簡単にまとめました。
アニメーションとキーを押して移動などがすぐに実装できて非常に便利です。
ノーコードでここまで早くできればゲーム製作がかなり捗りますね。
まだまだCharacters周りに影響する機能がありますので、
このブログにてご紹介していきます。
ちなみに、
よろしければ全てこのGame Creatorでコードを使わずに製作したゲームを
Unity1weekの「ちゅう」のお題で提出していたものがあるので
改めてみると改善点色々ありますが、参考までにみていただけると幸いです笑
こちら↓
「energy soul」
https://unityroom.com/games/energysoul

それでは💤