【Game Creator】Player・Characterの作成と設定【Unityアセット】

Game Creatorサムネ

Unityアセット「 Game Creator」でのキャラクターの動作方法やPlayer、Characterコンポーネントの扱い方を解説します。

Player、Characterコンポーネントの利用とモデルの変更方法

Player(ユーザーが操作できるキャラクター)はHierarchyのGame Creator > Cahracters > Player、Caracter(操作できないキャラクター)はHierarchyのGame Creator > Cahracters > Characterを選択すると利用できます。

gamecreator character hierarchy
GameCreator_Player

選択直後はGame Creatorデフォルトのロボット3Dモデルが自動的にセットされており、実際に方向キーでの移動とSpaceキーでのジャンプが可能な状態です。ここから独自の3Dモデルを反映させるのも簡単です。Player、及びCharacterのInspectorでCharacter Modelコンポーネントにモデルをドロップできる箇所があります。ここにProjectから3Dモデルをドラッグ&ドロップで放り込むとキャラの設定は完了です。操作感覚やアニメーションはデフォルトと全く同じです。

ただし、公式発表では、3DモデルはHumaroidタイプ以外利用できません。実際には利用できますが、いくつかのアニメーション関連の調整が必要になります。

gamecreator_player3
gamecreator_player2

▲モデルはUnityアセットのRinを利用しています。

Characterコンポーネントの設定項目

Basic Parameters

Game Creator Character Basic Parameter

Is Controllable

キャラクターの操作可否。Playerの場合、キー入力を受け付けなく他、Player及びCharacterの場合、Actionの移動なども制限します。

Can Run

  • Trueの時、走行しており、速度にRun Speedを使用。
  • Falseの時、歩行しておりにRun Speed / 2を使用。

Run Speed

走っている時にキャラクターが直線移動する速度。歩いている時はその半分

Angular Speed

キャラクターが回転する時の速度。1秒あたりの度数を表しており、180の場合、キャラクターが後ろを向くのに1秒かかることを意味します。

Gravity

重力。キャラクターに常に下にかかる力。

Max Fall Speed

最大落下速度。キャラクターはGravityに従って加速し、Max Fall Speedに達した時点で地上に落ちるまでその速度を維持します。
低い値だと滑空し、0だと空中に静止します。

Can Jump

キャラクターのジャンプ可否。Playerの場合、ジャンプができなくなる他、Player、及びCharacterの場合、Actionによるジャンプ命令を受け付けなくなります。

Jump Force

ジャンプする時に、上向きにかかる力

Jump Times

キャラクターが地面に触れる前にジャンプできる回数。二段ジャンプや三段ジャンプのこと。

Time Between Jumps

一度ジャンプして着地してから再度ジャンプができるようになるまでのクールタイム秒。

Advanced Parameters

Game Creator Character Advanced Parameter

Face Direction

顔の向きを制御する項目。

  • Movement Directionの時、キャラクターの移動と顔の向きを統一します。
  • Camera Directionの時、常にカメラと同じ方角を向きます。
  • Target: 指定したゲームオブジェクトや座標の方角に向きます。Offsetで微調整可能。
  • Ground Plane Cursor:カーソルの方角に向きます。
  • Ground Plane Cursor Delta:マウスの方角に向きます。
MEMO

Plane Cursor Deltaの違いはカーソルかマウスの違いです。カーソルはプログラム上で操作可能です。反対にマウスは常にマウスの位置に向きます。

Can Use Navigation Mesh

Unityの機能であるNaviMeshシステム(ナビゲーションシステム)の利用可否。ある地点に移動する場合に自動的に障害物を避けます。NaviMeshの詳しい設定方法はUnityのマニュアル等をご確認ください。

Push Force

物理物体に接した時に物体に与える力

Save

Action「Save Game」時にキャラクターの位置と回転をセーブします。ロード時に位置・回転を自動的に復元します。

Player Input

Game Creator Player Input


Playerのみの項目です。入力によるキャラクター制御の設定をします。

Input Type

Playerの移動方法。wasdキーやゲームパッドの入力はInput ManagerのHorizontalとVerticalを利用しています。

  • Directionalの時、wsadキー、及びゲームパッドの方向キーで移動ができます。
  • Point & Clickの時、画面をMousu Button Movebボタンでクリックするとクリックした場所に移動します。クリックが反応するレイヤーをMouse Layer Maskで制限できます。NaveMeshの利用を推奨。
  • Pointer Followの時、Mousu Button Movebボタンをクリックしている間のみマウスポイントに移動します。
  • Side-Scroll Xの時、adキー、ゲームパッドの左右キーでのX軸方向の移動のみ許可します。2.5D横スクロールタイプ。InvertAxisにチェックを入れると左右の移動が逆転します。
  • Side-Scroll Zの時、wsキー、ゲームパッドの上下キーでのZ軸方向の移動のみ許可します。奥行移動タイプ。InvertAxisにチェックを入れると上下の移動が逆転します。
  • Tank Controlの時、adキー、及びゲームパッドの左右キーで回転し、wsキー、及びゲームパッドの上下キーでその方向に前後します。

