(57)【特許請求の範囲】
【請求項１】
二つの独立したシミュレーションを統合する方法において、コンピュータをして、
時間の経過と共に第一オブジェクトにおける変化をシミュレートする第一シミュレーションであって、前記第一シミュレーションが前記第一シミュレーション期間中に前記第一オブジェクトへ適用されるべき一つ又はそれ以上の第一アクションを包含しており、前記第一シミュレーションは更に一つ又はそれ以上の予め定めた時間において前記第一シミュレーションの状態を反映する第一シミュレーション出力を包含している前記第一シミュレーションを稼動させる手順、
時間の経過と共に第二オブジェクトにおける変化を同時的にシミュレートする第二シミュレーションであって、前記第二シミュレーションが前記第二シミュレーション期間中に前記第二オブジェクトへ適用されるべき一つ又はそれ以上の第二アクションを包含している前記第二シミュレーションを稼動させる手順、
前記第二シミュレーションと関連する一つ又はそれ以上の第二アクションを前記第一オブジェクトへ適用することを包含している前記第一及び第二シミュレーション間の相互作用であって、前記第一及び第二シミュレーション間の相互作用が前記第一シミュレーションの状態に影響を与えること無しに統合したシミュレーション出力を発生する前記第一及び第二シミュレーション間の相互作用を定義する手順、
を実行させることを特徴とする方法。
【請求項２】
請求項１において、前記第二シミュレーションが一つ又はそれ以上の予め定めた時間における前記第二シミュレーションの状態を反映する第二シミュレーション出力を与えることを特徴とする方法。
【請求項３】
請求項２において、前記相互作用を定義する手順が、前記第二シミュレーション状態に影響を与えること無しに前記統合したシミュレーション出力を発生することを特徴とする方法。
【請求項４】
請求項２において、前記統合したシミュレーション出力が、前記第二シミュレーション出力と修正した第一シミュレーション出力とを結合し、前記修正した第一シミュレーション出力が前記第一シミュレーション出力に関する前記第二シミュレーションの操作によって発生されることを特徴とする方法。
【請求項５】
請求項２において、更に、コンピュータをして、
時間の経過と共に第三オブジェクトにおける変化を同時的にシミュレートする第三シミュレーションであって、前記第三シミュレーションは一つ又はそれ以上の予め定めた時間において前記第三シミュレーションの状態を反映する第三シミュレーション出力を与える前記第三シミュレーションを稼動する手順、
前記第一又は第二シミュレーションの状態に影響を与えること無しに第二の統合したシミュレーション出力を発生する前記第一、第二、及び第三シミュレーション間の相互作用を定義する手順、
を実行させることを特徴とする方法。
【請求項６】
請求項５において、前記第二の統合したシミュレーション出力が、前記第三シミュレーション出力と修正した第一の統合したシミュレーション出力とを結合し、前記修正した第一の統合したシミュレーション出力は前記統合したシミュレーション出力に関する前記第三シミュレーションの操作によって発生されることを特徴とする方法。
【請求項７】
請求項１において、前記第一及び第二シミュレーションの各々がマルチレイヤ合成における一つのレイヤのアニメーションをシミュレートすることを特徴とする方法。
【請求項８】
請求項１において、前記第二シミュレーションが前記第一シミュレーションと関連するオブジェクトのプロパティを動画化することを特徴とする方法。
【請求項９】
独立した複数のシミュレーションを統合する方法において、コンピュータをして、
第一及び第二シミュレーションであって、各シミュレーションが同時的に稼動し且つ時間の経過と共にシミュレーションの進展を定義する一つ又はそれ以上のアクションを包含しており、各シミュレーションが前記シミュレーション期間中に予め定めた時間間隔でシミュレーションの状態を反映するシミュレーション出力を包含している前記第一及び第二シミュレーションを定義する手順、
影響の方向を包含している前記第一及び第二シミュレーションの間の相互作用であって、前記影響の方向は流れエラーを防止するために前記第二シミュレーションにおける前記予め定めた時間間隔の内の一つ又はそれ以上において前記第二シミュレーションからのシミュレーション出力と前記第一シミュレーションからのシミュレーション出力とをどのようにして結合させるかを定義するものである前記第一及び第二シミュレーションの間の相互作用を定義する手順、
を実行させることを特徴とする方法。
【請求項１０】
請求項９において、前記相互作用を定義する手順において、
前記第二シミュレーションへの入力として前記第一シミュレーションからのシミュレーション出力を供給し、
前記第二シミュレーションにおいて前記第一シミュレーション出力に関して操作を行って修正した第一シミュレーション出力を発生し、
前記修正した第一シミュレーション出力と前記第二シミュレーションのシミュレーション出力とを結合して統合したシミュレーション出力を発生する、
ことを特徴とする方法。
【請求項１１】
請求項１０において、更に、前記統合したシミュレーション出力をレンダリングして表示用のデータのフレームを発生することを特徴とする方法。
【請求項１２】
請求項１０において、更に、前記第二シミュレーションにおける次のアクションに対する与えられた時間に対して前記統合したシミュレーション出力を与えることを特徴とする方法。
【請求項１３】
請求項１０において、更に、前記第二シミュレーションにおける次のアクションに対して与えられた時間において前記第二シミュレーションからのシミュレーション出力のみを与えることを特徴とする方法。
【請求項１４】
マルチレベルシミュレーションを発生するために独立した複数のシミュレーションを統合する方法において、コンピュータをして、
第一及び第二シミュレーションであって、各シミュレーションが同時的に稼動し且つ時間の経過と共にシミュレーションの進展を定義する一つ又はそれ以上のアクションを包含しており、各シミュレーションがシミュレーション期間中の予め定めた時間においてシミュレーションの状態を反映するシミュレーション出力を包含している前記第一及び第二シミュレーションを定義する手順、
前記第一及び第二シミュレーションの間の相互作用であって、前記第二シミュレーションに対する入力として前記第一シミュレーションからのシミュレーション出力を与え、修正した第一シミュレーション出力を発生するために前記第二シミュレーションと関連する一つ又はそれ以上のアクションを前記第一シミュレーション出力へ適用することを包含して前記第二シミュレーションにおいて前記第一シミュレーション出力に関して操作を行う、ことを包含している前記相互作用を定義する手順、
統合したシミュレーション出力を発生するために前記修正した第一シミュレーション出力と前記第二シミュレーションのシミュレーション出力とを結合する手順、
表示用のデータのフレームを発生するために前記統合したシミュレーション出力をレンダリングする手順、
を実行させることを特徴とする方法。
【請求項１５】
二つの独立したシミュレーションを統合する方法において、コンピュータをして、
第一及び第二レイヤであって、各レイヤは別々であるが同時的なシミュレーションを特定し且つ複数個の時間間隔にわたりシミュレーションの進展を定義する一つ又はそれ以上のアクションを包含しており、各時間間隔は関連するレイヤ状態入力と、一つ又はそれ以上の関数と、結果的に得られるレイヤ状態出力とを具備しており、前記レイヤ状態入力に対する前記一つ又はそれ以上の関数の適用が与えられた時間間隔において結果レイヤ状態出力を発生する前記第一及び第二レイヤを供給する手順、
前記第一及び第二シミュレーションの間の相互作用であって、第一レイヤの結果状態出力を第二レイヤへの入力として供給し、修正した結果状態出力を発生するために前記第二レイヤにおいて特定したアクションを前記第一レイヤの結果状態出力へ適用することを包含して前記第一レイヤの結果状態出力に関して操作を行い、統合したシミュレーション状態出力を発生するために前記第二レイヤに対する前記結果状態出力と前記修正した結果状態出力とを結合する、ことを包含している前記第一及び第二シミュレーションの間の相互作用を定義する手順、
前記統合したシミュレーション状態出力をレンダリングして表示用のフレームを発生する手順、
を実行させることを特徴とする方法。
【請求項１６】
請求項１５において、前記結合することが、前記第二レイヤによって発生される出力に影響を与えること無しに前記結果状態出力をコピーすることを特徴とする方法。
【請求項１７】
請求項１５において、更に、コンピュータをして、与えられた時間においていずれかのシミュレーションの状態を反映させるために前記第一又は第二レイヤに対する結果状態出力の何れかをレンダリングする手順、を実行させることを特徴とする方法。
【請求項１８】
請求項１５において、前記レンダリングする手順が、特定の時間において前記第一及び第二レイヤの相互作用を表すイメージを表示することを包含している方法。
【請求項１９】
同時的に稼動する複数のシミュレーションのマルチレベルシミュレーションを与えるシミュレーション装置において、
各々がシミュレーション出力を包含している第一及び第二シミュレーションを指定すべく動作可能なシミュレーションエンジンであって、第一シミュレーションからのシミュレーション出力をコピーし且つ前記第一シミュレーション出力の前記コピーを前記第二シミュレーションへ供給して同一の時間間隔で前記第二シミュレーションにおいて特定した一つ又はそれ以上のアクションを前記コピーへ適用して修正したシミュレーション出力を発生し、且つ前記修正したシミュレーション出力を予め定めた時間間隔で前記第二シミュレーションからのシミュレーション出力と結合させて前記第一シミュレーションからのシミュレーション結果に影響を与えること無しに統合したシミュレーション出力を発生する前記シミュレーションエンジン、
前記第一及び第二シミュレーションの相互作用を表す表示用のフレームを発生するために前記統合したシミュレーション出力をレンダリングするために一つ又はそれ以上の時間を指定するレンダリング指定手段、
を有していることを特徴とするシミュレーション装置。
【請求項２０】
オブジェクトをアニメーション化する方法において、コンピュータをして、
動画化すべきオブジェクトのプロパティを選択する手順、
前記プロパティの値をアップデートすることを包含して或る時間間隔にわたり前記プロパティを動画化する手順、
前記時間間隔にわたっての前記オブジェクトの短命プロパティであって、前記短命プロパティの値は同一の時間における前記プロパティの値及び関連する関数から決定される前記短命プロパティを定義し且つ動画化する手順、
前記プロパティのアニメーションをシミュレートして予め定めた時間において前記第一シミュレーションの状態を反映する第一シミュレーション出力を発生する第一シミュレーションを稼動する手順、
前記短命プロパティのアニメーションを同時的にシミュレートして前記第一シミュレーションの状態に影響を与えること無しに前記予め定めた時間において前記第二シミュレーションの状態を反映する第二シミュレーション出力を発生する第二シミュレーションを稼動する手順、
前記第二シミュレーション出力を使用して前記時間間隔期間中に前記予め定めた時間においてデータのフレームをレンダリングする手順、
を有しており、前記オブジェクトの前記短命プロパティの動画化はデータの各フレームをレンダリングした後に前記オブジェクトの短命プロパティを元の値へ復帰させることを包含しており、且つ前記短命プロパティは前記第一アニメーションによって発生される前記プロパティの基礎となる値に影響を与えること無しに各個別的なフレームに対して動画化されることを特徴とする方法。
【請求項２１】
請求項１において、前記第一複数個のアクション及び前記第二複数個のアクションのアクションが、オブジェクトに効果の付与を定義するアクション、表示空間内のオブジェクトの動きを定義するアクション、及びオブジェクトと関連する一つ又はそれ以上のプロパティを操作するアクションからなるグループから選択されることを特徴とする方法。
【請求項２２】
二つの独立したシミュレーションを統合するコンピュータプログラムを記録したコンピュータにより読み取り可能な記録媒体において、前記プログラムは、コンピュータをして、
時間の経過と共に第一オブジェクトにおける変化をシミュレートする第一シミュレーションであって、前記第一シミュレーションが前記第一シミュレーション期間中に前記第一オブジェクトへ適用されるべき一つ又はそれ以上の第一アクションを包含しており、前記第一シミュレーションは更に一つ又はそれ以上の予め定めた時間において前記第一シミュレーションの状態を反映する第一シミュレーション出力を包含している前記第一シミュレーションを稼動させる手段、
時間の経過と共に第二オブジェクトにおける変化を同時的にシミュレートする第二シミュレーションであって、前記第二シミュレーションが前記第二シミュレーション期間中に前記第二オブジェクトへ適用されるべき一つ又はそれ以上の第二アクションを包含している前記第二シミュレーションを稼動させる手段、
前記第二シミュレーションと関連する一つ又はそれ以上の第二アクションを前記第一オブジェクトへ適用することを包含している前記第一及び第二シミュレーション間の相互作用であって、前記第一及び第二シミュレーション間の相互作用が前記第一シミュレーションの状態に影響を与えること無しに統合したシミュレーション出力を発生する前記第一及び第二シミュレーション間の相互作用を定義する手段、
として機能させることを特徴とする記録媒体。
【請求項２３】
請求項２２において、前記第二シミュレーションが一つ又はそれ以上の予め定めた時間における前記第二シミュレーションの状態を反映する第二シミュレーション出力を与えることを特徴とする記録媒体。
【請求項２４】
請求項２３において、前記相互作用を定義する場合に、前記第二シミュレーション状態に影響を与えること無しに前記統合したシミュレーション出力を発生することを特徴とする記録媒体。
【請求項２５】
請求項２３において、前記統合したシミュレーション出力が、前記第二シミュレーション出力と修正した第一シミュレーション出力とを結合し、前記修正した第一シミュレーション出力が前記第一シミュレーション出力に関する前記第二シミュレーションの操作によって発生されることを特徴とする記録媒体。
【請求項２６】
請求項２３において、更に、前記プログラムがコンピュータをして、
時間の経過と共に第三オブジェクトにおける変化を同時的にシミュレートする第三シミュレーションであって、前記第三シミュレーションは一つ又はそれ以上の予め定めた時間において前記第三シミュレーションの状態を反映する第三シミュレーション出力を与える前記第三シミュレーションを稼動する手段、
前記第一又は第二シミュレーションの状態に影響を与えること無しに第二の統合したシミュレーション出力を発生する前記第一、第二、及び第三シミュレーション間の相互作用を定義する手段、
として機能させることを特徴とする記録媒体。
【請求項２７】
請求項２６において、前記第二の統合したシミュレーション出力が、前記第三シミュレーション出力と修正した第一の統合したシミュレーション出力とを結合し、前記修正した第一の統合したシミュレーション出力は前記統合したシミュレーション出力に関する前記第三シミュレーションの操作によって発生されることを特徴とする記録媒体。
【請求項２８】
請求項２２において、前記第一複数個のアクション及び前記第二複数個のアクションのアクションが、オブジェクトに効果の付与を定義するアクション、表示空間内のオブジェクトの動きを定義するアクション、及びオブジェクトと関連する一つ又はそれ以上のプロパティを操作するアクションからなるグループから選択されることを特徴とする記録媒体。
【請求項２９】
請求項２２において、前記第一及び第二シミュレーションの各々がマルチレイヤ合成における一つのレイヤのアニメーションをシミュレートすることを特徴とする記録媒体。
【請求項３０】
請求項２２において、前記第二シミュレーションが前記第一シミュレーションと関連するオブジェクトのプロパティを動画化することを特徴とする記録媒体。
【請求項３１】
独立した複数のシミュレーションを統合するコンピュータプログラムを記録したコンピュータにより読み取り可能な記録媒体において、前記プログラムはコンピュータをして、
第一及び第二シミュレーションであって、各シミュレーションが同時的に稼動し且つ時間の経過と共にシミュレーションの進展を定義する一つ又はそれ以上のアクションを包含しており、各シミュレーションが前記シミュレーション期間中に予め定めた時間間隔でシミュレーションの状態を反映するシミュレーション出力を包含している前記第一及び第二シミュレーションを定義する手段、
影響の方向を包含している前記第一及び第二シミュレーションの間の相互作用であって、前記影響の方向は流れエラーを防止するために前記第二シミュレーションにおける前記予め定めた時間間隔の内の一つ又はそれ以上において前記第二シミュレーションからのシミュレーション出力と前記第一シミュレーションからのシミュレーション出力とをどのようにして結合させるかを定義するものである前記第一及び第二シミュレーションの間の相互作用を定義する手段、
として機能させることを特徴とする記録媒体。
【請求項３２】
請求項３１において、前記相互作用を定義する場合に、
前記第二シミュレーションへの入力として前記第一シミュレーションからのシミュレーション出力を供給し、
前記第二シミュレーションにおいて前記第一シミュレーション出力に関して操作を行って修正した第一シミュレーション出力を発生し、
前記修正した第一シミュレーション出力と前記第二シミュレーションのシミュレーション出力とを結合して統合したシミュレーション出力を発生する、
ことを特徴とする記録媒体。
【請求項３３】
請求項３２において、更に、前記プログラムはコンピュータをして、前記統合したシミュレーション出力をレンダリングして表示用のデータのフレームを発生する手段として機能させることを特徴とする記録媒体。
【請求項３４】
請求項３２において、更に、前記プログラムはコンピュータをして、前記第二シミュレーションにおける次のアクションに対する与えられた時間に対して前記統合したシミュレーション出力を与える手段として機能させることを特徴とする記録媒体。
【請求項３５】
請求項３２において、更に、前記プログラムはコンピュータをして、前記第二シミュレーションにおける次のアクションに対して与えられた時間において前記第二シミュレーションからのシミュレーション出力のみを与える手段として機能させることを特徴とする記録媒体。
【請求項３６】
マルチレベルシミュレーションを発生するために独立した複数のシミュレーションを統合するプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記プログラムはコンピュータをして、
第一及び第二シミュレーションであって、各シミュレーションが同時的に稼動し且つ時間の経過と共にシミュレーションの進展を定義する一つ又はそれ以上のアクションを包含しており、各シミュレーションがシミュレーション期間中の予め定めた時間においてシミュレーションの状態を反映するシミュレーション出力を包含している前記第一及び第二シミュレーションを定義する手段、
前記第一及び第二シミュレーションの間の相互作用であって、前記第二シミュレーションに対する入力として前記第一シミュレーションからのシミュレーション出力を与え、修正した第一シミュレーション出力を発生するために前記第二シミュレーションと関連する一つ又はそれ以上のアクションを前記第一シミュレーション出力へ適用することを包含して前記第二シミュレーションにおいて前記第一シミュレーション出力に関して操作を行う、ことを包含している前記相互作用を定義する手段、
統合したシミュレーション出力を発生するために前記修正した第一シミュレーション出力と前記第二シミュレーションのシミュレーション出力とを結合する手段、
表示用のデータのフレームを発生するために前記統合したシミュレーション出力をレンダリングする手段、
として機能させることを特徴とする記録媒体。
【請求項３７】
二つの独立したシミュレーションを統合するプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記プログラムはコンピュータをして、
第一及び第二レイヤであって、各レイヤは別々であるが同時的なシミュレーションを特定し且つ複数個の時間間隔にわたりシミュレーションの進展を定義する一つ又はそれ以上のアクションを包含しており、各時間間隔は関連するレイヤ状態入力と、一つ又はそれ以上の関数と、結果的に得られるレイヤ状態出力とを具備しており、前記レイヤ状態入力に対する前記一つ又はそれ以上の関数の適用が与えられた時間間隔において結果レイヤ状態出力を発生する前記第一及び第二レイヤを供給する手段、
前記第一及び第二シミュレーションの間の相互作用であって、第一レイヤの結果状態出力を第二レイヤへの入力として供給し、修正した結果状態出力を発生するために前記第二レイヤにおいて特定したアクションを前記第一レイヤの結果状態出力へ適用することを包含して前記第一レイヤの結果状態出力に関して操作を行い、統合したシミュレーション状態出力を発生するために前記第二レイヤに対する前記結果状態出力と前記修正した結果状態出力とを結合する、ことを包含している前記第一及び第二シミュレーションの間の相互作用を定義する手段、
前記統合したシミュレーション状態出力をレンダリングして表示用のフレームを発生する手段、
として機能させることを特徴とする記録媒体。
【請求項３８】
請求項３７において、前記結合することが、前記第二レイヤによって発生される出力に影響を与えること無しに前記結果状態出力をコピーすることを特徴とする記録媒体。
【請求項３９】
請求項３７において、更に、前記プログラムはコンピュータをして、与えられた時間においていずれかのシミュレーションの状態を反映させるために前記第一又は第二レイヤに対する結果状態出力の何れかをレンダリングする手段として機能させることを特徴とする記録媒体。
【請求項４０】
請求項３７において、前記レンダリングする場合に、特定の時間において前記第一及び第二レイヤの相互作用を表すイメージを表示することを包含している記録媒体。
【請求項４１】
オブジェクトをアニメーション化するプログラムを記録したコンピュータ読み取り可能な記録媒体において、前記プログラムはコンピュータをして、
動画化すべきオブジェクトのプロパティを選択する手段、
前記プロパティの値をアップデートすることを包含して或る時間間隔にわたり前記プロパティを動画化する手段、
前記時間間隔にわたっての前記オブジェクトの短命プロパティであって、前記短命プロパティの値は同一の時間における前記プロパティの値及び関連する関数から決定される前記短命プロパティを定義し且つ動画化する手段、
前記プロパティのアニメーションをシミュレートして予め定めた時間において前記第一シミュレーションの状態を反映する第一シミュレーション出力を発生する第一シミュレーションを稼動する手段、
前記短命プロパティのアニメーションを同時的にシミュレートして前記第一シミュレーションの状態に影響を与えること無しに前記予め定めた時間において前記第二シミュレーションの状態を反映する第二シミュレーション出力を発生する第二シミュレーションを稼動する手段、
前記第二シミュレーション出力を使用して前記時間間隔期間中に前記予め定めた時間においてデータのフレームをレンダリングする手段、
として機能させ、前記オブジェクトの前記短命プロパティのアニメーション化はデータの各フレームをレンダリングした後に前記オブジェクトの短命プロパティを元の値へ復帰させることを包含しており、且つ前記短命プロパティは前記第一アニメーションによって発生される前記プロパティの基礎となる値に影響を与えること無しに各個別的なフレームに対して動画化されることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、大略、グラフィックを発生するシステムに関するものであって、更に詳細には、マルチパスシミュレーションモデルからイメージをレンダリングさせる方法及び装置に関するものである。
【０００２】
【従来の技術】
プログラムされたコンピュータは、映画を編集し且つ作成するために使用することが可能である。例えば、カリフォルニア、マウンテンビューのアドビシステムズインコーポレイテッドから入手可能なＡｆｔｅｒ  Ｅｆｆｅｃｔｓと呼ばれるコンピュータプログラムは、そのユーザに対して、フッテージ（ｆｏｏｔａｇｅ）即ち映画フィルムの断片を統合し且つアレンジすることによって映画を編集し且つ作成する能力を与える。この様なプログラムにおいては、映画を作成するプロセスは、典型的に、二つの主要なステージ、即ちモデリング（ｍｏｄｅｌｉｎｇ）及びレンダリング（ｒｅｎｄｅｒｉｎｇ）で行われる。
【０００３】
モデリングは、インポートしたフッテージのアレンジ及びタイミングを定義することによって通常合成と呼ばれる映画プロジェクト用の構造を作成するプロセスである。合成（ｃｏｍｐｏｓｉｔｉｏｎ）は、基本的には、映画の形態で空間及び時間においてフッテージ断片の処理を定義する一組の命令である。各合成は、フッテージの断片に対するプレイスホルダ即ち場所保持器である一つ又はそれ以上のレイヤの定義を包含している。モデリングは、フッテージをレイヤ内へインポートし、フッテージを編集し、フッテージをアレンジ又は合成し、且つオブジェクトを動画化し又はその他の効果を合成レイヤへ適用するサブプロセスを包含している。
【０００４】
インポートされたフッテージはビデオピクチャ、アニメーション、図、静止画、写真又はコンピュータによって発生されたイメージの形態とすることが可能である。インポートしたフッテージの各断片は一つのレイヤへ割当てられる。合成処理はジオメトリ（幾何学的形状）マスク、トランスペアレンシ（透明度）情報及びエフェクト
（効果）を使用してそれぞれのレイヤのフッテージを統合する。合成のレイヤが統合されると、アニメーション及びその他の効果を各レイヤに対して適用することが可能である。
【０００５】
観察するためのフイルム又はビデオテープなどの最終的な出力を作成するために、その合成物はレンダリングされねばならない。レンダリング処理は、各レイヤに関連するフッテージ命令を固定したビデオフレームへ変換する。レンダリングプロセス期間中に、各レイヤからの対応するピクセルが互いに重ねて合成されてユーザによって要求された出力フォーマットで、１度に１個のフレームずつ最終的なイメージが作成される。次いで、該フレームは例えばビデオテープデコーダ、写真フイルムデコーダ又はデジタルディスクデコーダなどの記録装置に対してアナログ又はデジタル形態で書込むことが可能である。この様にして、映画が作成される。
【０００６】
上述したように、アニメーションはモデリングステージの一つのサブプロセスである。アニメーション技術は、ユーザが、合成においてオブジェクトの見かけ上自発的な生きているような運動を形成することを可能とさせる。ほとんどの映画システムは、二次元又は三次元空間においてオブジェクトが移動する場合にそのオブジェクトの経路を特定することによってユーザがオブジェクト（即ち、レイヤ）をアニメート即ち動画化することを可能とさせる。該経路は、典型的に、曲線Ｑによって表わされる。この曲線Ｑに沿っての運動は、単一の関数によって記述することが可能である（例えば、時間の関数としてのｕとして記述することが可能であり、その場合にｕはＱを定義する関数の自然パラメータである）。
【０００７】
しばしば、合成物を作成するプロセスは最終的な製品を作る前に種々のモデリングステップの多数の繰返しを必要とする。シミュレーション技術は合成において行われる挙動又はアクションをモデル化し且つ最終的な製品に向かっての進展を高速化するために使用することが可能である。従来のシミュレーションモデルは、出力即ち結果状態を発生するために状態情報に関して操作を行うアクティングエージェント（ａｃｔｉｎｇ  ａｇｅｎｔ）即ち動作用エージェントの直線的進展を包含しており、その場合に時間においてすぐ前のアクティングエージェントによって発生された出力に関して次続のアクティングエージェントが操作を行う。アクティングエージェントは、典型的に、データに関して一つ又はそれ以上のオペレーション即ち操作を実施する関数を定義する。
【０００８】
図１を参照すると、従来のシミュレーションモデル５０は、時間の窓に亘り適用される一連のアクションを包含している。映画出力を発生する場合に使用すべきフレームを作成するために特定の時間間隔で個別的なフレームをレンダリングさせることが可能である。典型的に、このプロセスは直列的プロセスであり且つ与えられた時間間隔で各アクションが実行されると、シミュレーション状態出力に対する増分的な変化が適用される。より詳細に説明すると、従来のシミュレーションモデルは複数個のアクション６０からなるトラック５０に従う。アクション６０はシミュレーション状態データベース即ちＳＯＵＰ６５に関して操作を行うプロセスである。任意の与えられた時間間隔において、シミュレーション状態データベースはシミュレーション状態を表わす特定の組の定義された属性及び値である。シミュレーション状態データベースは、典型的に、一群のドットであり、その場合に各ドットは一群の属性対である。例えば、シミュレーション状態データベースは数百個のドットを包含することが可能であり、その場合に各ドットは水平位置属性及びそれの対応する値、垂直位置属性及びそれの対応する値及びカラー即ち色（赤属性及び値、緑属性及び値、青属性及び値）を包含することが可能である。
【０００９】
上述したように、アクション６０はシミュレーション状態データベースに関して操作を行うプロセス即ち処理である（即ち、ＳＯＵＰは入力及び出力の両方である）。該アクションは、ドットを付加し、ドットを除去し、又はシミュレーション状態データベースにおける一つ又はそれ以上の属性又は一つ又はそれ以上の値を修正することが可能である。アクション６０は一つ又はそれ以上のアクティングエージェント（不図示）を包含することが可能である。アクティングエージェントは、シミュレーションを効果あらしめるプロセスである。アクション又はアクティングエージェントの例は重力及び風である。従来のシミュレーションモデリングにおいては、全てのアクティングエージェントが永久的な結果を残す。即ち、シミュレーション状態データベースに適用されると、トラック内の次の時間間隔における次のアクションへパスされる効果を残存させる。
【００１０】
しかしながら、特にアニメーションシステムの場合には、一時的な結果を作成することが望ましい場合が多々ある。換言すると、典型的なシミュレーション技術は全体的なイベントの流れとは別に中間のイベントが定義された寿命の存在を有するようにアクションの流れの中において中間のイベントを作成することを可能とするものではない。
【００１１】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、マルチパスシミュレーションモデルからイメージをレンダリングさせる方法及び装置を提供することを目的とする。本発明の別の目的とするところは、二つの独立したシミュレーションを統合する方法を提供することである。
【００１２】
【課題を解決するための手段】
本発明によれば、上位概念的には、本発明は、二つの独立したシミュレーションを統合する方法を特徴としており且つ時間の経過と共にオブジェクト（対象物）における変化をシミュレートする第一シミュレーションを稼動することを包含している。第一シミュレーションは、一つ又はそれ以上の予め定めた時間において第一シミュレーションの状態を反映する第一シミュレーション出力を包含している。時間の経過と共に第二オブジェクトにおける変化を同時的にシミュレートする第二シミュレーションを稼動させる。第一及び第二シミュレーションの間のインタラクション即ち相互作用が定義され、その結果、第一シミュレーション状態に影響を与えることなしに統合されたシミュレーション出力（統合シミュレーション出力）が得られる。
【００１３】
本発明の側面は多数の特徴を包含している。第二シミュレーションは一つ又はそれ以上の予め定めた時間において第二シミュレーションの状態を反映する第二シミュレーション出力を与えることが可能である。インタラクション即ち相互作用を定義するステップが、第二シミュレーション状態に影響を与えることなしに統合シミュレーション出力を発生する。統合シミュレーション出力は第二シミュレーション出力と修正した第一シミュレーション出力とを結合し、その場合に修正した第一シミュレーション出力は第一シミュレーション出力に関する第二シミュレーションのオペレーション即ち操作によって発生される。
【００１４】
本方法は、更に、時間の経過と共に第三オブジェクトにおける変化を同時的にシミュレートする第三シミュレーションを稼動させ、且つ第一、第二、第三シミュレーションの間のインタラクション即ち相互作用を定義して、その結果、第一又は第二シミュレーション状態に影響を与えることなしに第二統合シミュレーション出力を発生することを包含している。第三シミュレーションは一つ又はそれ以上の予め定めた時間において第三シミュレーションの状態を反映する第三シミュレーション出力を与える。第二統合シミュレーション出力は、第三シミュレーション出力と修正した第一統合シミュレーション出力とを結合し、その場合に修正した第一統合シミュレーション出力は、統合したシミュレーション出力に関する第三シミュレーションの操作によって発生される。
【００１５】
第一及び第二シミュレーションの各々は、マルチレイヤ合成における一つのレイヤのアニメーションをシミュレートする。第二シミュレーションは、第一シミュレーションと関連したオブジェクトのプロパティを動画化させる。
【００１６】
別の側面においては、本発明は、第一及び第二シミュレーションを定義することを包含する独立したシミュレーションを統合する方法を提供している。各シミュレーションは同時的に稼動し且つ時間の経過と共にシミュレーションの進展を定義する複数のアクション及びシミュレーション期間中における予め特定した時間においてシミュレーションの状態を反映するシミュレーション出力を包含している。影響の方向を包含して、第一及び第二シミュレーションの間のインタラクション即ち相互作用が定義され、その場合に、影響の方向は、第一シミュレーションからのシミュレーション出力がどの様にして第二シミュレーションにおける各時間において第二シミュレーションからのシミュレーション出力と結合されるかを定義する。
【００１７】
本発明の側面は多数の特徴を包含している。インタラクション即ち相互作用を定義するステップは、第二シミュレーションへの入力として第一シミュレーションからのシミュレーション出力を与え、第二シミュレーションにおいて第一シミュレーション出力に関して操作を行って修正した第一シミュレーション出力を発生し、且つ修正した第一シミュレーション出力と第二シミュレーションのシミュレーション出力とを結合して統合シミュレーション出力を発生することを包含している。
【００１８】
統合シミュレーション出力は、表示用のデータのフレームを発生するためにレンダリングさせることが可能である。与えられた時間に対する統合シミュレーション出力は、第二シミュレーションにおける次のアクションに対して供給される。与えられた時間における第二シミュレーションからのシミュレーション出力のみが、第二シミュレーションにおける次のアクションに対して供給することが可能である。
【００１９】
別の側面においては、本発明は、マルチレベルシミュレーションを発生するために独立したシミュレーションを統合する方法を提供しており、それは第一及び第二シミュレーションを定義することを包含しており、その場合に各シミュレーションは同時的に稼動し且つ時間の経過と共にシミュレーションの進展を定義する複数のアクション及びシミュレーション期間中に予め定めた時間においてシミュレーションの状態を反映するシミュレーション出力を包含している。第一及び第二シミュレーションの間の相互作用が定義される。第一シミュレーションからのシミュレーション出力が第二シミュレーションへの入力として与えられる。第二シミュレーションにおける第一シミュレーション出力が操作されて、修正した第一シミュレーション出力を発生する。修正した第一シミュレーション出力及び第二シミュレーションのシミュレーション出力が結合されて統合シミュレーション出力を発生する。統合シミュレーション出力をレンダリングして表示用のデータのフレームを発生する。
【００２０】
別の側面においては、本発明は、二つの独立したシミュレーションを統合する方法を提供しており、且つ第一及び第二レイヤを設けることを包含しており、その場合に各レイヤは別々であるが同時的なシミュレーションを特定し且つ時間の経過と共にシミュレーションの進展を定義する複数のアクションを包含している。各アクションはレイヤ状態入力と、関数と、結果レイヤ状態出力とを包含しており、その場合に、レイヤ状態出力に対しての該関数の適用の結果、結果レイヤ状態出力が発生する。第一及び第二シミュレーションの間の相互作用が定義される。該相互作用は、第二レイヤに対する入力として第一レイヤの結果状態出力を供給し、第二レイヤにおいて特定されたアクションによって第一レイヤの結果状態出力に関して操作を行って第一レイヤに対する修正した結果状態出力を発生し、且つ第二レイヤに対する結果状態出力を第一レイヤからの修正した結果状態出力と結合して統合シミュレーション状態出力を発生することを包含している。統合シミュレーション状態出力をレンダリングして表示用のフレームを発生する。
本発明の側面は多数の特徴を包含している。結合するステップは、第二レイヤによって発生される出力に影響を与えることなしに結果状態出力をコピーする。第一又は第二レイヤに対する結果状態出力の何れかをレンダリングして与えられた時間において何れかのシミュレーションの状態を反映させることが可能である。レンダリングは、特定の時間において第一及び第二レイヤの相互作用を表わすイメージを表示することを包含している。
【００２１】
別の側面においては、本発明はシミュレーションを同時的に稼動するマルチレベルシミュレーションを与えるシミュレーションツールを提供しており且つ第一シミュレーションからのシミュレーション出力をコピーし且つ該第一シミュレーション出力のコピーを第二シミュレーションへ与えて同じ時間間隔で第二シミュレーションにおいて特定したアクションを第一シミュレーション出力へ適用させそれによって修正した第一シミュレーション出力を発生し、且つ該修正した第一シミュレーション出力を予め定めた時間に対する第二シミュレーション出力と結合して統合シミュレーション出力を発生させるために各々がシミュレーション出力を包含する第一及び第二シミュレーションを指定すべく動作可能なシミュレーションエンジンを包含している。第一及び第二シミュレーションの相互作用を表わす表示用のフレームを発生させるために統合シミュレーション出力をレンダリングするために一つ又はそれ以上の時間を指定するレンダリング指定ツールが包含されている。
【００２２】
別の側面においては、本発明はオブジェクトを動画化する方法を提供しており、それは、動画化すべきオブジェクトのプロパティを選択し、前記プロパティの値をアップデートすることを包含して時間間隔に亘って前記プロパティを動画化し、且つ前記時間間隔に亘って前記オブジェクトの短命（ｅｐｈｅｍｅｒａｌ）プロパティを定義し且つ動画化し、その場合に前記短命プロパティの値が同一の時間における前記プロパティの値及び関連する関数から決定される、ことを包含している。第一シミュレーションを稼動して、前記プロパティのアニメーションをシミュレートし、予め定めた時間において第一シミュレーションの状態を反映する第一シミュレーション出力を発生する。第二シミュレーションを同時的に稼動して、短命プロパティのアニメーションをシミュレートし、第一シミュレーションの状態に影響を与えることなしに予め定めた時間において第二シミュレーションの状態を反映する第二シミュレーション出力を発生する。第二シミュレーション出力を使用して前記時間間隔期間中に、予め定めた時間においてデータのフレームをレンダリングさせ、それによって、第一アニメーションによって発生されたプロパティの基礎をなす値に影響を与えることなしに、各個別的なフレームに対して前記短命プロパティを動画化させる。
【００２３】
本発明の利点として以下のうちの一つ又はそれ以上を包含している。本発明は、従来のシミュレーション環境よりもより多くの制御を提供している。本発明はシミュレーション環境に対して「非破壊性」の付加的な要素を与えており、そのことはシミュレーションにおける一つの時刻から実行時間又は実際のシミュレーション時間における前の任意の時刻に対する参照を行うことを可能としている。
【発明の実施の形態】
本発明は、前の時刻のシステム状態によって決定される与えられた時刻のシステム状態でシミュレーションを実施する任意のシステムにおいて実施することが可能である。例えば、本発明は、天気システム、花火シミュレーションシステム又は交通シミュレーションシステムに対しての適用性を有している。本発明は、特に、アニメーションシステムに対しての適用性を有しており且つこの様な装置における実施例に関して説明を行うが、それは単にアニメーションシステムと呼称する。
【００２４】
図２及び３を参照すると、アニメーションシステム１１０はユーザから入力を受取り且つその入力を映画における表示用のビデオ出力フレームへ変換する。アニメーションシステム１１０は合成においてオブジェクトを動画化するツールを包含しており、インポートツール１１２、アニメーションツール１１４、レンダリングツール１１６、ユーザインターフェース１１８、マルチレベルシミュレーションツール１２０を包含している。
【００２５】
インポートツール１１２は内容を検索し且つそれを合成物内に配置させる。インポートツール１１２は内容の特定の断片を選択する選択ツール（不図示）及びローカル及びリモートの箇所から内容をローディングする方法を包含することが可能である。
【００２６】
アニメーションツール１１４は合成物におけるオブジェクトを動画化させる方法及びプロセスを包含している。アニメーションツール１１４については後に詳細に説明する。
【００２７】
レンダリングツール１１６は特定の時間において合成物を表わすデータのフレームをレンダリングさせる。レンダリングツール１１６は映画において表示するためのビデオ出力フレームを発生する。
【００２８】
ユーザインターフェース１１８はグラフィカルユーザインターフェースを包含しており、それはアニメーションシステム１１０における種々のツールによって操作されて、合成物を作成し且つ表示する上でユーザを案内するための視覚的な表示を発生する。
【００２９】
マルチレベルシミュレーションツール１２０は合成物における複数のオブジェクトに対し同時的なシミュレーションを喚起するための方法及びプロセスを包含している。合成物をシミュレートするためのプロセスは図４に示してある。
【００３０】
合成物においてオブジェクトを動画化するプロセス２００において、ユーザは、例えばアニメーション用の映画合成物におけるレイヤなどの、選択ツール（不図示）を使用してオブジェクトを選択する（２０２）。ユーザはアニメーションツールを使用して動画化すべき特定のオブジェクトプロパティを指定する（２０４）。動画化することの可能なオブジェクトプロパティは、レイヤ位置、アンカ点、効果点制御及び色選択を包含している。
【００３１】
動画化することの可能な別のタイプのプロパティはレイヤマップである。レイヤマップは、関連するレイヤと他のレイヤとの相互作用を制御するために使用される。より詳細に説明すると、レイヤマップは、一つのレイヤにおける一つのピクセルが例えば別のレイヤから別のピクセルによってパスされる場合に何が起こるかを制御する。レイヤマップはピクセルの相互作用を定義するためのユーザが特定するか又はデフォルトの操作を包含している。操作の例としては、付加、差別化、設定、減算、乗算、最小化及び最大化などがある。レイヤマップは時間の経過と共にそれ自身動画化することが可能である。
【００３２】
一つの実現例においては、個別的なオブジェクトの特定のプロパティを制御するためにプロパティマッパ（ｐｒｏｐｅｒｔｙ  ｍａｐｐｅｒ）を使用する。オブジェクトのプロパティは、アニメーションにおける永続的な又は短命な態様の何れかで修正することが可能である。プロパティに対する永続的な変化は別のオペレータ（アクション）によって修正されない限り、そのオブジェクトの残存寿命期間に亘ってレイヤマップにより設定された最も最近の値を維持する。オブジェクトプロパティに対する短命変化は、変化が適用された後に該プロパティをその元の値へ戻し且つその変化を捉えながらフレームがレンダリングされる。例えば、オブジェクトの寸法を修正するためにレイヤマップが使用され且つその後に該レイヤマップが動画化され、従ってそれがフレームから抜出ると、レイヤマップピクセルがそれに対応しなくなるや否やオブジェクトはその元の寸法の値へ復帰する。アニメーションの過程期間中に適用された変化と一貫性を有するレイヤに関連したプロパティの状態を永続的に維持するために永続的プロパティマネージャを使用することが可能である。アニメーションの過程期間中に変化が一時的に適用され、オブジェクトに対するプロパティの元の状態を維持するために短命プロパティマッパを使用することが可能である。
【００３３】
ユーザは表示区域内を移動するオブジェクトの開始位置及び終了位置などの初期的オブジェクトプロパティ状態及び最終的オブジェクトプロパティ状態を定義する（２０６）。その後に、ユーザは、開始プロパティ状態と終了プロパティ状態との間でオブジェクトが追従するオブジェクトのプロパティ空間内の経路を定義することが可能である（２０８）。ユーザは最終的な合成物を作成するために表示用の一つを超えるオブジェクトを動画化することを望む場合がある（２０９）。従って、このアニメーションプロセスステップは動画化されるべき各オブジェクトに対して繰返し行うことが可能である（２１０）。
【００３４】
合成物内に包含される種々のオブジェクトの相互作用をシミュレートするために最終的な合成物のシミュレーションを喚起することが可能である（２１２）。シミュレーション結果に依存して、再モデリング又は再アニメーションを実施することが可能である（２１４）。シミュレーション結果が満足のいくものである場合には、最終的な合成出力をレンダリングし（２１６）且つプロセスを終了することが可能である（２１８）。
【００３５】
図４を参照すると、マルチレベルシミュレーションプロセス４００を喚起するためにマルチレベルシミュレーションツール１２０を使用することが可能であり、それはそのアニメーションをシミュレートすべきオブジェクトをユーザが特定することを包含している（４０２）。各オブジェクトはマルチレベルシミュレーションにおいて一つのレイヤに対して割当てられる（４０４）。ユーザはそのシミュレーションに対する開始及び停止時間を特定し（４０６）且つレンダリングツールによってシミュレーション状態の「スナップショット」が捕獲され且つビデオフレームとしてレンダリングされる一つ又はそれ以上の時間を指定する（４０８）。最後に、シミュレーションを喚起する（４１０）。
【００３６】
図５ａを参照すると、シミュレーションツール１２０はオブジェクトアニメーションをシミュレートするためにユーザから受取った要求に関して操作を行い、二つ又はそれ以上の同時的に稼動するシミュレーションの相互作用を定義するマルチレベルシミュレーションを形成する。二つ又はそれ以上のシミュレーション及びそれらの間の相互作用を包含するマルチレベルシミュレーションモデルが形成される。シミュレートされるべき各オブジェクトはシミュレーショントラック５０２が割当てられる。そのアニメーションをシミュレートすることの可能なオブジェクトの一つの例はマルチレイヤ合成における一つのレイヤである。
【００３７】
各トラック５０２はそのシミュレーションに対してユーザが指定した開始時間から終了時間の間与えられたオブジェクトに対して適用すべきアニメーション効果を記述する直線的な一連の操作５０４を包含している。任意の時間間隔期間中に、アニメーションツールを使用して定義されるように、ゼロ又はそれ以上のアクション５０６をオブジェクトに対して適用することが可能である。（例えば、時間ｔ0乃至時間ｔnext）。アクションは表示空間におけるオブジェクトの運動又はオブジェクトに対する一つ又はそれ以上の効果の適用を定義することが可能である。効果の例としては、風、重力、反発、壁又は爆発効果などがある。アクションは与えられたオブジェクトと関連する一つ又はそれ以上のプロパティの操作を包含することが可能である。永続的であるか短命であるかに拘わらず、プロパティマッパは、オブジェクトに関連する特定のプロパティに対して適用されてアニメーションプロセスを制御するために使用することが可能である。
【００３８】
開始時間ｔ0において、オブジェクトが初期的オブジェクト状態５０８によって定義される。この初期的オブジェクト状態５０８は時間ｔ0の時点におけるものであってｔ0とｔ1との間の時間間隔において定義される何らかのアクションの実行前のオブジェクトの状態を記述する属性及び情報を包含している。
【００３９】
時間ｔ1において、該オブジェクトに対して一つ又はそれ以上のアクション５０６が適用されてアニメーション効果を発生する。初期的オブジェクト状態５０８に関するアクション５０６の操作（処理）の結果は結果オブジェクト状態５１０である。結果オブジェクト状態５１０はシミュレーション実行期間中の特定の時間においてシミュレーショントラック５０２の状態をユーザに対して表示するための視覚的フレームを与えるためにレンダリングすることが可能である。結果オブジェクト状態５１０はトラック５０２における次のオペレーション即ち操作５０４に対する入力として供給される。上述したように、トラック５０２は時間の経過と共にシミュレーションの進展を定義している。各時間間隔において、一つ又はそれ以上のアクションがオブジェクト状態に対して適用され、新たな結果オブジェクト状態を発生し、それをレンダリングツール１１８によってレンダリングして視覚的表示を発生することが可能である。シミュレーションの終わりにおいて、シミュレーショントラックに対する最終的出力状態をレンダリングしてユーザに対する表示用のフレームを発生することが可能である。
【００４０】
シミュレーショントラック５０２は、又、相互作用状態情報を包含している。シミュレーションツール１２０は二つ又はそれ以上の同時的に稼動するシミュレーションを統合するためのマルチレベルシミュレーションをユーザが定義することを可能としている。より詳細に説明すると、各シミュレーショントラックは各オペレーション即ち操作５０４における入力として与えられている統合状態５２０を包含している。統合状態５２０はマルチレベルシミュレーションにおいて一つの階層レベル高いシミュレーショントラックから与えられる。統合状態５２０は階層構造においてより高い各シミュレーションレイヤに対するオブジェクト状態情報を包含している。シミュレーショントラック５０２においてオペレーション即ち操作５０４が喚起されると、各アクション５０６によって統合状態が操作され修正した統合状態５２２を発生する。修正した統合状態５２２は統合状態５２０に対して現在のシミュレーショントラックにおいて与えられた時間間隔に亘り定義された種々のアクションによって適用される効果を反映する。例えば、一つのアクション５０６は重力効果とすることが可能である。重力効果は、統合状態５２０内に包含されているシミュレーションレイヤ状態情報へ適用し、実効的に、マルチレベルシミュレーションモデルにおけるより高い階層レベルでのシミュレーション内に包含されるオブジェクトに対して重力を適用することが可能である。統合状態５２０に対する重力効果の適用は修正した統合状態５２２を作成する。
【００４１】
シミュレーションを統合するために、シミュレーションツール１２０は修正した統合状態５２２内に結果オブジェクト状態５１０をコピーし、結果統合状態情報５２４を作成し、それはマルチレベルシミュレーションにおける次のより低い階層レベルへパスされる。結果統合状態５２４は現在のシミュレーションレイヤの状態のみならず現在のシミュレーションレイヤより上の各レイヤに対する状態情報を包含している。結果統合状態５２４はレンダリングツールによってレンダリングして、現在のシミュレーションレイヤ及びマルチレベルシミュレーション階層におけるより高いレベルの統合を表わすフレームを発生することが可能である。結果統合状態５２４及び結果オブジェクト状態５１０の統合については後により詳細に説明する。
【００４２】
図５ｂを参照すると、マルチレベルシミュレーションモデル５３０が示されている。各オブジェクトは特定のトラック５０２に対して割当てられる。シミュレーションにおける第一レイヤは、ｔ0からｔendへの時間間隔に亘ってのオブジェクトのアニメーションを定義するトラック５０２−０を包含している。１実施形態においては、マルチレベルシミュレーションにおける第一トラックは初期的な統合状態５２０を包含するものではない。結果オブジェクト状態５１０−０が直接的に「空」の統合状態５２０内へコピーされて結果統合状態５２４−０を発生する。トラック５０２−０において動画化されたオブジェクトの結果状態を定義する結果統合状態５２４−０がマルチレベルシミュレーションアーキテクチャにおける次に低いレイヤ５０２−１に対する入力として供給される。
【００４３】
レイヤは別々であるが同時的なシミュレーションを特定するために使用される。レイヤの出力はより低いレイヤ（それの後に実行するもの）に効果を発生させ且つ相互作用するための入力として使用されるが、上側のレイヤのシミュレーションに対して永続的な変化を発生することはない。例えば、より低いレイヤに関して与えられた時間において動作するアクションはその与えられたより低いレイヤの及び現在のシミュレーションにおける該より低いレイヤより上のレイヤの前の状態情報を受取る。しかしながら、より低いレイヤにおけるアクションによって発生される結果的に発生する状態はそれより上のレイヤへ戻ることはなく、現在のレイヤ及びそれより下のレイヤにおける次の操作（状態）へ復帰するに過ぎない。
【００４４】
マルチレベルシミュレーションにおける第二レイヤは、ｔ0からｔendへの時間間隔に亘っての第二オブジェクトのアニメーションを定義するトラック５０２−１を包含している。第二トラックは初期的オブジェクト状態５０８−１及びマルチレベルシミュレーションにおける第一レイヤから与えられる統合状態５２０−１（それは結果統合状態５２４−０と等しい）を包含している。与えられた時間間隔に亘ってのアクションがオブジェクト状態５０８−１及び統合状態５２０−１の両方へ適用されて、それぞれ、結果オブジェクト状態５１０−１及び修正した統合状態５２２−１を発生する。結果オブジェクト状態５１０−１が現在のシミュレーショントラック５０２−１における次の操作に対する入力（オブジェクト状態入力５０８−１）としてパスされる。結果オブジェクト状態５１０−０は、修正した統合状態５２２−１内へ直接的にコピーされて結果統合状態５２４−１を発生する。トラック５０２−０及びトラック５０２−１において動画化されたオブジェクトの統合の結果状態を定義する結果統合状態５２４−１がマルチレベルシミュレーションアーキテクチャにおける次に低いレイヤ５０２−２への入力として供給される。
【００４５】
ユーザが定義した時間において、同時的なシミュレーションにおいて特定されているオブジェクトの相互作用及びシミュレーションにおいて特定されているアクションによって発生される増分的な効果を捕獲し且つレンダリングすることが可能である。より詳細に説明すると、現在の個別的なシミュレーションの状態を、与えられた時間において結果オブジェクト状態５１０をレンダリングすることによって観察することが可能である。同様に、マルチレベルシミュレーションにおける一つ又はそれ以上のレイヤの相互作用の状態を、与えられた時間において結果統合状態５２４をレンダリングすることによって観察することが可能である。各シミュレーションは並列的に進行し、一方レイヤ状態情報がフローダウン即ち下方への流れメカニズムで、上からの入力として次のレイヤへ供給される。１実施形態においては、結果的に得られる状態はシミュレーションを横断すると共に下方へ流れる。注意すべきことであるが、結果的に得られる状態情報が下方及び右側の両方へ移動することが制限されていない場合には、その情報は「合流」することが可能である。即ち、右側へ流れ次いで下方へ流れる状態情報は下方へ流れ次いで右側へ流れる情報と合流することが可能である。蓄積又は流れエラーを防止するために、下方へ流れる状態情報を右側へ流れないように制限することが可能であり且つその逆とすることも可能である。更に、右側へ流れる情報は各アクションが終了した後に下方の流れにコピーすることが可能である。
【００４６】
図５ｃを参照すると、各アクション５０６は統合状態情報とオブジェクト状態情報の相互作用を可能とするためにクロストーク経路を包含することが可能である。より詳細に説明すると、各アクションにおいて、そのアクションの効果が現在のシミュレーションレイヤにおけるオブジェクトと統合状態情報の両方に適用された後に、オブジェクト状態及び統合状態を、それぞれ、統合状態及びオブジェクト状態にコピーすることが可能である。この様にして、現在のシミュレーションにおける次の操作へパスされるアクションからの出力を統合からの状態情報のみならず現在のオブジェクト状態情報の両方を包含するような形態とすることが可能である。
【００４７】
一方、オブジェクト状態又は統合状態情報は、レイヤから統合へ又は逆に統合から個別的なレイヤへ移動することが可能である。即ち、アクションはシミュレーションレイヤからのオブジェクト状態情報の除去（又は統合状態からのデータの除去）を包含することが可能である。より興味のあることであるが、同一の又は別のアクションが除去したオブジェクト状態情報を個別的なシミュレーションレイヤに影響を与えることなしに統合内へ（又はシミュレーションレイヤ内へ）配置させることを許容することが可能である。例えば、レイヤは複数のオブジェクトに対するアニメーションを包含することが可能であり、そのうちの一つはレイヤシミュレーションにおけるアクションによって除去することが可能である。レイヤシミュレーションが次の時間間隔へ前方へ移動する場合に、そのオブジェクトはそのレイヤにおける次の時間間隔における次のアクションへパスされるオブジェクト状態情報内にはもはや存在していない。しかしながら、ユーザは除去したオブジェクトを統合したシミュレーション内に維持することを望む場合がある。従って、該オブジェクトを統合状態内に付加することにより、除去したオブジェクトを次のレイヤ内へパスすることが可能であり且つマルチレベルシミュレーションにおけるより低いレイヤの何れかによって次の時間間隔において操作することが可能である。
【００４８】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図１】  従来のシミュレーションモデリングプロセスを示した概略ブロック図。
【図２】  本発明に基づくアニメーションシステムの概略ブロック図。
【図３】  本発明に基づくアニメーションプロセスのフローチャート。
【図４】  本発明に基づくシミュレーションプロセスのフローチャート。
【図５ａ】  本発明に基づくマルチレベルシミュレーションアーキテクチャの一部を示した概略ブロック図。
【図５ｂ】  本発明に基づくマルチレベルシミュレーションアーキテクチャの別の一部を示した概略ブロック図。
【図５ｃ】  本発明の別の実施例に基づくマルチレベルシミュレーションモデルにおけるアクションを示した概略ブロック図。
【符号の説明】
１１０  アニメーションシステム
１１２  インポートツール
１１４  アニメーションツール
１１６  レンダリングツール
１１８  ユーザインターフェース
１２０  マルチレベルシミュレーションツール
【図１】
0004370031.tif 000002
【図２】
0004370031.tif 000003
【図３】
0004370031.tif 000004
【図４】
0004370031.tif 000005
【図５ａ】
0004370031.tif 000006
【図５ｂ】
0004370031.tif 000007
【図５ｃ】
0004370031.tif 000008