버전
menu_open

Actor-Mixer Hierarchy 구축에 대한 팁과 모범 사례

Wwise에서는 자유롭게 계층 구조를 만들 수 있습니다. 프로젝트 초반에 일관적인 전략을 도입하면 나중에 시간과 노력을 절약할 수 있습니다. 물론 오디오 오브젝트에 접근하는 방법은 아주 다양하지만 다음과 같이 최고의 결과를 도출해내는 데에 도움이 될 만한 몇 가지 개념을 고려해보아야 합니다.

Actor-Mixer Hierarchy에서 오브젝트 묶기

저작(authoring) 시간을 절약하고 프로젝트의 메모리 사용량을 잘 관리하려면 계층 구조를 구축하기 전에 오브젝트를 정리하는 최고의 방법이 무엇인지 생각해보아야 합니다. 여러분의 계획에 따라 프로젝트의 다양한 오브젝트를 효과적으로 묶을 수 있는 방법을 제안해 드리겠습니다.

Actor-Mixer는 메모리와 CPU 사용량을 줄여주는 고마운 존재입니다. 위치 지정(positioning)이나 RTPC와 같은 Actor-Mixer의 속성이 모든 하위 오브젝트에 같이 공유되기 때문입니다. 그렇기 때문에 오브젝트 정리법을 고려하고 있다면 다음 사항을 위해 Actor-Mixer 아래로 오브젝트를 묶는 것을 생각해 보세요.

  • 속성 설정을 공유하여 이 설정이 한 번만 처리되도록 함.

  • 덮어쓰기를 제한하여 각 오브젝트의 덮어쓰기 처리를 피함.

[경고] 경고

Actor-Mixer 계층에 적용된 효과는 Effect를 적용할 수 있는 효율적인 방법이지만 CPU 사용은 절약해주지 않습니다. Actor-Mixer 레벨에 효과를 적용할 때 해당 Effect의 인스턴스가 모든 하위 오브젝트에 적용됩니다. 효과는 실시간으로 각 오브젝트마다 처리되기 때문에 많은 양의 CPU를 사용할 수 있습니다.

메모리 사용을 최적화하려면 Actor-Mixer로 오브젝트를 묶어 다음 속성을 공유하세요.

  • Positioning

  • RTPC

  • States

  • Randomizer

10개의 사운드를 포함하는 Actor-Mixer가 있으며 사운드의 위치 지정을 3D로 설정하려 한다고 가정합시다. 이 경우 각 사운드의 Override parent 옵션을 사용해서 3D 위치 지정을 개별적으로 사용할 수 있습니다. 하지만 이 방법은 Actor-Mixer의 위치 지정 속성을 3D로 설정하는 것보다 10배 이상의 메모리를 런타임에서 사용합니다. 이제 일부 사운드를 패닝하려고 할 경우 Actor-Mixer의 위치 지정을 3D Emitter로 설정하면 여전히 메모리를 최적화할 수 있습니다. 이 경우 패닝된 사운드는 추가적인 메모리를 필요로 하지 않기 때문에 Actor-Mixer를 덮어쓰고 특정 사운드에 패닝을 적용하면 됩니다.

보통 Actor-Mixer가 최선의 선택이지만 메모리 사용 최적화를 위해 컨테이너에 속성을 적용해야 하는 상황도 있습니다. 컨테이너 내 특정 오브젝트, 예를 들어 Random Container 내 발자국 소리에만 위치 지정을 적용할 경우 상위 Actor-Mixer보다 해당 컨테이너에 위치 지정 속성을 적용하는 것이 메모리를 더 절약할 수 있습니다. 하지만 구조상의 모든 오브젝트가 하나의 위치 지정 속성을 공유하고자 할 경우 이 속성을 Actor-Mixer 계층에 적용하는 것이 더 좋습니다.

오브젝트 묶기 - 예시

앞에서 다루었던 몇몇 개념을 사용하여 Actor-Mixer 내 오브젝트를 어떻게 효과적으로 묶을 수 있는지를 살펴봅시다. 다음 예시에서는 게임의 대사 에셋을 작업하고 있습니다. 몇몇 에셋은 캐릭터 음성으로 사용하고 몇몇 에셋은 무전기로 사용하고자 합니다. 이 경우 이 에셋을 Dialogue Actor-Mixer로 묶을 수 있겠죠. 왜냐하면 이 대사들이 모두 볼륨과 같은 속성을 공유하고 있다는 것을 이미 알기 때문입니다.

이제 Actor-Mixer 볼륨 설정을 완료했고, 무전기 대사에만 Parametric EQ 효과를 추가하려 한다고 가정합시다. 물론 각 무전기 대사를 편집하여 Actor-Mixer 설정을 덮어쓰고 이 효과를 적용할 수 있습니다. 하지만 모든 무전기 대사를 함께 컨테이너로 묶은 다음 컨테이너에서 Actor-Mixer 설정을 덮어쓰고 이 Effect를 추가하면 더욱 효과적으로 작업할 수 있습니다.

실시간 믹싱과 오브젝트 속성

게임이나 Game Simulator에 연결하면 Wwise에서 다음과 같은 상대적 속성값을 실시간으로 변경할 수 있습니다.

  • Volume

  • Pitch

  • Low-Pass Filter

  • Center %

  • RTPC 값

  • State와 Switch 변경

  • Triggers

  • Attenuation 컨트롤

  • 일부 오디오 및 음원 효과 플러그인 속성.

[참고] 참고

일반적으로 Game Parameter에 매핑할 수 있는 속성은 게임에서 실시간으로 변경할 수 있습니다.

하지만 그렇게 하려면 속성을 변경하고자 하는 오브젝트를 Transport Control이나 Soundcaster에 불러와야 합니다. 오브젝트를 불러오지 않으면 사운드 엔진에 이 오브젝트가 등록되지 않기 때문에 변경 사항이 적용되지 않습니다. Actor-Mixer의 경우 Transport Control에 불러올 수 없기 때문에 Actor-Mixer의 하위 오브젝트를 불러오면 그 상위 오브젝트가 사운드 엔진에 등록됩니다. 해당 오브젝트를 등록하면 게임에 연결되어 있는 동안 계속해서 등록된 채로 유지됩니다.

[참고] 참고

Transport Control에서 오브젝트에 핀을 꽂을 경우 핀을 빼기 전까지는 다른 오브젝트를 불러올 수 없다는 점을 주의하세요. 하지만 Soundcaster에 오브젝트를 불러오면 이 오브젝트는 사운드 엔진에 등록됩니다.

상대적 속성과 성능

Wwise에서 피치와 같은 상대적 속성은 여러 다른 플랫폼의 성능에 영향을 끼칠 수 있습니다. Wwise는 샘플 레이트에 기반하여 피치를 관리하는 메커니즘을 쓰고 있습니다. 사운드에 피치를 적용하면 해당 파일이 다시 샘플링되어야 하기 때문에 CPU 사용량이 증가하게 됩니다.


이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요