tyranoVRでBGMも再生できます。
まずは、シンプルにBGMファイルを用意してみましょう。
ファイルはmp3形式が推奨です
BGMで使用するファイルを「bgm」フォルダに配置してください
今回はmusic.mp3をいうファイル名で保存しました。
次のスクリプトを試してください。
;オーディオファイル読み込み
[audio_new id="sample_music" storage="music.mp3"]
;BGM再生
[playbgm id="sample_music" ]
保存して実行してみましょう。
BGMが再生されましたね。基本的にはBGMの場合ループ再生されます
効果音の再生も簡単です
適当な効果音を取得してください。mp3ファイル形式に対応します
次のURLから適当に効果音を手に入れてみましょう
効果音ラボ
myse.mp3をいうファイル名で保存しました。
効果音は「sound」フォルダに配置してください。
次のスクリプトを試してください。
;再生する効果音ファイルの読みこみ
[audio_new id="myse" folder="sound" storage="myse.mp3"]
正面の5m離れた位置で鳴ります[p]
[playse id="myse" x=0 y=1.6 z=5 ]
右の耳元で鳴ります。[p]
[playse id="myse" x=1 y=1.6 z=-1 ]
左の耳元で鳴ります。[p]
[playse id="myse" x=-1 y=1.6 z=-1 ]
保存して実行してみましょう。
効果音が再生されました。
まず、注意点として効果音は「sound」フォルダに配置されていますが、[audio_new]で読み込む時は
何も指定しないと「bgm」フォルダを参照してしまいます
[audio_new id="myse" folder="sound" storage="myse.mp3"]
folder="sound"を指定することで「sound」フォルダからファイルを読み込んでくれます。
さらに[playse]の場合、座標も指定できます。
これは、VR空間のどの位置で鳴るかを指定できますので、臨場感のある演出が可能となっています。
y=1.6となっている点も注意です。耳の位置は地面から1.6の位置に設定されているので
ここを0にしてしまうと、足元から聞こえるようになってしまいます。
VR空間の好きな位置に再生できるというのを説明しました。
しかし、あるオブジェクトで効果音が鳴っているなら、そのオブジェクトが移動すると
効果音も一緒に鳴る場所が変わらないとおかしいですね。
効果音も、イメージと同じように位置を変えることができます。
;効果音の定義
[audio_new id="myse" folder="sound" storage="myse.mp3"]
;イメージを定義する
[image_new id="akane" storage="akane.png"]
;イメージをVR空間に配置する
[image name="akane" id="akane" x="-4" y="-3" z="6" time=2000 ]
;イメージと同じ座標で効果音を鳴らし続ける[p]
[playse name="akane" id="myse" x="-4" y="1.6" z="6" loop=true ]
イメージと効果音をアニメーション[p]
[anim name="akane" x=4 time=5000 ]
[image]と[playse]に同じ name="akane" の指定があることに注目してください
そして最後に
[anim name="akane" x=4 time=5000 ]
で左から右へアニメーションしています。
これで、効果音もイメージと一緒に移動することができました。
ここで[playse]にnameパラメータを指定しなかったら、イメージだけが移動してしまいます。
最後に、レイヤーについても理解しておきましょう
まず、VR空間の座標を指定して、効果音を鳴らせますが
例えば、
自分の後方から効果音を鳴らしているとき、頭の方向が後ろを向いていたらどうなるでしょう?
その場合、音は正面から聞こえてしまいます。
頭の方向に影響されず、必ず特定の方向から音を鳴らしたい場合、layerパラメータが使用できます。
次のスクリプトを確認してください。
;再生する効果音ファイルの読みこみ
[audio_new id="myse" folder="sound" storage="myse.mp3"]
正面の5m離れた位置で鳴ります[p]
[playse id="myse" layer="eye" x=0 y=1.6 z=5 ]
右の耳元で鳴ります。[p]
[playse id="myse" layer="eye" x=1 y=1.6 z=-1 ]
左の耳元で鳴ります。[p]
[playse id="myse" layer="eye" x=-1 y=1.6 z=-1 ]
layer="eye"パラメータを指定することで、頭の向きに影響されず、必ず指定した方向から聞こえるようにできます。