見出し画像

【Unity】3Dローグライクゲームの作り方〜Step3-1〜

前回の記事はこちら
前回はUnityの環境設定とユニティちゃんのインポートを行いました。

床の作成

ユニティちゃんを表示させても、このままだと下に落ちていってしまいます。ユニティちゃんが動かないようにするための床が必要ですね。
ヒエラルキータブ内で右クリックし、「3Dオブジェクト」→「平面」を選択、名前を「Floor」に変更します。そして、出来上がったものを「Terrains」フォルダにドラッグ&ドロップします(プレハブ化)。

スクリーンショット 2020-04-24 19.55.31

このようになれば大丈夫です。

(オプション)床の色設定

ただ、床が白というのは味気ないので、色を変えたいと思います。
プロジェクトタブのResources/Materialsフォルダを開き、中で右クリックします。「作成」→「マテリアル」を選び、名前を「Floor」にします。
そして、Terrainsフォルダ内のFloorを選択し、インスペクター内の「メッシュレンダラー」→「マテリアル」→「要素0」の横にある丸いボタンをクリックします。現れたウィンドウからFloorを選びます。
後はFloorマテリアルの色をお好みで変えて下さい。筆者は草原をイメージして緑色にしました。

スクリーンショット 2020-04-24 20.54.42

ユニティちゃんを表示する

ファイティングユニティちゃんのフォルダを開き、「Models」フォルダを開きます。その中の「unitychan」をMainScene内にドラッグ&ドロップし、名前を「Player」に変更します。
Playerのトランスフォームの回転Yを180に変更します。
そして、そのPlayerをResourcesフォルダ内のPrefabフォルダにドラッグ&ドロップします。

ユニティちゃんにアニメーションをつける

テストプレイを実行してみるとわかりますが、何故かユニティちゃんが棒立ちのままです。これではまるでカカシです。それは嫌なので、アニメーションをつけてあげましょう。
まず、プロジェクトタブ内で「AnimatorControllers」フォルダの中身を表示します。そこで右クリック→「作成」→「アニメーターコントローラー」を選択、名前を「PlayerAnimator」にします。
こちらをダブルクリックするとアニメータータブが表示されます。

スクリーンショット 2020-04-25 2.16.04

こんな画面が表示されたかと思います。こちらの左上をよく見ると、「パラメーター」というボタンがあります。これをクリックして、Floatパラメーターを追加します(「+.」ボタン)。名前は「Speed」です。
次に、画面中央の黒い何もない所を右クリック→「ステートの作成」→「新規のブレンドツリーから」を選択します。すると新しいブレンドツリーができるので名前を「Walking」に変更しましょう。
インスペクタータブの「Motion」の「Blend Tree」をダブルクリックします。すると中身が見れるので、名前を「WalkingBlendTree」に変えます。
そして下部のMotionの「+.」ボタンをクリックして「モーションフィールドを追加」を選択します。これを後2回繰り返します。最終的にモーションフィールドが3つあれば大丈夫です。
モーションフィールドにモーションを付け加えます。1番上には「Idle」、下二つには「Run」のモーションを入れて下さい。
真ん中の「Run」のアニメーションスピードを変えます。時計マークの下の「1」の値を真ん中だけ「0.2」にします(これを歩きモーションの代わりとします)。
「Automate Thresholds」のチェックを外します。こうすることで「Threshold」の値を変えることができるようになりました。今後もし歩きが早すぎると感じた時はここの値を変えるといいです。
以下のようになっていれば大丈夫です。

スクリーンショット 2020-04-25 2.50.34

左上にある「Base Layer」を選択します。画面が戻りましたね。ここでまた右クリック→「ステートの作成」から、今度は「空」を選択、名前を「Idle」にします。インスペクタータブのMotionに「Idle」を設定しましょう。
では次に「Walking」と「Idle」を交互に繋ぎます。まず「Walking」を右クリック→「遷移を作成」をクリックして出てきた矢印を「Idle」に繋ぎます。
「Idle」側からも同じように繋ぎます。
Walking→Idle」の矢印をクリックします。すると、インスペクタータブに設定項目が表示されるので、「終了時間あり」のチェックを外します。「Conditions」の項目に「Speed」「Less」「0.1」となるように設定します。
Idle→Walking」の矢印をクリックし、同じく「終了時間あり」のチェックを外します。「Conditions」の項目に「Speed」今度は「Greater」「0.1」となるように設定します。
最終的に以下のようになっていれば大丈夫です。

スクリーンショット 2020-04-25 3.15.36


これで一応歩きのアニメーションは完成しました。最後に「Player」を選択し、インスペクタータブ内の「アニメーター」→「Controller」に「PlayerAnimator」をドラッグ&ドロップしましょう。
テストプレイしてみて、タイトル画像のようになれば成功です。

今回の記事を作成するにあたり、次のチュートリアルを参考にしました。


この記事が気に入ったらサポートをしてみませんか?