はじめてのUnity 【第13回 Unityでバランスゲームを作ろう①】 ~キー入力でオブジェクトを動かす編~
ゲームシーン作成
ゲームシーンを作成しましょう。
上図のようなシーンの構築を目指します。
①フロアの作成
土台となるフロアを作成しましょう。
Hierarchy>Create>Cube を選択してCubeを5つ用意します。
それぞれの名前とTransform のパラメーターは以下のようにしましょう。
オブジェクト名 | ポジション | ローテーション | スケール |
---|---|---|---|
Floor1 | 2.5, 0, 3.25 | 0, 0, 0 | 6.5, 1, 5 |
Floor2 | 3.25, 0, -2.5 | 0, 0, 0 | 5, 1, 6.5 |
Floor3 | -2.5, 0, -3.25 | 0, 0, 0 | 6.5, 1, 5 |
Floor4 | -3.5, 0, 2.5 | 0, 0, 0 | 5, 1, 6.5 |
Slide | 8, 4, 5 | 0, 0, 30 | 6, 0.2, 1 |
Floor1~Floor4 は連動して1つの床として振る舞ってほしいので、空のオブジェクトを作成してFloor1~Floor4を入れ子構造にします。
空のオブジェクトは、GameObject>Create Empty から作成しましょう。
オブジェクト名 | ポジション | ローテーション | スケール |
---|---|---|---|
Floor | 0, 0, 0 | 0, 0, 0 | 1, 1, 1 |
空のオブジェクト「Floor」を作成したら、Floor1~Floor4 をFloor の子階層にいれます。
これでFloor に適用した設定がFloor1~Floor4 にまとめて反映されます。
②ライト設置
初期状態だとシーンが真っ暗なので、ライトも用意します。
Hierarchy>Create>Directional light からライトを設置しましょう。
オブジェクト名 | ポジション | ローテーション | スケール |
---|---|---|---|
Directional light | 0, 50, 0 | 45, 45, 0 | 1, 1, 1 |
③ボールの作成
物理法則にしたがって動くボールを作成しましょう。
Hierarchy>Create>Sphere から球体を用意します。
オブジェクト名 | ポジション | ローテーション | スケール |
---|---|---|---|
ball | 10, 10, 5 | 0, 0, 0 | 1, 1, 1 |
Ball が白いままだとわかりづらいので、色をつけましょう。
Project>Create>Material からマテリアルを作成し、Main Color を好きな色にしましょう。
Material の名前を色名にしておくと、再利用するときに判りやすいです。
Ball にはRigidbody を追加しておきましょう。
これでBall は物理挙動を再現できるので、Floor の傾きにしたがって転がるようになります。
④スクリプトを適用
フロアがキー入力で回転するように、スクリプトを適用しましょう。
Project>Create>C# Script からC# のスクリプトファイルを作成し、名前をGetKey.cs として上記のサンプルコードを書きます。
このときサンプルコードのクラス名と、スクリプトファイル名が一致していないと動かないので注意してください。
作成したGetKey.cs はFloor に適用します。これでFloor1~Floor4 が、Floor の位置を中心として同時に回転してくれます。
⑤カメラアングルの調整
カメラはゲーム中の視点になるので、プレイ中のシーンが見やすい位置と角度に調整しましょう。
オブジェクト名 | ポジション | ローテーション | スケール |
---|---|---|---|
Main Camera | 0, 20, -15 | 45, 0, 0 | 1, 1, 1 |
ここまで出来たら再生ボタンを押して、とりあえずプレイしてみましょう。
方向キーでフロアが回転して、ボールが転がせたらOKです。
まとめ
今回作成したものは、最小限のパーツでほんの少しのゲーム要素を表現しただけの非常にシンプルなものですが、
それでもゲームはゲームです。
さらにいろいろなゲーム要素を追加して組み合わせれば、さらにスケールの大きいゲームを作ることができます。
あとはスタート画面や、タイム表示、クリアとゲームオーバー、リスタートなどの機能があれば、ひとつのゲームとして完成します。
次回はこのシーンに、ゲームクリアとゲームオーバーの処理を追加していきたいと思います。
最後までお読みいただきありがとうございます。
← Unityの記事一覧にもどる
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発