Help us understand the problem. What is going on with this article?

RealSpace3D を Google Cardboard + Unity iOS で使おうとしてはまった話

More than 3 years have passed since last update.

Oculus Audio にもライセンスされているという噂の RealSpace3D を Unity の iOS 版で Google Cardboard と合わせて使いたい!とおもって SDK 組み込んだのですが、いろんなところで詰まったのでシェアします。

RealSpace3D って?

リアルな 3Dオーディオ

いわゆる立体音響を実現するためのプラグインです。 Unity にも 3D Audio の機能はありますが、もっとリアルに実際に物がそこにあるように感じるレベルの音響を実現できます。

動画を貼る!

特に VR と相性がよく、 VR 空間でのプレイヤーの向きに合わせてリアルに音の聞こえ方が変わります。目を閉じていても音のする方を探すことができます。

マルチプラットフォーム

Unity と UnrealEngine 向けのプラグインが存在し、しかも iOS や Android 向けのプラグインもあります。つまりこれは Google Cardboard と合わせて使えば iOS や Android で安価に 3D オーディオを取り入れた VR 作品を作れるということです!

使い方・・・のまえに先に iOS 用プラグインの問題点

ここまで持ち上げておいてあれなのですが、現状は iOS 向けに使うのが現実的ではありません。何故かと言うと、動的コード生成を使ったライブラリを含んでいるせいで、 XCode でアタッチしていないと使えないからです。

iOS では XCode でアタッチしていないと使えない

iPhone issue when executing in standalone mode で書かれている問題のため、動きません。具体的には ffts というライブラリがあるのですが、これがデフォルトのビルドでは動的なコード生成を行うため iPhone では動かないそうです。ただ Xcode からアタッチした状態だと動きます。

公式にフィードバックしたので治るとうれしいですね!

使うプラグインがややこしすぎる

なんと公式から iOS としてリンクがはられているのは実は WMA版(Windows / Mac / Android) なので使えません。正しくは RealSpace 3D Audio v0.10.7 iOS にあります。(これもフィードバックしたので治るといいですね・・・)

しかも iOS 版そのままだとエディタで動かないため公式から iOS としてリンクが貼られていた WMA 版から各環境用のバイナリをインポートし Unity での dll 設定を行わないといけません。その際エディタ用のスクリプトは iOS / WMA どちらかのでないと動かないという制約があって、どちらを今使っているのか忘れてしまったのであとで調べます・・・。

Google Cardboard SDK と要求する Unity のバージョンが違う

RealSpace3D は Unity 5.0.x を要求しているのですが、 Google Cardboard SDK の最新版をそのまま使おうとすると XCode でのビルド時にリンカエラーで落ちてしまいました。github に上がっているひとつ前のバージョン(あとで書きます)なら、インポートしたあと自動バージョンアップして、 XCode の enable bit code をオフにすれば動きます。

El Capitan だと Unity 5.0.x でメニューからビルドできない

メニューを拡張してコードからビルドしましょう・・・。ビルド用のコードはあとで貼ります。

使い方

ここまで来てやっと使えるようになります。

登録

RealSpace3D のサイトで登録を行います。

ダウンロード

自分のプラットフォームに合わせたアーカイブをダウンロードします。 iOS の人は先述の注意に気をつけてください。

インポート

場合によっては Unity 上で dll の 32/64bit 設定などが必要になるかもしれません。

AudioListener をつける

RealSpace3D 用の AudioListener を Unity の AudioListener と同じオブジェクトに貼り付けます。両方ないとだめです。

ライセンスキーを入力する

公式サイトからライセンスキーを発行し AudioListener のライセンスキーのところで認証します。

AudioSource を配置する

AudioListener とは違い、これは RealSpace3D 用の AudioSource のみで大丈夫です。

(Unity 5.2 以降のみ) 3D Spatializer の設定を RealSpace3D にする

エディタ上で再生してみる

これだけで超リアルな 3D オーディオを楽しめるはず!

(iOS 以外のみ必要なら) VirtualRoom を設置する

VirtualRoom は部屋の反響をシミュレートすることができます。
GameObject > RealSpace3D > VirtualRoom で追加できますが、 iOS 版だとうまく追加できませんでした。

おわりに

はやく iOS でまともに使えるようになってほしい!
この記事は @chiepomme Advent Calender 2015 2日目です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした