Unityでコライダーの範囲から出てしまった時に動画を再生させてサンプルを作ってみました。
こんな感じでカメラがcubeのボックスコライダーを出てしまった時に動画を再生させてみます。
using UnityEngine;
using System.Collections;
public class TestTriggerMovie : MonoBehaviour {
//settings
public GameObject _trigger;
public GameObject _target;
//objects
private Bounds TriggerBounds;
void Start ()
{
TriggerBounds = _trigger.transform.collider.bounds;
_target = this.transform.FindChild("Plane").gameObject;
}
void Update () {
this.transform.position += new Vector3(0, 0, 1);
Vector3 pos = this.transform.localPosition;
//Debug.Log(pos);
if (TriggerBounds.Contains(pos) == false)
{
Debug.Log("Fire");
MovieTexture movieTexture = _target.renderer.material.mainTexture as MovieTexture;
//movieTexture.loop = true;
movieTexture.Play();
}
}
}
このような感じでカメラを出たら動画が再生されるようにしました。
ちなみに、カメラの子にしているPlaneのマテリアル設定は、particles/Additiveにしています。
とまあ、毎度の事ながらすごく簡単ですね。