Unity│15分でできる!キャラが触れるとゲームクリアの文字を表示する方法│VRoid

VRoidで作成したキャラが特定のオブジェクトに触れたら、ゲームクリアの文字が表示されるようにしてみました。

数行のコードを書くだけのお手軽ゲーム制作です。

目次

ゴールオブジェクトの作成

  1. Hierarchy上で右クリック → 3D Object → Cubeから球体を作成し、適当な大きさに調整
  2. Project上で右クリック → Create → Materialからマテリアルを作成
  3. マテリアルの設定をParticles → Alpha Blendに切り替えて半透明に
マテリアルの設定

作成したMaterialを球体にドラッグ&ドロップすると、見た目が変化します。

マテリアル適用後の見た目

ゴールオブジェクトの設定

ゴールオブジェクトの設定
  1. Sphereを選択し、Sphere ColliderのIs Triggerにチェック
  2. Add ComponentからRigidbodyを検索して追加
  3. Use Gravityのチェックを外す

キャラの設定

キャラの設定
  1. キャラを選択してTagをPlayerに設定
  2. Capsule ColliderのIs Triggerにチェック

テキストの表示

テキストの表示
  1. Hierarchy上で右クリック → UI → Textを押してテキストを作成
  2. 名前を「GoalText」に変更
  3. Width、Height、Font Size、Colorなど文字位置と見た目を調整
テキストの設定

コードの追加

キャラが球体に触れたら文字が表示されるようにします。

スクリプトの追加
  1. Sphereを選択してAdd Component → New scriptを検索
  2. 「GameController」という名前でCreate and Addして追加
  3. GameControllerをダブルクリックしてVisual Studioを起動
Visual Studioでの編集

以下のコードを記述します。

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

public class GameController : MonoBehaviour
{
    public GameObject GoalText;

    void Start()
    {
        GoalText.SetActive(false);
    }

    void Update()
    {
    }

    private void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.tag == "Player")
        {
            GoalText.SetActive(true);
        }
    }
}

最後に、Sphereを選択してGoal Text欄に、作成したTextをドラッグ&ドロップで追加します。

Goal Textの登録

ゲームプレイテスト

ゲームプレイテスト

再生ボタンを押して、赤い球体に触れてみます。「Clear!」の文字が表示されれば成功です。

※カメラを調整するときは、カメラを選択してCtrl+Shift+Fを押すとシーンビューとゲームビューがリンクして調整しやすくなります。

まとめ

  • ゴールオブジェクトにIs TriggerをONにしたColliderを設定
  • キャラにPlayerタグを設定
  • OnTriggerEnterでタグを判定してテキストを表示

参考:https://digilab.tech/unityコライダーでゴールを作成する/

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次