Visual Computing / グラフィクスとCAD 合同シンポジウム '09-36

モーショングラフによる回避動作の実現
Generating Avoidance Motion Using Motion Graph
正岡 直樹†
Naoki MASAOKA†尾下 真樹‡
Masaki OSHITA‡†九州工業大学 大学院 情報工学府 情報科学専攻†Graduate School of Computer Science and Systems Engineering, Kyushu Institute of Technology‡九州工業大学 大学院 情報工学研究院 システム創成情報工学研究系‡Department of Systems Design and Informatics, Faculty of Computer Science and Systems Engineering, Kyushu
Institute of Technology
E-mail: †masaoka@cg.ces.kyutech.ac.jp,‡oshita@ces.kyutech.ac.jp

1. は じ め に類 似 姿 勢 で 動 作 デ ー タ を 分 け 、動 作 の 遷 移 を 作 成 す る 。

1.1 背 景モーショングラフはエッジとノードで構成され、エッ

近年、コンピュータゲーム の中には、キャラクタ同

ジは短い動作、ノードは姿勢を表す。 一定の遷移ルー

士が格闘を行うものが多数 製作されている。このようルに従って モーション グラフをたどりながら、エッジなゲームでは、相手の攻撃を上手く回避するような回の 動 作 を 再 生 す る こ と で 、連 続 的 な 動 作 を 生 成 で き る 。

避動作を生成する必要がある。現在のコンピュータゲ

例 え ば [1]で は 、ユ ー ザ が 入 力 し た 軌 道 に 沿 っ て 歩 く 動ームでは、モーションキャプチャ技術などを用いて作作を生成するような遷移ルールが提案されている。彼られた多数の動作データを用意しておき、ユーザの操ら は 、各 ノ ー ド か ら 次 に 遷 移 す る エ ッ ジ を 決 め る 際 に 、作や状況に合わせて適切な動作データを再生すること生成される 動作が最も 入力軌道に近くなる エッジを選によりキャラクタの動作を実現している。しかし、攻択する遷移ルールを用いている。

撃動作に合わせた適切な回避動作を実現するためには、

本研究では、モーショングラフを用いて、 攻撃に対あらかじめ多数の回避動作を用意した上で、攻撃動作

して、適切な回避動作を生成できるエッジの遷移を実に応じて、適切な位置、時間で回避する動作を選択・現する手法を開発する 。

再生する必要がある。

1.3 ア イ デ ア

しかし 、こ のよう な回 避動 作を選 択 す るた めには 、２つの問題点がある。１つは、大量な動作データを扱

このような目的を実現するため、 本研究では次の３つの提案手法を開発した。

うことが困難であることである。２つ目は、適切な動１つ目の手法は、実行可能なモーショングラフの範作データを探索し取得するには多くの時間がかかり、囲内に、タイミングよく攻撃を回避できる回避動作が動的にアニメーションを生成することが困難であるこ

見つからな い場合でも、動作の再生速度を変化させるとである。そのため、現在の格闘ゲームでは、どのよことで回避 動作のタイミングを合わせる、というもの

うな位置に攻撃しても対応できるように体全体を使っである。これは、動作データの中には再生速度を 多少て大きく回避する動作のみが用いられており、攻撃に変化させても不自然にならない動作があることに注目合わせて紙一重で回避するような、現実の格闘動作でしたものである。

みられるような自然な回避動作は実現されていない。
1.2 目 的

２つ目の手法は、攻撃を紙一重で 適切に回避できるかを評価するために、 回避を行うキャラクタの身体領

本研究の目的は、 相手の攻撃に合わせた適切な回避

域・回避領域を考慮する、というものである。身体の動 作 を 動 的 に 生 成 す る 手 法 の 開 発 で あ る 。本 研 究 で は 、位置を表す身体領域に加えて、攻撃を回避する位置を大量の動作データを用いて多様な回避動作を実現する表す回避領域を判定に用いることで、 自然な回避 動作

た め 、 モ ー シ ョ ン グ ラ フ [1]を 使 用 す る 。

を実現する。しかし、このような 領域同士の衝突 判定

モ ー シ ョ ン グ ラ フ と は 、 Kovar ら に よ っ て 提 案 さ れには、多くの処理時間がかかるという問題がある 。

