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); }
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; }
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; }