目录

AKRESULT __cdecl AK::SoundEngine::SetRTPCValueByPlayingID ( const char *  in_pszRtpcName,
AkRtpcValue  in_value,
AkPlayingID  in_playingID,
AkTimeMs  in_uValueChangeDuration = 0,
AkCurveInterpolation  in_eFadeCurve = AkCurveInterpolation_Linear,
bool  in_bBypassInternalValueInterpolation = false  
)

Set the value of a real-time parameter control (by string name). With this function, you may set a game parameter value on playing id scope. Playing id scope supersedes both game object scope and global scope. Note that busses ignore RTPCs when they are applied on playing id scope. Thus, you may only change bus or bus plugins properties by calling SetRTPCValue() 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 SetRTPCValueByPlayingID() 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:
Always AK_Success
See also:
Parameters:
in_pszRtpcName  Name of the game parameter
in_value  Value to set
in_playingID  Associated playing 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.