Pick Upの作成
プレイヤーが収集するためのPickUpゲームオブジェクトを作成します。
収集可能なゲームオブジェクトの作成
PickUpゲームオブジェクトを作成、Transform値の設定、マテリアルを作成します。
1. PickUpゲームオブジェクトの作成
Hierarchyビューで「右クリック > 3D Object > Cube」の順番に選択しCubeのオブジェクトを作成します。
作成したCubeオブジェクトの名前を「PickUp」に変更します。


2. PickUpゲームオブジェクトのTransform値の設定
PickUpゲームオブジェクトのTransform値を以下の値でそれぞれ設定します。
- Position(Y: 0.5)
- ※X,Yはプレイヤーの位置と重ならないように調整してください。
- Rotation(X: 45, Y: 45, Z: 45)
- Scale(X: 0.5, Y: 0.5, Z: 0.5)

3. PickUpマテリアルの作成
ProjectビューのMaterialsフォルダーを表示します。
Projectビューで「右クリック > Create > Material」の順番に選択しマテリアルを作成し、名前を「PickUp」に変更します。
マテリアルの色を黄色に設定します。黄色にするにはRGB値を(R: 255, G: 200, B: 0)に設定します。


ProjectビューのPickUpマテリアルをSceneビューのPickUpゲームオブジェクトにドラック&ドロップします。

PickUpゲームオブジェクトを回転させる
Rotatorスクリプトを作成しPickUpゲームオブジェクトを回転させます。
1. Rotatorスックリプトの作成
HierarchyビューのPickUpゲームをオブジェクトを選択します。
Inspectorビューの「Add Component > New Script」の順番に選択し、スクリプト名を「Rotator」にします。

Projectビューに表示されているRotatorスクリプトをルートのAssetsフォルダーからScriptsフォルダーに移動させます。

ProjectビューのRotatorスクリプトをダブルクリックしてエディターで開き編集します。
2. PickUpゲームオブジェクトの回転処理の作成
Update関数の中でPickUpゲームオブジェクトを回転させる処理を追加します。また、Start関数は使用しないので削除します。
using UnityEngine;
public class Rotator : MonoBehaviour
{
- // Start is called once before the first execution of Update after the MonoBehaviour is created
- void Start()
- {
-
- }
-
- // Update is called once per frame
void Update()
{
+ // フレームレートに合わせて指定された量だけ、X,Y,Z軸上でオブジェクトを回転させる
+ transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime);
}
}
PickUpゲームオブジェクトをプレハブにする
PickUpゲームオブジェクトをプレハブに変換し、プレハブ編集モードの開始と終了をします。
1. PickUpゲームオブジェクトをプレハブに変換
ProjectビューのAssetsフォルダで「右クリック > Create > Folder」の順番で選択しフォルダを作成します。
フォルダ名を「Prefabs」に変更します。
HierarchyビューのPickUpゲームオブジェクトをProjectビューのPrefabsフォルダにドラック&ドロップします。

2. プレハブ編集モードの開始と終了
ProjectビューのPrefabsフォルダにあるPickUpプレハブをダブルクリックし、プレハブ編集モードを開きます。
通常のSceneビューに戻る場合は、Hierarchyビューの上部にある戻る矢印を選択します。

PickUpゲームオブジェクトを配置
プレイエリアにPickUpゲームオブジェクトを配置します。
1. PickUpゲームオブジェクトの空の親ゲームオブジェクトを作成
Hierarchyビューで「右クリック > Create Empty」の順番で選択肢、空のゲームオブジェクトを作成します。
作成した空のゲームオブジェクトの名前を「PickUp Parent」に変更します。
PickUp ParentゲームオブジェクトのTransformの値をリセットします。
HirarchyビューのPickUpゲームオブジェクトをPickUp Parentゲームオブジェクトにドラック&ドロップします。

2. Sceneビューをトップビューに合わせる
Sceneビューの右上にあるギズモを選択しトップダウンビュー(緑色の矢印をクリックする)に切り替えます。

プレイエリア全体が見えるように少しズームアウトします。

プレイエリアにPickUpゲームオブジェクトを配置する前にSceneビューのツールハンドルをローカル座標ではなくグローバル座標に設定してください。グローバル座標に設定すると、選択したオブジェクトの回転に関係なく、Sceneビューのツールは常に同じ方向を向きます。これにより、PickUpゲームオブジェクトをX,Zは平面に沿って移動しやすくなります。

3. プレイエリアの周囲に複製したPickUpゲームオブジェクトを配置
HierarchyビューにあるPickUpゲームオブジェクトを好きな場所に移動させます。
HierarchyビューのPickUpゲームオブジェクトを選択した状態で、Ctrl + D(Mac: Cmd + D)で複製します。
複製したPickUpゲームオブジェクトを移動ツールで好きな場所に配置させます。
この手順を繰り返して、プレイエリアにPickUpゲームオブジェクトを好きな数配置してください。

4. ゲームテスト
ゲームをテストするとPickUpゲームオブジェクトが障害のように動作していることに気づきます。次回はこのPickUpゲームオブジェクトを収集できるようにします。
最終スクリプト
Rotator.cs
using UnityEngine;
public class Rotator : MonoBehaviour
{
void Update()
{
// フレームレートに合わせて指定された量だけ、X,Y,Z軸上でオブジェクトを回転させる
transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime);
}
}