// Update is called once per frame void Update() { GameObject mainCamera = GameObject.Find("Main Camera"); CameraBehavior cameraBehavior = mainCamera.GetComponent <CameraBehavior> (); //int gazeIdx = cameraBehavior.GetMostRecentGazeIndex(); int gazeFrames = 0; int teleportationFramesThreshold = 120; // TODO: Fix this so that the tail of the fragment doesn't get cut off //if (cameraBehavior.GetIsDisembodied()) { // return; //} // Query the number of frames gazed at, then set our emitter's parameter if (entityIdx < 0) // Eve (Gazer) { gazeFrames = GameObject.Find("Gazer Avatar").GetComponent <GazerAvatarGazeBehavior>().GetFramesGazedAt(); if (!cameraBehavior.GetIsDisembodied() && cameraBehavior.GetFramesSinceLastTeleportation() < teleportationFramesThreshold) { return; } } else // Everyone else { Transform gazeEntity = GameObject.Find("Entity Manager").GetComponent <GameBehavior> ().GetEntity(this.entityIdx); gazeFrames = gazeEntity.GetComponent <TeleportSelfAndGazer> ().GetFramesGazedAt(); } this.GetComponent <FMODUnity.StudioEventEmitter> ().SetParameter("framesGazedAt", gazeFrames); }
// Update is called once per frame void Update() { GameObject mainCamera = GameObject.Find("Main Camera"); CameraBehavior cameraBehavior = mainCamera.GetComponent <CameraBehavior> (); float rotationOffset = Mathf.Abs(mainCamera.transform.eulerAngles.y / 360); float timeSinceTeleportation = Mathf.Min(cameraBehavior.GetFramesSinceLastTeleportation() / framesSinceLastTeleportationThreshold, 1.0f); //float gazeAmount = cameraBehavior.GetGazeAmount (); float isDisembodiedFloat = cameraBehavior.GetIsDisembodied() ? 1.0f : 0.0f; float characterIndex = (cameraBehavior.GetIsDisembodied() ? cameraBehavior.GetMostRecentGazeIndex() : -1.0f) // Either character at most recent gazed index, or Eve character itself + 1.01f; // Offset since Eve is 0.0-1.0 // For GazerAmbience //emitter.SetParameter ("Rotation Offset", rotationOffset); //emitter.SetParameter ("Time Since Teleportation", timeSinceTeleportation); //emitter.SetParameter ("Is Disembodied?", isDisembodiedFloat); // For AllCharactersMain emitter.SetParameter("timeSinceTeleportation", timeSinceTeleportation); emitter.SetParameter("characterIndex", characterIndex); //Debug.Log ("time since teleportation: " + timeSinceTeleportation + ", character idx: " + characterIndex); }