110 likes | 308 Views
Real-Time Character Animation Using Multi-layered Scripts and Spacetime Optimization Eric Menou 他. 情報通信研究室 阿蘓 久志. 発表の流れ. 概要 System overview Script language Low-level motion generation Data blending Optimization 結論と課題. 概要. オフラインでのアニメーション技術. 高いレイヤでのオンライン マルチレイヤスクリプトシステム.
E N D
Real-Time Character Animation Using Multi-layered Scripts and Spacetime OptimizationEric Menou 他 情報通信研究室 阿蘓 久志
発表の流れ • 概要 • System overview • Script language • Low-level motion generation • Data blending • Optimization • 結論と課題
概要 オフラインでのアニメーション技術 高いレイヤでのオンラインマルチレイヤスクリプトシステム ・職人が動きの微細な箇所 まで一つ一つ表現 ・完成度が高い ・非現実的な表現も意図的に可能 ・処理に時間がかかる ・複数のサブシステムを並列に処理 することで実現 ・複雑なストーリや動作も表現可 ・運動学の逆計算の量は膨大・即時性にかける 提案するアニメーションシステム ・パイプライン処理による複数の結果に対して最適化を行う・処理量の減少・リアルタイム性の確保
Behavior or Direct Order order Script Engine Scene Script 2 Select Script Script 1 ClassHierarchy Entity … Instantiate Entity 2 Action … Entity 1 Action 2 MCM 1 Action1 MCM 2 MCM … ExecutionEngine Space-timeOptimizer Execution Action Data Blending Compute Motion Skelton Object … Render Shape Object 2 Shape Object 1 Shape shape Render Engine LIVE architecture LIVE: Life In Virtual Environment Script …
Script language Walker Script WALK 2 [ENTITY] entity human [VECTOR3D] position [ACTION] … [WHILE] loop END_BRIK (first_step) SUPERIOR(DISTANCEXY(POSITION(entitty),potsition),BD(entity,2_step)) /* left step*/ [BRIKMOCAP] left_step TRUEEND_CAPTURE entity LEGS left_step DIRECTIONXY(POSITION(entitty),potsition)) NEXT [END] /* right step*/ [BRIKMOCAP] right_step END_BRIK(left_step)END_CAPTURE entity LEGS right_step DIRECTIONXY(POSITION(entitty),potsition)) NEXT [END] END_BRIK(right_step) entity RIHGT_ARM BONE(entity,RightArm,VECTOR(0,-2,0)) … [ENDWHILE]
動作の表現方法 • キャラクタを骨組みの集合と考える • 各骨との接続点は可動範囲が決められている • それらのなす曲線はB-spline曲線を用いて表現する
一般的に使われている自由曲線(3次) Hermite B C • エルミート(Hermite)曲線 • 点Aを起点に、方向ベクトルABから出発し、方向ベクトルCDの始点Cで終わるカーブを描く。セグメントの終点が点Cで終わるため、感覚的に曲線の形がつかみにくい。ベジェ曲線と似ているが、点BとCはコントロール点ではなく、コントロールベクトルとして使われている。 • ベジェ(Bezier)曲線 • セグメントの始点と終点のみ通過する。エルミートと似ているところは、線分ABを接線として発生し、点B,Cに引っ張られながら、線分CDを接線として終わる。四つの定義点によるポリゴンの形状から描かれる曲線の形状を想像しやすい。 • B-スプライン(B-spline)曲線 • 定義点をまったく通過せず、曲線は四点の内側に発生する。定義点の移動に対して比較的緩慢に変化するので、滑らかな曲線を微妙にコントロールしたい場合に最も適している。 • カットマル-ロム(Catmul-Rom)曲線 • 四つの定義点のうち、二番目の点Bを起点に、次の点Cまでの曲線を描く。 A D Bezier B C A D B-spline B C A D Catmul-Rom B C A D
Data blending 複数のタスクが同時に実行 ひとつの骨に対して異なった動作をしようとする MCMライブラリとレンダラの間に新しいレイヤを設け同時に相互に作用しあうことを可能にした ・それぞれのタスクに優先度を付ける・それぞれのタスクに重みを付ける
Optimization If knots vector is optimized If knots vector is not optimized B-spline計算処理を少なくしたい ノットベクトルを最適化しの個数を減らす 最適化する単位時間を長くとる Spacetime-optimization 最適化処理に時間がかかる B-spline計算処理が少なくなる
結論と課題 • マルチレイヤスクリプト言語と二つのアニメーションシステムを用いたより現実的な行動を見せるための新しいシステムを紹介した • Script language • Data blending • Space time optimization • 今後我々は、実時間最適化に焦点をあて、突然の状況の変化に即座に対応でき、さらには低位レイヤでの実時間最適化を行えるよう開発を進める。