JP2675435B2 - アニメーション自動生成方式 - Google Patents

アニメーション自動生成方式

Info

Publication number
JP2675435B2
JP2675435B2 JP2321540A JP32154090A JP2675435B2 JP 2675435 B2 JP2675435 B2 JP 2675435B2 JP 2321540 A JP2321540 A JP 2321540A JP 32154090 A JP32154090 A JP 32154090A JP 2675435 B2 JP2675435 B2 JP 2675435B2
Authority
JP
Japan
Prior art keywords
variable
state
function
list
state transition
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 - Fee Related
Application number
JP2321540A
Other languages
English (en)
Other versions
JPH04205067A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2321540A priority Critical patent/JP2675435B2/ja
Publication of JPH04205067A publication Critical patent/JPH04205067A/ja
Application granted granted Critical
Publication of JP2675435B2 publication Critical patent/JP2675435B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】 〔概要〕 アニメーションを自動生成するアニメーション自動生
成方式に関し、 複数のキャラクタが相互に影響を及ぼし合いながらリ
アルタイムにアニメーションを自動生成すると共に分散
処理を可能にすることを目的とし、 キャラクタの状態推移を表現するための任意個の関数
名に対応づけて任意個の変数名を予め定義する状態推移
関数リストと、この状態推移関数リストで定義した関数
名に対応する関数を予め作成して格納する状態推移関数
ライブラリと、上記状態推移関数リストで定義した変数
名に対応する状態変数(外部状態変数、内部状態変数、
参照変数)の値を格納する状態変数リストとを持つキャ
ラクタ動作生成部を複数設け、共有メモリなどを介して
相互に通信を行うように構成し、実行指示に対応して、
上記キャラクタ動作生成部が上記共有メモリなどから参
照変数の値を読み込むと共に上記状態推移関数リストか
ら関数名およびその変数を1組取り出し、上記状態推移
関数ライブラリ中から起動した当該関数名の関数が上記
状態変数リスト中の更新前の状態変数の値を読み込んで
更新後の状態変数の値を求めることを組が無くなるまで
繰り返した後、外部状態変数の値を共有メモリなどにコ
ピーするように構成する。
〔産業上の利用分野〕
本発明は、アニメーションを自動生成するアニメーシ
ョン自動生成方式であって、外部からの入力にリアルタ
イムに応答したアニメーションを生成するアニメーショ
ン自動生成方式に関するものである。特に、計算機上に
構築した仮想的な世界モデルのシミュレーションを行っ
てリアルタイムにアニメーションを生成して表示し、疑
似的に体験できるようにすることが望まれている。
〔従来の技術〕
従来からのコンピュータアニメーションの制作の主流
は、キーフレームアニメーションである。
これは、アニメーションの系列のうち、飛び飛びのフ
レーム(キーフレーム)のデザインを行い、これらの間
のフレームの映像を中割により生成して表示する方式で
あり、予め全てのキャラクタの動きが決まっているアニ
メーションを制作する際のアニメータの負担を軽減する
ことを目的としていた。
〔発明が解決しようとする課題〕
上述した従来の方式でアニメーションを生成する場
合、まずストーリを設定し、これに従ったキャラクタの
動きを全て人が指定する必要があり、動きのデータの再
利用が難しく、生産性が極めて悪いという問題があっ
た。このため、シミュレーションによるキャラクタの動
きの多くの場合に対応するために、複数のキャラクタが
相互に影響するようなモデルに関する汎用的な動作生成
の方式が要求されている。また、対話的アニメーション
システムや疑似体験システムでは、リアルタイムのシミ
ュレーション実行が必要となり、そのために並列処理な
どによる負荷分散に適した方法が要求されている。
本発明は、複数のキャラクタが相互に影響を及ぼし合
いながらリアルタイムにアニメーションを自動生成する
と共に分散処理を可能にすることを目的としている。
〔課題を解決するための手段〕
第1図を参照した課題を解決するための手段を説明す
る。
第1図において、状態推移関数リスト2は、キャラク
タの状態推移を表現するための任意個の関数名に対応づ
けて任意個の変数名を予め定義したリストである。
状態推移関数ライブラリ3は、関数名に対応する関数
を予め作成して格納するライブラリである。
状態変数リスト4は、変数名に対応する状態変数(外
部状態変数、内部状態変数、参照変数)の値を格納する
リストである。
キャラクタ動作生成部1は、関数の実行および状態変
数(外部状態変数、内部状態変数、参照変数)の更新な
どを行うものである。
共有メモリ6は、状態変数(外部状態変数など)を格
納するものである。
〔作用〕
本発明は、第1図に示すように、実行指示に対応し
て、キャラクタ動作生成部1が共有メモリ6などから参
照変数を読み込んで保持すると共に状態推移関数リスト
2から関数名およびその変数を1組取り出し、状態推移
関数ライブラリ3中から起動した当該関数名の関数が状
態変数リスト4中の更新前の状態変数の値を読み込んで
更新後の状態変数の値を求めることを組が無くなるまで
繰り返した後、外部状態変数の値を共有メモリ6などに
コピーするようにしている。
従って、複数組のキャラクタ動作生成部1が共有メモ
リ6などにコピーされている外部状態変数のうちから参
照変数について内部に読み込んで自己のキャラクタの状
態推移をそれぞれ求めて更新すると共に外部状態変数を
共有メモリ6などにコピーすることを繰り返すことによ
り、複数のキャラクタが相互に影響を及ぼし合いながら
リアルタイムにアニメーションを自動生成することが可
能となると共に分散処理を行うことが可能となる。
〔実施例〕
次に、第1図から第7図を用いて本発明の実施例の構
成および動作を順次詳細に説明する。
第1図において、キャラクタ動作生成部1は、状態推
移関数リスト2、状態推移関数ライブラリ3、および更
新前の状態変数リスト4を格納する更新前のバッファ、
更新後の状態変数リスト4を格納する更新後のバッファ
などから構成され、キャラクタの外見的特徴を表す関数
名の関数の実行を行い、共有メモリ6から参照変数を読
み込んで更新前バッファに格納されている状態変数リス
ト4のうちの該当する状態変数(外部状態変数、内部状
態変数、参照変数)の値を計算して更新後バッファに格
納されている状態変数リスト4のうちの該当する状態変
数(外部状態変数、内部状態変数、参照変数)の値を更
新したり、この更新した外部状態変数の値を共有メモリ
6にコピーしたりなどするものである。
状態推移関数リスト2は、キャラクタの状態推移を表
現するための任意個の関数名(図中ではca1c positio
n)に対応づけて任意個の変数名(図中ではposition、v
elocity、dt)を予め定義したリストである。
状態推移関数ライブラリ3は、状態推移関数リスト2
で予め定義した関数名(図中ではca1c position)に対
応する関数(例えば第4図ca1c positionに示すような
処理)を予め作成して格納するライブラリである。
状態変数リスト4は、状態推移関数リスト2で関数名
に対応づけて予め定義した変数名(引数)に対応する状
態変数(外部状態変数、内部状態変数、参照変数、第5
図参照)の値を格納するリストである。
通信部5は、他のキャラクタ動作生成部1、入出力部
7との間でデータの授受を行う共有メモリ6などであ
る。ここでは、各キャラクタ動作生成部1が他のキャラ
クタに影響を与える外部状態変数などの値を格納した
り、自己が影響を受ける参照変数の値を読み込んだりす
るためのものである。
入出力部7は、位置センサ、音声センサなどからなる
入力部8およびキャラクタを表示する画像生成・表示部
9などから構成されるものである。
第2図は、本発明のシステム構成図を示す。
第2図において、キャラクタ動作生成部1は、関数の
実行および状態変数の更新を行う処理部1−1、および
外部状態変数、内部状態変数、参照変数、状態推移関数
などを格納する局所メモリ1−2などから構成されてい
る。これら複数のキャラクタ動作生成部1は、共有メモ
リ6を介してデータの授受(外部状態変数の値を共有メ
モリ6にコピー、共有メモリ6からの参照変数の値を読
み込むなどしてデータの授受)を行い、評価時間間隔毎
に順次キャラクタについて相互の影響を及ぼしながら動
くようなアニメーションを自動生成するようにしてい
る。
入力装置7−1は、位置センサ、音声センサなどの入
力装置である。
入力認識部7−2は、各種センサからの入力を認識
し、共有メモリ6に書込み、キャラクタ動作生成部1に
通知したりなどするものである。
画像生成部9−1は、共有メモリ6上に書き込まれた
外部状態変数などの値(重心位置、色、サイズなどの
値)をもとに各キャラクタの画像を生成するものであ
る。
表示装置9−2は、ディスプレイ装置であって、画像
生成部9−1によって生成された各キャラクタの画像を
表示するものである。
次に、第3図ないし第7図を用いて、第1図、第2図
構成の動作を順次具体的に説明する。
まず、第3図アニメーションデザイン手順例に従っ
て、第1図状態推移関数リスト2、状態推移関数ライブ
ラリ3、および状態変数リスト4の作成を行う。
第3図において、は、状態変数リスト4の作成を行
う。これは、例えば第6図に示すように、アニメーショ
ンを構成するキャラクタ名“Whale(クジラ)”につい
て、外部状態変数、内部状態変数、参照変数を作成する
(第6図を用いて後述する)。
は、状態推移関数ライブラリを作成する。これは、
例えば第5図に示すように、アニメーションを構成する
キャラクタ名“Whale(クジラ)”の関数名“calc−pos
ition"の関数をライブラリとして作成する(第5図を用
いて後述する)。
は、状態推移関数リストを作成する。これは、例え
ば第4図に示すように、アニメーションを構成するキャ
ラクタ名“Whale(クジラ)”について、関数名に対応
づけて変数1、変数2などを定義して作成する(第4図
を用いて後述する)。
以上のように、状態変数リスト4、状態推移関数ライ
ブラリ3、状態推移関数リスト2を作成することによ
り、本発明のアニメーションデザインを行ったこととな
る。
次に、これら作成した状態推移関数リスト2、状態推
移関数ライブラリ3、状態変数リスト4について順次詳
細に説明する。
第4図は、状態推移関数リスト例を示す。これは、第
1図画像生成・表示部9上に表示したアニメーションを
構成する複数のキャラクタのうちのキャラクタ名“Whal
e(クジラ)”について、外見的および内的状態の変化
を表現するための関数名を図示のように予め定義したも
のである。具体的に説明すると、例えば calc−position position velocity dt ……(4) の、calc−positionは、関数名を表し、position、velo
city、dtが変数名をそれぞれ表す。
第5図は、状態推移関数ライブラリ例を示す。これ
は、第2図処理部1−1が実行するための関数であっ
て、図中では関数名“calc−position"の関数である。
図示のような処理によって位置変化の計算、状態変数の
更新などを行うようにしている(第7図を用いて後述す
る)。
第6図は、状態変数リスト例を示す。これは、キャラ
クタ名“Whale"の外部状態変数、内部状態変数、参照変
数について作成したものである。ここで、 外部状態変数:キャラクタ名“Whale"の位置や速度、質
量、形などの外部状態を表す変数であって、図中では位
置“position",“velocity"などが作成されている。従
って、当該キャラクタ名“Whale"は変数名“positio
n"、“velocity"など(図示してないがこの他に色、サ
イズなどもある)に従って評価時刻の間隔で移動などす
ることとなる。具体的に説明すると、 global static−float3 position 10.0 20.0 45.0 ……(1) の、globalは外部状態変数を表し、static−float3は型
名であって保存的浮動小数点3次元ベクトル変数を表
し、positionは変数名であってWhaleの重心位置を表
し、10.0 20.0 45.0はX、Y、Zの座標位置をそれぞれ
表す。
内部状態変数:キャラクタ名“Whale"の空腹度や疲労度
などの体の状態あるいは嬉しさや寂しさなどの精神的状
態などのように、外部から直接観察できない内部状態を
表す変数であって、図中では“appetite(食欲)”、
“fatigue(身体の疲労)”などが作成されている。従
って、当該キャラクタ名“Whale"の内部状態変数の変数
名“apptite"、“fatigue"などに従って評価時刻の間隔
で状態推移関数ライブラリ3中の該当する関数が計算を
行い、外部状態変数に影響を与えるようにしている。ま
た、記述を具体的に説明すると、 local static−float appetite 0.7 ……(2) のlocalは内部状態変数を表し、static−floatは型名で
あって保存的浮動小数点スカラ変数を表し、appetiteは
変数名であってWhaleの空腹度を表し、0.70は空腹度の
値を表す。
参照変数:自分のキャラクタ名“Whale"の状態変化を
求める際に必要な状態変数を計算に先立って読み込むた
めのものであって、図中では参照キャラクタ名“Al"の
変数名“position"を、変数名“pos−Al"として読み込
むことなどが作成されている。従って、当該キャラクタ
名“Whale"の参照変数に伴って評価時刻の間隔で共有メ
モリ6から自己の計算に必要なデータを予め取り込んで
内部に保持するようにしている。また、記述を具体的に
説明すると、 rafer const−float3 pos−Al Al position ……(3) の、referは参照変数を表し、const−float3は読出専用
浮動小数点3次元ベクトル変数を表し、pos−Alは変数
名を表し、Alは参照キャラクタ名を表し、positionは参
照キャラクタ名の変数名を表す。
次に、第7図生成例の順序に従い、第1図、第2図構
成の動作を詳細に説明する。
第7図において、は、時刻を読み込む。これは、状
態変数の変化量の計算に必要な時間情報として、システ
ム時計から絶対時刻を読み込み、評価の対象となる時刻
を特定する。更に、前評価時刻との時間差を求める。
は、共有メモリ6から、他のキャラクタの外部状態
変数のコピーを参照変数に読み込む。これは、第2図で
共有メモリ6からキャラクタ動作生成部1が自己の参照
変数にコピーを読み込む。
は、状態推移関数リスト2より、関数とその引数
(状態変数)の組を1つ取り出す。例えば第1図関数
“calc−position"と状態変数“position"の組を取り出
す。
は、関数を起動し、更新前の状態変数を読み込む。
これは、例えばで取り出した組の関数“calc−positi
on"を状態推移関数ライブラリ3から取り出して起動
し、この起動した関数“calc−position"が状態変数“p
osition"について、更新前バッファからその値を読み込
む。
は、更新後の状態変数の値を求める。これは、例え
ばで起動した関数“calc−position"が状態変数(参
照変数、内部状態変数など)の値をもとに更新後の状態
変数の値を求める。
は、結果を、更新後の状態変数のバッファに書き込
む。これは、例えばで起動した関数“calc−positio
n"が、で求めた更新後の状態変数の値について、更新
後のバッファに書き込む。
は、状態推移関数リストが終わりか否かを判別す
る。YESの場合には、で更新後のバッファの内容を、
更新前のバッファにコピーし、で外部状態変数の値を
共有メモリにコピーし、に進む。一方、NOの場合に
は、次の組について、以降を繰り返し行う。
は、アニメーションが終了か否かを判別する。YES
の場合には、終了する。NOの場合には、以降で次の評
価時刻についてアニメーションを行う。
以上の手順によって、第3図アニメーションデザイン
手順によって予め作成された状態推移関数リスト2、状
態推移関数ライブラリ3、および状態変数リスト4をも
とに、キャラクタが相互に影響を及ぼし合いながら、ア
ニメーションを自動作成することが可能になる。
〔発明の効果〕
以上説明したように、本発明によれば、予め作成した
状態推移関数リスト2、状態推移関数ライブライリ3お
よび状態変数リスト4をもとに、複数組のキャラクタ動
作生成部1が共有メモリ6などにコピーされている外部
状態変数のうちから参照変数について内部に読み込んで
自己のキャラクタの状態推移をそれぞれ求めて更新する
と共に外部状態変数を共有メモリ6などにコピーするこ
とを繰り返してアニメーションを作成する構成を採用し
ているため、複数のキャラクタが相互に影響を及ぼし合
いながらリアルタイムにアニメーションを自動生成する
ことができると共に分散処理によってリアルタイムに高
速に生成することができる。これにより、ストーリ自体
をシステムが生成しながらキャラクタの状態推移を生成
し、アニメーションを生成するための汎用的システムを
実現できた。また、アニメーション制作において、キャ
ラクタの状態推移規則を直接利用できるので、従来のよ
うにキャラクタの動きを全て人手で指定する手法に比べ
て、データの再利用が容易となり、アニメーション制作
の効率を向上させることができる。更に、対話的アニメ
ーションシステムや疑似的体験システムの実現のための
汎用的な手法としても利用できる。
【図面の簡単な説明】 第1図は本発明の1実施例構成図 第2図は本発明のシステム構成図 第3図は本発明のアニメーションデザイン手順例 第4図は本発明の状態推移関数リスト例 第5図は本発明の状態推移関数ライブラリ例 第6図は本発明の状態変数リスト例 第7図は本発明のキャラクタの動作生成例を示す。 図中、1:キャラクタ動作生成部 1−1:処理部 1−2:局所メモリ 2:状態推移関数リスト 3:状態推移関数ライブラリ 4:状態変数リスト 5:通信部 6:共有メモリ 7:入出力部 8:入力部 9:画像生成・表示部 9−1:画像生成部 9−2:表示装置

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】アニメーションを自動生成するアニメーシ
    ョン自動生成方式において、 キャラクタの状態推移を表現するための任意個の関数名
    に対応づけて任意個の変数名を予め定義する状態推移関
    数リスト(2)と、 この状態推移関数リスト(2)で定義した関数名に対応
    する関数を予め作成して格納する状態推移関数ライブラ
    リ(3)と、 上記状態推移関数リスト(2)で定義した変数名に対応
    する状態変数(外部状態変数、内部状態変数、参照変
    数)の値を格納する状態変数リスト(4)とを持つキャ
    ラクタ動作生成部(1)をキャラクタ毎に独立に設け、
    共有メモリ(6)などを介して相互に通信を行うように
    構成し、 実行指示に対応して、ある時刻についての動作計算を行
    う際、動作計算の開始に先立って上記キャラクタ動作生
    成部(1)が上記共有メモリ(6)などから参照変数の
    値を読み込むと共に上記状態推移関数リスト(2)から
    関数名およびその変数を1組み取り出し、上記状態推移
    関数ライブラリ(3)中から起動した当該関数名の関数
    が上記状態変数リスト(4)中の更新前の状態変数の値
    を読み込んで更新後の状態変数の値を求めることを組み
    が無くなるまで繰り返し、動作計算が終了した段階でそ
    の計算結果である外部状態変数の値を共有メモリ(6)
    などにコピーするように構成したことを特徴とするアニ
    メーション自動生成方式。
