三次元リアルタイムアニメーション 技術の研究開発 三次元

三次元リアルタイムアニメーション
三次元リアルタイムアニメーション
技術の研究開発
技術の研究開発
神戸大学工学部 情報知能工学科
瀧和男
吉川和宏
松嶋祥文
正健太朗
背景
背景
ゲーム
バーチャルリアリティ,
インタラクティブムービー
インターネット
テキスト
テキスト
テキスト
テキスト
静止画
静止画
動画
動画
マンマシンインタフェースとしての動画の需要
コンテンツ不足
効率のよい 3D リアルタイムアニメーションシステム
A T (Actors ・ Theatre)
A T とは
とは
アニメーション制作時のコスト軽減とリアルタイム合成を
目的として設計された CG システム
Actor モデルによる仮想世界の表現
シナリオ(Goal) 駆動型の意思決定エンジン
行動シミュレーションによる動作決定
リアルタイム 3D 出力
Actor
Actor モデルに基づく仮想世界の表現
モデルに基づく仮想世界の表現
Actor モデル
アニメーション仮想世界
Object
Object
メッセージ交換
Object
Object
視覚,聴覚
内部状態
行動
メソッド
Actor
Actor Object
Object
登場人物や物を
登場人物や物を「Actor
「Actor Object」
Object」 として表現
として表現
シナリオ
シナリオ (Goal)
(Goal) 駆動型の意思決定方式
駆動型の意思決定方式
How to resolve?
情報交換
Goal
Local Rule
行動
行動
Actor
Actor Obj
Obj
Actor
Actor Obj
Obj
シナリオ
指示
(Goal)
指示
(Goal)
Director
Director Obj
Obj
シナリオを管理する
シナリオを管理する Object
Object
行動シミュレーション
行動シミュレーション
認識
他のキャラクタ
判断
認識
行動
状況更新
認識
障害物
リアルタイム
リアルタイム 3D
3D 出力
出力
アニメーションの生成/表示を実時間で処理
Animation Data
A T
Graphics Image
Graphics
Hardware
interaction
仮想世界内のストーリーがダイナミックに変化
User
Actor
Actor Object
Object の動作手順
の動作手順
ゴールを受け取る
ルール参照
行動列の生成
動作の
適用/合成
Tactics Layer
Action Layer
時系列データの
同期/出力
Display Layer
A T (mosaic)
(mosaic) のスケジューリング
のスケジューリング
PE
PE
Scheduler
message queue
Actor
Actor のメソッドは同一
のメソッドは同一 PE
PE 内では逐次
内では逐次
に実行される
に実行される (( 同期的に実行
同期的に実行 ))
異なる
異なる PE
PE 間では非同期に実行
間では非同期に実行
緩い同期
緩い同期
Actor
Actor
アニメーションにおける ( 時刻 ) 同期
厳密な同期をとらなくても良い場合が多く存在
ストーリ上重要な同期はシナリオ上に制御文として記述される
太郎と花子が C 点で出会う
taro.wait:while(hanako=point(C))
point C
シナリオに記述されていない場合の同期
同一 PE 内に Actor Object をおく
頻繁にメッセージ交換を行い同期をとる
改良案を検討中
ストーリー管理方式
ストーリー管理方式
シナリオ
シナリオ
A の Goal
B の Goal
ストーリーを形成するための
各 Actor Obj の目標 (Goal) の集合
Director Object
Director Object
シナリオを一元管理
Goal
:
:
Goal
適切なタイミングで
Actor Obj に Goal を与える
Actor Obj A
Actor Obj B
Actor
Actor Object
Object の相互干渉
の相互干渉
オブジェクト同士のメッセージ通信により実現
例1
ActorA
どこにいますか?
位置情報の類の交換
ここにいます
例2
作用の伝達
ActorA
ActorB
あなたを蹴りました
ActorB
では飛びます
Actor
Actor Object
Object の動作決定
の動作決定
Goal
1. Director Object から Goal を受け取る
ルール
2. 動作決定のためのルール参照
Actor Object
3. 状況に見合った行動列を生成
自身の状態
周囲の環境
他オブジェクトの状態
行動列生成
Actor
Actor Object
Object の動作決定の詳細
の動作決定の詳細 (1)
(1)
現状
現状
G
Gooaall 名
名
条件
条件
動作
動作 A
A
選択
選択
動作
動作 C
C
動作
動作 D
D
動作
動作 B
B
同時に
同時に
パラメータ
パラメータ
決定
決定
動作
動作 E
E
動作決定ルール木
動作決定ルール木
キュー
キューhead
head
動作
動作 A
A
動作
動作 D
D
Actor
Actor Object
Object の動作決定の詳細
の動作決定の詳細 (2)
(2)
head
head
動作
動作 A
A
キューの先頭
を参照
描画処理
動作
動作 B
B
動作
動作 C
C
動作 継続 or 終了の判定
キュー
キュー
今後
今後
・・ プロダクションシステムの導入
プロダクションシステムの導入
・・ 群制御のための仕組みを検討
群制御のための仕組みを検討
動作の合成
動作の合成
データベース
行動列
走る
走る
止まる
ける
適用/合成
合成
ける
時系列アニメーションデータ
動作データ生成における問題点
動作データ生成における問題点
同じ動作であっても
同じ動作であっても
形状が違うキャラクタには
形状が違うキャラクタには
別の動作データが必要
別の動作データが必要
手が長いキャラクタ
手が長いキャラクタ
足が長いキャラクタ
足が長いキャラクタ
パラメトリックな動作データ
パラメトリックな動作データ
形状パラメータにより違う形状の
形状パラメータにより違う形状の
キャラクタに適用
キャラクタに適用
手が長い
手が長い
足が長い
足が長い
「人型」
「人型」テンプレート
テンプレート
アニメーションに登場する
キャラクタに併せて初期化
時に生成
動作連結グラフ
動作連結グラフ
立っている
立っている
動作データベース
動作データベース
歩いている
歩いている
開始状態
開始状態
終了状態
終了状態
蹴っている
蹴っている
走っている
走っている
各動作がどのように連結
できるかを初期化時に求
めておく
連結と補間
連結と補間
蹴り足をおろす
走るのをやめる
現在の状態
現在の状態
ける
補間する動作
補間する動作
蹴り足を
蹴り足を
おろす
おろす
連結したい動作
連結したい動作
ける
走るのを
走るのを
やめる
やめる
改良点
改良点
現状では
現状では
出来上がる動作連結グラフを
出来上がる動作連結グラフを
意識して動作データを作成
意識して動作データを作成
(補間)
走り出す
蹴り足をおろす
蹴り足をおろす
走るのをやめる
走るのをやめる
この問題点を解決するには
この問題点を解決するには
自動的に補間動作データを生成で
自動的に補間動作データを生成で
きる機能が必要
きる機能が必要
ける
ける
リアルタイム出力
リアルタイム出力
アニメーション出力
motion data 出力
running
running motion data
1/20∼1/30 sec で
常時データを転送
ActorObject
一度に 1∼1/3 sec 分の
データを生成
A T(mosaic) のスケジュールアルゴリズムでは細かな
出力制御は困難
時系列データの出力
時系列データの出力
Actor Obj A Sync
animation data
PE1
Actor Obj B Sync
animation data
PE2
Shared
memory
Graphics Kernel
output Image
開発環境
開発環境
動作マシン
SGI 社製 PowerOnyx (R10000x12
(R 000x12 + InfiniteReality )
使用言語
mosaic (Actor モデル型オブジェクト指向言語)+ C 言語
使用アプリケーション
Alias|Wavefront 社製 Explore( おもに 3D model 制作 )
MediaLab 社製 CLOVIS( Graphics Kernel )
現状
現状
A T '96 ( Rapid prototype version ) の試験実装
単純な Story を制作
問題点/性能評価
処理能力
表現力
ユーザインタフェース
システム構成
今後の展開
今後の展開
A T システム全体の Blush-up( '96 から '97 へ)
より高度な(なめらかな)モーションメイク
知識処理の高度化/学習機能の導入
外部ユーザインタフェースによるインタラクティブ性
音声インタフェースによる表現の向上
etc....
今年
今年 (( 97年度)
97年度)の展開
の展開
A T '97 のための目標
システム記述手法の見直し(効率のよい並列技術の導入)
知識処理としてプロダクションシステムの導入
群れ制御による集団の制御
アニメーションデータのパラメタライズ手法
アニメーションデータの補間技術