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  

Sets the value of a real-time parameter control. With this function, you may set a game parameter value with global scope or with game object scope. Game object scope supersedes global scope. (Once a value is set for the game object scope, it will not be affected by changes to the global scope value.) Game parameter values set with global scope are applied to all game objects that not yet registered, or already registered but not overridden with a value with game object scope. To set a game parameter value with global scope, pass AK_INVALID_GAME_OBJECT as the 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.

  • AK_Success if successful
  • AK_IDNotFound if in_pszRtpcName is NULL.
    Note: Strings are case-insensitive.
See also:
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.