Table of Contents

AKRESULT __cdecl AK::SoundEngine::SetRTPCValue ( const char *  in_pszRtpcName,
AkRtpcValue  in_value,
AkGameObjectID  in_gameObjectID = AK_INVALID_GAME_OBJECT,
AkTimeMs  in_uValueChangeDuration = 0,
AkCurveInterpolation  in_eFadeCurve = AkCurveInterpolation_Linear,
bool  in_bBypassInternalValueInterpolation = false  
)

Set the value of a real-time parameter control. With this function, you may set a game parameter value on global scope or on game object scope. Game object scope supersedes global scope. Game parameter values set on global scope are applied to all game objects that not yet registered, or already registered but not overriden with a value on game object scope. To set a game parameter value on global scope, pass AK_INVALID_GAME_OBJECT as the game object. Note that busses ignore RTPCs when they are applied on game object scope. Thus, you may only change bus or bus plugins properties by calling this function with AK_INVALID_GAME_OBJECT. With this function, you may also change the value of a game parameter over time. To do so, specify a non-zero value for in_uValueChangeDuration. At each audio frame, the game parameter value will be updated internally according to the interpolation curve. If you call SetRTPCValue() with in_uValueChangeDuration = 0 in the middle of an interpolation, the interpolation stops and the new value is set directly. Thus, if you call this function at every game frame, you should not use in_uValueChangeDuration, as it would have no effect and it is less efficient. Refer to RTPCs and Game Objects, RTPCs and Busses and RTPCs and Plug-Ins for more details on RTPC scope.

Returns:
  • AK_Success if successful
  • AK_IDNotFound if in_pszRtpcName is NULL.
    Note.gif
    Note: Strings are case-insensitive.
See also:
Parameters:
in_pszRtpcName  Name of the game parameter
in_value  Value to set
in_gameObjectID  Associated game object ID
in_uValueChangeDuration  Duration during which the game parameter is interpolated towards in_value
in_eFadeCurve  Curve type to be used for the game parameter interpolation
in_bBypassInternalValueInterpolation  True if you want to bypass the internal "slew rate" or "over time filtering" specified by the sound designer. This is meant to be used when for example loading a level and you dont want the values to interpolate.