Unityで3D脱出ゲーム

Unity 3D脱出ゲームの作り方その27:アイテムの配置と取得をする方法

Unityで作る3D脱出ゲームの作り方を紹介している記事その27です。

僕が所属しているオンラインサロンの
先生である嶋津さんが作成された動画を
見ながら勉強した内容について、

3D脱出ゲームの作り方

としてまとめている記事になります。

その27となるこの記事では、

アイテムの配置と取得をする方法

についてお伝えしています。

参考となる動画はこちらです。

【Unity】ライブで教材制作!脱出ゲーム制作の残りを終わらせるぞ!パート1

このページでお伝えしている内容は、
動画の1:13:31あたりからの内容になります。

<注意>
「#25カメラのズーム機能」を
参考にしてカメラズームを作成した場合、

上記動画内でのやり方と
多少違う場所が出てきます。

その都度記事内でフォローして
おりますが、わかりにくい場合や
動画の内容に沿って進めたい場合には、

上記、ライブで教材作成パート1の
内容に沿ってズームカメラから
作り直した方がいいかもしれません。

この動画で勉強すること

▶︎アイテムの配置と取得方法について学ぶ。

目標1

赤タイルを宝箱の中に配置する。

=>RedTileを移動させて宝箱の中に入れる。

「#25カメラのズーム機能」の動画を参考にした場合

=>RedTileのLayerをGimmickに変更する。

=>RedTileを宝箱の中に入れた後、RedTileの表示を消しておく。

=>Chestスクリプトを編集して、宝箱が開いた時にRedTileを表示させるようにする。

目標2

青タイルと黄色タイルを取得できるようにする。
(#25「カメラのズーム機能」の動画を参考にしていた場合はそのままでも取得できます。)


=>LayerのAdd Layerから青タイル・黄色タイル用のレイヤーを作成する。(CanMainCameraClick)

=>BlueTileとYellowTileのLayerを「CanMainCameraClick」に変更する。

=>Main CameraのPhysics RaycasterにあるEvent Maskに「CanMainCameraClick」を追加する。(チェックをつける)

Chestスクリプトのコード

「#25カメラのズーム機能」の動画を参考にした場合のみ編集。

宝箱へ配置した赤タイル(RedTile)を
表示させるためにChestスクリプトに
コードを追加しました。

そのコードは以下となります。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Chest : MonoBehaviour
{
    // クリックされたら
    // 鍵を持っていると:鍵を取得して選択状態なら
    // 開ける=アニメーション
    [SerializeField] Animation anim = default;
    [SerializeField] GameObject redTile; // 今回追加:表示させたい赤タイルを設定する変数

    public void Open()
    {
        // keyアイテムを選択していたら
        if (ItemBox.instance.CheckSelectItem(Item.Type.Key))
        {
            ItemBox.instance.UseSelectItem();
            redTile.SetActive(true); // 今回追加:赤タイルの表示するコード。
            anim.Play();
        }
    }

}

アイテムの配置と取得をする方法で勉強したことのまとめ

3D脱出ゲームの作り方その27
「アイテムの配置と取得をする方法」
で勉強した内容についてのまとめです。

アイテムを配置するには、
 配置したい場所へアイテムを
 移動させます。

 今回は宝箱の中へ
 Red Tileを移動させました。

次にアイテムを取得する方法です。
 
 まずズーム状態のカメラと
 メインカメラでクリックできる
 レイヤーをそれぞれ作成します。

そして配置した場所に応じて
 アイテムにそれぞれのレイヤーをつけます。

さらにメインカメラとズームの
 カメラについている

 「Physics Raycaster」

 にあるEvent Mask」に、
 それぞれのアイテムに設定した
 レイヤーをクリックできるよう
 チェックをつけてあげます。


 これでカメラに応じた場所へ
 配置したアイテムをそれぞれ
 取得できるようになります。

宝箱に赤タイルが入った画像

「アイテムの配置と取得をする方法」
の目標は以上で達成です!

-Unityで3D脱出ゲーム