Unity

【Unity】プレイヤーキャラクターを動かす方法(矢印の方向に移動させるタイプ)【カメラ固定ゲーム向き】

本記事内には、アフィリエイトリンクを含む場合があります

Unity初心者は、まず初めに

”プレイヤーキャラクターを動かしたい(操作したい)”

と思うのが、世の常ではないでしょうか?

 

安心してください。

コードいらずで、簡単に実装できます!

 

私が知っている方法は、2つあります。

1つは、以前紹介した
Standard Assets (for Unity 2018.4)に入っているコードを、
操作したいモデルにアタッチする方法です↓

【ゲーム開発】VRoid Studioで作成したモデルをUnityで動かすまで【vrmファイルの導入とStandard Assets制御の適用】VRoid Studioは、 手軽に動かす3Dキャラクターモデルを製作するのに、とても便利なツールです。 これを使えば、 自分...

上の記事では、”VRoid Studio”という誰でも簡単にオリジナルキャラクターを作れるソフトから、モデルをもってきて動かす流れで説明していますが、
他にどんなモデルでも動かせます(Humanoidであれば)。

そして、

もう1つの方法は、
Unity-Chan! Modelというアセットに入っているコードをアタッチする。

本記事では、後者の方法を紹介します。

<完成イメージ>

 

1.2つの方法の使い分け

なぜ本ブログで2つの方法を紹介するのかというと、両者で動かし方が異なるからです。

Standard Assets (for Unity 2018.4)”のコードは、
グランドセフトオートや三國無双のような
左右のコマンドでキャラクターの向きを変える仕様となっています。

一方、
Unity-Chan! Model”のコードは、
方向キーの通りに、上下左右に移動(そちらを向いて前進)する仕様となっています。

クラッシュバンディクーやメタルギア、ボンバーマンのようなものです。

(プレステ1、2世代なので、最近のゲームで例えられません^^;)

2つの方法を知っておくと、作りたいゲームによって使い分けられますね。

触っているうちに詳しくなって、自分でコードを書いてカスタムを計れるようになってくるでしょう。

まずは、作れる体験をするのが大事!

簡単なのでサクッといってみましょう。

2.モデルとアセットの準備

プレイヤーキャラクターとして、操作したいモデルをUnityのassetsフォルダに入れてください。

(ファイルをドラッグ&ドロップで可能です)

Blenderなどから持ってくる場合は、fbxファイルとして出力したものが良いです。

VRoid Studioなどで作成したモデル(vrmファイル)の場合は、Unityで扱えるようにする外部Packageをインポートする必要があります。

その方法も、こちらに書いてます↓

【ゲーム開発】VRoid Studioで作成したモデルをUnityで動かすまで【vrmファイルの導入とStandard Assets制御の適用】VRoid Studioは、 手軽に動かす3Dキャラクターモデルを製作するのに、とても便利なツールです。 これを使えば、 自分...

動かしたいモデルの準備がない人は、Unityのアセットストアから無料で使えるモデルが配布されているので、それを使用して、モデルを動かせるか試してみてください。

 

モデルをUnityに入れたら、そのRig設定で「Humanoid」を選択し、Applyを押します。

ここでエラーとなる場合は、モデルのリギングが上手くできていません(ダウンロードしたものの中には、ボーンすら仕込まれていないことも)。

そして、モデルをSceneに配置します。
動かすための場として、Cubeを地面様になるように作成しておきます(TransformをX:20、Z:20にするなど)。

ちなみに、モデルのMaterialの割り当ては、それからでもできます。

 

次に、動かすためのコードを入手しましょう。

アセットストアから、"Unity-Chan! Model"というアセットをダウンロード&インポートします。

3.モデルに動かすコンポートネントを設定する

Sceneに配置したモデルに対して、以下のコンポーネントをアタッチし、パラメータ等を設定します。

※モデルを配置したら、キャラが真っ黒になりますが、それは仕様で、逆光となってしまうからです。RotationのY:180にすることは習慣づけましょう^^;

Animator

HumanoidでApplyしたモデルであれば、自動でついています。

Controllerの丸いところ(◎)をクリックし、「UnityChanLocomotions」に変えます。

 

Character Controller

プレイヤーキャラクターの行動制限やコライダー(当たり判定スペース)の設定となります。

「Add Component」で「Character Controller」を検索し、アタッチしましょう。

各パラメータの数値は、お使いのモデルに適した数値を設定してください。
(Center YやHeight、Radiusはモデルに適した大きさに設定へ)

 

Character Control Script

「Add Component」をクリックして、”Character”と入力しただけで、候補として出てくるコンポーネントです(unity-chan!Modelをインポートしてるため)。

★★2021年8月訂正★★
残念なことに"Unity-Chan!Model"に「CharacterControlScript」が含まれなくなったみたいです。
でも、大丈夫。次のスクリプトを作成してアタッチしてください。

 

アタッチしたら、AnimatorやControllerの空欄に、上記のコンポーネントをドラッグ&ドロップします。

その他パラメータは、図のように任意に設定します。

これらのコンポーネントを設定すれば、もう動きます!

実行してみてください。

★もし動かない場合★

Animatorの「Apply Root Motion」のチェックを外してみてください。

「Min Move Distance」の値を少し大きくしたりすると改善することも…。

このコードでは、矢印キーの「←↑↓→」または「AWSD」でカメラが映し出す空間を基準に、移動方向が決まります。

なので、カメラの位置設定に注意しましょう。

以上~

ABOUT ME
いなも@システマライフハッカー
”仙豆”を開発することを夢見て、健康食品会社で働いていたものの、2016年に出会ったロシアの武術”システマ”こそ、その糸口があると感銘し、勝手にシステマ普及活動を始める。 一方で、クリエイティブなモノ作りが好きで、DX社会で楽しみを見出せる"Unity”を活かして、”スマートかつ快適な暮らし”のヒントを発信している。

COMMENT

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

CAPTCHA