かんたんUnityのgatcomponent


別のゲームオブジェクトなどにくっついているスクリプトのメソッドを実行する
のにgamecomponentを使ってみました。

以下のようにMainCameraのスクリプトからWarpPanelというゲームオブジェクトに
くっついているWarpPanerlというスクリプトのPlayMovieを呼び出すことで
ワープっぽい動画を再生させます。
ワープパネル連呼でわかりにくい。。。。

動画を貼付けます。

WarpPanelにmovieobjectと背景用にbacklayerを入れます。

MainCameraには、CameraControlを入れて
WarpPanelをアサインします。

これで、こんな感じの光が出る映像を出現させる!!

各スクリプトは以下のような感じ!

WarpPanel
using UnityEngine;
using System.Collections;

public class WarpPanel : MonoBehaviour {

    //setting
    public bool IsPlay =false;
    public GameObject MovieObject;
    public GameObject MovieLayer;

    private MovieTexture MovieTexture_;

    void Start () {
        MovieTexture_ = MovieObject.renderer.material.mainTexture as MovieTexture;
        MovieObject.renderer.enabled = false;
        MovieLayer.renderer.enabled = false;
        MovieTexture_.loop = false;
        //MovieTexture_.Play();
    }

    public void PlayMovie()
    {
        // 一度だけ再生
        if (IsPlay == false)
        {
            IsPlay = true;
            MovieLayer.renderer.enabled = true;
            MovieObject.renderer.enabled = true;
            MovieTexture_.Play();
        }
    }

    public void StopMovie()
    {
        // 停止
        if (IsPlay == true)
        {
            IsPlay = false;
            MovieLayer.renderer.enabled = false;
            MovieObject.renderer.enabled = false;
            //MovieTexture_.Stop();
        }
    }
}
CameraControl
using UnityEngine;
using System.Collections;

public class CameraControl : MonoBehaviour {
    public GameObject WarpPanelObject;
    //public GameObject WarpMovie;
    private MovieTexture MovieTexture_;
    private WarpPanel WarpPanel_;


    // Use this for initialization
    void Start () {
        WarpPanel_ = WarpPanelObject.GetComponent<WarpPanel> ();
        WarpPanel_.PlayMovie ();
    }

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

    }
}