Jump Key

キャラクターをジャンプさせるためのキー

Use Acceleration

加速時間の可否。チェックを入れるとボタンを押してから徐々に速度が変化するような動きになります。

Acceleration

ボタンを押してから歩行速度になるまでの加速度。

Deceleration

ボタンを離してから速度が0になるまでの減速度。

Character Controller

Unityのコンポーネントです。詳しくはUnityのマニュアルページが詳しいです。

Characterのアニメーション

Game Creatorには、Player、及びCahracterをアニメーションさせる手段としてState(ステート)、Gestureの二つの概念があります。

Gesture

Gestureは1回のみ行う単発アニメーションです。Action「Character Gesture」にてGestureを指定するだけでアニメーションを1回行ってくれます。挨拶や会話時のポーズなどに利用します。Game Creatorには最初から以下のGestureが用意されています。

Character@agree同意。肩をすくめるようなアニメーション。
Character@angry怒り。あきれたような肩を下げるアニメーション。
Character@clap拍手
Character@cocky生意気。両手を広げてさも驚くような小馬鹿にしたアニメーション。
Character@defeat敗北。両手を顔の前で握ってフルフル。女の子が困った時にぶりっ子するようなアニメーション
Character@disagree反対する。手で切るようなアニメーション
Character@drink飲む。グラスを持つように手を口の近くに持っていきだんだんグラスを下げるように移動
Character@salute健康。軍隊式敬礼。
Character@scare恐怖。ちょっと仰け反って止めて欲しいとアピールするようなアニメーション
Character@stretchストレッチ。両肩をもう片方の手で揉むようなアニメーション
Character@talk1会話。両手で説明しているようなアニメーション
Character@talk2会話。片手で説明しているようなアニメーション
Character@throw投球。片方の手を振りかぶります。
Character@victory勝利。両手を万歳します。
Character@wave万歳
Character@yell怒鳴る

Gestureの実態は純粋にUnityのプロジェクトで管理するAnimation Clipを再生するのみの単純な構造です。そのため、各種Animation ClipをUnityのProjectに用意するだけでJestrueが追加されます。弊害として、Game Creatorが利用しているGesture以外のAnimation Clipも表示しています。

State

Stateは歩行・走行・ジャンプなど基本動作に対するアニメーションを管理する仕組みです。Action「Character Default」でベースとなるStateを変更でき、Action「Character State」で一時的にStateを変更できます。一時的に変更したStateはAction「Character State」でリセットすることで再びベースとなるStateに戻すことが可能です。

Game Creatorには、4つの状態変化用ステート「Crouch」「Drunk」「Hurt」「Meditate」が用意されています。

Game Creator State Crouch
▲Crouch しゃがむ
Game Creator State Drunk
▲Drunk 酔っ払い
Game Creator State Meditate
▲Meditate 瞑想
Game Creator State hurt
▲Hurt 傷

自作の新たなStateを作るには、Projectにて右クリックCreate > Game Creator > Charactersから作りたいテーマに合ったStateを選択します。

SimpleState

Game Creator SimpleState


キャラクターが単一の状態を取る場合に利用します。サンプル例は上記のMeditate(瞑想)です。静止・歩行・走行・ジャンプ共に均一のアニメーションのみを続けます。例えば椅子に座る、バイクに乗るなど均一の姿勢を持続させる場合に利用します。

LocomotionState

Game Creator LocomotionState


キャラクターの動きをカスタムする場合に利用します。サンプル例は上記のDrunk(酔っ払い)です。静止・歩行・走行・ジャンプそれぞれに個別のアニメーションを設定できます。実態はベースキャラクターのアニメーションをオーバーライドしたアニメーションコントローラーファイルです。そのため、変えたい箇所のみ変更すれば、それ以外はベースキャラクターのアニメーションを利用します。

以下のサイトでは四足歩行の動物アニメーションを作る手法を紹介しています。

Advanced State

Custom Mecanim Animator Controllerを利用しているステート。アニメーションファイルの設定そのものはLocomotionStateと同等。

関連リンク

参考 【Unityアセット】Game Creatorの紹介と解説 トップページゲーム開発65535 Ver2

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA