JP2850851B2 - 映像表示方法および映像表示装置 - Google Patents

映像表示方法および映像表示装置

Info

Publication number
JP2850851B2
JP2850851B2 JP8134755A JP13475596A JP2850851B2 JP 2850851 B2 JP2850851 B2 JP 2850851B2 JP 8134755 A JP8134755 A JP 8134755A JP 13475596 A JP13475596 A JP 13475596A JP 2850851 B2 JP2850851 B2 JP 2850851B2
Authority
JP
Japan
Prior art keywords
objects
appearing
area
occupied
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP8134755A
Other languages
English (en)
Other versions
JPH0950536A (ja
Inventor
滋雄 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8134755A priority Critical patent/JP2850851B2/ja
Publication of JPH0950536A publication Critical patent/JPH0950536A/ja
Application granted granted Critical
Publication of JP2850851B2 publication Critical patent/JP2850851B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ユーザの操作に
基づいて変化するアニメーション映像を生成して表示す
る映像表示方法および映像表示装置に関する。
【0002】
【従来の技術】3次元コンピューターグラフィクス(C
G)映像を実時間で生成することにより、対話型の3次
元CGアニメーションを実現することができる。これ
は、ユーザの入力に応じて、アニメーション中の登場物
体の動作または動きを変えるものである。対話型の3次
元CGアニメーションの利用例としては、以下のものが
挙げられる。 フライト/ドライブシミュレーション 3次元CGゲーム 建築物内部を視点移動するウオークスルーシミュレー
ション 機械,人体,分子構造などの3次元物体のビジュアル
・プレゼンテーションなどのアプリケーション
【0003】このような、対話型のアニメーションにお
いては、動作の実行手順を物体ごとに定める方法(スク
リプトアニメーション)がある。この方法は、登場物体
の動作の実行手順や実行のタイミングを記述するもので
ある。これは、スクリプトと呼ぶアニメーション専用の
プログラミング言語によって定められたものである。ス
クリプトアニメーションでは、まず、動作の種類や実行
の順序、そして動作実行の開始条件を物体ごとに記述す
る。また、アニメーション実行時にユーザの入力などに
応じて各スクリプトを実行し、各登場物体の動作の種別
や登場物体の位置および動作の実行タイミングを決定し
ている。そして、決定した登場物体の動作に基づいて、
アニメーション映像を生成する。
【0004】このスクリプトアニメーションでは、登場
物体の動作を登場物体にローカルな座標系および時間軸
で記述しておく。そして、そのローカルな座標形および
時間軸をグローバルな座標系に対してマッピングし、最
終的な対話型アニメーションを生成する。このため、ス
クリプトアニメーションでは、登場物体の動作位置や動
作手順をグローバルな座標系や時間軸に対してあらかじ
め定めずに、ユーザの操作によって実行時にそれらを決
定することができる。この結果、スクリプトアニメーシ
ョンでは、対話的なアニメーション生成処理を実現でき
る。
【0005】スクリプトアニメーションの詳細について
は文献1(1982年、クレイグ・ダブリュー・レイノル
ズ、「コンピューター・アニメーション・ウィズ・スク
リプツ・アンド・アクターズ」、コンピューター・グラ
フィックス、第16巻 第3号、エイシーエムシググラフ、
289頁−296頁、[Craig W. Reynolds, Computer Animat
ion with Scripts and Actors, Computer Graphics, Vo
l.16, No.3,July 1982,ACM SIGGRAPH, pp.289-296])
に記載がある。
【0006】
【発明が解決しようとする課題】従来は以上のように構
成されていたので、以下に示すような問題があった。前
述したスクリプトアニメーションに見られるような対話
型アニメーションでは、以下のものをシナリオデータと
して記述している。すなわち、登場物体の動作データ,
動作手順,登場物体の空間中の配置,および,動作開始
のタイミングである。これらのデータの作成の際に、各
登場物体の動作データ,空間中の配置,または,動作開
始のタイミングの設定によっては、できあがったアニメ
ーションを実行させると、登場物体同士の衝突または干
渉が発生してしまう場合がある。
【0007】このような登場物体間の衝突を回避するた
めに、従来では、以下に示す方法が採られていた。ま
ず、あらかじめ登場物体を互いに衝突しない距離を保つ
ように配置しておく。またあるいは、登場物体の動作デ
ータを、互いに衝突しないように作成しておくなどの方
法がある。しかし、これらの方法ではユーザがデータを
修正したときに、衝突が回避されるかどうかを知ること
ができない。衝突回避を確認するためには、実際にアニ
メーションを実行して、生成された映像を観察してテス
トする必要がある。そして、この方法では衝突を回避し
たデータを作成するまでにこのテストを何度も繰り返す
必要がある。
【0008】すなわち、実際にアニメーションを実行す
る場合、ある実行下では、全ての登場物体が全てそのシ
ナリオで規定されている動作をするわけではない。ある
登場物体は、あるアニメーション実行状況では全く動作
しない場合もある。このため、実際にアニメーションを
実行して衝突状態を検出する場合、あらゆる場合を想定
し、複数の状況でアニメーションを実行し、生成された
映像を観察して衝突状態を検出することとなる。以上の
ことにより、従来では、シナリオデータの作成には、多
大な工数が必要となるという問題があった。
【0009】この発明は、以上のような問題点を解消す
るためになされたものであり、シナリオデータの作成に
おいて、登場物体の衝突や干渉の回避が容易にできるよ
うにすることを目的とする。
【0010】
【課題を解決するための手段】この発明の映像表示方法
は、まず、第1,第2の物体の幾何属性と、第1,第2
の物体の変化を含む第1,第2の物体それぞれの動き
と、それぞれの動きを開始する第1,第2の位置および
開始する第1,第2の時刻とを第1,2のシナリオとし
てそれぞれ定義する。次に、それら第1,2の位置およ
び第1,2の時刻において、第1,2のシナリオを用い
て第1,2の物体が動きを行う際に占有する領域の系列
の論理和を近似し、第1,2の物体が第1,2のシナリ
オに基づいて移動する際の第1,2の占有領域をそれぞ
れ計算する。そして、得られた第1の占有領域と第2の
占有領域とが交わる共通領域を計算し、第1,2の占有
領域および共通領域とを映像として表示するようにし
た。すなわち、登場する物体の配置を定めた後、動作の
開始から終了までの間に、物体が通過する領域を占有領
域として求め、全ての物体について求めた占有領域の間
の共通領域を計算するようにした。このため、ユーザ
は、共通領域が生じれば、物体間で衝突が発生すること
を予め知ることができる。そして、共通領域が無くなる
ように物体の再配置を行えば、衝突を回避したシナリオ
を作成できる。
【0011】また、この発明の映像表示装置は、ユーザ
が入力する指示を取り込むユーザ入力部と、物体の幾何
属性,物体の変化を含む物体の動き,動きを開始する位
置および開始する時刻からなるシナリオを入出力するシ
ナリオ入出力部と、ユーザが入力した指示によりシナリ
オを変更して出力する物体配置部と、物体配置部が出力
したシナリオにより、物体が位置および時刻において動
きを行う際に占有する領域の系列の論理和を近似して物
体がシナリオに基づいて移動する際の占有領域を計算す
る占有領域計算部と、占有領域および他の物体について
の占有領域との間の共通領域を計算する共通領域計算部
と、共通領域とその共通領域を共有する物体およびその
物体の占有領域を表示する映像生成部とを備えるように
した。すなわち、登場する物体の配置を定めた後、動作
の開始から終了までの間に、物体が通過する領域が占有
領域として求められ、全ての物体について求めた占有領
域の間の共通領域が計算される。このため、ユーザは、
共通領域が生じれば物体間で衝突が発生することを予め
知ることができる。そして、共通領域が無くなるように
物体の再配置を行えば、衝突を回避したシナリオを作成
できる。
【0012】
【発明の実施の形態】まず、この発明の実施の形態を説
明する前に、この発明の概要について説明する。スクリ
プトアニメーションでは、まず、以下のものを定義す
る。 対話型アニメーションの登場物体に対して、ローカル
座標系における並行移動,回転,変形などの時間変化を
ともなう動き(動作)を定義する。 登場人物の動作の開始条件とその実行順序とを、動作
手順とともに登場物体データとして定義する。 そして、定義した登場物体データを、対話型アニメーシ
ョンのシナリオデータとして記述する。このとき、登場
物体の空間中の位置座標および一連の動作の開始時刻か
らなる配置データも組み合わせて、シナリオデータとし
て記述する。
【0013】次に、登場物体の配置データを定めた後、
この発明では、その登場物体の動作の開始から終了まで
の間に登場物体が通過する領域を、占有領域として計算
して求める。そして、対話型アニメーションに登場する
登場物体について、それぞれ前述の占有領域を計算し、
各占有領域の間に共通の領域が生じるかどうかを調べ
る。この調査の中で、共通領域が生じる場合には、これ
にかかわる占有領域を持つ登場物体の間での衝突が発生
する。このため、この発明では、この共通領域と共通領
域にかかわる登場物体,および共通領域を共有する占有
領域のいずれかまたは全部の情報を、映像としてユーザ
に示すようにした。
【0014】その結果、ユーザは、共通領域の発生を映
像として認知することによって、実際にアニメーション
を実行しなくても、登場物体間の衝突を知ることができ
る。そして、ユーザは、登場物体間の衝突を認知した
後、生じた共通領域が消滅するまで、登場物体の空間座
標または動作タイミングなどのデータを連続して変化さ
せれば、登場物体同士の衝突がない状態を得ることがで
きる。また、この修正操作の間、ユーザは自らの操作が
反映した占有領域および共通領域の変化の様子を、リア
ルタイム表示映像として観察することができる。このた
め、登場物体間の衝突を回避する共通領域の消滅のため
には、どのような修正操作が有効かを、容易に知ること
ができる。
【0015】以上説明したように、この発明において
は、ユーザは、実際にアニメーションを実行することな
く、登場物体間の衝突を検出することができる。すなわ
ち、ユーザが、共通領域が消滅するまで登場物体のデー
タ修正作業を行うことで、登場物体間での衝突を回避し
ながら、新規に登場物体を空間中に配置することができ
る。さらに、何度も実際にアニメーションの実行テスト
を繰り返すことなく、衝突回避のための登場物体の配置
データの修正を行うことができる。この結果、ユーザは
大幅に少ない工数で、対話型アニメーションのシナリオ
データの作成を行うことができる。
【0016】以下この発明の実施の形態を図を参照して
説明する。 実施の形態1.図1は、この発明の第1の実施の形態に
おける映像表示装置の構成を示す構成図である。以下で
は、空間および登場物体を3次元で定義し、3次元コン
ピューターグラフィックス技術を用いてアニメーション
映像を生成する場合を例として説明する。しかし、本発
明は、例えば、スプライト表示方式のTVゲームのよう
に、2次元の平面でアニメーションを生成する場合にも
全く同様に実施できる。一般に、N(N=1,2,3・
・・)次元の空間でアニメーション映像を生成する場合
に、この発明を適用して実施することができる。
【0017】図1に示されるように、ユーザ入力部1
は、ユーザが操作するマウス,キーボード,3次元座標
入力装置などが出力するデータを取り込み、ユーザ入力
1001として出力する。シナリオ入出力部2は、以下
で説明するシナリオデータを外部から取り込んで、シナ
リオ1002として物体配置部3に出力する。また、こ
のシナリオ入出力部2は、物体配置部3が出力するシナ
リオ1002を外部へ出力する。
【0018】なお、ユーザ入力部1およびシナリオ入出
力部2において取り込むデータは、例えば、以下に示す
ものを用いることができる。 ユーザがキーボード,マウス,3次元座標入力装置な
どを操作して得られたデータ 磁気テープ,磁気ディスク等の記憶装置にあらかじめ
記録しておいたデータ 同一の計算機上で稼働する別のプログラムにより生成
してメモリ上に格納したデータ 通信回線によって接続した他の計算機または映像表示
装置との通信結果をメモリ上に格納したデータ
【0019】ここで、まず、登場物体が通過する領域で
ある占有領域の表示に関する説明の前に、シナリオ10
02に関して説明する。シナリオ1002は、以下に説
明するように、対話型アニメーションに登場する全ての
登場物体について、(1)幾何属性、(2)動作デー
タ、(3)動作手順、および(4)配置データの組をそ
れぞれ記述したデータである。なお以下の説明では、3
次元グラフィックスを使用した映像生成において必要な
光源および視点は、それぞれ配光特性および視野特性な
どの特殊な幾何属性を持つ登場物体とし、他の登場物体
と同様に扱うものとする。
【0020】(1)幾何属性 幾何属性には、まず、登場物体の形状や形状表面の輝度
や材質がある。また、テクスチャマッピングするテクス
チャ画像、テクスチャ画像と形状表面との対応関係など
がある。このなかで、形状データは、たとえば、物体座
標系におけるポリゴンの座標データ、またはスプライン
曲面の制御点データなどにより記述する。また、形状表
面の材質は色輝度値や反射係数などにより記述する。ま
た、関節を持つ物体など、登場物体がさらに部分的な登
場物体の階層的な接続により構成される場合には、階層
関係の管理情報と、部分登場物体間の位置関係も幾何属
性として記述する。
【0021】(2)動作データ 動作データとは、登場物体の空間中における動きの情報
を、登場物体の属する座標系から、その上位の座標系ま
たはワールド座標系への対応関係の時間変化によって定
義したものである。一例として、登場物体の属する物体
座標系から上位座標系への平行移動,回転,スケーリン
グ(拡大、縮小),および,その組み合わせを行う同次
座標行列Mについて、フレーム間隔ごとの時刻(t1,
t2,…,tn−1,tn)のサンプリング記録(M
(t1),M(t2),…,M(tn−1),M(t
n))を、動作データとして定義することができる。フ
レーム間隔として、例えばTV放送(NTSC方式)の
フィールド時間(1/60秒)またはフレーム時間(1
/30秒)などを設定することで、滑らかな動きの映像
を生成できる。
【0022】また、時刻tをパラメータとする関数Dに
よって、時刻tでの同次座標行列に等価な対応関係D
(t)を定義し、関数Dおよびパラメータtの組み合せ
を物体の動作データとしてもよい。たとえば、スプライ
ン曲線関数(D)とその入力パラメータ(t)とによっ
て、物体の動きを記述してもよい。
【0023】この、スプライン曲線関数D(t)は、実
数パラメータtにより空間中の1点の座標値(x
(t),y(t),z(t))を定める関数である。こ
のスプライン曲線関数の一例として、CAD/CAMの
分野において一般にNURBS曲線として知られる関数
を使用できる。NURBS曲線については、文献2(J.
D. Foley and A. van Dam and S. K.Feiner and J. F.
Hughes,Computer Graphics: Principles and Practice
(Second Edition), 1990,Addison Wesley)「1990年、
ジェイ・ディー・フォーリー他”コンピューター・グラ
フィックス・プリンシプルズ・アンド・プラクティス
(第2版)”、アディスン・ウエズレイ」)の501〜5
04頁に記載がある。
【0024】さらに、部分物体間の接続に対して対応す
る動き情報を定義し、複数の動き情報の集合によって登
場物体の動作を定義することができる。これは、登場物
体が、例えば動物のように部分的な物体が関節によって
接合している場合や、あるいは登場物体をさらに複数の
部分により階層的に構成する場合である。特に、関節に
よって部分物体を結合して構成する物体の場合は、部分
物体を定義した物体座標系間の関節における回転角の時
間変化によって、動作を記述してもよい。
【0025】前述した登場物体の物体座標系内における
移動の他に、登場物体の形状の変形も動作として扱う。
時間変化を伴う形状変形を表現するために、例えば形状
変形させるための変形アルゴリズムとパラメータの変化
を記述することができる。一例を挙げれば、登場物体に
対してアフィン変換などの一次変換を行って変形させる
場合には、時系列順に記述したアフィン変換行列の集合
によって形状変形動作を記述することができる。
【0026】ここで、3次元のアフィン変換操作につい
ては、前述した文献2の213〜226頁に記載されて
いる。以下、アフィン変換による形状変化を簡単に説明
する。まず、時刻t=(t1、t2、…、tn−1、t
n)における3次元のアフィン変換行列をT=(T(t
1)、T(t2)、…、T(tn−1)、T(tn))
とする。このとき、各時刻tにおける登場物体の形状
は、アフィン変換によって、形状を構成するポリゴンま
たはスプラインパッチを記述する座標値pに対して、そ
れぞれ時刻tにおけるT(t)を演算した座標値p’=
T(t)pとなる。
【0027】以上説明した登場物体の動き情報(動作デ
ータ)は、動きの計算アルゴリズムが固定であれば入力
となるパラメータだけで記述することができる。例え
ば、前述のNURBS曲線関数を固定した計算アルゴリ
ズムとする場合では、NURBS曲線の制御点を記述す
るパラメータだけで動き情報を与えることができる。ま
た、計算アルゴリズムを変更する場合には、アルゴリズ
ムまたはその種別とパラメータとを組み合わせて動作デ
ータとする。
【0028】なお、登場物体間でメッセージ通信を行っ
てアニメーションを進行させるような対話型アニメーシ
ョンでは、メッセージの送信を動作の一種として定義し
てもよい。登場物体間でメッセージ通信を行うイベント
駆動型のスクリプトアニメーションの例については、文
献3(特開平3-168877号公報)に記載がある。
【0029】(3)動作手順 対話型アニメーションでは、登場物体に複数の動作をあ
らかじめ定義しておき、同時にそれら動作の実行の手順
を動作手順として記述する。動作手順の記述に際して
は、前述のスクリプトアニメーションではプログラミン
グ言語を用いている。このため、登場物体に内部状態を
与えるために、状態遷移のための内部変数を設けてい
る。
【0030】なお、動作手順の記述は、具体的には、C
言語やLISP言語、あるいはこれらに準じた手続き型
のプログラミング言語により行なうことができる。対話
型アニメーションの作成者はこれらの言語により登場物
体の動作データ、動作アルゴリズムの種別、動作の実行
タイミング、動作の実行順序および開始条件を記述でき
る。
【0031】ここで、登場物体の動作手順について、一
般的なスクリプトアニメーションなどの対話型アニメー
ションで用いられる方法として説明する。一般に対話型
アニメーションでは、動作手順は、複数の動作中から実
行すべき動作を決定する関数の集合である。なお、複数
の動作は、外界からのイベントまたはメッセージを入力
とするものである。例えば、前述の動作手順の記述にお
いては、動作の開始条件が動作を決定すべき関数に相当
する。逐次実行,ループ,条件分岐などの制御構造に従
って開始条件を記述することで、対話型アニメーション
の動作手順を定めることができる。そして、この動作手
順は、動作の制御手順(例:逐次実行、条件分岐、繰り
返し)およびそれら動作の開始条件を、プログラムで記
述したデータとして定義されている。
【0032】(4)配置データ 登場物体の幾何属性,動作データは、それぞれ物体に対
してローカルな座標系で定義する。そして、そのローカ
ルな座標形を、対話型アニメーションの実行時にワール
ド座標系などのグローバルな座標系に配置する。さら
に、グローバルな時間軸における登場物体の動作開始時
刻を定める。そして、その配置に基づき最終的なアニメ
ーション映像を生成する。このため、登場物体には、グ
ローバルな座標系および時間軸に対して配置する際の座
標値を、配置データとして定義する。
【0033】一例として、登場物体の配置データは、以
下の座標や時刻などの組によって記述することができ
る。 ワールド座標系の原点に対する空間的な並行移動量と
座標値 座標軸まわりの回転を記述したアフィン変換行列 グローバルな時間軸における登場物体の一連の動作に
おける開始時刻 なお、以下に示すような場合には、グローバルな座標系
ではなく、階層関係の直上に相当する座標系に対するデ
ータとして配置データを記述し、登場物体の間の配置関
係を設定することができる。例えば、移動する台の上に
置かれた登場物体の場合のように、独立した登場物体が
さらに他の登場物体に対して階層的な関係に配置される
場合である。
【0034】シナリオ1002は、以上に示したように
構成され、物体配置部3内部に格納されている。そし
て、物体配置部3は、ユーザ入力1001に基づいて、
記述されている登場物体の配置データを変更し、内部に
格納したシナリオを更新する。物体の配置に際しては、
まずその更新したシナリオ中から配置データを変更する
登場物体を選択する。物体の選択に際しては、たとえば
対話型アニメーションにおける任意の時刻の映像を生成
し、ユーザ入力1001のマウスの座標値から、ピッキ
ングなどの計算を行うなどの方法で、ユーザの選択する
登場物体を知ることができる。
【0035】ここで、ピッキングは、ユーザのポインテ
ィングデバイスの操作結果に基づいて操作の対象となっ
た物体を検索して参照するための計算手法である。たと
えば、CRTの画面上に表示された物体をユーザがマウ
スでクリックした際に、クリックの対象となった物体を
知るために行なう。ここで、CRTは対話型アニメーシ
ョンが表示されているものである。また、マウスはポイ
ンティングデバイスであり、CRT中に表示されている
ものをクリックすることで選択指示ができるものであ
る。なお、ピッキングの実現手法に関しては、前述した
文献2の48〜50頁に記載がある。
【0036】登場物体の配置データのうち、物体の空間
的な座標値の変更は、マウスによる物体のドラッギング
操作などの方法による、ユーザ入力1001で行うこと
ができる。また、登場物体のグローバルな時間軸におけ
る動作の系列の開始時刻は、ユーザ入力1001より直
接時刻の数値を入力した値を用いても良い。また、対話
型アニメーションを実行して映像を生成し、登場物体を
配置すべき時刻で実行を停止し、停止した時刻を入力す
るようにしても良い。
【0037】以上説明したように、物体配置部3は、登
場物体の配置データを変更して内部に格納したシナリオ
を更新した後、更新したシナリオを物体配置情報100
3として出力する。この物体配置情報1003は、ユー
ザの操作による配置データ変更のためのユーザ入力10
01が発生する度に、あるいは映像生成のフレームタイ
ムごとに出力するようにしてもよい。
【0038】また、物体配置部3は、ユーザによる一連
の登場物体間の衝突を回避した登場物体配置が完了した
場合、外部に対してシナリオ1002として物体配置情
報を出力することもできる。これは、物体配置部3が、
物体配置情報をシナリオ入出力部2に出力することでな
される。あるいは、物体配置部3は、その作業を行う途
中の任意の時点で、外部に対してシナリオ1002とし
て物体配置情報を出力することもできる。
【0039】以下、登場物体が通過する領域である占有
領域の表示について説明する。まず、前述したことによ
り、物体配置情報1003が与えられると、占有領域計
算部4は、これに基づき、登場物体の幾何形状および動
作データによって得られる占有領域を計算する。ここ
で、空間占有領域の計算について説明する。図2は、登
場物体の幾何属性,動作データ,および配置データによ
って得られる、登場物体の占有領域の状態を示す斜視図
である。
【0040】図2において、グローバルな座標系XYZ
の時刻t=T0において、登場物体31は動作データ3
5が定義されており、その結果時刻t=T1,T2にお
いてそれぞれ位置32,33に移動する。このとき、登
場物体31は、動作データ35を実行することにより、
グローバルな座標系における占有領域34の内部を動く
ことになる。占有領域とはすなわち、次に示すことによ
って得られた空間領域とすることができる。まず、配置
データに基づいて、登場物体をその動きデータごとグロ
ーバルな座標系に変換する。その後に、登場物体を動き
データに基づいてスイープ(掃引)操作を行う。
【0041】スイープ操作に関しては前述した文献2の
540〜542頁に記載されている。この例では、2次
元図形を3次元空間中で移動させ、移動の各時点におけ
る図形を包絡して3次元形状を計算している。本発明の
空間占有領域の計算においては、スイープ操作により、
登場物体の3次元形状を3次元空間内において動きデー
タに基づいて移動する。そして、その移動における移動
の各時点における形状を包絡し、空間占有領域を計算す
る。
【0042】図2で説明すると、空間占有領域34は、
例えば、動作データ35の動作開始時刻t=T0からt
=T2までの間の、フレームタイムごとに得られる登場
物体31の占める空間領域の系列を、論理和して得られ
る空間領域として計算しても良い。一例をあげると、以
下に示す(1)式により、空間占有領域を定義する。な
お、式中<OR>は、形状の空間的な論理和演算とす
る。
【0043】 V(T0)<OR>V(T0+d)<OR>・・・<OR>V(T2-d)<OR>V(T2)・・・(1) なお、(1)式において、dは映像のフレーム間隔時間
(例えば1/30秒)を示している。また、時刻t=
(T0,T0+d,・・・,T2−d,T2)における
登場物体が空間中で占める空間を、V(t)=(V(T
0),V(T0+d),・・・,V(T2−d),V
(T2))とする。
【0044】形状の論理演算には、ソリッドモデリング
と呼ばれるCAD/CAM分野の形状定義手法を用いる
ことができる。ソリッドモデリングについては、前述し
た文献3の535〜539頁に記載がある。そして、計
算した占有領域は、登場物体の幾何属性と同様に、ポリ
ゴンやスプライン曲面によって近似して表現することが
できる。なお、占有領域の計算においては、時間的およ
び空間的にサンプリングまたは近似を行っても良い。
【0045】例えば、時刻t=T0,T1,T2でサン
プリングした登場物体の形状を、内部に含んで取り囲む
最小の直方体(バウンディングボックス)のように、あ
る程度近似した空間領域として計算してもよい。例え
ば、前述の(1)式において、フレ−ム間隔時間dを大
きくとって計算することにより、時間的にサンプリング
した空間占有領域を計算できる。例えば、dから2dに
変更して計算する。この結果、空間占有領域を求めるた
めの計算量を削減することができる。
【0046】この場合、時間的サンプリング間隔はかな
らずしも一定である必要はない。物体の移動する速度が
大きい(位置の時間変化が大きい)ところは、時間サン
プリング間隔を細かくしてもよい。また、移動速度が遅
い(位置の時間変化が少ない)ところは、時間サンプリ
ング間隔を粗くするように、適応的に設定することもで
きる。
【0047】また、物体形状の代りに、比較的単純な幾
何形状を(1)式のV(T)として使用することで、空
間的に近似を行なうことができる。比較的単純な幾何形
状とは、物体のバウンディングボックスや物体を取り囲
む球形状などである。この結果、空間占有領域を求める
ための計算量を削減することができる。なお、空間的な
近似と前述の時間的サンプリングは、同時に用いること
もできる。
【0048】図2の例では、登場物体31が動作データ
を1個しかもたない場合について説明している。しか
し、登場物体31がユーザとの対話によって複数の動き
データを選択し得る場合には、選択肢となる動きについ
てそれぞれ占有領域を計算し、計算した領域の論理和を
登場物体31の占有領域としてもよい。
【0049】また、登場物体が長い時間または広い空間
領域にわたって動作を行うために、占有領域が非常に大
きくなる場合がある。このような場合には、例えば、動
作データのうち占有領域を計算する時間的な区分を設定
する。このようにすれば、占有領域を映像化する際に、
ユーザの理解を助けることになる。特に、ある任意の時
刻における占有領域を計算する場合には、その時刻以前
の動きデータに相当する部分についての占有領域の計算
を省略してもよい。
【0050】占有領域計算部4は、以上説明したよう
に、登場物体の占有領域を計算し、計算結果を物体配置
情報1003と合わせて空間占有情報1004として出
力する。共通領域計算部5は、空間占有情報1004に
基づいて、各登場物体の占有領域の間の共通となる領域
を計算する。図3は、各登場物体の占有領域およびそれ
らの間で共通な領域の状態を示す斜視図である。
【0051】図3において、占有領域41,42は、互
いにグローバルな座標系XYZにおいて、斜線で示す共
通領域43を共有している。共通領域43の計算は、占
有領域間の論理積となる空間領域を求めることによって
行うことができる。計算した共通領域43は、占有領域
の場合と同様に、ポリゴンやスプライン曲面によって近
似して表現することができる。この、共通領域の計算は
前述したソリッドモデリングにおける論理積演算によっ
て行なうことができる。
【0052】共通領域計算部5は、以上説明したように
共通領域を計算して、計算結果を空間占有情報1004
と合わせて空間共通情報1005として出力する。映像
生成部6は、空間共通情報1005に記述された登場物
体のシナリオデータ,占有領域,および,共通領域に基
づいてフレームごとに画像を生成する。そして、映像生
成部6は、一連の生成画像によって、登場物体および上
述したその動作による軌跡領域である占有領域を表示す
る。加えて、映像生成部6は、登場物体同士が衝突する
状態を、占有領域が重なっている共通領域として表示す
る。
【0053】映像生成部6における画像生成では、一連
の3次元コンピューターグラフィクス技術による画像生
成処理を行う。これは、視点や光源を含む登場物体,占
有領域,または,共通領域の空間中の位置と形状,およ
び,表面の属性に基づいておこなう。なお、3次元コン
ピューターグラフィクス技術としては、座標変換、クリ
ッピング,輝度計算,透視投影計算,シェーディング,
隠面消去処理などがある。
【0054】このとき、占有領域および共通領域は、そ
れぞれ異なるように表示属性を設定した映像としても良
い。例えば、色輝度を変えたり、あるいは半透明にした
り、あるいは領域の輪郭線を表示したりするなどのこと
をする。このことにより、登場物体との位置関係および
それらの領域間の位置関係が、ユーザにとって把握しや
すくなる。
【0055】以上示したように、この実施の形態によれ
ば、アニメーション中の登場物体に関連する占有領域
と、それら各占有領域の共通領域を表示する。また、ユ
ーザの入力による登場物体の各属性やデータの変更を反
映させ、その占有領域や共通領域を変更して表示する。
このため、ユーザは、映像生成された占有領域の間に共
通領域が発生しないように、登場物体のグローバル空間
および時間軸における配置を行うことができる。すなわ
ち、ユーザは、アニメーションを実行することなく、登
場物体の衝突を回避した状態の各配置を行うことができ
る。また、配置を行った後のシナリオを、シナリオ入出
力部2を通じて外部へ出力することができる。
【0056】実施の形態2.次に、この発明の第2の実
施の形態について説明する。図4は、この発明の第2の
実施の形態における映像表示装置の構成を示す構成図で
ある。この実施の形態2における映像表示装置は、上記
実施の形態1に対して、幾何属性変更部7と動作データ
変更部8とを付加していることを特徴としている。
【0057】幾何属性変更部7は、物体配置部3の内部
に格納したシナリオのうち、登場物体の幾何属性を読み
だす。また、幾何属性変更部7は、ユーザ入力1001
に基づいて、その読みだした幾何属性を変更する。そし
て、幾何属性変更部7は、変更結果の幾何属性1006
によって、物体配置部3の内部に格納したシナリオにお
ける幾何属性を更新する。
【0058】同様に、動作データ変更部8は、物体配置
部3の内部に格納したシナリオの中より登場物体の動作
データを読みだす。ついで、動作データ変更部8は、ユ
ーザ入力1001に基づいて読みだした動作データを変
更する。そして、動作データ変更部8は、変更結果の動
作データ1007によって、物体配置部3の内部に格納
したシナリオの動作データを更新する。物体配置部3
は、幾何属性変更部7および動作データ変更部8により
内部に格納したシナリオが更新されるたびに、登場物体
の配置データの変更の場合と同様に物体配置情報100
3を出力する。
【0059】以上説明した動作によって、ユーザは、配
置データの変更だけではシナリオ中の登場物体間の衝突
が回避しきれない場合に、幾何属性および動作データを
変更して登場物体の占有領域の形状を変更することがで
きる。この結果、登場物体間の衝突回避のためのシナリ
オデータの変更作業の自由度を高めることができる。そ
して、ユーザの意志によりよく従ったシナリオデータの
作成を行うことができるようになる。
【0060】
【発明の効果】以上説明したように、この発明では、ま
ず、第1,第2の物体の幾何属性と、第1,第2の物体
の変化を含む第1,第2の物体それぞれの動きと、それ
ぞれの動きを開始する第1,第2の位置および開始する
第1,第2の時刻とを第1,2のシナリオとしてそれぞ
れ定義する。次に、それら第1,2の位置および第1,
2の時刻において、第1,2のシナリオを用いて第1,
2の物体が動きを行う際に占有する領域の系列の論理和
を近似し、第1,2の物体が第1,2のシナリオに基づ
いて移動する際の第1,2の占有領域をそれぞれ計算す
る。そして、得られた第1の占有領域と第2の占有領域
とが交わる共通領域を計算し、第1,2の占有領域およ
び共通領域とを映像として表示するようにした。
【0061】その結果、本発明によれば、ユーザはそれ
ぞれの登場物体の占有領域間の共通領域の有無によっ
て、登場物体間の衝突をあらかじめ知ることができる。
このために、実際にアニメーションを実行することなく
登場物体間の衝突を検出することができる。さらに、共
通領域が生じる場合には、ユーザは共通領域が消滅する
ように、登場物体のグローバルな座標系での配置および
動作の開始タイミングをリアルタイム生成映像を見なが
ら変更することができる。このために、登場物体間の衝
突回避のために何度も実際にアニメーションの実行テス
トを繰り返すことがない。この結果、ユーザは、大幅に
少ない工数で、対話型アニメーションのシナリオデータ
の作成を、行うことができるという効果を有する。
【図面の簡単な説明】
【図1】 この発明の1実施の形態における映像表示装
置の構成を示す構成図である。
【図2】 登場物体の幾何属性,動作データ,および配
置データによって得られる、登場物体の占有領域の状態
を示す斜視図である。
【図3】 各登場物体の占有領域およびそれらの間で共
通な領域の状態を示す斜視図である。
【図4】 この発明の第2の実施の形態における映像表
示装置の構成を示す構成図である。
【符号の説明】
1…ユーザ入力部、2…シナリオ入出力部、3…物体配
置部、4…占有領域計算部、5…共通領域計算部、6…
映像生成部、7…幾何形状変更部、8…動作データ変更
部、1001…ユーザ入力、1002…シナリオ、10
03…物体配置情報、1004…空間占有情報、100
5…空間共通情報、1006…幾何属性、1007…動
作データ。

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の物体を空間中に配置して、フレー
    ムごとに前記物体の画像を生成することで一連の映像を
    表示する映像表示方法において、 第1,第2の物体の幾何属性と、前記第1,第2の物体
    の変化を含む前記第1,第2の物体それぞれの動きと、
    前記それぞれの動きを開始する第1,第2の位置および
    開始する第1,第2の時刻とを第1,2のシナリオとし
    てそれぞれ定義し、 前記第1,2の位置および第1,2の時刻において、前
    記第1,2のシナリオを用いて前記第1,2の物体が前
    記動きを行う際に占有する領域の系列の論理和を近似し
    て前記第1,2の物体が前記第1,2のシナリオに基づ
    いて移動する際の第1,2の占有領域をそれぞれ計算
    し、 前記第1の占有領域と前記第2の占有領域とが交わる共
    通領域を計算し、 前記第1,2の占有領域および共通領域とを映像として
    表示することを特徴とする映像表示方法。
  2. 【請求項2】 請求項1記載の映像提示方法において、 前記第1,2のシナリオのうち、登場物体の幾何属性と
    動作データとを変更し、 変更した結果を用いて前記第1の占有領域と前記第2の
    占有領域とが交わる共通領域を計算し、 前記第1,2の占有領域および共通領域を映像として表
    示することを特徴とする映像表示方法。
  3. 【請求項3】 複数の物体を空間中に配置して、フレー
    ムごとに前記物体の画像を生成することで一連の映像を
    表示する映像表示装置において、 ユーザが入力する指示を取り込むユーザ入力部と、 前記物体の幾何属性,前記物体の変化を含む前記物体の
    動き,前記動きを開始する位置および開始する時刻から
    なるシナリオを入出力するシナリオ入出力部と、 前記ユーザが入力した指示により前記シナリオを変更し
    て出力する物体配置部と、 前記物体配置部が出力したシナリオにより、前記物体が
    前記位置および時刻において前記動きを行う際に占有す
    る領域の系列の論理和を近似して前記物体が前記シナリ
    オに基づいて移動する際の占有領域を計算する占有領域
    計算部と、 前記占有領域および他の物体についての占有領域との間
    の共通領域を計算する共通領域計算部と、 前記占有領域および前記共通領域を表示する映像生成部
    とを備えたことを特徴とする映像表示装置。
  4. 【請求項4】 請求項3記載の映像提示装置において、 前記物体配置部の内部に格納されているシナリオのう
    ち、登場物体の幾何属性を、前記ユーザ入力部からの指
    示に基づいて変更して更新する幾何属性変更部と、 前記物体配置部の内部に格納されているシナリオのう
    ち、登場物体の動作データを、前記ユーザ入力部からの
    指示に基づいて変更して更新する動作変更部とを備えた
    ことを特徴とする映像表示装置。
