Пример #1
0
    void Start()
    {
        m_dataAccessor    = Application.Instance.CreatureDataAccessor;
        m_beatInfoManager = Application.Instance.BeatInfoManager;

        videoPlayers = new VideoPlayer[m_dataAccessor.Clips.Length];
        RT           = new RenderTexture[m_dataAccessor.Clips.Length];

        for (int i = 0; i < m_dataAccessor.Clips.Length; i++)
        {
            videoPlayers[i] = gameObject.AddComponent <VideoPlayer>();
            RT[i]           = new RenderTexture(VIDEO_RT_RES, VIDEO_RT_RES, 0, RenderTextureFormat.ARGB32);

            videoPlayers[i].isLooping       = true;
            videoPlayers[i].audioOutputMode = VideoAudioOutputMode.None;
            videoPlayers[i].renderMode      = VideoRenderMode.RenderTexture;
            videoPlayers[i].clip            = m_dataAccessor.Clips[i];
            videoPlayers[i].targetTexture   = RT[i];
        }

        creatures = new Creature[MaxCreatures];
        for (int i = 0; i < MaxCreatures; i++)
        {
            GameObject ob = Instantiate(Resources.Load("Prefabs/Creature") as GameObject);

            ob.name = $"Creature{i}";
            ob.transform.SetParent(Application.Instance.WorldParent);
            creatures[i] = ob.GetComponent <Creature>();
            creatures[i].Init(this);
        }
    }
Пример #2
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);
    }
Пример #3
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;
    }
Пример #4
0
    void Start()
    {
        m_beatInfoManager = Application.Instance.BeatInfoManager;
        m_beatInfoManager.OnNormalizedAudioLevelInputLP += (x) => NormalizedAudioLevelInput(x);

        position = transform.position;
        forward  = (position + Random.insideUnitCircle).normalized;
    }
Пример #5
0
    void Start()
    {
        m_beatInfoManager = Application.Instance.BeatInfoManager;
        m_beatInfoManager.OnNormalizedAudioLevelInputHP += (x) => NormalizedAudioLevelInput(x);

        videoFrameBuffer = new RenderTexture[NUM_BUFFERS];
        videoPlayer      = new VideoPlayer[NUM_BUFFERS];
        videoPlane       = new VideoPlane[NUM_BUFFERS];

        for (int i = 0; i < NUM_BUFFERS; i++)
        {
            videoFrameBuffer[i] = new RenderTexture(1920, 1080, 0, RenderTextureFormat.BGRA32);

            GameObject ob = GameObject.CreatePrimitive(PrimitiveType.Plane);
            ob.transform.SetParent(Application.Instance.MainCamera.transform);

            videoPlane[i] = ob.AddComponent <VideoPlane>();
            videoPlane[i].Init(i);
            videoPlane[i].SetVideoTexture(videoFrameBuffer[i]);
            videoPlane[i].PlaneMaterial.SetColor("_Tint", Color.black);
            videoPlane[i].PlaneMaterial.SetFloat("_TintPct", 0);

            videoPlayer[i]             = gameObject.AddComponent <VideoPlayer>();
            videoPlayer[i].playOnAwake = false;
            videoPlayer[i].isLooping   = true;

            videoPlayer[i].audioOutputMode   = VideoAudioOutputMode.None;
            videoPlayer[i].renderMode        = VideoRenderMode.RenderTexture;
            videoPlayer[i].targetTexture     = videoFrameBuffer[i];
            videoPlayer[i].prepareCompleted += (vp) => { vp.Play(); };
        }
        // brightnessPlane
        GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Plane);

        obj.transform.SetParent(Application.Instance.MainCamera.transform);
        brightnessPlane = obj.AddComponent <VideoPlane>();
        brightnessPlane.Init(NUM_BUFFERS + 1);
        brightnessPlane.SetVideoTexture(Resources.Load("Textures/Etc/Black") as Texture);
        brightnessPlane.PlaneMaterial.SetFloat("_Alpha", 0);

        _front = NUM_BUFFERS - 1;

        videoIndexStack    = new VideoIndexStack(videoClips.Length / 2);
        videoIndex         = Random.Range(0, videoClips.Length);
        previousVideoIndex = videoIndex;

        videoPlayer[_back].clip  = videoClips[(videoIndex + 1) % videoClips.Length];
        videoPlayer[_front].clip = videoClips[videoIndex];
        videoPlayer[_front].Play();

        PrepareClip(videoPlayer[_back]);

        activeRoutine = StartCoroutine(ActionDelay(3f));
        noiseSeed     = Random.Range(0, 1024f);

        colorizerTime = Random.Range(8f, 30f);
        StartCoroutine(ColorizerRoutine());
    }
Пример #6
0
    void Start()
    {
        m_camera          = Application.Instance.MainCamera;
        m_beatInfoManager = Application.Instance.BeatInfoManager;
        m_beatInfoManager.OnNormalizedAudioLevelInputLP += (x) => NormalizedAudioLevelInput(x);

        GameObject ob = GameObject.CreatePrimitive(PrimitiveType.Plane);

        ob.transform.SetParent(m_camera.transform);

        m_titlePlane = ob.AddComponent <VideoPlane>();
        m_titlePlane.Init(Depth);
        m_titlePlane.PlaneMaterial.SetFloat("_Alpha", 0);
        cachedScale = m_titlePlane.transform.localScale;
    }
Пример #7
0
    void Start()
    {
        m_beatInfoManager = Application.Instance.BeatInfoManager;

        position     = transform.position;
        forward      = (position + Random.insideUnitCircle).normalized;
        cachedRadius = Collider.radius;

        noiseSeed = Random.Range(0, 64f);
        ResetTargetLocation();

        if (AudioSensitive)
        {
            m_beatInfoManager.OnNormalizedAudioLevelInputLP += (x) => NormalizedAudioLevelInput(x);
            m_beatInfoManager.OnAudioBeat += () => Impulse();
        }
    }