(57)【特許請求の範囲】
【請求項１】
複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成する効果音生成装置であって、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出手段と、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出手段と、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成手段と、
を具備し、
前記力学量算出手段は、
物理的なインタラクションによる外力に基づいてオブジェクトに発生する加速度を得るための順動力学演算を実行する順動力学演算手段と、
前記力学モデルを用いて前記順動力学演算手段による順動力学演算を実行させることにより、操作空間慣性逆行列及び操作空間バイアス加速度を求める操作空間物理量算出手段を備え、
操作空間慣性逆行列及び操作空間バイアス加速度を用いて記述される操作空間の加速度と力との関係式と、オブジェクト間で物理的相互作用が働いたときに課せられる拘束条件からなる線形相補性問題を満足する加速度と力を、前記操作空間物理量算出手段により求められた操作空間慣性逆行列及び操作空間バイアス加速度を用いて求め、得られた力に基づいてオブジェクトに働く力学量を算出する、
ことを特徴とする効果音生成装置。
【請求項２】
複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成する効果音生成装置であって、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出手段と、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出手段と、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成手段と、
各オブジェクトが持つ効果音の減衰特性や固有振動波形を含む振動属性に関するデータを保持する３次元オブジェクト・データ保持手段と、
を具備し、
前記効果音生成手段は、物理的なインタラクションが働いた各オブジェクトが持つ減衰特性に基づいて音響の振動波形を包絡するエンベロープ波形に減衰特性を付与し、エンベロープ波形に各オブジェクトが持つ固有振動波形を合成して効果音を算出する、
ことを特徴とする効果音生成装置。
【請求項３】
物理的なインタラクション毎に生成された各効果音の情報を過去音として登録する発生音リスト管理部を備え、
前記発生音リスト管理部に登録されている過去音を時間軸上で和をとって、現在時刻における仮想空間上の音響を算出する、
ことを特徴とする請求項１又は２のいずれかに記載の効果音生成装置。
【請求項４】
前記発生音リスト管理部は、十分に減衰した過去音を発生音リストから除外する処理を行なう、
ことを特徴とする請求項３に記載の効果音生成装置。
【請求項５】
物理的なインタラクションとして、仮想空間内におけるオブジェクト同士の衝突又は接触を扱い、
前記力学量算出手段は、物理的なインタラクションによりオブジェクトに作用する力学量として、衝突力、速度、加速度、力積、又はエネルギのうち少なくとも１つを算出する、
ことを特徴とする請求項１又は２のいずれかに記載の効果音生成装置。
【請求項６】
複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成する効果音生成方法であって、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出ステップと、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出ステップと、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成ステップと、
を有し、
前記力学量算出ステップは、
物理的なインタラクションによる外力に基づいてオブジェクトに発生する加速度を得るための順動力学演算を実行する順動力学演算ステップと、
前記力学モデルを用いて前記順動力学演算ステップによる順動力学演算を実行させることにより、操作空間慣性逆行列及び操作空間バイアス加速度を求める操作空間物理量算出ステップを有し、
操作空間慣性逆行列及び操作空間バイアス加速度を用いて記述される操作空間の加速度と力との関係式と、オブジェクト間で物理的相互作用が働いたときに課せられる拘束条件からなる線形相補性問題を満足する加速度と力を、前記操作空間物理量算出ステップにより求められた操作空間慣性逆行列及び操作空間バイアス加速度を用いて求め、得られた力に基づいてオブジェクトに働く力学量を算出する、
ことを特徴とする効果音生成方法。
【請求項７】
複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成する効果音生成方法であって、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出ステップと、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出ステップと、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成ステップと、
各オブジェクトが持つ効果音の減衰特性や固有振動波形を含む振動属性に関するデータを保持する３次元オブジェクト・データ保持ステップと、
を有し、
前記効果音生成ステップでは、物理的なインタラクションが働いた各オブジェクトが持つ減衰特性に基づいて音響の振動波形を包絡するエンベロープ波形に減衰特性を付与し、エンベロープ波形に各オブジェクトが持つ固有振動波形を合成して効果音を算出する、
ことを特徴とする効果音生成方法。
【請求項８】
物理的なインタラクション毎に生成された各効果音の情報を過去音として登録する発生音リスト管理ステップを有し、
発生音リストとして登録されている過去音を時間軸上で和をとって、現在時刻における仮想空間上の音響を算出する、
ことを特徴とする請求項６又は７のいずれかに記載の効果音生成方法。
【請求項９】
十分に減衰した過去音を前記の発生音リストから除外する処理を行なう、
ことを特徴とする請求項８に記載の効果音生成方法。
【請求項１０】
物理的なインタラクションとして、仮想空間内におけるオブジェクト同士の衝突又は接触を扱い、
前記力学量算出ステップでは、物理的なインタラクションによりオブジェクトに作用する力学量として、衝突力、速度、加速度、力積、又はエネルギのうち少なくとも１つを算出する、
ことを特徴とする請求項６又は７のいずれかに記載の効果音生成方法。
【請求項１１】
複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出手段、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出手段、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成手段、
として機能させ、
前記力学量算出手段は、
物理的なインタラクションによる外力に基づいてオブジェクトに発生する加速度を得るための順動力学演算を実行する順動力学演算手段と、
前記力学モデルを用いて前記順動力学演算手段による順動力学演算を実行させることにより、操作空間慣性逆行列及び操作空間バイアス加速度を求める操作空間物理量算出手段を備え、
操作空間慣性逆行列及び操作空間バイアス加速度を用いて記述される操作空間の加速度と力との関係式と、オブジェクト間で物理的相互作用が働いたときに課せられる拘束条件からなる線形相補性問題を満足する加速度と力を、前記操作空間物理量算出手段により求められた操作空間慣性逆行列及び操作空間バイアス加速度を用いて求め、得られた力に基づいてオブジェクトに働く力学量を算出する、
ことを特徴とするコンピュータ・プログラム。
【請求項１２】
複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータを、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出手段、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出手段、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成手段、
各オブジェクトが持つ効果音の減衰特性や固有振動波形を含む振動属性に関するデータを保持する３次元オブジェクト・データ保持手段と、
として機能させ、
前記効果音生成手段は、物理的なインタラクションが働いた各オブジェクトが持つ減衰特性に基づいて音響の振動波形を包絡するエンベロープ波形に減衰特性を付与し、エンベロープ波形に各オブジェクトが持つ固有振動波形を合成して効果音を算出する、
ことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときの効果音を生成する効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムに係り、特に、仮想オブジェクト間のインタラクションが発生したときのリアリティのある効果音を、ＶＲシステムで要求されるリアルタイム性を保ちながら生成する効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
３次元グラフィックス技術では、３次元の物体を無数のポリゴンの集合体すなわち近似的な数式モデルとして扱い、表面に材質感を表すテクスチャをマッピングし、さらには光源計算を行なってテスクチャに陰影や濃淡を付与することによって、リアルで３次元的な高精細画像を生成することができる。
【０００３】
また、ｍｏｒｐｈｉｎｇやその他の手法を適用することにより、３次元物体のアニメーションをコンピュータ上で自動生成するコンピュータ・アニメーションの開発も盛んに行なわれている。最近では、レンダリング技術の進歩により、コンピュータ・アニメーションのリアリティは格段に向上し、コンピュータ・ゲームを始めとして、仮想現実感（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ：ＶＲ）を利用した各分野において適用されている。
【０００４】
コンピュータ・アニメーションの描画面でのリアリティが増す一方で、その他の要素、例えば、物体の動きや触感、音などに関しては、リアリティの向上に余地が残されている。また、ＶＲシステムにおいて、処理の高速化とシステムへの適用方法が課題であり、その中でも重要な要件はリアルタイム性と高品質画像を両立させることである。
【０００５】
本明細書では、とりわけ、衝突や接触など、オブジェクト間のインタラクションが発生したときの効果音を人工的に合成して、コンピュータ・アニメーションのリアリティや臨場感を向上させる方法について取り扱う。
【０００６】
コンピュータ技術を利用した音響の自動生成に関しては、例えば、各種自然楽器の発音機構をシミュレーションして楽音波形を合成する楽音合成装置について提案がなされている（例えば、特許文献１を参照のこと）。同装置では、エンベロープ信号発生部により発生した励振エンベロープ信号を用いて物理モデル音源の駆動信号を生成するとともに、エンベロープ信号発生部により発生した振幅エンベロープ信号を用いて楽音信号に振幅エンベロープを付与するようにする。また、振幅エンベロープのトリガし直しを行なう場合でも、励振エンベロープはトリガし直しを行なわず、一定の駆動信号が物理モデル音源に入力して励起が持続するようにするように構成されており、初心者などであっても発音・演奏制御が容易に行なえるとともに、１ノート１ノートクレッシェンドするような演奏も発音遅れを生じることなく実現ことができる。しかしながら、同装置は、自然楽器に近い発音を自動生成することができるが、３次元仮想空間上で衝突又は接触といったオブジェクト間のインタラクションに対し、どのような効果音を付与すべきかという課題を解決するものではない。
【０００７】
また、ユーザからの３次元ビューワを介したインタラクティブなコマンド入力に応答して、物理オブジェクトを引っかいたときやたたいたときなどに発生する音をフィードバックする３次元オブジェクト提示装置について提案がなされている（例えば、特許文献２を参照のこと）。しかしながら、同装置では、３次元モデル・データとして記述される元のオブジェクトを叩いたり擦ったりしたときに発生する音を３次元モデル・データに対して添付しておき、ユーザからのインタラクションに従って再生するだけであり、衝突したときの衝撃の度合いや衝突した相手などの力学量に応じた音響を生成するものではなく、ＶＲシステムに適用したときにはリアリティに欠けたものとある。
【０００８】
また、複数の物体の干渉度合いを衝撃音によって表現する物体干渉表現装置について提案がなされている（例えば、特許文献３を参照のこと）。しかしながら、同装置では、例えば同じ材質の物体が衝突した場合の衝撃音データを、衝突の衝撃が大、中、小それぞれの場合に分けてあらかじめ記憶しておき、衝撃変形解析シミュレーションの結果として得られる衝撃の度合いに応じていずれかの衝撃音データをそのまま再生出力するものあるから、ユーザは物体の干渉度合いを聴覚的に認識することはできるものの、その音響は精緻さに欠け、十分な現実感を与えることはできないと思われる。
【０００９】
現在、ＶＲシステムで採り入れられている音源の合成方法は、基本的にはあらかじめサンプリングされた音声を生成するという単純な手法に依存したものであり、物理モデルに裏付けられたリアリティのある音響を合成することはできない。
【００１０】
一方、３次元仮想空間を利用したシステムでは、リアルタイム処理が重要である。コンピュータ・ゲームを始めとするアプリケーションでは、多数のオブジェクトが同時にインタラクションを起こす場面が想定されるが、過度に精密な物理モデルを構成すると、実時間処理が困難となる。言い換えれば、簡潔ではあるがリアリティ創出効果の高い、効果音生成アルゴリズムが望まれている。
【００１１】
【特許文献１】特開平９−３０５１７７号公報（特許第３０４４３７５号公報）
【特許文献２】特開２００１−２５６５１０号公報
【特許文献３】特開２００４−２５２７５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときのリアリティのある効果音を、ＶＲシステムで要求されるリアルタイム性を保ちながら生成することができる、優れた効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムを提供することにある。
【００１３】
本発明のさらなる目的は、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときのリアリティのある効果音を、物理モデルの裏付けにより合成することができる、優れた効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成する効果音生成装置であって、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出手段と、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出手段と、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成手段と、
を具備することを特徴とする効果音生成装置である。
【００１５】
最近の情報技術の進歩とともに、仮想現実感を利用したＶＲシステムが多岐にわたって応用されているが、コンピュータ・アニメーションの描画面でのリアリティが増す一方で、効果音などのその他の要素に関しては、リアリティの向上に余地が残されている。多くのシステムでは、基本的に、オブジェクト同士の衝突など仮想空間内で物理的インタラクションが発生したタイミングに合わせて、あらかじめ記録若しくは生成しておいた音響データを再生出力するだけであり、その音響は精緻さに欠け、十分な現実感を与えることはできないと思われる。
【００１６】
これに対し、本発明によれば、３次元仮想空間におけるオブジェクト間の衝突やその他の物理的なインタラクションを、力学シミュレーションを用いて算出し、得られた力学量に基づいてリアリティがあり精緻な物体の動きや触感、衝突時の効果音などを導き出すことができる。
【００１７】
操作空間は、オブジェクトに作用する力と発生する加速度の関係を記述するための空間である。操作空間慣性逆行列及び操作空間バイアス加速度といった操作空間物理量を用いて、操作空間の加速度と力との関係式を記述することができる。そして、オブジェクト間で衝突といった物理的インタラクションが働いたときに課せられる拘束条件からなる線形相補性問題を満足する加速度と力を、これら操作空間慣性逆行列及び操作空間バイアス加速度を用いて求め、得られた力に基づいてオブジェクトに働く衝突力や、さらには速度、加速度、力積、エネルギといった力学量を決定することができる。
【００１８】
操作空間慣性逆行列を定義通りの計算で求めようとすると、計算量が膨大であり、ＶＲシステムに求められるリアルタイム性に向かないという問題がある。そこで、本発明では、３次元仮想空間に存在するオブジェクトの挙動を物理学に基づいて決定する力学モデルを用い、一般化力から一般化加速度を得る順動力学演算ＦＷＤを実行させることにより、操作空間慣性逆行列及び操作空間バイアス加速度を高速で算出するようにした。
【００１９】
例えば、前記操作空間物理量算出手段は、物理的相互作用によって仮想物体に働く垂直反力及び摩擦力の作用方向に操作空間を設定し、前記力学量算出手段は、仮想物体間に指定した反発係数の反発と適切な摩擦力を実現させるための拘束条件を用いて線形相補性問題を設定し、該線形相補性問題を解決することによって、物理的相互作用が発生したときに仮想オブジェクトに働く衝突力などの力学量を決定することができる。
【００２０】
また、前記操作空間物理量算出手段は、仮想物体間の相対位置偏差方向に操作空間を設定し、前記力学量算出手段は、仮想物体間が指定した相対位置となるための拘束条件を用いて線形相補性問題を設定し、該線形相補性問題を解決することによって、物理的相互作用が発生したときに仮想オブジェクトに働く衝突力などの力学量を決定することができる。
【００２１】
また、物理的相互作用が働く仮想オブジェクトが人型キャラクタのような複数の剛体が連なって構成されるリンク構造物である場合には、前記力学量算出手段は、前記リンク構造物を構成する各リンクの位置又は姿勢に関する拘束条件を用いて線形相補性問題を設定するようにすればよい。
【００２２】
音響の音量は、基本的に、音響の振動波形を包絡するエンベロープ波形に支配される。そこで、本発明に係る効果音生成装置では、効果音生成手段が、オブジェクトに働く力学量に基づいてエンベロープ波形の振幅を決定することにより、臨場感があり、物理的根拠を持ったリアルな効果音を生成するようにした。例えば、大きな衝突が発生した場合には、エンベロープ波形の振幅の絶対値が大きくなる。
【００２３】
各オブジェクトは、効果音の減衰特性や固有振動波形を含む振動属性を備えている。前記効果音生成手段は、物理的なインタラクションが働いた各オブジェクトが持つ減衰特性に基づいてエンベロープ波形に減衰特性を付与し、エンベロープ波形に各オブジェクトが持つ固有振動波形を合成することによって、臨場感のある精緻な効果音を算出することができる。
【００２４】
仮想空間上で、現在時刻における音は、過去に生じたすべての衝突のインパルス応答の和と考えることができる。そこで、物理的なインタラクション毎に生成された各効果音の情報を過去音として登録する発生音リスト管理部を備え、前記発生音リスト管理部に登録されている過去音を時間軸上で和をとって、現在時刻における仮想空間上の音響を算出するようにすればよい。
【００２５】
また、実際には、オブジェクトの衝突からの時間の経過とともに衝突音の音量はエンベロープ波形に従って減少していき、やがて聞き取れなくなる。すなわち、すべての過去の時刻を遡る必要はなく、現時刻の音に実質的に影響を与え得る、有限時間分の衝突に関して算出すればよい。そこで、前記発生音リスト管理部は、十分に減衰した過去音を発生音リストから除外する処理を行なうようにすればよい。
【００２６】
また、本発明の第２の側面は、複数の仮想オブジェクトが共存する仮想空間内におけるオブジェクト間の物理的なインタラクションに伴う効果音を生成するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
前記仮想空間内で物理的なインタラクションが生じるオブジェクトを検出するインタラクション検出手順と、
物理的なインタラクションが働くオブジェクト間の挙動を物理学に基づいて決定する力学モデルを用いて、インタラクションによりオブジェクトに作用する力学量を算出する力学量算出手順と、
該算出された力学量を用いて、インタラクションに伴いオブジェクトに発生する効果音を生成する効果音生成手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【００２７】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係る効果音生成装置と同様の作用効果を得ることができる。
【発明の効果】
【００２８】
本発明によれば、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときのリアリティのある効果音を、ＶＲシステムで要求されるリアルタイム性を保ちながら生成することができる、優れた効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムを提供することができる。
【００２９】
また、本発明によれば、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときのリアリティのある効果音を、物理モデルの裏付けにより合成することができる、優れた効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムを提供することができる。
【００３０】
また、本発明によれば、衝突や接触など、オブジェクト間のインタラクションが発生したときの効果音を、物理学に基づいた数理モデルによって人工的に合成して、コンピュータ・アニメーションのリアリティや臨場感を向上させることができる、優れた効果音生成装置及び効果音生成方法、並びにコンピュータ・プログラムを提供することができる。
【００３１】
近年のコンピューティング・パワーの向上により、順運動学シミュレーションをバックグランドで実行し、その演算結果に基づいて３次元オブジェクトを駆動するという、実時間力学ベースのＣＧアニメーションが現実的となりつつある。本発明に係る効果音生成方法によれば、力学シミュレーションとの協調により、３次元オブジェクトの動きのリアリティ、押したりつかんだりといった物理的インタラクションのリアリティの提示が可能なゲームを実現することができる。また、本発明に係る効果音生成方法によれば、物理的な根拠のある効果音を、リアルタイムで、インタラクティブに、且つ効率的に発生することが可能となり、ＣＧアニメーションのさらなるリアリティ向上に寄与するであろう。
【００３２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３４】
システム構成
図１には、本発明の一実施形態に係る３次元仮想空間提示装置１００のハードウェア構成を模式的に示している。同装置１００は、スピーカ１０４、ディスプレイ１０５、力覚提示器（ハプティクス・デバイス）１０６を介して、計算機上に構築された３次元仮想空間の様子をユーザに提示する機能を備えており、例えばコンピュータ・ゲーム機若しくはその一部として構成することができる。
【００３５】
スピーカ１０４は３次元仮想空間で発生したイベントに関連した音を出力し、ディスプレイ１０５は３次元仮想空間の視覚情報を提示し、ハプティクス・デバイス１０６は３次元仮想空間内の物体に触れた際に感じられる力覚情報を提示する。本実施形態に係る３次元仮想空間提示装置１００によれば、これらの入出力形を協調的に駆使し、計算機上に構築された３次元仮想空間があたかも実在する空間であるかのように、高いリアリティと臨場感を以ってユーザに提示することができる。
【００３６】
ＣＰＵ１０１は、ＲＯＭ１０３又は図示しない外部記憶装置に格納されているコンピュータ・ゲームやその他のアプリケーションをＲＡＭ１０２に展開して実行することにより、３次元仮想空間内における時間的変化や、音情報、映像情報、力情報を逐次算出し、ＲＡＭ１０２に書き込む。また、音情報、映像情報、力情報は、それぞれスピーカ１０４、ディスプレイ１０５、ハプティクス・デバイス１０６を介してユーザに提示される。また、上述した各デバイス１０４〜１０６は、リアルタイム性を確保するのに十分な転送速度を持つ高速バス１０７によって接続され、相互に情報の授受が可能となるように構成されている。
【００３７】
本実施形態に係る３次元仮想空間提示装置１００は、とりわけ、音に関する情報をリアルタイムで且つ高いリアリティを持って提示する点に特徴があり、オブジェクト間のインタラクションが発生したときの効果音を、物理学に基づいた数理モデルによって人工的に合成して、コンピュータ・アニメーションのリアリティや臨場感を向上させることができる。以下では、ＣＰＵ１０１で実行される、音に関する情報算出の方法を中心に説明する。
【００３８】
図２には、ＣＰＵ１０１上で実行される、音に関する情報を算出するためのプログラムの機能的構成を模式的に示している。
【００３９】
３次元仮想空間提示装置１００において処理対象となる仮想３次元空間の状態は、当該空間内に存在する各仮想オブジェクトに関する３次元オブジェクト・データとしてＲＯＭ１０３若しくは外部記憶装置（図示しない）に格納される。この３次元オブジェクト・データとして、オブジェクト毎の、（１）位置や姿勢、寸法、接続関係といった幾何属性、（２）質量や慣性テンソル、摩擦、反発係数といった力学属性、（３）減衰特性や固有振動波形などからなる振動属性に関するデータが少なくとも保持されているとものする。
【００４０】
順動力学演算部２１は、いわゆる力学シミュレーションに用いられるコア演算としての順動力学演算（ＦＷＤ）により、３次元仮想空間上で各オブジェクトの挙動に関する力学量を算出する。具体的には、順動力学演算部２１は、３次元オブジェクト・データとして格納されている各オブジェクトの幾何属性や力学属性などを用いて、ニュートン−オイラー力学に基づき、オブジェクト内部に発生する力やオブジェクト外部に作用する力からオブジェクトに発生する加速度を算出し、オブジェクトの運動のシミュレーション計算を行なう。そして、順動力学演算の結果に応じて各オブジェクトの３次元仮想空間上における位置や姿勢を変更する。位置や姿勢の変化をアニメーションに反映することにより、各オブジェクトは力学法則に基づいたリアルな動きを呈する。順動力学演算の構成法の詳細については後述に譲る。
【００４１】
衝突検出部２２は、３次元オブジェクト・データ内の各オブジェクトの衝突を検出するとともに、オブジェクト表面の衝突点集合を算出する。本発明を実現する上で衝突検出アルゴリズムは特に限定されないが、例えば本出願人に既に譲渡されている特願２００５−２８９５９８号明細書に記載されている接触形状算出方法を用いてオブジェクト間の衝突を算出することができる。
【００４２】
衝突力算出部２３は、衝突検出部２２で算出された衝突点に作用する外力を算出する。衝突力の算出法については、例えば、操作空間物理量と線型相補性問題を用いて決定することができるが、この点の詳細については後述に譲る。
【００４３】
衝突やその他の外力が印加されたオブジェクトは、オブジェクトが固有に持つ固有振動波形に基づいて衝突音を発し、衝突が起こった時点からの時間の経過とともに、固有振動波形を持った衝突音の音量が減衰していくものとして扱う。減衰特性や固有振動波形は、オブジェクトの振動特性として、３次元オブジェクト・データに含まれている（前述）。また、図３に示すように、オブジェクトの固有振動波形とエンベロープ波形を合成した波形が、衝突したオブジェクトから発される衝突音となる。
【００４４】
本実施形態では、エンベロープ波形算出部２４は、衝突検出部２２で衝突が検出されたすべてのオブジェクトに関して、衝突力算出部２３で得られたオブジェクトの外力や速度変化などの物理量に応じて、効果音のエンベロープ波形を算出する。エンベロープ波形は、図３に示した通り、効果音の音量を支配する波形であり、大きな衝突が発生した場合には絶対値が大きくなる。その減衰の度合いは、３次元オブジェクト・データ内の個々のオブジェクトの上記振動属性の他、後述の方法によって決定される。このようにエンベロープ波形に力学演算の結果を反映することで、物理的根拠を持った効果音の発生が効果的に行なうことができる。したがって、順動力学演算部２１による力学シミュレーション結果を利用して、オブジェクトに対し力学法則に基づいたリアルな動きを呈することと併せて、仮想現実感を向上させる相乗効果が期待できる。
【００４５】
固有振動波形設定部２５は、すべての衝突に関する固有振動波形を設定する。各々のオブジェクトの固有振動波形はオブジェクトの発する音色に相当する。固有振動波形は、図３に示したように、エンベロープ波形に比べて高い周波数を有し、物理モデルに基づいて算出すると大きな計算量を有する。このため、本実施形態では、各オブジェクトの振動属性データを静的な固有振動データの１つとして登録しておくものとする。例えば、金属オブジェクトには金属の固有振動波形を、プラスチック・オブジェクトにはプラスチックの固有振動波形を、各オブジェクトの振動属性として保持させる。固有振動波形設定部２５は、これらの３次元オブジェクト・データ内の個々のオブジェクトが持つ振動属性に基づいて、衝突に関する固有振動波形を設定する。
【００４６】
上述のように、オブジェクトの衝突による発生音はエンベロープ波形とオブジェクトの固有振動波形によって決定される。そこで、本実施形態では、エンベロープ波形設定部２４により設定されたエンベロープ波形と固有振動波形設定部２５により設定された固有振動波形の組を、仮想空間内でのオブジェクトの衝突により発生する音を構成する発生音情報として扱う。発生音リスト管理部２６は、逐次得られる発生音情報を過去音として過去発生音リストに登録する。また、オブジェクトの衝突からの時間の経過とともに衝突音の音量はエンベロープ波形に従って減少していき、やがて聞き取れなくなることから、十分過去の発生音情報を過去音リストから除外する処理を行なう。
【００４７】
個々の衝突で発生する効果音は、エンベロープ波形と固有振動波形の合成波により求まる。そして、エンベロープ波形算出部２４は衝突力算出部２３により求められた衝突力に応じてエンベロープ波形を算出するが、衝突力算出部２３が力学シミュレーションに基づく手法により高速で衝突力を算出できることから、リアルタイムにエンベロープ波形を算出できる。すなわち、リアルな効果音をリアルタイムで出力することができることになるので、３次元仮想空間に臨場感を与えることができる。
【００４８】
発生音合成部２７は、過去発生音リストに登録されている各発生音情報に基づいてエンベロープ波形と固有振動波形の合成を行なうことで、すべてのオブジェクト衝突に伴う発生音を求めた後、これらすべての発生音を時間軸上で重ね合わせ、現時刻における３次元仮想空間内の発生音を算出する。上述したように、発生音リスト管理部２６は、衝突から十分に時間が経過してもはや聞き取れなくなった発生音情報を過去発生音リストから除外するので、発生音合成部２７では、不要な音合成処理を行なわなくて済む。
【００４９】
サウンド出力部２８は、発生音合成部２７で得られた合成波形をスピーカの駆動信号に変換して、３次元仮想空間上でインタラクションを起こしたオブジェクトの効果音として音響出力する。
【００５０】
なお、本実施形態に係る３次元仮想空間提示装置１００では、オブジェクト間の衝突に関する物理量を順動力学演算部２１による力学シミュレーションにより求めた結果を用いて、ハプフィクス・デバイス１０６を介してユーザにオブジェクトのインタラクションに関する力提示を行なうことが可能である。但し、力提示は本発明の要旨には直接関連しないので、本明細書では説明を省略する。
【００５１】
力学シミュレーションを用いた衝突力のリアルタイム算出
本実施形態に係る３次元仮想空間提示装置では、力学シミュレーション結果を利用して得られる衝突力などの力学量に基づいて効果音のエンベロープ波形を算出することから、衝突オブジェクトの固有振動波形にエンベロープ波形を乗算することで物理的根拠を持った臨場感のある効果音を生成することができる。さらに、高速な衝突力を算出可能な力学シミュレーション方法を導入することで、リアルな効果音のリアルタイム生成を実現している。ここでは、順動力学演算ＦＷＤの構成方法や力学シミュレーションによる衝突力の算出方法について詳解する。
【００５２】
力制御、力学シミュレーション、コンピュータ・アニメーション、姿勢編集、外力推定など、多くの分野において、「操作空間（Ｏｐｅｒａｔｉｏｎａｌ  Ｓｐａｃｅ）」と呼ばれる重要な概念がある。この操作空間とは、オブジェクトに作用する力と発生する加速度の関係を記述するための空間のことである。操作空間は、基本的には操作空間慣性逆行列と呼ばれる行列によって与えられ、力と加速度を紐付けする表現方法を得ることができる。
【００５３】
操作空間慣性逆行列及び操作空間バイアス加速度といった操作空間物理量を用いて、操作空間の加速度と力との関係式を記述することができる。そして、オブジェクト間で衝突といった物理的インタラクションが働いたときに課せられる拘束条件からなる線形相補性問題を満足する加速度と力を、これら操作空間慣性逆行列及び操作空間バイアス加速度を用いて求め、得られた力に基づいてオブジェクトに働く衝突力や、さらには速度、加速度、力積、エネルギといった力学量を決定することができる。
【００５４】
ここで、定義通りの計算では、操作空間慣性逆行列の算出には非常に多くの計算量となるため、リアルタイム処理に向かないという問題がある。そこで、本実施形態では、３次元仮想空間に存在するオブジェクトの挙動を物理学に基づいて決定する力学モデルを用い、一般化力から一般化加速度を得る順動力学演算ＦＷＤを実行させることにより、操作空間慣性逆行列及び操作空間バイアス加速度を高速で算出するようにした。
【００５５】
例えば、ＣＧキャラクタなど複数の剛体が連なって構成されるリンク構造物全体の運動方程式は下式（１）のような形で表現できることが知られている。
【００５６】
【数１】
0004736771.tif 000002
【００５７】
ここで、τは一般化変数ｑに対応した一般化力、ｂは重力・コリオリ力、ｆは操作空間に作用する外力、Ｈは構造全体の関節空間に対する慣性行列、Ｊは操作空間を定義するヤコビアンである。上式（１）を以下のように変形することができる。
【００５８】
【数２】
0004736771.tif 000003
【００５９】
但し、ｃは操作空間バイアス加速度（外力が作用しない場合に操作空間に発生する加速度）であり、下式のように表される。
【００６０】
【数３】
0004736771.tif 000004
【００６１】
また、上式（２）中のΛ-1は操作空間慣性逆行列と呼ばれる行列であり、下式に示すように、操作空間慣性逆行列は、任意部位における力と加速度を関連付ける行列であり、力制御、力学シミュレーション、コンピュータ・アニメーション、姿勢編集、外力推定など、多くの分野への応用を可能にする重要な物理量である。
【００６２】
【数４】
0004736771.tif 000005
【００６３】
上式（２）において、右辺から左辺を得ることを考えると、外力や一般化力、重力、速度積に関連する力（コリオリ力など）が作用したときの操作空間における加速度を求める問題と見ることができる。操作空間における加速度を求める点が通常の順動力学計算と異なるが、一種の順動力学演算と捉えることができる。順動力学演算ＦＷＤは、リンク構造物の力学モデルとしての関節モデル並びに各関節の速度、一般化力としての関節トルクτ、重力ｇ、並びに外力ｆをパラメータに持ち、下式（５）のように表現することができる。但し、ｇは重力加速度である。
【００６４】
【数５】
0004736771.tif 000006
【００６５】
この順動力学演算ＦＷＤによれば、リンク構造物の力学モデルに相当する一般化変数ｑと、一般化力τ、重力ｇ、外力ｆといったリンク構造物に作用する力情報から、リンク構造物の各点に発生する加速度を得ることができる。ここで、上式（５）において、順動力学演算ＦＷＤの入力パラメータのうち一般化変数ｑ及び外力ｆ以外をすべて０とする制約条件下では、重力、関節力、速度積に関連する力（コリオリ力など）が発生しない状況において操作空間に発生する加速度を求めることができる。すなわち、式（３）においてバイアス加速度ｃ＝０とすることができる。さらに、ｆ＝ｅi、すなわち、ｉ番目の操作空間にのみ単位外力を作用させる条件下で計算を実行すると、操作空間慣性逆行列Λ-1の第ｉ列を求めることができることが分る。よって、下式（６）の演算をすべての行ｉについて実行すれば操作空間慣性逆行列Λ-1全体を得ることができる。
【００６６】
【数６】
0004736771.tif 000007
【００６７】
また、上式（ ５）の順動力学演算ＦＷＤを外力ｆ＝０とし、関節に発生する力及び関節の速度、重力のみが作用するという制約条件下で実行することで、下式（７）に示すように操作空間バイアス加速度ｃを抽出することができる。
【００６８】
【数７】
0004736771.tif 000008
【００６９】
要するに、上式（６）及び（７）を併せて、力学モデルとしての一般化変数ｑを用いて順動力学演算ＦＷＤを実行することにより、操作空間における重要な物理量である操作空間慣性逆行列Λ-1と操作空間バイアス加速度ｃを求めることができる訳である。
【００７０】
上述した操作空間慣性逆行列の算出方法は、仮想環境内に複数のオブジェクトが共存し、それらの間の衝突や接触といった物理的なインタラクョンを計算機上で再現する力学シミュレーションを実時間で実行したり、その中のオブジェクトを操作したりする場合に有効である。力学シミュレーションの力学演算は、順動力学演算ＦＷＤに対し、物体間の力を外力として作用させることで実行することができる。
【００７１】
図４には、物体間で衝突や接触といった物理的相互作用が印加されている様子を例示している。図４（Ａ）では、同図中（ａ）及び（ｂ）で示す箇所において仮想物体間の衝突が検出されるが、その際の外力は、物体間に指定した反発係数の反発と、適切な摩擦が実現するように、下式（８）〜（１０）に示す線形相補性問題を解いて決定することができる。
【００７２】
【数８】
0004736771.tif 000009
【００７３】
ここで、上式（９）及び（１０）中でそれぞれ存在するｆNi及びｆFiは、オブジェクトが外界との接触に関する拘束による作用点ｉにおける法線方向の外力及び摩擦力を表す。μiは当該作用点における摩擦係数である。
【００７４】
上式（８）〜（１０）は線形相補性問題と呼ばれる。そして、操作空間慣性逆行列Λ-1及びバイアス加速度ｃが既知であれば、この線形相補性問題を解くことによって、これらを満足するｘの加速度及び力ｆを決定することができる。線形相補性問題の数学的な解法自体については、例えば“ＦａｓｔＣｏｎｔａｃｔ Ｆｏｒｃｅ Ｃｏｍｐｕｔａｔｉｏｎ ｆｏｒ Ｎｏｎｐｅｎｅｔｒａｔｉｎｇ Ｒｉｇｉｄ Ｂｏｄｉｅｓ”（ＳＩＧＧＲＡＰＨ９４，ｐｐ．２３−３４，１９９４）に記載されているので、ここでは説明を省略する。
【００７５】
オブジェクトが衝突する部位（ａ）及び（ｂ）に垂直反力及び摩擦力の作用方向に操作空間を設定し、これまで説明してきた方法により操作空間慣性逆行列Λ-1及びバイアス加速度ｃを高速に算出すれば、短時間で精密にこの外力を得ることができる。したがって、複雑な環境であってもリアルタイムで精緻な力学シミュレーションを実行することが可能となる。
【００７６】
また、図４（Ｂ）には、このような実時間力学シミュレーション環境に対し、ハプティック・デバイスＤ１を接続し、ハプティック・デバイスＤ１の先端の位置に基づいて仮想環境内のオブジェクトＰ１（プロキシ）の位置を変更するとともに、オブジェクトＰ１に作用した力をハプティック・デバイスＤ１にフィードバックするように構成した例を示している。
【００７７】
この場合、オブジェクトＰ１の位置がハプティック・デバイスＤ１の指令位置に一致するように、その相対位置偏差に関して操作空間（ｃ）を設定する。また、図４（Ａ）に示した例と同様に、オブジェクトＰ１と他オブジェクトとの衝突に関して垂直反力及び摩擦力の作用方向に操作空間（ｄ）を設定する。これらの拘束も上式（８）〜（１０）で示される線形相補性問題として定式化される。この構成で計算量が最も多い操作空間逆行列Λ-1も、本実施形態に係る方法であれば実時間で算出可能となり、仮想環境内の物体に触れた感じを、ハプティック・デバイスＤ１上でリアルタイムに且つ精密に再現することが可能となる。
【００７８】
また、図４（Ｃ）には、同図（Ｂ）に示した構成に加え、仮想空間内のオブジェクト（例えば人型キャラクタ）のさまざまな位置に、位置や姿勢に関する拘束（Ｌ１〜Ｌ４）を課せるようにした構成を示している。
【００７９】
位置や姿勢の拘束は式（８）に示したような等式条件で表現することができる。操作空間は、位置や姿勢の拘束を設定する位置にワールド座標系と並行な３方向を設定すればよい。また、このような位置や姿勢に関する拘束をオブジェクトＰ２と物体間の相対位置及び姿勢に適用し、ここに操作空間（ｅ）を設定することで、ハプティック・デバイスＤ２を用いて仮想空間内の物体の所定の位置を引っ張ったり捩じったりして、そのときにオブジェクトＰ２に作用する力をハプティック・デバイスＤ２にフィードバックすることにより、仮想環境内で引っ張ったり捩じったりした反力を精緻に感じとることもできる。
【００８０】
これらの問題も操作空間を用いて定式化することができ、上式（８）〜（１０）で示される線形相補性問題に還元される。図４（Ｃ）に示した構成でも計算量の最も多い箇所は操作空間逆行列Λ-1の算出部分となるが、上述した算出方法によれば実時間でも算出可能となる。したがって、例えばユーザは、実際の物体を触れて姿勢を編集するのと同様の力をリアルタイムに感じながら、キャラクタの運動制御や姿勢編集などを行なうことができるようになる。また、このような力ベースの姿勢編集により、逆キネマティクスによく見られる特異点付近での不安定な挙動も除去することができる。
【００８１】
力学量に基づく効果音の自動生成
本実施形態に係る３次元仮想空間提示装置１００では、力学シミュレーションの結果から、効果音の振動波形を包絡するエンベロープ波形を構成し、衝突するオブジェクトが持つ固有振動波形と合成することにより、物理的根拠を備えたリアルな効果音を生成する。ここでは、その算出方法について詳解する。
【００８２】
衝突検出部２２は、３次元オブジェクト・データ内で発生するオブジェクトの衝突を検出するとともに、オブジェクト表面の衝突点集合を算出する。また、衝突力算出部２３は、衝突検出部２２で算出された各衝突ｉにおいて作用する衝突力を、力学シミュレーションを応用して算出する（上述）。
【００８３】
エンベロープ波形算出部２４は、衝突検出部２２で検出された各衝突ｉに関して、衝突力算出部２３で得られた物理量に応じて、効果音のエンベロープ波形を算出する。衝突ｉが時刻ｔ＝０に発生したとすると、この衝突によって生じる音のエンベロープ波形Ｅi（ｔ）は、以下のようなインパルス波形として表現できると考えられる。
【００８４】
【数９】
0004736771.tif 000010
【００８５】
上式において、Ｅ0iは衝突ｉが発生する音の立ち上がり音量であり、エンベロープ波形算出部２４は、この値を衝突力算出部２３が算出した衝突の大きさに応じて決定することで、衝突若しくは接触に伴う効果音のリアリティを向上させることができる。また、λiは音の減衰具合を表すパラメータであり、３次元オブジェクト・データの振動属性（前述）として記憶されている。そして、衝突ｉを生じた２物体の減衰パラメータをλ1i、λ2iとすると、衝突ｉの減衰パラメータはその平均として下式のように見積もることができる。
【００８６】
【数１０】
0004736771.tif 000011
【００８７】
また、衝突によって発生する音の大小は、衝突力の大きさと密接な関係がある。よって、下式に示すように、衝突ｉで発生した衝突力ｆiに対して適当なゲインＫiを乗じた値などを立ち上がり音量として設定することができる。
【００８８】
【数１１】
0004736771.tif 000012
【００８９】
固有振動波形設定部２５は、各衝突ｉに関する固有振動波形を設定する。各々のオブジェクトの固有振動波形はオブジェクトの発する音色に相当する。衝突ｉを生じた２物体の固有振動波形をそれぞれＩ1i（ｔ）、Ｉ2i（ｔ）とすると、衝突ｉが発生する固有振動波形Ｉi（ｔ）はその平均として、下式に示すように見積もることができる。
【００９０】
【数１２】
0004736771.tif 000013
【００９１】
衝突ｉに関する発生音はエンベロープ波形Ｅi（ｔ）と固有振動波形Ｉi（ｔ）によって決定される。上式に示した固有振動波形Ｉi（ｔ）が正規化されているとすると、衝突ｉが発生する音波Ｓi（ｔ）は下式の通りとなる。
【００９２】
【数１３】
0004736771.tif 000014
【００９３】
本実施形態では、エンベロープ波形Ｅi（ｔ）と固有振動波形Ｉi（ｔ）の組は仮想空間内でのオブジェクトの衝突により発生する音を構成する発生音情報として扱われ、発生音リスト管理部２６は、逐次得られる発生音情報を過去音として過去発生音リストに登録する。
【００９４】
時刻ｔにおける音Ｓ（ｔ）は、過去に生じたすべての衝突のインパルス応答の和と考えることができる。図５には、個々の衝突のインパルス応答を時間軸上で合成した様子を示している。すなわち、衝突ｉが発生してからｔiだけ時間が経過しているとすると、音Ｓ（ｔ）は下式のように表される。
【００９５】
【数１４】
0004736771.tif 000015
【００９６】
実際には、オブジェクトの衝突からの時間の経過とともに衝突音の音量はエンベロープ波形に従って減少していき、やがて聞き取れなくなる。すなわち、すべての過去の時刻を遡る必要はなく、現時刻の音に実質的に影響を与え得る、有限時間分の衝突に関して上式（１６）を算出すればよい。このため、発生音リスト管理部２６は、過去発生音のうちエンベロープ波形が十分に減衰したものを除外する処理を行なう。そして、発生音合成部２７は、過去発生音リストに登録されている各発生音情報に基づいてエンベロープ波形と固有振動波形の合成を行なうことで、すべてのオブジェクト衝突に伴う発生音を求めた後、これらすべての発生音を時間軸上で重ね合わせ、現時刻における３次元仮想空間内の発生音を算出する。
【００９７】
以上の手順で仮想３次元空間の効果音を生成することにより、衝突音や摩擦音といった効果音を、質感も含めてリアルに提示することが可能となる。さらに、すべてのオブジェクトの振動属性が同一のときには、式（１６）を以下のような漸化式に簡略化することができる。ここでΔｔは本演算の実行周期を表す。
【００９８】
【数１５】
0004736771.tif 000016
【００９９】
よって，同一の振動属性を呈する衝突毎に上式（１７）を実行することで、式（１６）に比較して計算量を低減するように構成することができる。
【０１００】
図６には、本実施形態に係る３次元仮想空間提示装置１００において、オブジェクトの衝突や接触などにより生じる効果音を合成するための処理手順をフローチャートの形式で示している。この処理手順は、ＣＰＵ１０１が所定のプログラムを実行するという形態で実現される。
【０１０１】
まず、衝突検出部２２により、３次元オブジェクト・データ内の各オブジェクトの衝突を検出し、衝突点集合を算出する（ステップＳ１）。
【０１０２】
続いて、衝突力算出部２３により、すべての衝突点に作用する外力を算出する（ステップＳ２）。
【０１０３】
続いて、順動力学演算部２１により、順動力学演算を実行し、時刻を微小時刻だけ進行して、３次元オブジェクトの位置や姿勢を更新する（ステップＳ３）。
【０１０４】
エンベロープ波形算出部２４では、各衝突に対して発生する衝突音のエンベロープ波形を設定する（ステップＳ４）。エンベロープ波形の立ち上がり値は式（１３）で、その減衰特性は式（１２）でそれぞれ与えられる。その双方の値を、エンベロープ波形を規定するパラメータとして記憶する。
【０１０５】
固有振動波形設定部２５では、各衝突に対して発生する衝突音の固有振動波形を設定する（ステップＳ５）。２個のオブジェクト間の衝突で発生する衝突音の固有振動波形は式（１４）によって与えられるので、３次元オブジェクト・データ内で該当する２個のオブジェクトのそれぞれの振動属性に記憶されている固有振動波形へのポインタを記憶しておく。
【０１０６】
続いて、ステップＳ４及びＳ５でそれぞれ記憶されていた発生音情報を構造体として格納し、発生音情報として過去発生音リストに登録する（ステップＳ６）。
【０１０７】
ステップＳ４〜Ｓ６の処理は、ステップＳ１で衝突検出部２２により検出されたすべての衝突点に対して実行される。
【０１０８】
続いて、過去発生音リストに登録されている発生音情報のうち、現時刻におけるエンベロープ波形の値が十分小さな閾値よりも小さくなったものを、過去発生音リストから除外する処理を行なう（ステップＳ７）。これにより、現在の音に影響を与える発生音のみが以下の効果音生成処理に反映されるようになる。
【０１０９】
続いて、発生音合成部２７により、上式（１６）に基づいて、過去音のエンベロープ波形Ｅi（ｔ）と固有振動波形Ｉi（ｔ）の合成、及びすべての過去音Ｓi（ｔ）の重ね合わせの計算を行ない、現在の発生音を算出する（ステップＳ８）。
【０１１０】
そして、ステップＳ８により算出された音をサウンド出力部２８においてスピーカ１０４の駆動信号に変換し、スピーカ１０４から出力する（ステップＳ９）。
【０１１１】
以上、ステップＳ１〜Ｓ９の処理を繰り返すことで、力学シミュレーション結果に基づいた、リアリティのある効果音生成が可能となる。
【産業上の利用可能性】
【０１１２】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１１３】
本明細書では、３次元仮想空間におけるオブジェクト間の衝突やその他の物理的なインタラクションを、力学シミュレーションを用いて算出し、得られた力学量に基づいてリアルな効果音を生成するという実施形態を中心に説明してきた。しかしながら、本発明の要旨はこれに限定されるものではなく、物理的なインタラクションが生じた物体の動きや触感などに関しても、力学シミュレーションから得られる力学量に基づいて、同様にユーザへのリアルなフィードバックをリアルタイムで実現することができる。
【０１１４】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１１５】
【図１】図１は、本発明の一実施形態に係る３次元仮想空間提示装置１００のハードウェア構成を模式的に示した図である。
【図２】図２は、ＣＰＵ１０１上で実行される、音に関する情報を算出するためのプログラムの機能的構成を模式的に示した図である。
【図３】図３は、オブジェクトの固有振動波形とエンベロープ波形を合成した波形が、衝突したオブジェクトから発される衝突音となる仕組みを説明するための図である。
【図４】図４は、物体間で衝突や接触といった物理的相互作用が印加されている様子を例示した図である。
【図５】図５は、個々の衝突のインパルス応答を時間軸上で合成した様子を示した図である。
【図６】図６は、オブジェクトの衝突や接触などにより生じる効果音を合成するための処理手順を示したフローチャートである。
【符号の説明】
【０１１６】
１００…３次元仮想空間提示装置
１０１…ＣＰＵ
１０２…ＲＡＭ
１０３…ＲＯＭ
１０４…スピーカ
１０５…ディスプレイ
１０６…ハプティクス・デバイス
２１…順運動学演算部
２２…衝突検出部
２３…衝突力算出部
２４…エンベロープ波形算出部
２５…固有振動波形設定部
２６…発生音リスト管理部
２７…発生音合成部
２８…サウンド出力部
【図１】
0004736771.tif 000017
【図２】
0004736771.tif 000018
【図３】
0004736771.tif 000019
【図４】
0004736771.tif 000020
【図５】
0004736771.tif 000021
【図６】
0004736771.tif 000022