JP8134755A 1995-05-31 1996-05-29 映像表示方法および映像表示装置 Expired - Lifetime JP2850851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8134755A JP2850851B2 (ja) 1995-05-31 1996-05-29 映像表示方法および映像表示装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-133287 1995-05-31
JP13328795 1995-05-31
JP8134755A JP2850851B2 (ja) 1995-05-31 1996-05-29 映像表示方法および映像表示装置

Publications (2)

Publication Number Publication Date
JPH0950536A JPH0950536A (ja) 1997-02-18
JP2850851B2 true JP2850851B2 (ja) 1999-01-27

Family

ID=26467682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8134755A Expired - Lifetime JP2850851B2 (ja) 1995-05-31 1996-05-29 映像表示方法および映像表示装置

Country Status (1)

Country Link
JP (1) JP2850851B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6972756B1 (en) 1997-11-25 2005-12-06 Kabushiki Kaisha Sega Enterprises Image generating device
JP5141218B2 (ja) * 2007-02-19 2013-02-13 富士通株式会社 軌跡干渉検証プログラム、方法及び装置
JP2010197593A (ja) * 2009-02-24 2010-09-09 Japan Radio Co Ltd ドライビングシミュレータ

Also Published As

Publication number Publication date
JPH0950536A (ja) 1997-02-18

