Apple Engine

Apple, iPhone, iOS, その周辺のことについて

iPhone と Reality Composer で始める簡単 AR その21 - 音の再生 編

今回は音の再生について。

Reality Composer の音の再生するアクションに関しては以下の3つがある。

  • サウンドを再生
  • 環境音を再生
  • ミュージックを再生

 

「サウンドを再生」はオブジェクトベースの音響になっており、オブジェクトの位置から音が鳴る。
そのため、カメラからオブジェクトが遠ざかれば音が小さく、近づけば音が大きくなる。
用途的には短い効果音などを再生する様な形。

「環境音を再生」「ミュージックを再生」は位置に関係なく鳴るため BGM の様な音を再生する。
ちなみに自分はこの2つのアクションの振る舞いの違いがわからない。

一応、現状で確認している音声ファイルは caf、mp3、m4a の模様。
Apple Music の m4p ファイルは選択できない。

 

試してみる

今回は球を物理シミュレーションで球を落下させ、立方体に接触すると音が再生されるものをつくる。

 

アンカーを選択

新規作成から今回も水平方向のアンカーを選択する。

 

オブジェクトの設定。

上部の「+」ボタンから球体と立方体のオブジェクトを追加し以下を設定する。

 

Y軸を 50cm

f:id:x67x6fx74x6f:20200321055938j:plain

 

上の立方体

Y軸を 30cm、Z軸 -5cm

f:id:x67x6fx74x6f:20200321055945j:plain

 

下の立方体

Y軸を 5m、15cm

f:id:x67x6fx74x6f:20200321055948j:plain

 

また、球に関しては物理の「含める」有効にして、モーションタイプをダイナミックに設定する。

f:id:x67x6fx74x6f:20200321072417j:plain

 

ビヘイビアの設定

ビヘイビアから追加する。
今回はカスタムを選択し、トリガーで「衝突」、アクションで「サウンドを再生」を設定。

f:id:x67x6fx74x6f:20200321054043j:plain

f:id:x67x6fx74x6f:20200321054147j:plain

 

トリガー: 衝突

影響を受けるオブジェクトは球、衝突する対象は2つの立方体を選択する。
ちなみに、今回は影響を受けるオブジェクトと衝突する対象のオブジェクトが逆でも動作は変わらない。

f:id:x67x6fx74x6f:20200321060022j:plain

 

アクション: サウンドを再生

影響を受けるオブジェクトを球に設定し、オーディオクリップをコンテンツライブりから初期状態でインストールされている「パッピーチャイムの音01.caf」を選択する。

f:id:x67x6fx74x6f:20200321054312j:plain

 

画面上部の再生ボタンをタップすると球が落下し、立方体に接触すると音が再生する。

 

サウンドを再生の「動作中にトリガされた場合」の処理

「動作中にトリガされた場合」では以下の設定項目があり、初期値は「無視」となっている。

  • 無視
  • 再起動
  • 停止

f:id:x67x6fx74x6f:20200321073301p:plain

 

無視

続けてトリガーが発生しても再生が終わるまで音の再生の処理は無視される。
今回の場合、続け立方体に接触しても再生されない。

vimeo.com

 

再起動

続けてトリガーが発生された場合、音が停止され、最初から再生し直される。
今回の場合、続け立方体に接触すると再生が止まりまた再生される。

vimeo.com

 

停止

続けてトリガーが発生された場合、 今回の場合、立方体に接触すると再生し、次の立方体に接触すると止まる。
もし、さらにトリガーが動作するとサウンドが停止されているため再生される。

vimeo.com

 

環境音を再生、ミュージックを再生

設定値はボリュームとオーディオクリップの設定しかない。

f:id:x67x6fx74x6f:20200321080549p:plain

f:id:x67x6fx74x6f:20200321080608p:plain

 

サンプルファイル

下記のリンクに行き、右側の緑のボタン「Clone or download」からリポジトリをクローンするか zip をダウンロード。
Sound フォルダが今回のサンプルになる。

iPhone や iPadOS に Reality Composer がインストールされていれば、ダウンロードした zip を展開し rcproject を開いて中身を見ることができる。

github.com

 

まとめ

音の再生のアクションは2点あり、オブジェクトベースのものと一定のものが設定でき、動作中にトリガされた場合に処理が可能である。

次回はシーンの切り替えについて。