版本
角色混音器是首要的内存和CPU节省方法,因为一些角色混音器属性(比如定位与RTPC)可以由它的所有子对象共享。当考虑如何管理不同的声音对象时,请想一想能否在角色混音器中实现编组,从而:
共享属性设置,使它们仅被处理一次。
限制覆写,以避免为每个对象处理覆写。
为了优化内存使用,请考虑把各个对象编组到各个角色混音器中,以便共享下列属性:
Positioning(定位)
RTPC
State(状态)
Randomizer
假设有一个角色混音器包含10个声音,并且我们希望在三维空间中定位声音。可以通过使用“Override Parent(覆写父对象)”选项为每个声音单独设置三维定位。不过,与在角色混音器中把定位属性设置为3D相比,这样做在运行时会使用十倍的内存。现在,如果想让某些声音是2D的,那么若把角色混音器的定位设置为3D game-defined,则仍是对内存使用的优化。在这种情况下,你将覆写角色混音器,为具体的声音运用2D,因为2D声音并不需要额外的内存。
虽然角色混音器通常是最好的选择,但在某些情形中,用户可以在某些容器中施用各种属性,以便优化内存消耗量。若仅对一个容器中的具体对象施加定位,比如一个随机容器中的各个脚步声,则可以通过“给该容器施加定位属性,并且不给父角色混音器施加定位属性”而节省内存。不过,如果需要让结构中的所有对象共享定位属性,则需要把这些属性施加在角色混音器层面上。