た手法であり、動作データを自動的に有向グラフに変そこで、 ３つ目の手法として、グラフィックスプロ

換することで、もとの動作データの断片を組み合わせ

セ ッ シ ン グ ユ ニ ッ ト（ GPU）を 用 い て 高 速 に 衝 突 を 判 定て連続的な動作を生成することを可能とする。モーシ

する。２つの領域の衝突を判定する際に、 領域同士のョ ン グ ラ フ は 、動 作 デ ー タ 中 の 類 似 し た 姿 勢 に 注 目 し 、

正 確 な 距 離 を 計 算 す る の で は な く 、 各 領 域 を GPU メ モ

Visual Computing / グラフィクスとCAD 合同シンポジウム '09-36

リ上の画面に描画することで、領域同士の 重なりの判定により衝突判定を行う。また、 高速化のための 他のを用いた衝突判定を利用することで、より適切な 回避動作を実現できる。

工夫として、あらかじめ各ノードに攻撃位置に応じた

近 年 、GPU を 使 っ た 高 速 化 は 、様 々 な 用 途 で 利 用 さ

回避動作のパス候補を計算して、探索時に利用する。

れ て い る 。GPU を 使 っ た 粒 子 法 に よ る 物 理 シ ミ ュ レ ー
シ ョ ン で も 、粒 子 同 士 の 衝 突 判 定 が GPU で 実 現 さ れ ている。しかし、従来の衝突判定で は、図形同士の距離

2. 関 連 研 究
近年、モーショングラフを用い て格闘動作を生成すの判定が主に用いられており、3 次元空間での領域同士の衝突判定は実現されていなかった。これは、描画る研究が行われている。
Lee ら [2]は 、 攻 撃 の 目 標 位 置 が 指 定 さ れ た と き に 、

画面は 2 次元であるため、 奥行きのある領域の判定を

攻撃動作を実現する手法を提案している。この手法で行うのは難しいという問題もある。本研究では、3 次

は、あらかじめモーショングラフの各ノードにグリッ

元の領域を高さで分割 することにより 、3 次元の領域

ド情報を設定し、グリッドの各点に、その位置に対しを 2 次元の領域で 近似し、画面上の重なりを判定するて移動や攻撃を行うための適切な 遷移先エッジの情報ことで、領域同士の衝突判定を実現している。

を、あらかじめ計算して記録しておく。この情報を用いることで、エッジを探索する必要がなく 、動作生成

3. 提 案 手 法を高速に実現する。しかし、この手法では 、目標位置

3.1 概 要は点で表され、領域や時間 を考慮していない。この手

本提案手法 では、任意の攻撃領域（空間・時間） の法で領域や時間を扱おうとすると、インデックスが大情報が与えられたときに、回避動作を行うキャラクタ量に必要となったり、領域と重なる全てのグリッド点の動作を生成する。攻撃領域は、位置・半径・時刻のに含まれる情報を統合して繊維先を決定したりする必情報を持つ 球の集合によって表わされる。攻撃領域の要がある、 という問題が起きる。 本研究では、3 次元

情報は、アプリケーションに応じて、攻撃を行う キャ

空間の攻撃領域や時間を考慮して 、適切な動作の選択

ラクタの攻撃動作 の情報から計算することも、今回を行う。本手法でも、一部 の処理で、 グリッドを利用

我々が実験用に作成したプログラムのように、ユーザした高速化を行っている。しかし、それだけでは領域がクリックした任意の 位置に攻撃が行われるように計や 時 間 に 対 応 で き な い た め 、GPU を 用 い る こ と に よ り

算することもできる。

領域同士の交差判定の高速化を行っている。

回避動作を行うキャラクタの動作は、モーショング

Shum ら [3]は 、 攻 撃 ・ 回 避 側 の 各 キ ャ ラ ク タ の エ ッ ジ

ラフを用いて生成する。攻撃が与えられていない時にの遷移を並行して探索しながら格闘動作を 生成する手は、任意の動作ルールに従ってエッジ遷移を行うこと法を提案している。しかし、本研究のような、回避領

で、キャラクタの動作が生成される。一方、攻撃情報

域や領域同士の距離を用い た適切な回避動作の選択や、が与えられたときには、現在再生を行っているエッジ

