1 개의 강의

목차

Trigger 조건 제한하기

[참고]

이 섹션을 시작하기 전에 먼저 상위 섹션인 Trigger 조건을 완료해주세요.

Trigger가 게임 오브젝트에 추가되면 Trigger는 다른 Trigger와 Collider와의 모든 접촉을 AkTriggerEnter 함수에 보고합니다. 다시 말해 어떤 Collider나 Trigger 타입을 보고해야 하는지 지정하지 않을 경우 301_Coin과 같은 게임 오브젝트는 플레이어가 Trigger 안으로 들어와 동전을 주울 경우 뿐만 아니라 다른 모든 Trigger와 교차할 때마다 Pickup_Coin Event를 재생하게 됩니다. 이 문제를 해결하는 한 가지 방법은 AkTriggerEnter 스크립트를 301_Coin 게임 오브젝트에 추가하는 것입니다.

AkEvent를 AkTriggerEnter에 설정하면 AkEvent는 게임이 시작될 때 AkTriggerEnter 스크립트를 찾게 됩니다.

AkTriggerEnter 컴포넌트에는 Trigger Object 프로퍼티가 있습니다. 이 프로퍼티가 비어 있을 경우 모든 충돌 사항을 다 인식하게 되겠죠. 이 프로퍼티에 게임 오브젝트를 추가하면 컴포넌트가 특정 게임 오브젝트에만 반응하도록 제한해서 다른 모든 게임 오브젝트를 무시할 수 있습니다.

[참고]

AkTriggerEnter의 Trigger Object에 다른 Scene에 있는 게임 오브젝트를 지정할 수는 없습니다. 만약 그렇게 해야 할 경우 사용자 정의 스크립트를 만들어서 해당 게임 오브젝트를 사용할 수 있을 때 찾도록 만들 수 있습니다.

이제 AkTriggerEnter 스크립트를 Coin에 추가해서 Player가 동전을 주울 때만 소리가 트리거되도록 해봅시다.

  1. Hierarchy에서 301_Coin 게임 오브젝트를 선택하세요.

  2. Inspector에서 'AkTriggerEnter' Component를 추가하세요.

    AkTriggerEnter 컴포넌트에서 비어있는 Trigger Object 프로퍼티를 찾으세요. 힘들게 아이템을 줍는 주체는 모험가이니 Player를 선택합시다. Trigger Object 프로퍼티를 구성하지 않으면 모든 게임 오브젝트가 감지됩니다.

  3. Hierarchy에서 Player 게임 오브젝트를 클릭하여 Inspector > AkTriggerEnter component > Trigger Object 프로퍼티로 드래그해 놓으세요.

  4. Play를 클릭하고 Coin을 주워보세요.

    플레이어가 Coin을 주울 경우에만 Coin 줍기 소리가 게시되는 것이 들리실 것입니다.

  5. ESC를 눌러 WAG 메뉴를 연 후 Play를 다시 클릭해서 Play 모드를 종료하세요.