libro
www.tuyano.com
C#ではじめるUnityプログラミング入門

パーティクル、ハロー、フォグ (4/5)

作成:2014-10-18 08:23
更新:2014-10-18 08:23

■ハロー(Halo)の利用

ゲームオブジェクトが光っているような効果を与えるのに利用されるのが「ハロー(Halo)」です。これは、Haloコンポーネントを追加するだけで簡単にゲームオブジェクトに組み込むことができます。基本的な使い方は以下を参照下さい。

※ハローの利用
http://libro.tuyano.com/index3?id=4176003&page=5


このハローもスクリプト内から利用できます。が、パーティクルシステムのように強力な機能が用意されているわけではないので注意が必要です。現段階で使えるのは、ハローのON/OFFぐらいです。

では、下に簡単な利用例を挙げておきましょう。これは、Cubeに設定したハローをON/OFFするものです。先の例と同様、マウスの左ボタンを押している間、ハローが表示され、離すと消えます。

ハローは、実はUnity 4.6では専用のクラスとして用意されていません。このため、Behaviourインスタンスを取り出し操作することになります。
Behaviour halo = (Behaviour)obj.GetComponent("Halo");
Haloクラスがないので、GetComponent<Halo>()というような形で取り出すことはできません。GetComponent("Halo")というようにコンポーネント名で取り出し、それをBehaviourにキャストして利用します。

利用といっても、できるのは「enabled」プロパティの操作ぐらいです。これをtrueにすればハローが表示され、falseにすると非表示になります。実に単純ですね。

将来、Haloクラスが用意されるようになれば、ハローのサイズや色なども操作できるようになるでしょうが、今のところはこれらを直接操作することは利用できないようです。残念!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

using UnityEngine;
using System.Collections;

public class MyObj : MonoBehaviour {

    // Use this for initialization
    void Start () {
    }
    
    // Update is called once per frame
    void Update () {
        if (Input.GetMouseButtonDown(0)){
            GameObject obj = GameObject.Find("Cube");
            Behaviour halo = (Behaviour)obj.GetComponent("Halo");
            halo.enabled = true;
        }
        if (Input.GetMouseButtonUp(0)){
            GameObject obj = GameObject.Find("Cube");
            Behaviour halo = (Behaviour)obj.GetComponent("Halo");
            halo.enabled = false;
        }
    }
}

※関連コンテンツ

「C#ではじめるUnityプログラミング入門」に戻る