再生速度の調節などの工夫は行われていないため 、自の次のノード以降のパス（複数のエッジの遷移）の候

然 な 回 避 動 作 は 実 現 で き な か っ た 。 本 手 法 で は 、 GPU補の中から、攻撃を回避するために最も適切なパスを選択する。 選択された パスに従って、動作を再生する回避領域

こ と で 、回 避 動 作 の ア ニ メ ー シ ョ ン を 生 成 す る 。ま た 、
こ の と き 、回 避 動 作 を 実 現 す る た め の パ ス だ け で な く 、

攻撃領域

パス内の各エッジの再生速度も同時に決定して、 回避と攻撃のタイミングを合わせる。
攻撃動作

回避動作

身体領域

図 1： 衝 突 判 定 に 使 用 す る 領 域

3.2 パ ス 候 補 の 評 価 の 基 準
モーショングラフ 中の現在再生中のエッジ以降の一定時間範囲内の全てのパスをパス候補と呼ぶ。このパス候補の中から再生するパスを決めるために、 パス候補が攻撃に対して、どの程度自然な回避動作である

攻撃領域
攻撃領域
回避領域

か評価し、最も適切であると考えられるパスを一つ決定する必要がある。
適切なパスを選択するために、本研究では、図 1 のように身体領域・回避領域・攻撃領域の３種類の領域を考慮する。身体領域とは身体がある領域（図 1 の緑

図 2： 領 域 同 士 の 交 差 判 定 。 攻 撃 領 域 と 回 避 領 域 の 交色の領域）である。これは、キャラクタのある時刻に差（左）攻撃領域と身体領域の距離（右）おける体節や間接の位置によって決められる。 攻撃領

Visual Computing / グラフィクスとCAD 合同シンポジウム '09-36

域とは攻撃発生から攻撃終了までの攻撃部位がある領するパスの候補の列挙、パス候補の再生速度の決定、

域（図 1 の赤色の領域）である。これは、攻撃が発生

パス候補の絞り込み、パス候補の評価と選択、というしてから、終了するまでの攻撃が通る領域を表してい

処理の流れで、実行するパスを決定する。

る。回避領域とは、回避する人の回避行動前に身体領パス候補の列挙では、現在再生中のエッジ以降のパ域があり、かつ回避中に身体領域がなくなる領域（図ス（一定時間のエッジ遷移）のうち、回避動作を行う

1 の青色の領域）である。 つまり、攻撃領域と回避領

エッジを含むものを、候補として列挙する。これは、域が重なるときに、最もうまく回避しているように見現ノードから考えられるパスの中から最も適切な回避える。これは、回避動作の開始から回避動作が終わる

動作を選択できるようにするためである。 グリッドのまでの時刻の身体領域によって決められる。本手法で情報を用いてパス候補を列挙する。一定時間が長くな

は 、こ れ ら の 領 域 を 、球 の 集 合 に よ っ て 表 現 し て い る 。

るほどより適切な回避動作が含まれる可能性が高い。

攻撃領域・回避領域は動作データ中の攻撃・回避動作

パス候補の再生速度の決定では、各パス候補に対しの時刻・部位を手動で指定することで、自動的に計算て、攻撃と 回避の時間から 、回避動作と攻撃動作のタされる。身体領域は自動で計算される。

イミングを合わせるためには、回避動作を含むエッジ

これらの領域を用いて、回避動作を行うパスの評価を行う。パスの評価は 3 つの基準に従って決定する。
まず、ぎりぎりで回避できているかを評価する為に、までの各エッジの 動作再生速度を 何倍にする必要があ
るかを計算する。
パス候補の数が多い場合、評価項目の身体領域と攻身体領域と攻撃領域の距離を測る。図 2 のように赤い撃領域の距離を全てのパス候補で計算すると、計算時攻撃領域とキャラクタの身体領域の距離が近いほど、間がかかってしまい、リアルタイムでの処理が困難に紙一重で回避する事になり、より望ましい回避動作 となる。そこで、パス候補の絞り込みでは、領域同士のなる。しかし、回避キャラクタの身体領域と攻撃領域距離を計算する代わりに、互いの領域をテクスチャにの距離が負になると、その回避動作では攻撃が当たっ

