目次
前回のチュートリアル
はじめに
前回は、玉が床から落下しないように壁を作成しました
今回は、スコアとなる収集アイテムを配置していきます
収集アイテムの作成
Unity メニューの「GameObject>3D Object>Cube」を選択します
次に、作成した「Cube」を選択して F2 キーを押して
「Pick Up」という名前に変更します
そして、「Pick Up」のパラメータを下記のように設定します
- 「Position」(位置)の入力欄に左から順に「0」「0.5」「5」と入力
- 「Rotation」(回転)の入力欄に左から順に「45」「45」「45」と入力
- 「Scale」(大きさ)の入力欄に左から順に「0.5」「0.5」「0.5」と入力
これで、収集アイテムを1つだけ配置することができました
収集アイテムの演出実装
現状、収集アイテムがその場で動かず固まったままなので、
常に回転し続けるようなスクリプトを作成していきます
「Scripts」フォルダを右クリックして「Create>C# Script」を選択します
作成したスクリプトに「Rotator」と名前を付けて Enter を押します
そして、作成した「Rotator」をダブルクリックします
すると、お使いの環境に合わせて Visual Studio や MonoDevelop などの、
プログラムを書くためのエディタが起動するので、
下記のプログラムをコピーして貼り付けます
using UnityEngine; using System.Collections; public class Rotator : MonoBehaviour { void Update() { transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime); } }
(今回はプログラムの解説は割愛させていただきます)
上記のようにプログラムを貼り付けたら
Ctrl + S を押すなどしてスクリプトを保存します
これで、収集アイテムを常に回転し続けるためのスクリプトの作成が完了したので
Unity に戻ります
さきほど作成した「Rotator」を「Pick Up」にドラッグして離します
これで、「Pick Up」を選択すると
「Rotator」が反映されていることがわかります
これで、エディタ上部の再生ボタンを押してゲームを再生してみます
すると、作成した「Pick Up」オブジェクトが
常に回転し続けるようになったことがわかります
確認できたのでエディタ上部の再生ボタンを押してゲームを停止します
収集アイテムを複製する準備
ここまでで、収集アイテムを1つだけ作成することができたので
複製して配置していきます
前回、壁を作成した時は、Ctrl + D で壁を複製しましたが、
今回は、収集アイテムを「プレハブ」にしてから Ctrl + D で複製していきます
オブジェクトを「プレハブ」にしてから複製すると
大きさや色などのパラメータが共通になるため、
後から大きさや色を変える時に一括で設定を変更することができます
「Project」の下にある「Create」ボタンを押して「Folder」を選択します
作成したフォルダに「Prefabs」(プレハブ)と名前を付けて Enter を押します
そして、「Pick Up」を「Prefabs」フォルダにドラッグして離します
すると、「Prefabs」フォルダ内に「Pick Up」オブジェクトがコピーされ、
なおかつ、「Hierarchy」の欄に表示されている
「Pick Up」オブジェクトの名前が青くなります
これで、「Pick Up」オブジェクトをプレハブ化することができたので
「Pick Up」オブジェクトを複製していきます
収集アイテムの複製
「Pick Up」オブジェクトを選択した状態で Ctrl + D を11回押します
そして、「Pick Up (11)」まで複製したら、円形に配置していきます
複製した「Pick Up」オブジェクトを順番に選択して
下記のように「Position」を設定してください
オブジェクト名 | X | Y | Z |
---|---|---|---|
Pick Up (1) | 2.25 | 0.5 | 4 |
Pick Up (2) | 4 | 0.5 | 2 |
Pick Up (3) | 5 | 0.5 | 0 |
Pick Up (4) | 4 | 0.5 | -2 |
Pick Up (5) | 2.25 | 0.5 | -4 |
Pick Up (6) | 0 | 0.5 | -5 |
Pick Up (7) | -2.25 | 0.5 | -4 |
Pick Up (8) | -4 | 0.5 | -2 |
Pick Up (9) | -5 | 0.5 | 0 |
Pick Up (10) | -4 | 0.5 | 2 |
Pick Up (11) | -2.25 | 0.5 | 4 |
これで、収集アイテムを円形に配置することができました
収集アイテムの色の変更
現状、玉と収集アイテムの色が同じで見づらいので
収集アイテムの色を黄色に変更します
「Materials」フォルダを右クリックして、「Create>Material」を選択します
作成したマテリアルに「Pick Up」と名前をつけて Enter を押します
作成した「Pick Up」マテリアルを選択した状態で
「Albedo」の右にある枠を選択します
「Color」ウィンドウが表示されたら、入力欄に上から順に
「255」「255」「0」「255」と入力して、「Color」ウィンドウを閉じます
そして、この「Pick Up」マテリアルを「Pick Up」プレハブにドラッグして離します
これで、すべての「Pick Up」オブジェクトの色を黄色に変更することができました
オブジェクトをプレハブ化していない場合は、
すべてのオブジェクトにマテリアルをドラッグしないといけないですが
オブジェクトをプレハブ化していたおかげで
マテリアルを1回ドラッグしただけで、すべてのオブジェクトの色を変更できました
動作確認
エディタ上部の再生ボタンを押してゲームを再生してみます
収集アイテムが黄色になっており、なおかつ回転し続けていることがわかります
現状は、玉が収集アイテムにぶつかっても跳ね返るだけで何も起こりません
次回は、収集アイテムを獲得できるようにしていきます
Unity メニューの「File>Save Scenes」を選択するか、
Ctrl + S を押して、ここまでの作業内容を保存しておきましょう
次のチュートリアル
備考
この記事は上記のチュートリアルの翻訳になります