Unityを学びたい初心者の方や基礎を学びたい方に向けて、
Unityが公式で紹介しているRoll a Ballをまとめました。
今回は第5章のアイテムの作成の設定についてです。
こちらは、以下の第4章からのつづきです。
Unity LearnのRoll a Ballを作成 初心者おすすめ~プレイエリアの設定
※アプリを作成する中で、不明点等でわからないことが
でてくると思います。その際は、1人で悩まずに気兼ね
なく、相談したいことがあれば、コメントまたはtwitter
で連絡ください。
twiiterアカウント~otakutomo~
※Roll a Ballは2020年8月に新しくなりました。
以前のものを興味ある方は以下のリンクから見ることが
できます。
Roll a Ball~Unity Learn~
Unity LearnのRoll a Ballを作成 ~アイテムの作成~
Roll a Ballのアイテムの作成は以下のリンクを参考に作成していきます。
Roll a Ball(creatingcollectibles)
アイテムの作成
今は、プレイヤーが動くのみです。
ゲーム性を出すために、プレーヤーがアイテムを取得して
スコアを増やしていけるようにします。
今回はアイテムの作成を行います。
まずは、以下の手順でアイテムを作成します。
- 左側のHierarchyの配下に右クリック-「CREATE」-「3DObeject」-「Cube」で、名前を「PickUp」で作成する
- 「PickUp」のTransformを以下の設定にします。
Position x:2 y:0.5 z:0
Rotation x:45 y:45 z:45
Scale x:0.5 y:0.5 z:0.5
- Assetsの配下に右クリック-「CREATE」-「Materials」で、名前を「PickUp」で作成する
- 「Materials」フォルダの配下に「PickUp」を移動します
- 「PickUp」のBaseMapを以下の設定にします。
R:255 B:200 G:0 - 作成した「PickUp」マテリアルを先ほど作成した「PickUp」にドラッグで持っていきます。
その後、色が変わることを確認してください
オブジェクトのプレハブ化
アイテムの作成ができました。
アイテムを1つだけでなく、何個も取れるように
複製していきます。
複製する前に作成した「PickUP」をプレハブ化します。
※プレハブはオブジェクトの元になるオブジェクトです。
プレハブ化したオブジェクトを変更すれば、複製したオブジェクト
も変更されます。
詳細について、知りたい方は以下のサイトがおすすめです。
2分でわかるPrefab(プレハブ)について
プレハブ化は以下の手順で行います。
- Projectの「Asset」配下に「Prefabs」フォルダを新規作成
- 左側のHierarchyの配下にある「PickUp」オブジェクトを
「Prefabs」フォルダにドラッグで、格納します
次は、アイテムを複製していきます。
まずは、複製したアイテムをまとめるための親オブジェクトを作成後に、アイテムを複製します。
- 左側のHierarchyの配下に右クリック-「CREATE」-「GameObeject」で、名前を「PickUp Parent」で作成する
- Hierarchyの配下の「PickUp」をドラッグして、作成した「PickUp Parent」にもっていきます。
- 「PickUp Parent」の配下に「PickUp」を複製し、
並べます。
並べ方は自由に並べていいです。
例として、以下では円形に12個のアイテムを並べています。
次に、「PickUp」プレハブ(Prefab)の設定を変更します。
まずは、「PickUp」プレハブを選択します。
選択の仕方は以下のどちらかで可能です。
・「Prefabs」フォルダ配下の「PickUp」
・Hierarchyにある「PickUp Parent」の配下「PickUp」の「>」を
選択します。
「PickUp」プレハブを開けたら、以下の操作を実施します。
- Tagを選択し、「Add Tag…」を選択し、「PickUp」の名前でタグを作成します。
- Tagを作成した「PickUp」に変更します。
- BoxColliderの「is Trigger」にチェックが入っていることを確認します
アイテムを回転させる
最後に、作成したアイテムが固まったままのため、動作をつけます。動作として、「PickUp」を回転させます。
手順は以下の通りです。
- 「PickUp」プレハブを選択します。
- Inspecterの一番下にある「Add Component」-「New Script」を選択、「Rotater」の名前で作成します。
- 「Assets」の配下に作成した「Rotater」を「Script」配下に移動します
- 「Rotater」には下記に記したコードを記載しています
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rotator : MonoBehaviour
{
// Start is called before the first frame update
// Update is called once per frame
void Update()
{
// Rotate the game object that this script is attached to by 15 in the X axis,
// 30 in the Y axis and 45 in the Z axis, multiplied by deltaTime in order to make it per second
// rather than per frame.
transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime);
}
}
これで、完成です。
ゲームをプレイすると以下の様に
アイテムが回転することがわかると思います。
おわりに
以上で、Roll a Ball のアイテムの作成は終わりです。
今回は、以下のことをしました。
- アイテムの作成
- オブジェクトのプレハブ化
- オブジェクトを回転
今回はオブジェクトをプレハブ化しました。
ゲームを作成する際は、同じものを複製することが
多いため、プレハブ化については知っておくと便利です。
引き続き、Roll a Ballを作っていくので、
よろしくお願いいたします。
※今回のこと以外でもアプリを作成する中で、不明点等でわからないことがでてくると思います。その際は、1人で悩まずに気兼ね
なく、相談したいことがあれば、コメントまたはtwitter
で連絡ください。
twiiterアカウント~otakutomo~
コメント