描画し領域の重なりを計算 することで 、明らかに回避て し ま う た め 、負 に な る 回 避 動 作 は 候 補 か ら 除 外 す る 。

できないようなパス候補を削除する。

次に、攻撃をうまく回避するパス候補であるかを評

パス候補の評価と選択では、絞りこんだ各パス候補価する。上記の距離だけでは、攻撃領域が身体の近くに 対 し て 、 3.2 節 で 書 か れ て い る 3 つ の 基 準 で 評 価 をを通るだけで回避しているように見えないことがある。

計 算 し 、総 合 的 に 最 も 評 価 の 高 い パ ス を 一 つ 選 択 す る 。

そこで、回避領域と攻撃領域の重なりの大きさに基づ
き回避動作を評価する。図 2 のように緑色の回避領域と赤い攻撃領域の重なりが大きいほど、回避動作でキ

4. 高 速 化 の 工 夫 と 事 前処 理
本節では、本研究で提案する高速化のための手法と、ャラクタが回避する位置に攻撃が来ることになり、自各手法のために行う事前処理について説明する。

然な回避動作に見える。

4.1 グ リ ッ ド の 作 成

最後に、攻撃にタイミングを合わせるために必要なパス候補の列挙処理に おいて、パス候補をすべて列再生速度の変化の大きさに基づき、再生速度の変化を挙すると、膨大な数のパスが考えられ、処理に時間が評価する。 動作の再生速度の変化が大きくなるほど、かかってしまい、長時間のパスを考慮することができ

不自然な動作になる可能性が高い。そこで、回避動作ない。そこで、この処理を高速にするため に、各ノーのタイミングを合わせる為の再生速度の変化が少ない

ドにグリッドを設定する。キャラクタ周囲の空間をグ

パス候補を優先する。

リッド状に 分割し、グリッドの各セルには、そのセル

3.3 回 避 動 作 の パ ス を 決 定 す る 処 理 の 流 れに攻撃が来たときに回避することができるパス候補の

図 3 に示す通り、回避動作のパスを決定する処理 で集合を設定する。よって、2 つ目の評価基準である 攻は、攻撃領域の情報が与えられると、回避動作を実現

撃領域と回避領域の重なりがあるものが列挙される。
事前処理では、図 4 に示すように 各ノードに一つのグリッドを 生成する。グリッド作成では、まず、 キャ
ラクタの周囲を細かなセルに分け る。本研究では、一辺 10cm の 立 方 体 を 一 つ の セ ル と し た 。 各 セ ル に は 、ノードから一定時刻範囲内 で考えられる回避動作を含むパスにおいて、そのセルの領域 に回避動作の回避領域があるパスの集合を設定する。
各セルに設定するパス候補の集合を決定するために、
現在のノードから一定時刻内に回避動作を含むエッジ

図 3： 回 避 動 作 の パ ス を 決 定 す る 処 理 の 流 れが存在する全ての パス候補を挙げる。 セルに登録する

Visual Computing / グラフィクスとCAD 合同シンポジウム '09-36

パス候補には、セルを攻撃領域とした時の回避領域と避領域と攻撃領域の衝突判定も、2 次元のマップ上で攻撃領域の重なりがあるパスとする。回避領域は身体重なりを判定する。ここでは、簡易的に衝突判定を行領域が回避動作中になくなる領域のことなので、 回避

い、処理時間を短縮する。この衝突判定では、あらか領域を求めるために身体領域を用いる。パス候補の回じめ計算しておいた回避動作の身体領域全体と攻撃動避動作の回避開始時刻の身体領域と終了時刻の身体領

作 の 攻 撃 領 域 全 体 を 、GPU メ モ リ 上 の 仮 想 画 面 に 描 画

域のセルが重なっていないセルにそのパス を登録する。

して、領域同士の 重なりを判定する。 この処理は、仮4.2 再 生 速 度 の 可 変 の 判 定

想画面での重なりを判定するだけであるため、領域間

一般に、もとの動作の速度が速ければ、再生速度をある程度遅く変更しても、不自然に見えないと考えらの距離を計算する処理に比べて、領域間の距離する処理に比べて、高速に行うことができる。

れる。また、同様に元の動作の速度が 遅ければ、 再生

