１．はじめにVirStA System:
仮想ステージと仮想アクターによる分散ＣＧアニメーションシステム

リアルタイムＣＧアニメーション
ＣＧレンダリング能力の向上によるI. システムの全体構想

多数のポリゴンを用いたＣＧアニメーション
人間の入力や動作などにリアルタイムに

早稲田大学 理工学部

後藤 真孝

反応するＣＧキャラクタを用いた
インタラクティブシステム

阿部 哲也
松本 英明

村岡 洋一

画像生成処理と動作決定処理

１．はじめに

画像生成処理：２．仮想ステージと仮想アクター

レンダリング処理等
動作決定処理：３．VirStA System

ＣＧキャラクタの関節角計算処理等

４．おわりに同一の計算機上で実行
ＣＧキャラクタの追加

1996/09/04 情報処理学会 第５３回全国大会

リアルタイム性が損なわれる

No.2

No.1

動作の多様化・複雑化

２．仮想ステージと仮想アクター

VirStA System(Virtual Stage and Actors System)
画像生成処理と動作決定処理をＣＧキャラクタを中心としたＣＧシステム

異なる計算機上に負荷分散

仮想アクター
リアルタイム性を損なわずに多様な拡張が可能

各ＣＧキャラクタやＣＧオブジェクト

仮想ステージ（ネットワーク経由で操作）

ＣＧキャラクタ

すべての仮想アクターが共存する仮想空間

ＣＧキャラクタ

ＣＧキャラクタ

仮想カメラ
仮想空間を撮影するカメラ

仮想空間（複数の計算機によって共有）

・キャラクタの追加に伴う処理や動作決定処理を異なる計算機上に割り当てられる・拡張以前の処理への影響を最小限に抑えられる

本研究の目的

拡張性高く汎用的に構築

No.3

リアルタイムにインタラクションできるシステム

テレビや映画用の映像収録のようにＣＧ生成スタジオや舞台セットに様々な出演者が登場するのを複数のカメラで撮影するようにリアルタイムＣＧ生成

No.4

複数のＣＧキャラクタが人間や他のキャラクタと３． VirStA System

負荷分散
画像生成処理リアルタイムＣＧアニメーションシステム

仮想ステージ内の仮想カメラから見た画像を生成する処理

複数の計算機群を同時に活用

動作決定処理各仮想アクターがどのように動くかを決定する処理

仮想ステージ・仮想カメラ・仮想アクターをネットワークに接続された複数の計算機上に別々に割り当てるＬＡＮ（Ｅｔｈｅｒｎｅｔなど）に接続されたグラフィックスワークステーション群の能力を最大限に活用

Ethernet

効果的に負荷分散
仮想アクター

仮想アクター

仮想アクター
ＣＧオブジェクトが可動部で連結した骨格構造
ポリゴンモデルで表現

仮想ステージ

システム構成

No.6

仮想カメラ

No.5

Ethernet

ＲＭＣＰ (Remote Media Control Protocol)
サーバ・クライアント間の通信プロトコル

VirStA Manager
VirStA Renderer

ＵＤＰ／ＩＰ上のコネクションレスな通信プロトコル

VirStA Renderer

ブロードキャスト（同報通信）による情報共有
VirStA Actor

VirStA Actor

VirStA Actor

クライアントがＲＭＣＰパケットをブロードキャスト

Virtual Stage

VirStA Actor からの全情報をVirStA Manager と全 VirStA Renderer が共有

Virtual Actors
サーバ・クライアント・モデル
VirStA Manager

実装・拡張が容易

Virtual Stage Management Server

各種インタフェースとの整合性

仮想ステージの状態と各仮想アクターの位置情報を管理
ＭＩＤＩ入出力

VirStA Renderer

RMCP MIDI Receiver / RMCP Sound Server

Virtual Stage Rendering Server

仮想カメラの視点からの画像生成処理（レンダリング）

