(第二回)Unityでゲーム開発 設定編

(第二回)Unityでゲーム開発 設定編

目次

前回のおさらい
プロジェクトの作成
画面の説明と設定
実際に動かしてみる
次回予告

前回のおさらい

今回は第二回目ということで実際にゲーム内で物を動かすというところまで検証していきます。前回は、Unityのダウンロードからインストール完了までの流れを説明しました。これからUnityの画面の説明なども踏まえて動作検証に進んでいきたいと思います。

プロジェクトの作成

では、まずUnityを起動し、プロジェクトを作成していきます。New projectで新しいフォルダをを作り、そこに必要なファイルが配置されるという流れになります。

次に下記の画面になるので、①プロジェクト名、②ファイルの配置場所、③3Dか2Dか、 ④Organizationは作成したアカウント名になっていると思いますので、 これらを選択してCreate projectを押します。これでプロジェクトが作成されます。

※Enable Unity Analytics・・・作成したゲームがどの程度遊ばれ、どんなプレイヤーが遊んでいるかなどのデータを分析し、作成者がゲーム中のプレイヤーの行動を素早く理解できるというシステムです。
この項目はOFFにもできるので、自由に選択できます。私は興味がありますので、今回はOnにして進めたいと思います。参考として下記にUnityのマニュアルを載せておきます。

https://docs.unity3d.com/jp/current/Manual/UnityAnalytics.html

画面の説明と設定

プロジェクトが作成されると下記の画面になります。私自身作業する上でわかりづらかったので、簡単に画面の説明をしていきます。

  1. タイトルバー/メニュバー/ツールバー
    • タイトルバー・・・編集中のプロジェクトの名前の表示
    • メニューバー・・・Unityエディタの機能を呼び出すメニューが配置
    • ツールバー・・・動作テストを実行するボタンが配置
  2. Hierarchyウィンドウ・・・シーン上に配置されたゲームオブジェクトの一覧
  3. Inspectorウィンドウ・・・ゲームオブジェクトの設定を確認・変更
  4. Sceneビュー/Gameビュー
    • Sceneビュー・・・ゲームオブジェクトなどを配置する編集画面
    • Gameビュー・・・動作テスト中のゲームを表示する画面
  5. Projectウィンドウ/Consoleウィンドウ
    • Projectウィンドウ・・・プロジェクトに含まれる各種ファイルの表示
    • Consoleウィンドウ・・・エラーメッセージなどを表示する画面
  6. ステータスバー・・・簡易なエラーメッセージなどを一行で表示する


各画面の説明は上記になります。詳細に関しては、各画面を使いながら説明していこうと思いますので、ここは簡潔にしています。


次に、シーンの保存を行います。シーンとは、ゲーム内の1画面のデータです。例えば、「タイトル画面」「ゲームメイン画面」「クリア画面」など必要に応じて追加できます。
シーンの保存に関しては、メニューバーのFileのSave As…を押すことで名前をつけて保存という処理になります。保存先はプロジェクト作成の時に作成したフォルダの中のAssets ー Sceneのフォルダに保存しています。

実際に動かしてみる

では、いよいよオブジェクトを配置して、実際に動作させたいと思います。この第二回では動作検証のみですので、簡単な玉転がしの動作を再現してみます。オブジェクトを作成するには、Hierarchyウィンドウの左上にあるCreateを押し、Create Emptyを選択する。

GameObjectがScene1の下に配置されたらオブジェクトの作成は完了です。このオブジェクトは玉が転がり落ちる床を表したいので、このGameObjectを右クリックし、3D Object→Cubeを選択すると、四角形が出来ます。

この四角形の状態では床にはならないので、InspectorウィンドウのTransformの数値を調整して、床に近づけてみました。手動でもサイズ変更や配置の移動ができるのですが、調整が難しかったため、数値で調整する方法を取っています。このTransformは3つの要素で調整できます。数値は整数だけでなく、小数も使用可能です。

  • Position ・・・ オブジェクトの配置場所
  • Rocation ・・・ オブジェクトの角度
  • Scale ・・・ オブジェクトの大きさ

玉が転がる坂とプレイヤーである玉も作成しました。坂に関しては、先ほどの床と同じ3D ObjectのCubeを使い、玉はShereを使い作成しました。角度に関しては-の表示も可能です。

床を配置した後に、画面のレイアウトが見づらいと思い、レイアウトを変更しています。作業のしやすさは個人差があると思いますが、私はこのレイアウトが気に入りました。レイアウトの設定は下記の画像のように、メニューバーの一番右にLayoutというボタンがあるので、そちらクリックするとレイアウトを選択できます。私が設定したのは2 by 3というレイアウトです。作業のしやすいものを選んでください。


また、カメラマークがデフォルトで配置されていると思いますが、こちらを調整することで、ゲーム画面の映り方が変わりますので、ここも調整してください。太陽マークは 照明効果のようですが、現時点ではあまり変化がわからなかったので、また次回連載以降で色々試してみます。

ここまでで、一応玉が転がると想定される設定は完了しました。しかし、このままの設定で動作させると、玉は玉の下にあるオブジェクトをすり抜けてしまいました。玉に衝突の判定や重力・加速度を使った処理が設定されていないのが原因でした。したがって、下記で設定方法を紹介します。

玉のオブジェクトを選択し、Inspectorウィンドウの一番下にあるAdd Componentをクリックします。リストが出てくるので、Phisics → Rigidbodyを選択します。この設定で坂を転がるようになります。このAdd Componentがオブジェクトに対して様々な要素を追加してくれる仕組みです。

今回使用したRigidbodyは物理特性をオブジェクトに与える要素です。玉に重力を加えたかったため、Use Gravityに✔を入れましたが、他にも物体の質量の調整や空気抵抗の大きさなども加えることが出来、よりリアルなものの動きを表現できます。こうした要素に関しては、使用するごとに解説したいと思います。

要素を追加し、実際に転がしてみた様子です。

予定通りの動きをしてくれたのですが、玉が床に落ちた後、そのまま床を転がり下に落下してしまいました。ここは壁を作って、物理的に止める方法など玉が止まるような設定が必要となります。この部分の修正から次回記事ははじめようと思います。

次回予告

次回は、今回最後に玉が落ちてしまったので、玉が止まる設定をした後、もう少し複雑な玉転がしを作成していきたいと思います。イメージとしては簡易版ピタゴラスイッチのようなものを作成できたらと思っています。