しかし、仮想画面にテクスチャを描画することで 衝速度をある程度速く変更しても不自然に見えない と考突判定をするため、3 次元空間中の領域 同士の判定はえられる。また、ほとんど動きのない（動作速度が極実現が難しい。よって、キャラクタが含まれる 3 次元

端 に 遅 い ）動 作 は 、再 生 速 度 を 速 く し て も 遅 く し て も 、

空間全体を、一定の高さ範囲で複数の水平な区間に分動きがないため不自然に見えない と考えられる。

割し、各区間に身体・回避 ・攻撃の領域テクスチャを

このような仮定に基づき、あらかじめ各エッジに対作成する。このとき、区間の数（テクスチャの枚数）

して、そのエッジの動作を解析し、動作を速くするこを増やすと、正確な衝突判定ができる代わりに、処理とが可能であるか、また遅くすることが可能であるか速度が遅くなってしまう。本研究の実装では、高さ区という情報を設定しておく。本手法では、キャラクタ

間 の 幅 を 30cm と し た 。 キ ャ ラ ク タ の 回 避 動 作 一 つ にの全ての末端部位 （右手、左手、右足、左足）の速度

対して作成される身体 領域と攻撃領域のテクスチャの（一定時間の移動量）を解析することで、動作の速度

枚数は領域の垂直方向の幅 によって異なるが、本研究を判定する。もし、末端部位の速度が遅ければ、そのの実装では 平均 5 枚程度作成される。

動作は速度が速くすることができると判定して、速く回避動作の身体・回避 領域と攻撃動作の攻撃領域 はすることが可能という情報を設定する。同様に、末端決まっているため、これらを含む 全てのエッジに対し部位の速度が速ければ、その動作は速度が遅くするこて、事前処理により、キャラクタを中心とするテクスとができると判定して、遅くすることが可能という情

チャに各領域を描画し て、各領域のテクスチャを 保存

報 を 設 定 す る 。 今 回 は 、 一 定 時 間 内 に 末 端 部 位 が 8cmする。衝突判定処理では、回避動作時のキャラクタの進 ま な け れ ば 遅 い 動 作 、20cm 進 め ば 速 い 動 作 と し 、動位 置・向 き に 応 じ て 、テ ク ス チ ャ の 拡 大・縮 小・移 動 ・

作 内 で 5cm 動 か な け れ ば 静 止 動 作 と し た 。

回転を行い、仮想画面に描画することで、判定する。
身体テクスチャ の生成では、エッジの動作の全時間

4.3 領 域 テ ク ス チ ャ の 作 成
パス候補の絞り込み処理では、身体領域と攻撃領域に渡って、身体領域が常に 存在する領域をテクスチャの距離を判定する代わりに、2 次元のマップ上で領域に描く。ステンシルバッファを用いて、回避動作の開同士の重なりを判定することで、攻撃が当たっている

始時刻から終了時刻まで、各時刻の身体領域を重ねてパス候補を高速に 取り除く 。また、評価に使われる回

描画し、前時刻の領域が重なった領域のみをテクスチ
ャに残す。 回避領域は開始時刻に身体領域があって、終了時刻にないような領域を描画する。回避領域もス

セルはパス 候補を 持つ

・セルを回避するパス

テンシルバッファを用いて、開始時刻の身体領域と全時刻で身体領域が描画される領域の差を描画する。 また、同様の処理で 、攻撃動作の攻撃領域については、
一度でも攻撃が通る領域を描画する。

図 4： グ リ ッ ド 情 報
・ 速 い 可 /不 可 ・ 遅 い 可 /不 可・身体・回避領域（テク スチャ 画像 ）・回避・攻撃動作の有無
・ グ リ ッ ド (セ ル の 集 合 )モーショングラフ

セルはパス候補を 持つ

図 5： エ ッ ジ ・ ノ ー ド の 情 報

4.4 モ ー シ ョ ン グ ラ フ の 作 成
モ ー シ ョ ン グ ラ フ は 、 基 本 的 に Kovar ら の 手 法 [1]を用いて生成する。このときに、 もとの動作には、あらかじめ回避動作 の時間範囲や、攻撃動作 の時間範囲の情報を与えておくことで、作成時にエッジに 、そのエッジが攻撃、または回避動作を含んでいるかという情報を設定する。また、付加情報として、エッジやノードに、本節で説明した情報を計算して設定する。具
体的には、図 5 に示すように、 エッジには身体領域のテクスチャ （回避動作をもつエッジのみ） と速度の可Visual Computing / グラフィクスとCAD 合同シンポジウム '09-36

変情報、ノードに は、パス候補列挙のためのグリッド

遅くすることが可能なエッジのみの速度を変更する。

の情報を設定する 。

このような条件にもとづき、再生速度の変更が可能なすべてのエッジを 列挙する。その後、対象の全エッジ

5. 探 索 処 理の再生速度を同一比率 p で変更することで、攻撃動作

本 節 で は 、図 3 に 示 さ れ る 回 避 動 作 の パ ス を 決 定 す ると回避動作のタイミングを一致させる。ただし、条件処理を説明する。

に該当するエッジがパス候補の中に全く存在しない場

5.1 グ リ ッ ド を 用 い た パ ス 候 補 の 列 挙

合には、そのパス候補は使用しない。

パス候補の列挙では、回避動作を含むパス候補を出

5.3 GPU を 用 い た パ ス 候 補 の 絞 り 込 み
次 に 、パ ス 候 補 を 絞 り 込 む 為 に 、GPU を 用 い た 交 差力する。
本処理では、まず、事前に計算したグリッドを用い

判 定 を 行 う 。 4.3 節 の 説 明 の 通 り 、 パ ス 候 補 の 身 体 領て、回避動作の回避領域と攻撃領域が重なる可能性の域と、与えられた攻撃領域の交差判定を行い、攻撃をあるパス候補を出力する。 現在再生しているエッジの回避できない可能性の 高いパス候補を除外する。 本処

次のノードのグリッドを参照し、 与えられた攻撃領域

理 の 判 定 で は 、 4.3 節 の 説 明 の よ う に 、 ２ 次 元 空 間 でと重なる全てのグリッド中のセルを列挙する。次に、判定を行うため、正確な交差判定はできないが、 攻撃

パ ス 動 作 の 開 始 時 刻 か ら 、回 避 動 作 の 開 始 時 刻 ま で に 、が当たるパス候補 を高速に 判定できる。近似領域で判回避領域に向かって大きく移動するのは不自然である

定するため、厳密には回避できるパス候補も、間違っため、キャラクタの移動距離が最も短くなるように、て回避でき ないと判断 してしまうことがある。

回避するキャラクタに 最も近いセルから回避パスの集判定時には、攻撃領域は全てのパス候補で変わらな合を取り出す。そして決定されたセルに、 パス候補のい た め 、ま ず 、図 6 の よ う に 、各 高 さ 区 間 に GPU 上 の集 合 が 存 在 す れ ば 、そ の 候 補 の 集 合 を 次 の 処 理 に 渡 す 。

仮想画面に 、パス開始時の キャラクタの位置・向きを

一方、上記の処理で決定された セルにパス候補が存基準とする ローカル座標系で、攻撃領域を描画する。

在しない場合は、回避領域と攻撃領域が重なるような

そして、用意しておいた回避動作の身体領域のテクス

回避動作は存在しないということであるため、現在再チャを、座標系が一致するように平行移動・回転を行生している エッジの次のノード以降の全てのパス候補

っ て 描 画 す る 。 そ し て 、 OpenGL の 機 能 を 用 い て 、 すを探索して列挙する。具体的には、一定時間の深さででに描画されている攻撃領域と重なった身体領域の ピグラフを探索して、回避動作を含まないパスも含めた

クセル数をカウントする。 このとき 1 ピクセルでも重全 て の パ ス 候 補 の 集 合 と し て 列 挙 し 、次 の 処 理 に 渡 す 。

なっていればそのパス候補ではキャラクタの身体と攻

5.2 パ ス の 再 生 速 度 の 決 定撃が衝突したと判断し、そのパス 候補を削除する。

パ ス 候 補 の 再 生 速 度 の 決 定 で は 、 5.1 節 の 処 理 で 出

5.4 パ ス 候 補 の 評 価 と 選 択

力された全てのパス候補について、回避動作の回避開

残 っ た パ ス 候 補 を 3.2 節 で 挙 げ た 3 つ の 基 準 に も と

始時間と攻撃動作の攻撃開始時間のタイミングを一致づいて評価し、最も評価の高いパスを決定する。評価

さ せ る た め の 、各 エ ッ ジ の 再 生 速 度 を 計 算 す る 。ま ず 、

関 数 は 次 の 式 (1)で 表 わ さ れ る 。

両者の時間を基に 、回避動作の開始までの動作再生速
度を速くする必要があるのか、遅くする必要があるのV  waVa  wd Vd  wtVt

（ 1）

V は パ ス の 評 価 値 を 表 し て お り Va 、 Vd 、 Vt は そ れか、速度比率を計算する。再生速度を速くする必要がぞれ回避の評価値、距離の評価値、時間変化の評価値ある場合は 、パス候補の中に含まれるエッジの内、速を 表 し て い る 。 wa 、 wd 、 wt は 回 避 の 重 み 、距 離 のくすることが可能なエッジのみの速度を変更し、その他のエッジの速度は変更しない。同じく、遅くする必

重み、時間変化の重みを表す係数である。 全ての項目で評価値が小さいほど評価が高くなる。

要 が あ る 場 合 は 、パ ス 候 補 の 中 に 含 ま れ る エ ッ ジ の 内 、

回 避 領 域 と 攻 撃 領 域 の 重 な り の 評 価 値 Va は 、 GPUを用いた衝突判定と同様の方法で行う。身体領域テク
スチャではなく回避領域テクスチャを用いて、攻撃領域との重なりのピクセル数をカウント する。領域の重な り が 多 い ほ ど 、 自 然 な 回 避 動 作 で あ る た め Va の 値が小さくなり高評価となるようにした 。
身 体 領 域 と 攻 撃 領 域 の 距 離 の 評 価 値 Vd は 、 全 て の

図 6： GPU 処 理

身体領域を表す球と攻撃領域を表す球を全ての時刻で比較し、最小となる距離により評価する。距離が短いほど紙一重 で回避する動作であるため、高評価となるようにした 。

Visual Computing / グラフィクスとCAD 合同シンポジウム '09-36

再 生 速 度 の 変 化 は 5.2 節 で 計 算 し た 変 数 p に 基 づ き 、次 の 式 (2)で 評 価 す る 。

Vt  ( p  1) 2

工夫することで、リアルタイムに回避動作を生成する
必要のある 用途にも利用可能であると考えられる。

(2)

なお、出力された回避動作の評価では、回避できな

再生速度の比率が 1 に近いほど、 高評価になるようにした。また、1 倍から離れれば離れるほど、評価が低くなるようになっている。

いパスを選択することや、回避しているように見えな6. 実 験
6.1 実 験 概 要

い回避動作を行うことが見られ、衝突判定が正確に行われていないことと、回避領域と攻撃領域の交差判定が正確に機能していない可能性がある と考えられる。
GPU で の 高 速 化 で は 、予 想 し て い た よ り も あ ま り 高

提案手法の評価のため、提案手法を 実装し、ユーザ速化はできなかった。簡易的な衝突判定を行い、パスが任意の位置をマウスで指定すると、指定された位置候補を減らすことが目的であったが、あまりパス候補

へ球を飛ばし、その球 の軌跡を攻撃領域として回避動を減らすことができなかったことが原因であると考え作を生成するテストプログラムを開発した。キャラク

ら れ る 。ま た 、グ リ ッ ド 中 に パ ス 候 補 が あ る 場 合 に は 、タ同士の格闘を行うプログラムでは、評価関数や適切もともとパス候補が少ないため、計算時間を短縮するな回避を実行でき るか確認するために、任意の攻撃領ことができなかった。

域を指定することが難しい ため、今回は任意の攻撃領

表 1： パ ス 選 択 の 処 理 時 間 (単 位 :ms)
処理時間
225
GPU 処 理 あ り
グリッド中に
496
パス候補なしGPU 処 理 な し
14
GPU 処 理 あ り
グリッド中に18
パス候補ありGPU 処 理 な し域を指定できるプログラム を開発した。そのため、パス候補の絞りこみ処理では、攻撃領域のテクスチャを貼る代わりに、攻撃領域をリアルタイムで計算する。
今 回 の 実 験 で は 、合 計 約 2 分 40 秒 の 動 作 を モ ー シ ョ ン
キャプチャ で作成し、モーショングラフを作成した。
入 力 動 作 デ ー タ に は 、8 回 の 回 避 動 作 が 含 ま れ て い る 。

7. 終 わ り に本研究では、適切な回避動作を実現するような手法

提案手法の実行速度を評価するため、 パス選択処理

を 提 案 し た 。領 域 を 用 い た 評 価 や グ リ ッ ド の 情 報 、GPUにかかる処理時間 を計測した。また、本手法の高速化処理を用いることにより、それらを用いな い場合と比の 工 夫 の 効 果 を 確 認 す る た め 、グ リ ッ ド 使 用 時 の GPU

べて、適切な回避動作の選択と高速化を実現した。 今を 使 用 時 と 未 使 用 時 、グ リ ッ ド 未 使 用 時 の GPU を 使 用

後の課題として、リアルタイムでの動作を実現するた時と未使用時での 処理速度を計測した。それぞれの場

めにマルチスレッド化等が挙げられる。本論文では球合で、ランダムに与えた攻撃動作を回避する動作を 6を回避するという 動作を生成したが、二人のキャラク回実行し、それぞれの平均の実行速度を計測した 。実タの格闘動作を再現する動作を作成できるようにする 。

行 環 境 は 、 CPU： Pentium4 2.53GHz VGA： GeForce

ま た 、今 回 の 手 法 で は 、攻 撃 を 回 避 で き な い 場 合 や 、FX5700 256MBMemory： 512MB で あ る 。

回避しているように見えないような回避動作が生成さ

6.2 実 験 結 果

れてしまう場合が あったため、より適切な回避動作を実験結果を表 1 に示す。 グリッド中にはパス候補が選択できるような 評価基準が必要である。 また、処理

あ る 場 合 は 平 均 5 個 程 度 、 な い 場 合 は 平 均 100 個 ほ ど

速 度 を 向 上 す る た め に 、他 の 処 理 に も GPU を 用 い た 高の パ ス 候 補 が 列 挙 さ れ 、GPU 処 理 に よ り 絞 込 み を 行 う

速化を行うなどの工夫 する必要がある 。

こ と で 、そ れ ぞ れ 3 個 と 70 個 程 度 に 候 補 を 減 ら す こ と

なお、現在では、再生速度の変更 以外には動作に変ができ、全てのパス候補を距離にもとづいて衝突判定更を加えていないが、今後は、必要に応じ、モーショ

する場合と比べて 、高速化 することが できた。表 1 よンワーピングなどを利用し、動作中の 姿勢の変化をすりグリッドが使われなかった場合では約半分の処理時ることで、適切な回避動作を生成できるようにするこ

間で行うことができている ことがわかる。 しかし、本とも検討していきたいと考えている。

実 験 で は 、約 90％ の 場 合 、グ リ ッ ド 中 に パ ス 候 補 が 存在した。グリッドが使われた場合では、あまり計算時間の短縮は見られなかった。
処 理 全 体 で は 、 グ リ ッ ド 未 使 用 時 250ms、 使 用 時 は
20ms 程 度 か か っ た 。 1 フ レ ー ム を 30ms と 考 え る と 、攻撃情報が与えられた直後の 1 フレームで回避動作を決めることは困難であるが、通常 、攻撃動作が決まって か ら 、回 避 動 作 を 実 行 す る ま で に は 時 間 が あ る た め 、パスを決定する処理をマルチスレッドで処理するなど

文

献[1] Lucas Kovar, Michael Gleicher, Frederic H. Pighin.
Motion graphs. SIGGRAPH 2002, pp. 473-482,
2002.
[2] Jehee Lee, Kang Hoon Lee. Precomputing avatar
behavior from human motion data. ACM
SIGGRAPH/Eurographics Symposium on Computer
Animation 2004, pp. 79-87, 2004.
[3] Hubert P. H. Shum, Taku Komura, Shuntaro
Yamazaki. Simulating competitive interactions using
singly captured motions. Virtual Reality Software
and Technology 2007,pp. 65-72, 2007.