VirStA Actor

ビデオカメラを通じたジェスチャー認識

RMCP Camera Analyzer
Virtual Actor Client

仮想アクターの動作を決定

各種インタフェースを用いたインタラクションを実現する際の整合性がよい

サーバ群に対して動作変更後の画像生成を要求

No.8

他の仮想アクターとのインタラクション

No.7

仮想ステージ上での自分の位置情報の決定ＣＧアクターモデル

サーバ・クライアント間の通信通信量の削減
リアルタイムに動作が変わるＣＧアクター

ＣＧアクターモデルを指定された時刻に更新

ポリゴンモデルを毎フレームごとにすべて伝送計算機のＣＧレンダリング能力に応じたフレームレート・ディテールで表示

通信量が多く現実的でない

VirStA Renderer

ＣＧアクターモデル：
制御パラメータ付き骨格構造およびポリゴンモデル

ＣＧアクターモデルを指定された時刻に更新

VirStA Actor がＣＧアクターモデルをVirStA Manager と全 VirStA Renderer に事前に登録
動作中は最低限のパラメータ変更だけをブロードキャスト

時限スクリプト

VirStA Manager

VirStA Actor

位置情報等の問合せ

短期間にわたるパラメータ変化を一度に指定
VirStA Actor
パラメータの時間変化関数

表示はおこなわない

パラメータの変更
時限スクリプト

位置情報等の取得
仮想ステージや他の仮想アクターに関連して動作を決定

期間限定付きで指定

パラメータ間の束縛条件

直接通信によるインタラクション
p1

pVirStA Actort

No.9

t

No.10

p2t

VirStA System の利点・特徴

VirStA System の利点・特徴

複数の仮想カメラによる仮想ステージの同時撮影

複数の開発者による分散実装

複数の VirStA Renderer を起動

仮想ステージと仮想アクター間のインタフェースが汎用化

様々な方向設定のカメラ

ＣＧアクターモデルの登録

複数のカメラが同時に収録するようにアニメーション生成
スタジオ・舞台セットにおける出演者の演技
ライブ演奏のステージにおける演奏者の演奏風景

パラメータの変更
時限スクリプトの指定
各仮想アクターを複数の開発者が容易に分担して実装

VirStA Renderer を他の計算機上に追加してもリアルタイム性を損なわない

仮想アクターの再利用

ブロードキャストのため通信量は変わらない
仮想アクターを一度実装すれば他の目的に再利用しやすい

時限スクリプトを用いた動的負荷分散計算機とネットワークの負荷に応じて時限スクリプトの実行場所を動的に変更

様々な仮想アクターの共演
様々な種類の VirStA Actor を追加

仮想ステージの状態の保存・再現機能

同一の仮想ステージ上で多様な仮想アクターが共演

VirStA Manager が仮想ステージの状態を保存・再現

異なる計算機上に追加して負荷分散

No.12

一度舞台セットとアクターの立ち位置を決めればそこから何度でも多様なアニメーションを生成できる

No.11

仮想アクター間のインタラクションがなければ他の仮想アクターの動作のリアルタイム性を損なわない４．おわりに後続発表
II. 分散環境でのリアルタイム実装

まとめ

時限スクリプトの実装
時限スクリプトによる動的負荷分散

分散ＣＧアニメーションシステム VirStA System

III. ジャズセッションプレーヤーの実現
VirStA System の応用例

複数のＣＧキャラクタが登場する

ベーシストとドラマーのＣＧアニメーション

インタラクティブＣＧアニメーション

仮想アクター・仮想ステージ・仮想カメラ

今後の研究

ＣＧアクターモデル・時限スクリプト

様々なＣＧアニメーション生成に活用
仮想犬のＣＧ
ジャズセッションプレーヤーのＣＧ

異なる計算機上に負荷分散することでリアルタイムに生成

No.14

No.13

システム自体の拡張