ms_3d

3DCGに関するあれこれ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

bvhとは何ぞや

■荒しの思慮の足りない言葉によって窮屈になっていく世界。
 悪人を縛る縄によって雁字搦めになる法治国家。
 本来なら暗黙のコンセンサスのうちに無視される言葉が
 ログとして残り、別の意味を持ってしまう情報社会。
 モヤっと。でも僕はカコミキさんの対応を支持します。

■さてLWプラグインからの逃避行ー。
 というわけでもないのですが、
 パラパラを作りながら巷でDL出来るダンスの
 bvhファイルを捜していたところ
 どーしてもLWでは正常に
 読み込めないbvhファイルを見つけました。
06_3_1.jpg


■そもそもbvhファイルとは何ぞや?と。
 
 検索をかけたところ二つのサイトを発見
 http://www.tmps.org/index.php?MOCAP%A5%C7%A1%BC%A5%BF%A5%D5%A5%A1%A5%A4%A5%EB
 
 http://www.cg.ces.kyutech.ac.jp/lecture/cg2/

 大学というのは素晴らしい所だ、
 出来ることならば戻りたいけれど、
 戻ったらたぶんまた遊ぶと思うので、戻らない方がいい。
 それはともかく、九工大の先生が作られたアプリの方が(要glut32.dll)
 海外で拾ってきたビューワーよりも多くのbvhを破綻なく読み込みます。
 しかもソース付きと来たもんだ、よっ太っ腹!!
 
■さてbvhを読み込める3Dソフトは結構あります。
 けれど、モーキャプソフト(それ専用)を除いて、出力出来るソフトは
 日本で捜した限り、ポーザーとMIKOTOとフィジアニメしか見つからなかったです。
 (他のもあったらゴメンナサイ、RokDeBoneは無理なんでしょうか?)
 フィジアニメはボーンのセッティング方法とか、今改めて見直すと
 スゲェなぁ・・と思う瞬間が多々あります。これで細密な設定が出来たら・・・
 ところであなたは知っていましたか?フィジアニメとWinnyの作者が
 同一人物だと言うことを。ま、それはともかく(^_^)
 
 アニマニ(可愛い略称すね)も新しいバージョンになるとかならないとか。
 頑張って下さいm(_ _)m
 閑話休題

■BVH ファイル形式とは,Biovision 社が提唱した
 モーションキャプチャデータファイルフォーマットです。
 特徴は(以下抜粋)
 
 ・テキスト形式で記述
 ・座標系は右手系.XYZ 各軸の扱い(どの軸が鉛直方向に対応等)は任意.
 ・関節ノードに関する情報を記述.
 ・関節回転はオイラー角形式で記述.
 ・回転角度の単位は Degree
 ・スケルトン階層構造を記述するHIERARCHY部と,動作データのMOTION部の2つから構成    
 
 よーするに、間接と親子関係があって、それにモーションデータがズラッと並ぶ。

■もっとも単純なデータはこんなん

HIERARCHY   //親子関係部
ROOT 植木鉢
{
OFFSET -0.788600 -126.344299 0.000000
CHANNELS 6 Xposition Yposition Zposition Zrotation Yrotation Xrotation
JOINT ロックンフラワー
{
OFFSET -0.000014 -0.000008 130.733368
CHANNELS 3 Zrotation Yrotation Xrotation
End Site
{
OFFSET -0.000008 0.000006 127.525932
}
}
}
MOTION    //モーションデータ部
Frames: 2
Frame Time: 0.0333333
-0.788600 -126.344299 0.000000 0.000000 -90.000000 -90.351097 -0.545076 0.049995 0.651940
-0.788600 -126.344299 0.000000 95.669563 -89.827538 173.798462 -0.329485 3.389253 2.840187

だと思っていたら、

HIERARCHY
ROOT 前進
{
OFFSET 0 0 0
CHANNELS 1 Zposition
End Site
{
OFFSET 0 1 0
}
}
MOTION
Frames: 1
Frame Time: 1.000
10.0000

というもっと単純なデータさえも存在することが解った。

■ちなみに、"読み込めなかったダンスのデータ"には
 XScaleYScaleZScaleというチャンネルが各ジョイントに着いていた。
 上記のサイトでは、子のノードでは"回転"しか持てない規約になっているが、
 それを無視した(もしくは拡張した)bvhが存在するということである。
 よーするに方言ね( ´⊿`)y-~~

■仮に子ノードが"回転"情報だけを持つのだとしたら、
 データの修正は簡単じゃないのだろうか?(アスキーだし)
 しかも、回転だけの情報ならば、他のモーションデータにコピペすることも
 可能なのじゃないか?と。
 ちょっとインターフゥイスを作ってプログラミングしてたのだけれど、
 結論的には、"条件付"で可能だ。。。という結論に落ち着いた。
 というのは、記述的にはXYZという書き方もZYXという書き方も存在するため、
 チャンネルのデータを編集するのは容易ではないし、
 たとえ編集しなおしたとしても、思い通りの動きをするかというと、
 そうでもないからだ。

 そして なにより、
 自分が編集するにも、視覚的なUIが必要だということに気がついてしまったりする。
 よーするに、OpenGLなりDirectXなりのピッキング可能な3Dパネルと、
 キーフレーム付きの編集パネルが無いと、編集結果が確認しづらいのだ。
 それは最早モーション付けソフトだろうと・・。
 しかもそれで出来上がるのはbvhファイル。それは使えるのか?とσ(^_^;)

■しかし、"数学的"な動きに関しては「これ使えるかもなー・・・」と
 ちょっと思ってしまった。単純に円の奇跡を描くだけなら、
 数式でデータを作って、LWでアタッチした方が簡単かもしれない。
 (いや、もちろんヌルにエクスプレッションの方が簡単かもしれないけど)
 じゃあ、草原の草が揺れるモーションや蝋燭の炎は?
(パーティクルですか、そーですか)
 じゃあ擬似的な衝突判定や、条件式は・・・
 などと、ちょっといろいろ考えちゃった。

■bvhというフォーマットが優秀なのかどうかはよくワカラナイ。
 そもそもモーキャプ用なので、フレームタイムのインターヴァルで、
 キーは均等に並んでいく。これは手付のアニメから考えると、
 編集し易いのかし難いのか微妙だ。しかし、機械的に間引いたり、
 時間の操作をするには有利かも・・。
 情報が単純化しているというのも、編集する分にはたぶん強みだ。
 可能性があるよ-な気もするし、
 でもあまりメジャーになってないってことは、どうなのかなー?
 いやそもそも、3Dのアニメーションってのが
 市場が狭いってことなのかな?
 などとツラツラ考えてる今日この頃でした。
スポンサーサイト
  1. 2006/03/11(土) 23:49:55|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。