여러 오브젝트를 랜덤으로 재생하고자 하는 모든 상황에서는 Random Container를 사용할 수 있습니다. 전투 게임을 예로 들자면 모든 공격, 타격, 반응 소리에 Random Container를 사용하면 됩니다.
Wwise의 랜덤 작동 방식에는 일반(standard)과 셔플(shuffle) 두 가지 방식이 존재합니다. 일반 랜덤 방식은 컨테이너 내 각 오브젝트가 선택되어 재생될 확률이 동일하며, 셔플 랜덤 방식은 재생한 오브젝트를 랜덤 풀에서 제거합니다.
또한 Random Container의 각 오브젝트에 가중치(weight)를 부여할 수도 있습니다. 가중치는 오브젝트가 재생을 위해 선택될 확률을 증가시키거나 감소시켜 줍니다. 특정 오브젝트에 설정된 가중치는 컨테이너 내 모든 가중치의 합에 상대적입니다. 즉, 각 오브젝트에 지정된 숫자는 가중치 값의 총합에서 해당 오브젝트가 선택될 확률을 나타냅니다. 예를 들어, 컨테이너 안에 1과 100의 가중치를 가진 오브젝트가 두 개 있다고 할 때, 첫 번째 오브젝트는 1/101의 재생될 확률을 가지며 두 번째 오브젝트는 100/101의 재생될 확률을 가지게 됩니다.
제작 중인 게임 환경 중에서 동굴이 있다고 가정합시다. 물이 떨어지는 소리를 배경에 넣어서 동굴에 환경 소리를 제작하려고 합니다. 이 경우 Random Container를 사용해서 물이 떨어지는 모든 소리를 함께 이 컨테이너로 묶을 수 있습니다. 캐릭터가 동굴 안에 있을 때 계속해서 소리가 재생되어야 하기 때문에 컨테이너의 재생 모드를 Continuous와 무한 반복 재생으로 설정해야 합니다. 제한된 개수의 소리를 랜덤으로 재생하는 것은 현실감을 더해줍니다.
Random Container를 만드는 방법:
Project Explorer의 Actor-Mixer Hierarchy에서 다음 중 하나의 오브젝트를 우클릭합니다.
Work unit
Virtual Folder
Actor-Mixer
Blend Container
Random Container
Sequence Container
Switch Container
바로가기 메뉴에서 New Child > Random Container를 선택합니다.
새로운 Random Container가 만들어지며 Actor-Mixer Hierarchy에서 강조 표시됩니다.
Random Container의 이름을 입력한 후 Enter를 누릅니다.
새로운 Random Container를 더블 클릭하여 해당 Property 및 Contents Editor를 엽니다.
Project Explorer에서 Contents Editor로 오브젝트를 드래그하여 Random Container를 구성합니다.
Random 그룹 상자에서 다음 옵션 중 한 가지를 선택합니다.
Standard를 선택하면 오브젝트의 풀(pool)을 그대로 유지합니다. 오브젝트가 재생된 후에 이 오브젝트는 재생 가능한 오브젝트 목록에서 제거되지 않기 때문에 다시 반복될 수도 있습니다.
Shuffle을 선택하면 오브젝트를 재생 후 이 오브젝트가 목록에서 제거됩니다. 이 옵션은 모든 오브젝트가 재생되기까지 반복을 방지합니다.
오브젝트가 잇따라 반복되지 않도록 하려면 Avoid repeating last x played 옵션을 선택합니다.
이 옵션은 선택한 모드가 Standard 모드인지 Shuffle 모드인지에 따라 다르게 작동합니다.
Standard 모드에서는 재생할 오브젝트가 완전히 랜덤으로 지정되지만 이전 재생된 x개의 오브젝트는 그 목록에서 제외됩니다.
Shuffle 모드에서는 목록이 초기화될 때 이미 재생된 x개의 오브젝트가 목록에서 제외됩니다.
Avoid repeating last x played 텍스트 상자에서 오브젝트를 반복하기 전에 반드시 재생해야 할 오브젝트의 개수를 입력합니다.
In Contents Editor에서 컨테이너 내 각 오브젝트에 가중치를 부여합니다.
이 가중치는 특정 오브젝트를 다른 오브젝트에 비해 우선화하도록 해줍니다. 각 오브젝트에 지정된 숫자는 가중치 값의 총합에서 해당 오브젝트가 선택될 확률을 나타냅니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요