Questions et réponses de la communauté

Bienvenue sur le forum de questions et réponses d'Audiokinetic, propulsé par la communauté. C'est l'endroit où les utilisateurs de Wwise et Strata s'entraident. Pour obtenir une aide directe de notre équipe, veuillez utiliser la page « Tickets de soutien ». Pour signaler un bug, utilisez l'option Bug Report dans l'Audiokinetic Launcher. (Veuillez noter que les rapports de bug soumis au forum questions-réponses seront rejetés. L'utilisation de notre système de rapport de bug dédié garantit que votre rapport est vu par les bonnes personnes et a les meilleures chances d'être corrigé.)

Pour obtenir rapidement les meilleures réponses, suivez ces conseils lorsque vous posez une question :

  • Soyez précis : qu'essayez-vous de réaliser ou quel est le problème spécifique que vous rencontrez ?
  • Pensez à inclure les détails importants : incluez des détails tels que les versions de Wwise et du moteur de jeu, le système d'exploitation, etc.
  • Expliquez ce que vous avez essayé de faire : indiquez aux autres les mesures que vous avez déjà prises pour essayer de résoudre le problème.
  • Concentrez-vous sur les faits : décrivez les aspects techniques de votre problème. Se concentrer sur le problème aide les autres personnes à trouver rapidement une solution.

0 votes

Edit:
I found the problem - inside the PostEventAtLocation stack, at FAkAudioDevice::PostEventAtLocation, line 2319 of the default UE4 integration code, the game object is unregistered, without giving us a chance to set RTPC values on it. Changing this post to feature requests so a variant of the PostEventAtLocation can be made that gives us control over this.
Thanks!

Hello!

How do I use SetRTPCValueByPlayingID? This was my approach and it's erroring:


// Post event (sound plays correctly)
static FString EventName = ""; // Don't know what to pass here
AkPlayingID PlayingID = UAkGameplayStatics::PostEventAtLocation(      // resulting PlayingID is not AK_INVALID_PLAYING_ID
    AudioEvent, // This is a valid UAkAudioEvent* type
    PlayLocation,
    FRotator::ZeroRotator,
    EventName,
    GetWorld()
);

 

// Set RTPC
if (FAkAudioDevice* AudioDevice = FAkAudioDevice::Get())
{
    const bool IsEventsPlayingIDActive = AudioDevice->IsPlayingIDActive(AudioEvent->ShortID, PlayingID);    // IsEventsPlayingIDActive is true

    
    AkRtpcID RTPC_Id = AudioDevice->GetIDFromString(FString("PlayerSpeed"));      // RTPC_Id reads 1493153371 and is not AK_INVALID_RTPC_ID
    AudioDevice->SetRTPCValueByPlayingID(RTPC_Id, My_RTCP_Value, PlayingID, 0);      
// This errors and prints "Unknown game object ID. Make sure the game object is registered before using it and do not use it once it was unregistered.: 2"
}

I don't know what to make of this error, what am I doing wrong? Is this even possible, or do I have to use an AkComponent?


 

dans Feature Requests par Vioxtar (370 points)
edité par Vioxtar

1 Réponse

0 votes
Hey, just for reference, you can use SpawnAkComponentAtLocation to solve this. It will allow you to set switches or RTPC values on the component, and then fire the event.
par Robert K. (140 points)
...