ジャンプアクションゲーム作り2回目です。
動くものを作ったほうがモチベーションがあがるので、今後何回かで二段ジャンプの実装実験をします。まずはUnityでの基本的な作業の流れの復習をします。
この回は私がテキストにしている『ゲームの作り方 Unityで覚える遊びのアルゴリズム』の第0章で学んだことの抜粋・アレンジにもなっています。
プロジェクトと物体のセットアップ
Unityを起動したら、下記の通りプロジェクトの作成および、物体のセットアップを行います。
メインメニュー[File][New Project...]から任意のフォルダを選んで(作って)、プロジェクトに好きな名前を付けます。ここではblog-jumpGame01としました。
続いてシーンにプレイヤーと床を配置します。
- [GameObject][Create Other][Cube]選択します。
- 今作ったCubeが選択された状態のまま、Inspectorウィンドウから下記のように設定します。これがジャンプするプレイヤーになります。
<Transform>
Position(x, y, z) = 0, 2, 0
Scale(x, y, z) = 1, 2, 1
ついでに名前を”Player”に変えておきます。(Inspectorの一番上のCubeを編集 or HierarchyでCubeを選択してF2キー) - 同じく床になるCubeを作成し、下記のようにします。
<Transform>
Position(x, y, z) = 0, -3.5, 0
Scale(x, y, z) = 5, 5, 5
このCubeは名前を”Floor”に変えておきます。 - 最初から配置されているMain Cameraを選び下記のようにします。
<Transform>
Position(x, y, z) = 0, 1, -10
Scale(x, y, z) = 1, 1, 1
光源のセットアップ
- Gameウィンドウを見ると物体が暗くて見づらいのがわかります。これはシーンに光源が無いからです。光源を追加します。
[GameObject][Create Other][Directional Light]を作って下記のように設定します。
<Transform>
Rotation(x, y, z) = 50, -30, 0
これでGame画面が明るくなったのを確認してください。
マテリアルのセットアップ
画面をみると灰色一色で味気ないので、プレイヤーと床に色を付けます。
- [Assets][Create][Material]から新規マテリアルを作成し、Inspectorのカラーピッカーから青っぽい色を選びます。
- Projectウィンドウから”New Material”を”Player Material”にリネームします。
- Projectウィンドウから”Player Material”をHierarchyウィンドウの”Player”にドラッグ&ドロップします。GameウィンドウでPlayerが青くなったのを確認してください。
- 同じ要領で”Floor Material”という名前の黄色いマテリアルを作り、”Floor”を黄色にします。
物理計算のセットアップ
ここで一回ゲームシーンを再生してみます。
画面上部の再生ボタンを押してみてください。
・・・プレイヤーが落下すると期待した方、残念でした(笑)
この段階では何も起きません。なぜなら物理に関するコードを一切書いてないので当たり前といえば当たり前です。
※停止するにはもう一度再生ボタンを押せばOKです。
でも安心してください。基本的な物理処理はUnityがやってくれます。
SceneウィンドウかHierarchyウィンドウからPlayerを選択して、メインメニュー[Component][Physics][Rigidbody]を実行します。
これでPlayerにRigidbody(剛体)の物理法則が適用されるようになりました。
もう一度再生ボタンを押してみてください。
期待通りにPlayerが落下するのが確認できたはずです。