Exemplo n.º 1
0
    void Start()
    {
        m_dataAccessor    = Application.Instance.CreatureDataAccessor;
        m_beatInfoManager = Application.Instance.BeatInfoManager;

        creatureTextures = Resources.LoadAll("Textures/Particles", typeof(Texture)).Cast <Texture>().ToArray();
        videoPlayer      = new VideoPlayer();

        videoPlayer = gameObject.AddComponent <VideoPlayer>();
        RT          = new RenderTexture(VIDEO_RT_RES, VIDEO_RT_RES, 0, RenderTextureFormat.ARGB32);

        videoPlayer.isLooping       = true;
        videoPlayer.audioOutputMode = VideoAudioOutputMode.None;
        videoPlayer.renderMode      = VideoRenderMode.RenderTexture;
        videoPlayer.clip            = m_dataAccessor.GetRandomClip();
        videoPlayer.targetTexture   = RT;

        GameObject ob = Instantiate(Resources.Load("Prefabs/StaticCreature") as GameObject);

        ob.name = "StaticCreature";
        ob.transform.SetParent(Application.Instance.WorldParent);
        creature = ob.GetComponent <StaticCreature>();

        creature.Renderer.material.mainTexture = videoPlayer.targetTexture;
        creature.transform.position            = new Vector3(0, 0, Layer);
        creature.SetScale(Scale);
        creature.AudioSensitive = true;
        creature.Init(this);
    }
Exemplo n.º 2
0
    void Start()
    {
        m_depthManager      = Application.Instance.KinectDepthManager;
        m_beatInfoManager   = Application.Instance.BeatInfoManager;
        m_videoPlaneManager = Application.Instance.VideoPlaneManager;
        m_dataAccessor      = Application.Instance.CreatureDataAccessor;

        settings = new BoidSettings();
        settings.obstacleMask = 1 << LayerMask.NameToLayer("Bounds") | 1 << LayerMask.NameToLayer("ColliderMesh");
        settings.layer        = Layer;

        videoPlayer                 = gameObject.AddComponent <VideoPlayer>();
        videoPlayer.isLooping       = true;
        videoPlayer.audioOutputMode = VideoAudioOutputMode.None;
        videoPlayer.renderMode      = VideoRenderMode.RenderTexture;
        videoPlayer.clip            = m_dataAccessor.GetRandomClip();

        RT = new RenderTexture(VIDEO_RT_RES, VIDEO_RT_RES, 0, RenderTextureFormat.ARGB32);
        videoPlayer.targetTexture = RT;
        videoPlayer.Play();

        boids = new Boid[NumBoids];
        for (int i = 0; i < NumBoids; i++)
        {
            GameObject ob = Instantiate(Resources.Load("Prefabs/Boid") as GameObject);
            ob.name = $"Boid{i}";
            ob.transform.SetParent(Application.Instance.WorldParent);
            boids[i] = ob.GetComponent <Boid>();
            boids[i].Init(settings);
        }
        computeShader = Resources.Load("ComputeShaders/Boids") as ComputeShader;
    }
Exemplo n.º 3
0
    private void ResetCreature()
    {
        videoPlayer.clip = m_dataAccessor.GetRandomClip();

        useVideo = (AlwaysUseVideo) ? true : Random.Range(0, m_dataAccessor.Particles.Length + m_dataAccessor.Clips.Length) >= m_dataAccessor.Particles.Length;

        creature.Renderer.material.mainTexture = useVideo ?
                                                 videoPlayer.targetTexture :
                                                 creatureTextures[Random.Range(0, creatureTextures.Length)];

        creature.EnableRotation = Random.Range(0, 2) > 0;
        creature.IsActive       = true;
    }