Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!

log

2011.09.25 C++:向きコンストレイント

ファイル 366-1.jpgファイル 366-2.jpg

指定ボーンを指定座標の方向に向かせる機能を作成してみました。
本当はIKをやってみたかったのですが、IKを組んでいる過程でつまづく部分が多かった
ので、実際は単純な機能からやってみようかなというのがきっかけだったりします;

出来たことは出来たのですが、今のところ問題は2つあります。
1つ目は角度制限機能をつけていないので、曲がってほしくない範囲まで曲がって
しまうこと。もう1つはBank軸回転がどの向きを向くか予測がつかないということです。

2つ目について詳しく説明するとします。Bank軸というのはボーンの方向を回転軸とした
回転のことですが、ボーンの向きは定まってもボーンの方向を回転軸とした向きは、
言ってしまえばどれをとってもいい訳です。なので腕に対して使用した上の画像では
特に問題がありませんでしたが、頭に対して使用した下の画像では頭の正面の向きが
キャラによって異なっています。

まあ、一般的な3Dソフトの向きコンストレイントも同様の現象が起きるので、そういう
ものなのかもしれませんが。なにかいい解決方法が無いかなあ。

comment

たけなか 2011.09.25-06:53 Edit

1つ目の問題も2つ目の問題も、角度制限をつければ解決できるんじゃないかなと
思った。ただし、その角度制限をつけるために行列-オイラー変換が必要なので
問題が発生しそうだ。。