버전

menu_open

Integration Details - Game Objects

Game objects are entities to which such elements as interfaces, sounds, and triggers can be attached.

A game object is defined as an AkGameObjectID (an unsigned 64-bit field). You can choose any ID ranging from 0 to 0x‭FFFFFFFFFFFFFFDF‬ (which is -33 as a signed integer). The game object ID range 0x‭FFFFFFFFFFFFFFE0‬ (-32) to 0x‭FFFFFFFFFFFFFFFF‬ (-1) is reserved for internal use. The transport game object, which is registered by the authoring tool, now uses game object ID 0x‭FFFFFFFFFFFFFFFE‬ (-2).

Game Object Associations

Every Event triggered in the sound engine is associated to a game object. All Event Actions will be associated with the game object passed as a parameter of the AK::SoundEngine::PostEvent() function, if they target a specific game object. If Event Actions do not target a game object, they will ignore the game object specified. If an Action should affect a single game object, but the game object specified in AK::SoundEngine::PostEvent() is not valid, the Action will not be executed.

For every game object, there may be an associated 3D position, a Switch for every existing Switch Group, an RTPC value for each RTPC, and multiple values (for example a volume) that would have been set on a specific item (Sound SFX, Actor-Mixer, bus, and so on) for a specific game object. The sound engine stores this information until the game object associated with these values is unregistered.

Registering Game Objects

Before you can use game objects, you need to register them. When you no longer need the game objects, you should unregister them. While leaving them registered will not create an error, memory is wasted storing this information (3DPosition, RTPCs, Switches, and so on).

Two versions of the AK::SoundEngine::RegisterGameObj() function exist:

and

AK::SoundEngine::RegisterGameObj( AkGameObjectID in_gameObjectID, const char * in_pszObjName );

The second version of the function is for monitoring purposes. Using it directs Wwise to display the real name associated with objects that are playing. In AK_OPTIMIZED mode, the second version ignores the object name.

Two functions allow game objects to be unregistered:

and

AK::SoundEngine::UnregisterAllGameObj() performs a complete clean-up of all the parameters currently set for every game object and removes all game object associations. UnregisterGameObj() does the same thing but for one single game object. Once a game object is unregistered, you must re-register it before you can use it again.

For an example of integrating game objects, refer to Game Object Example.

See also:

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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요