07 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

category: スポンサー広告

Posted on --/--/-- --. --:--  edit  |  tb: --  cm: -- 

とりあえず今日わかったこと。 

ウンドノードの中間報告。
(というかコレで終わりかも?w実験空間URLは後日UP予定)

01-59-06-306.jpg


まずノードの説明

以下のノードで音源の向き、位置、強さなどの指定
***************************************************
direction : 音の出ている向き xyzで表示
intensity : 音の強さ(0~1) 0だとOFF
location : 音源の位置 xyz
maxFront : 音源の前方で音の聞こえる最大範囲(0~)
maxBack : 音源の後方で音の聞こえる最大範囲(0~)
minFront : 音源の前方で音の聞こえる最小範囲(0~)
minBack : 音源の後方で音の聞こえる最小範囲(0~)
priority : 音の優先度(0~1)
source : 音源ノード
spatialize : モノラル(TRUE)or(FALSE)
*****************************************************

directionで音源の向きを決めるのだけど、direction 1 0 0 とかにした場合、xのプラス方向にしか音が聞こえないので、xマイナス方向に行くと何も聞こえません。ただし、maxBackで音源の後方で音の聞こえる範囲を指定すると、その範囲内で聞こえることになります。なので前と後で聞こえる範囲を変えたい場合にはこの方法が有効です。でも direction 0 1 0 にすれば上方向に音が出るのでmaxBackを指定しなくても前後左右は同じ範囲でカバーできる事になるかと思います。(この場合、音源の下に行くと聞こえません。なので locationで音源を高い位置に設置する場合は direction 0 -1 0 で下向きにするのが良いですね)

音源の位置や音の強さ、音の聞こえる最大範囲などは上記の通り。しかしminFrontとminBackが意味不明でした。数字を変えても聞こえる範囲に違いは見つけられなかったのだけど、どこか違うんだろうか・・・?「音の聞こえる最小範囲」というのも意味がよくわかりません。。。
(その距離にならないと聞こえないのかと思ったけども違いました) 今後の課題です。
←修正しました。
minFront minBackについてはこの記事のコメントでバルが説明してくれています。それを踏まえた上での検証実験を次の日記に書いてありますのでそちらを参照してください。
音の優先度のpriorityはVRMLにはあるのだけれどスプでは使えないようです。本当ならこの数字を設定することで、複数の音源がある時の優先度を指定できるようです。試しにやってみましたが、優先度を変えても全ての音源が同じように聞こえました。

で、sourceで音源を下記のように指定します。
source DEF crswap_snd_00 AudioClip { url "***.mp3" loop TRUE startTime 0 stopTime 0 }
ちなみにspatializeをTRUEにするとモノラルらしいですが、FALSEにしても違いはあんまりわかりませんでした。(私の耳がおかしいのかな?w)

ちなみに今まで使えていたAudioClip
Sound { source AudioClip { url "***.mid" loop TRUE startTime -2 } }
このようなノードなんですが・・・使えなくなってる???
この二つがどう違うのか両方設置して比べてみようと思ってたのだけど、鳴らない。。。
今までにAudioClipを記述してる空間(クリスマスロード)に行ってみても音は鳴りませんでした。
ガ━━ΣΣ(゚Д゚;)━━ン!!
まじすか・・・
(聞こえる方いらっしゃったら教えてください。記事修正します。)


今まで使っていたAudioClipで音を鳴らすと、その空間全体でどこでも聞こえていましたが、セル接続した隣の空間では聞こえませんでした。(一時期不具合で、接続してあるセル全体で聞こえていた事がありましたが)
しかし今回使えるようになったサウンドノードだと、音源の聞こえる範囲内であれば、隣接セルでも聞こえるようになっています。(テスト済み)
なのでどちらかと言うと今回のサウンドノードの方が使い勝手がよさそうなんだけど、両方使えたらいいのになぁ。wavとかmidiが使えるし。。。

さて。。。疲れたし寝るか。

category: 実験

Posted on 2008/05/11 Sun. 02:31  edit  |  tb: 0   cm: 3  

コメント

No title

そか、実験してたのか。てことで、乙w

まず、クリスマス・ロードの音だけど、やっぱり聞こえませんでした。でも、うちのPCでは音が聞こえないことが以前からあったので、参考にならんかも。

それから、minFront と minBack は、VRMLの規格を参照すると、「音が最大値(減衰してない音量)で聴こえる範囲」を指定するものらしい。次の図を見てちょ。
http://www.web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97/Images/Sound.gif

この図の小さい楕円の大きさが minFront と minBack で決まり、大きい楕円の大きさが maxFront と maxBack で決まるそうな。で、小さい楕円の端から音が直線的に減衰していって、大きい楕円の端まで来ると音が聴こえなくなる。
(ここも見て: http://cwbp.com/vrml/ref/Sound.html

priority は、PCの性能や回線の状況によって、複数の音源を同時に鳴らすのが難しいとき、どの音源を優先させるか、ということらしい。だから、それほどシビアな条件でなければ、違いは出ないんでしょう。

最後に spatialize は、ユーザー(HUB)が音源の方向を向いているかどうかで音量を変えるパラメーターらしい。ただし、これが有効なのは、さっきの大きい楕円と小さな楕円の間にいる場合とのこと。

てことで、URL の公開、待ってまつw

ばる #- | URL
2008/05/11 03:59 * edit *

No title

あ、もちろんCRがVRMLの規格をそのまま実装してるかどうかはわかりません。

ばる #- | URL
2008/05/11 04:06 * edit *

No title

おおー、バル補足ありがとう!
クリスマス空間はやっぱり聞こえなさそうかも?よくわかりませんね。
音の減衰っちゅうことは、FOGと似た感じですねぇ
霧の開始位置と霧が100%になる範囲の指定をするので
音の場合でも開始位置と最大値が狭ければ
急に減衰するというわけですな。よくわかりました。
夕べは眠くってアレ以上検証する気力がなかったよー3時だったしw
あとで、記事の修正しますね~^^
あと、減衰の検証もしまーす。

あ、あとspatializeは向きによる音量なんだ?モノラルとか書いてたのを見たので
カン違いしてました。これも検証しますねー。

こぱ@管理人 #BfO4Z7ts | URL
2008/05/11 10:23 * edit *

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://cohalumum.blog32.fc2.com/tb.php/31-b60eb68d
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。