zoukankan      html  css  js  c++  java
  • Wwise+Unreal的一些记录

    虚幻啊。

    先记个当下遇见最坑的。

    AkAudioDevice里,有的PostEvent方法会用到FOnAkPostEventCallback类的参数,然后编译器找不到这个类的定义。

    找了好久好久,最后发现它是在AkGameplayTypes.h中定义的一个委托……

    其实回过头来看,带On的命名的东西是委托的几率很大,但是也太坑了。虚幻里的委托既能当类,又能当对象,还能当函数。真tmnb。还是学E不精,下次遇见没有定义的考虑下委托、匿名函数、C++的template模板等可能性。

    UE4里,Wwise集成中的AkComponent的PostEvent方法,最终会引用AkAudioDevice中的PostEvent。然后后者又会引用AkSoundEngine的PostEvent方法。

    在这传输过程中,AkAudioDevice的这个PostEvent会固定附加FAkComponentCallbackManager::AkComponentCallback方法,然后,又把真正的C++或蓝图定义的委托,结合CallbackType的flag值和GameObjId,一起打包成AkComponentCallbackManager中的FAkFunctionPtrEventCallbackPackage类或FAkBlueprintDelegateEventCallbackPackage类……然后通过PostEvent的pCookie方式,传给刚才的AkComponentCallback方法,这个方法再从打包成的回调类中,调用回调类中的HandleAction,取出回调类的数据进行使用……

    这个设计真的好tm绕。

    这都是Wwise自身SDK的一些逻辑,可能不用特别在意,平时使用还是就用他的各种接口就好了。

  • 相关阅读:
    背景大图隔几秒切换(非轮播,淡入淡出)--变形金刚joy007 项目总结
    call(京基填小票拍照片)
    加载图片、倒计时--Columbia项目总结
    kellogg项目总结
    js 跨域
    js 继承inheritance/extends
    一号店分享会
    日历,类似旅行网站的酒店入住
    js 数组的判断
    Building a Non-blocking TCP server using OTP principles
  • 原文地址:https://www.cnblogs.com/lingchuL/p/15291479.html
Copyright © 2011-2022 走看看