[Unity]VR Sound OFF

힐링힐링·2024년 11월 8일
0

UNITY

목록 보기
33/35

원하는 상황

  1. 카드를 잡는다.
  2. 카드와 글자가 사라진다.
  3. 기존에 나오는 BGM이 사라진다.

스크립트

public class SoundOff : MonoBehaviour
{
    public GameObject parentsObject;
    public GameObject newBGM;
    private XRSimpleInteractable interactable;

    // Start is called before the first frame update
    void Start()
    {
        interactable = parentsObject.GetComponent<XRSimpleInteractable>();
        // interactable이 null이 아니면,
        if (interactable != null)
        {
            // selectEntered 이벤트에 핸들러를 등록합니다.
            interactable.selectEntered.AddListener(OnSelectEntered);
        }
        else
        {
            Debug.LogError("XRSimpleInteractable 컴포넌트를 찾을 수 없습니다.");
        }
    }
    // 손으로 터치했을 때 호출되는 함수입니다.
    private void OnSelectEntered(SelectEnterEventArgs args)
    {

        newBGM.SetActive(true);

        AudioSource newAudio = newBGM.GetComponent<AudioSource>();

        // 멈춤
        if (newAudio != null)
        {

            newAudio.Stop();
        }
        else
        {
            Debug.LogError("오디오 소스를 찾을 수 없습니다.");
        }

        parentsObject.GetComponent<MeshRenderer>().enabled = false;

        // parentsObject 내에서 Title과 Contents GameObject 찾기
        Transform titleTransform = parentsObject.transform.Find("Title");
        Transform contentTransform = parentsObject.transform.Find("Contents");

        // 찾은 GameObject 비활성화
        if (titleTransform != null)
        {
            titleTransform.gameObject.SetActive(false);
        }
        else
        {
            Debug.LogError("Title GameObject를 찾을 수 없습니다.");
        }

        if (contentTransform != null)
        {
            contentTransform.gameObject.SetActive(false);
        }
        else
        {
            Debug.LogError("Contents GameObject를 찾을 수 없습니다.");
        }


    }

profile
재밌겠네 ? 해봐야지 ~

0개의 댓글