using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class MP3 : MonoBehaviour { public AudioClip Clip; AudioSource audioSource; public GameObject Target; public Camera cam; void Start() { audioSource = GetComponent(); audioSource.clip = Clip; } private bool IsVisible(Camera c, GameObject Target) { var planes = GeometryUtility.CalculateFrustumPlanes(c); var point = Target.transform.position; foreach (var plane in planes) { if (plane.GetDistanceToPoint(point) < 0) { return false; } } return true; } void Update() { if (!IsVisible(cam, Target)) { audioSource.Play(); } StartCoroutine(ExampleCoroutine()); IEnumerator ExampleCoroutine() { if (!audioSource.isPlaying) { yield return new WaitForSeconds(3); SceneManager.LoadScene("SampleScene"); } } } }