3

SceneKit を使用して 360º VR エクスペリエンスを作成しています。ユーザーの周りのドームにビデオを表示します。

SpriteKit シーンは、SKVideoNode を使用してビデオ フィードを再生しています。この SpriteKit シーンは、SceneKit で球体の周りにラップされ、ドームを作成します。

videoGeometry.firstMaterial?.diffuse.contents = spriteKitScene

再生は素晴らしいです。360° ビデオが表示され、オーディオが聞こえます。ユーザーが回転すると、サウンドが一緒に移動するように、位置オーディオを追加したいと思います。位置を移動するのではなく、ユーザーの頭で回転します (Oculus Rift のように)。

どうやってやるの?

いくつかの研究:

  • 理想的には、SpriteKit に自分の回転を伝えることができます。

  • 次善の方法は、オーディオ トラック (たとえば、5.1 オーディオの MP4 の 6 トラック) にアクセスし、各トラックを 3D シーンのノードにアタッチする方法です。

  • SpriteKit と SceneKit はどちらも位置オーディオをサポートしています。

  • SKSceneプロパティを持っていlistenerます。しかし、2D の世界にいるため、SKNode は回転について認識しません。現在の頭の回転を設定できません。

  • SceneKit にはaudioListenerノードがあり、頭の回転がわかります。しかし、それはSCNAudioPlayer私が持っていないことを期待しています-SKVideoNodeはビデオとオーディオを再生しています。SKVideoNode のオーディオ トラックについて SCNAudioPlayer に伝えることができれば!

  • SKSceneも提供していますaudioEngine- トラックはここから入手できますか?

  • SCNVideoNode がないので、SKVideoNode を使用する必要があります。

この状況で位置オーディオを行う方法はありますか?

4

0 に答える 0