UnityでFPSをつくる その3-1 [ プレイヤーの移動 ]

2020年6月22日

今回はプレイヤーの移動を実装していきます。
プレイヤーとして見立てる為のCubeを追加しましょう。
今まではオブジェクト追加の際、Hierarchyウィンドウの余白部分を右クリックする方法をお伝えしましたが、オブジェクトの数が増えてくると余白が無くなり、意図せず既存のオブジェクトの下の階層に追加されてしまいます。

No.39

その場合はHierarchyウィンドウのCreateタブを押してオブジェクトを追加しましょう。

No.40

Hierarchyウィンドウから選択したオブジェクトをダブルクリックすると、そのオブジェクトにズームインします。追加したCubeで試してみましょう。

No.41

Sceneビューの右上にある赤い円錐マークをクリックしてください。

No.42

Cubeの右側に視点が移動しました。これはシーンギズモという名前で、Sceneビューで視点がどの方向を向いているのかを示してくれます。

No.43

各円錐をクリックすると、その方向からの視点に変わります。
中央の四角をクリックすると遠近法の有り無しを切り替えられます。

Cubeを追加した直後はTransformのPostionが0,0,0になっていると思います。※違う場合は右上の歯車マークからResetを選択してください。この数値リセット方法はTransformに限らず他のコンポーネントでも同様です。

No.44

SceneビューではCubeがGroundに埋まっている状態です。

No.45

これは基準点がオブジェクトの中心になっている為です。また、マニピュレータの中心でもあります。

No.46

Cubeは 1辺1m(Unityは 1単位が 1m)の立方体なので中心点は上辺と下辺から 0.5(m)の位置にあります。

No.47

Cubeの底をGroundに接地させる為には上へ 0.5(m)移動させればいいので、Transform Postition Y を「0.5」にします。

No.48

Cube全体がGroundの上に表示されました。

Cubeを動かす為に物理演算を使うのでRigidbodyコンポーネントを追加します。
InspectorウィンドウからAdd Component → Physics → Rigidbody を選択してください。

No.49

追加されたRigidbodyコンポーネントには最初から「Use Gravity」という項目にチェックが入っています。
これは重力をONにするという意味です、試しにCubeの位置をもっと上にしてGroundまで落下させてみます。

Position Y を「2」に変更してSceneビューにキューブの全体が映るようズームアウトしてください。

No.50

カメラが邪魔なので前方に動かします。

No.51

ツールバーの再生ボタンを押してみましょう。

No.52
No.53

Cubeが重力で落下していることを確認できました。
もう一度再生ボタンを押すと再生が止まります。
CubeのPosition Y を「0.5」に戻しておいてください。

次にCubeをキーの入力に応じて動かす為のプログラム(今後はスクリプトと呼んでいきます)を書いていきます。
ProjectウィンドウのAssetsフォルダにScriptsと名前を付けてフォルダを追加してください。
Assetsフォルダ上で右クリック → Create → Folder → Scripts と名前を付ける。

No.54

作成したScriptsフォルダを開いて右クリック → Create → C# Script → ファイル名を PlayerMove にリネーム

No.55

Cubeの名前もPlayerに変えましょう。
HierarchyウィンドウからCubeを選択 → F2キーを押して Player にリネーム

No.56

さきほど作成したPlayerMoveスクリプトファイルを開いてみましょう。
ProjectウィンドウのScriptsフォルダからPlayerMoveをダブルクリックしてください。

No.57

ファイルを開くソフトの選択画面が表示されました。
メモ帳を使ってスクリプトの編集を行うことも可能ですが、VisualStudioという開発用ソフトを使えば、補完入力や構文エラーの通知など、作業効率が格段に違ってくるため、今回使用していきます。
以下のリンクをクリックしてダウンロードページに飛んでください。

https://visualstudio.microsoft.com/ja/downloads/

No.58

コミュニティの「無料ダウンロード」をクリックしてください。

No.59

ダウンロードしたファイルをクリックして実行

No.60

「はい」をクリック

No.61

「続行」をクリック

No.62

画面を下にスクロールして「Unityによるゲーム開発」にチェックを入れて、インストールをクリックします。

No.63

VisualStudioが起動しました、「×」マークをクリックして一旦閉じましょう。

Unityに戻ってPlayerMoveスクリプトを再びダブルクリックしてみましょう。

No.64

VisualStudioが起動してPlayerMoveスクリプトが開きました。
Playerを動かす処理をここに書いていきます。
以下のコードをコピー&ペーストしてください。

だいぶ説明が長くなってきたので、このブログのページを開くのが結構重くなってきました…。
コード内容の解説は次回にしたいと思います。おつかれさまでした!

FPS

Posted by kenji