JP2321540A 1990-11-26 1990-11-26 アニメーション自動生成方式 Expired - Fee Related JP2675435B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2321540A JP2675435B2 (ja) 1990-11-26 1990-11-26 アニメーション自動生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2321540A JP2675435B2 (ja) 1990-11-26 1990-11-26 アニメーション自動生成方式

Publications (2)

Publication Number Publication Date
JPH04205067A JPH04205067A (ja) 1992-07-27
JP2675435B2 true JP2675435B2 (ja) 1997-11-12

Family

ID=18133700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2321540A Expired - Fee Related JP2675435B2 (ja) 1990-11-26 1990-11-26 アニメーション自動生成方式

Country Status (1)

Country Link
JP (1) JP2675435B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3578491B2 (ja) 1994-09-05 2004-10-20 富士通株式会社 Cgアニメーション編集装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2512052B2 (ja) * 1988-01-29 1996-07-03 株式会社日立製作所 動画像生成方法及び装置

Also Published As

Publication number Publication date
JPH04205067A (ja) 1992-07-27

Similar Documents

Publication Publication Date Title
US5943056A (en) Interference checking method
US8566736B1 (en) Visualization of value resolution for multidimensional parameterized data
US20010019333A1 (en) Methods and apparatus for transforming three-dimensional objects in video games
US20130257856A1 (en) Determining a View of an Object in a Three-Dimensional Image Viewer
KR20080022591A (ko) 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인
Stuyck Cloth simulation for computer graphics
CN115564642B (zh) 图像变换方法、装置、电子设备、存储介质及程序产品
EP1031946B1 (en) Recording medium,Image processing method and unit with integrated shaping model data
CA2349600C (en) Three-dimensional skeleton data error absorbing apparatus
JP2675435B2 (ja) アニメーション自動生成方式
Hedelman A data flow approach to procedural modeling
JPH0793586A (ja) 3次元コンピュータグラフィックスアニメーションにおいてモーションブラーを表現する方法
CN108553900A (zh) 一种基于ue引擎的可叠加存储反复使用的方法
CN111857666B (zh) 一种3d引擎的应用方法和装置
JPH11250283A (ja) オブジェクト表現システム
JP3766857B2 (ja) 3次元モデルの開発支援システム
JP2000331193A (ja) 有限要素メッシュモデルの形状変更方法
CN116070334B (zh) 一种面向数字孪生应用的多维模型构建方法
JP2000293706A (ja) 3次元流体データの可視化処理方法
US11957976B2 (en) Predicting the appearance of deformable objects in video games
JP3056535B2 (ja) アニメーション作成支援装置
Got Developement of a new automatic skinning system
Clements COMPUTER GRAPHICS AND ANIMATION
KR100789424B1 (ko) 게임 특수효과 구현 시스템 및 방법
JPH07271998A (ja) 立体表示方法および装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees