커뮤니티 Q&A

Audiokinetic의 커뮤니티 Q&A 포럼에 오신 것을 환영합니다. 이 포럼은 Wwise와 Strata 사용자들이 서로 도움을 주는 곳입니다. Audiokinetic의 직접적인 도움을 얻으려면 지원 티켓 페이지를 사용하세요. 버그를 보고하려면 Audiokinetic 런처에서 Bug Report 옵션을 사용하세요. (Q&A 포럼에 제출된 버그 보고는 거절됩니다. 전용 Bug Report 시스템을 사용하면 보고 내용이 담당자에게 정확히 전달되어 문제 해결 가능성이 크게 높아집니다.)<segment 6493>

빠르고 정확한 답변을 얻으려면 질문을 올릴 때 다음 팁을 참고하세요.

  • 구체적인 내용을 적어주세요: 무엇을 하려는지, 혹은 어떤 특정 문제에 부딪혔는지 설명하세요.
  • 핵심 정보를 포함하세요: Wwise와 게임 엔진 버전, 운영체제 등 관련 정보를 함께 제공하세요.
  • 시도한 방법들을 알려주세요: 문제 해결을 위해 이미 어떤 단계를 시도해봤는지 설명해주세요.
  • 객관적인 사실에 초점을 맞추세요: 문제의 기술적 사실을 중심으로 설명하세요. 문제에 집중할수록 다른 사람들이 더 빠르게 해결책을 찾을 수 있습니다.

0 투표
你们好,我有两个有关AKEnvironment的问题想问。

1,AkAuxSendArray 这个类型和老版本的不一样。现在传入的 fValue 会先使用,CSharp_AkAuxSendValueProxy_set 设置一下。

不知道这个fValue具体指什么意思,CSharp_AkAuxSendValueProxy_set的作用又是什么。

AkEnvironment中GetAuxSendValueForPosition()函数直接返回1,然后赋值给AkAuxSendArray的fValue,fValue等于1又是代表什么。

2,CSharp_SetGameObjectAuxSendValues 这个直接传的那个m_Buffer只是分配了一段非托管内存,但是内存里面具体都没有可能赋值的地方。

具体是用来做什么的。
General Discussion qin j. (100 포인트) 로 부터

1 답변

0 투표
不清楚你在说哪个版本。

1. AuxSend 在 Wwise 中一般对应一个环境音效的区域,因为相邻区域间要做过渡处理,这个“fValue”代表当前游戏对象位于相邻区域的比例 (0~1)。CSharp_AkAuxSendValueProxy_set 只是一个实现 helper (一个属性的 mutator),所有 CSharp_ 打头的方法都是 C++ 原生 SDK 的绑定 helper,是 SWIG 自动生成的,不用纠结,可以看作 黑盒。最新版本(2017.1)的实现里面这个 helper 已经 inline 了。供用户使用的 API 都在 Wwise/Deployment//API 和 Components 下面。

  集成包里的  GetAuxSendValueForPosition() 没有官方实现 ,只是一个 stub。所以只返回 1 (代表任何输入都被认为属于这个 AuxSend 区域),如果你需要根据位置判断,很遗憾需要自行实现一下,大致的意思跟上面说的一样,在考虑区域重合的情况下返回一个区域归属比例即可。

 

2. 同理 “CSharp_” 打头的 CSharp_SetGameObjectAuxSendValues 以及内部成员 m_Buffer 应该是不需要你去碰的,只要通过 EnvID (区域 ID) 和 fValue 来操作 AuxSendArray 即可。集成会在内部实现中将 EnvID 和 fValue 打包成 m_Buffer 操作。
Beinan L. (Audiokinetic) (1.2k 포인트) 로 부터
...