Similar Documents

Publication Publication Date Title
US7920144B2 (en) Method and system for visualization of dynamic three-dimensional virtual objects
JP3123501B2 (ja) 空間視点制御装置
CA2094525C (en) Method and apparatus for rendering polygons
US7515155B2 (en) Statistical dynamic modeling method and apparatus
JP3184327B2 (ja) 3次元グラフィックス処理方法及びその装置
EP0865000B1 (en) Image processing method and apparatus
Halper et al. Camplan: A camera planning agent
US8884947B2 (en) Image processing apparatus and image processing method
Breen et al. Interactive occlusion and collision of real and virtual objects in augmented reality
US5689437A (en) Video display method and apparatus
US6628286B1 (en) Method and apparatus for inserting external transformations into computer animations
JP3104638B2 (ja) 3次元画像作成装置
US9892485B2 (en) System and method for mesh distance based geometry deformation
Lok et al. Incorporating dynamic real objects into immersive virtual environments
JP2850851B2 (ja) 映像表示方法および映像表示装置
Shen et al. Urban planning using augmented reality
Mattos et al. 3D linear facial animation based on real data
JP2842283B2 (ja) 映像提示方法および装置
Ahlers et al. Augmented vision system for industrial applications
JP3309841B2 (ja) 合成動画像生成装置および合成動画像生成方法
US20220028147A1 (en) Operating animation controls using evaluation logic
US20230196702A1 (en) Object Deformation with Bindings and Deformers Interpolated from Key Poses
US11170553B1 (en) Methods and systems for generating an animation control rig
Blut et al. X-Reality for intuitive BIM-based as-built documentation
JP2002312810A (ja) 合成動画像生成装置および合成動画像生成方法