Unity

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

前回、VRoidで作成したキャラを操作できるようにしたので、今回はゴールを作成してキャラが触れたら文字が出るようにしてみました。数行のコードを書くだけのお手軽ゲーム制作です。

ゴールの設定

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

  • Hierarchy上で右クリック>3D Object>Cubeから球体を作成。適当な大きさに調整

  • Project上で右クリック>Create>Materialからマテリアルを作成。設定はPartiles>Alpha Blendに切り替えて半透明にしました。

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

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

  • Sphereを選択、Sphere Collierのis Triggerにチェック

  • Add ComponentからRigidbodyを検索し追加。Use Gravityのチェックを外す

キャラの設定

前回の設定の状態からすすめます。以下参考

【VRoid】キャラの作成方法とUnityで操作する方法

参考:【Unity】コードを書かずに15分でキャラが走り回り、ジャンプしてカメラも追従する方法

  • キャラを選択して TagをPlayerに、Capsule Colliderのis Triggerにチェック

テキストの表示

  • Hierarchy上で右クリック>UI>Textを押して、テキストを作成

  • 名前を「GoalText」として、Width,Height,Font Size,Colorなど文字位置と見た目を調整

コードの追加

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

  • Sphereを選択してAdd ComponentからNew scriptを検索し「GameController」という名前でCreate addして追加。

  • GameControllerの文字をダブルクリックするとVisual Studioを起動します。

3箇所にコードを記述します。

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

public class GameController : MonoBehaviour {

    public GameObject GoalText;

    // Use this for initialization
    void Start () {

    GoalText.SetActive(false);

    }

    // Update is called once per frame
    void Update () {

    }

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

}
  • 最後に、Sphereを選択して、Goal Text欄が追加されているので、先程作成したTextをドラッグ&ドロップで追加して、表示する文字を登録します。

ゲームプレイテスト

後は再生ボタンを押して、赤い球体に触れてみます。

Clear!文字が表示されるはずです。

※ Unityでカメラを調整するときは、カメラを選択してCtrl+Shift+fを押すとシーンビューとゲームビューがリンクして調整しやすいです。

参考

[UNITY]コライダーでゴールを作成する

Unityの参考紹介

参考記事

  • Unityに関連する記事まとめ95選!
  • 参考書籍

    ABOUT ME
    すいみん
    東京在住。デザイナー寄りのテクニカルデザイナー。 ブログは技術検証の備忘録として書いています。