2008年10月25日

龍の浮き沈み

Dstreamer へのスプライン処理はすぐに盛り込めて、滑らかな動作が可能になったのですが、別の問題があり、もう10日間ほど泥沼にハマってます。

それは、龍が浮き沈みするという問題で、高低差のある (水平方向の) コーナーを曲がる時に、龍のボディ全体が一旦フワッと浮いてから沈み込むという現象が出ています。

反重力装置などの付いた乗り物でしたら、コーナーで慣性 (遠心力) が効いても良いかも知れませんが、龍だと可笑しいですよね。やっぱりレールに沿って移動しないと。(笑)

ところで、龍の推進力は何でしょう!?


posted by foilskin at 06:18 | comment (0) | Dstreamer | このブログの読者になる | 更新情報をチェックする

2008年10月17日

スプライン

後日 Dstreamer をリリースする際に、全体的な使用方法は記載する予定ですが、スプラインについては図示が必要だったりしますので、それだけ先行してご説明します。

龍玉間を移動するコース取りは、線形補間、スプライン補間、スプライン近似の3つの中から選択できます。スプライン云々の名称は正式ではないかも知れません。

3Dも2Dも基本的な所は同じですので、図示し易い 2D で解説します。



これは、それぞれの方法で玉と玉を結んだものです。玉をドラッグして移動できますので、いろいろと試してみて下さい。

各方法の特徴を纏めてみました。中には Dstreamer 独自の取り決めも含んでいます。

線形補間
・各頂点を直線で結んだもの。

スプライン補間
・各頂点を通るように、滑らかに結んだもの。
・最初と最後の区間は、直線となる。
・線形補間よりも距離が長くなる。
・そのまま鋭角が見えてしまう場合がある。

スプライン近似
・中点 (頂点間の丁度中間点) を通るように、滑らかに結んだもの。
・始点と終点以外の頂点は、基本的には通らない。
・線形補間よりも距離が短くなる。

始点は頭(head)で、終点は最後の龍玉です。
最初の区間とは、頭〜最初の龍玉までのことです。
頭が最後の龍玉に到達した時点でアニメーションは終了です。

Poser の歩行パスやアニメーショングラフは頂点を通るから、スプライン補間ですね。
posted by foilskin at 02:50 | comment (0) | Dstreamer | このブログの読者になる | 更新情報をチェックする

2008年10月12日

龍玉で龍を操れるツール

龍玉で Eastern Dragon を操れるツールを開発中です。

こんな感じで操れます。



この Eastern Dragon は、DAZ で扱っている東洋の龍フィギュアで、これ単体で販売されているだけでなく、西洋の竜フィギュアである Millennium Dragon 2.0 にもバンドルされています。

手操作でポーズを取らせるには関節の数は十分と言いますか、少し多過ぎなのですが、プログラムでスイスイ流れるように少しずつ動かすには、関節と関節の間隔が少し長めです。

そのため、角を曲がるべき時点で曲げられなかったり、その逆もあったりで、ガタガタ振動してしまいます。ジェットコースターとしてなら、リアルさを演出できているかも。(笑)

このツールでは、ロボットアームを逆立ちで歩かせて、アームの台座にコーヒーカップを載せて運ぶような、そんな制御を行っていますので、もしかしたら腰から離れている頭などで誤差が大きくなっているのかも知れません。

これに対して、尻尾は振動せずに滑らかですよね。腰から尻尾の先までが 31関節で、腰から頭までが 34関節で、関節の数はあまり変わらないにも拘わらず、腰〜尻尾よりも、腰〜頭の方が長いですから。


1フレームあたりの龍の移動量を指定できるようにしてありますので、近くで舐めるようなスローなシーンや、高速で飛行するシーンなどが楽しめると思います!
posted by foilskin at 23:47 | comment (0) | Dstreamer | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。