例題: イベント・サウンドの作成
イベント・サウンドはシーン中で発生するできごとに関連付けられます。たとえばドアが閉まる場合や、ポットがテーブルから床に落ちる場合などです。イベント・サウンドには通常、サウンドと発生する動作を同期させるためのスクリプトが必要です。
次のファイルではイベント・サウンドと簡単なスクリプトの例を示しています。
/usr/share/Insight/library/SGI_bookshelves/Help/books/CosmoWorlds_UG/Models/doorSample.wrl

ここをクリックして、ファイルをプレビューしてください。ドアをクリックすると閉まります。ドアが閉まるときのサウンドが発生するタイミングに注意してください。ドアがちょうど閉まる位置になったときにサウンドが発生します。タッチ・センサーの開始時間はスクリプトで指定され、ドアのサウンドを開始するまでに 1.8 秒の遅れを追加してあります。ドアのアニメーションもタッチ・センサーがトリガになります。
このファイルを アウトライン・エディタ で表示してルートを確認するには ここをクリックしてください (青のルートがドアのアニメーション、黒のルートがサウンドを表します)。
イベント・サウンドの作成手順
イベント・サウンドを作成するには次の手順に従ってください (サンプル・ファイル doorSample.wrl も参照してください)。
-
Cosmo Worlds でファイル /usr/share/Insight/library/SGI_bookshelves/Help/books/CosmoWorlds_UG/Models/door.wrl を開きます。
このファイルは家とドアのモデルで構成され、ドアの開閉を行うキーフレーム・アニメーションも含まれます。
-
[エディタ] パレットの [サウンド・エディタ] をクリックします。
-
ドアを選択して、イベントをオブジェクトに関連付けます。
-
サウンド・エディタ で [ローカルの作成] をクリックします (ボタンが淡色表示の場合は [編集] > [親グループを作成] をクリックして [ローカルの作成] ボタンを有効にします)。
-
[ブラウズ] をクリックし、シーンに追加するサウンド・ファイルを選択して [了解] をクリックします。
-
サウンドにはデフォルトで Sound1 と名前が付けられます。テキスト・フィールドにサウンドの新しい名前を入力します。たとえば doorSlam と入力してください。
-
緑のサウンド・アイコンを使用して、閉まるドアの位置にサウンドを配置します。サウンド・アイコンは、通常のマニピュレータと同様に配置、回転させることが可能です (アイコンが表示されない場合は、[表示] > [アイコン・オブジェクトを表示/隠す] > [サウンドを表示] をクリックします)。
-
[フロント最大]、[バック最大]、[フロント最小]、[バック最小] の各テキスト・フィールドに、新しい範囲の値を入力します。サウンドの範囲を確認するには [範囲の表示] ボックスをクリックします。球形のワイヤフレームでサウンドの範囲が表示されます。
ドアの例では、サウンドの範囲はほとんどドアの前方だけです。またサウンドの範囲が球形でないため、範囲の値をフィールドに入力する必要があります (ダイヤルだけでは設定できません)。
ヒント: サウンド・エディタ で直接サポートされていない形状でサウンドの範囲を作成する場合は、[編集] > [親グループを作成] を選択してサウンド・ノードの上に Transform グループ化ノードを作成します。次に アウトライン・エディタ でスケールを変更して、平らな楕円形などの特殊な形状を作成できます。
-
デフォルト設定の空間性 (オン) とループ (オフ) を使用します。
-
[クリップをオンにするトリガの作成] をクリックして、サウンドのトリガを作成します。イベント・サウンドのトリガには通常タッチ・センサー、衝突点、接近センサーが使用されます (ドアの例ではタッチ・センサーが使用されています)。
-
サウンドと、センサーの開始時間以外のものを同期させる場合は、スクリプトを作成して、イベントによるサウンドの適切なタイミングを作成します。ドアの例ではスクリプトを使用して、ドアがほとんど閉まるまで音の発生を遅らせています。
-
矢印ボタンをクリックしてサウンドをプレビューします。
参照: