楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル

log

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


今度はボーンの方向をコンストレインさせるのではなく、ボーンのBank軸回転のみを
コンストレインさせる関数を作成したので、これでようやく頭を指定座標に向かせられる
ようになりました。

角度制限がついていないと流石に酷いので、とりあえず急ごしらえで角度制限機能を
つけてみました。処理としては、プレイヤー以外のキャラクターはプレイヤーのモデルが
正面にいる場合はプレイヤーの方向を向くようになっています。

まだ内分処理もしていないのでぎこちないですが、静的なモーションだけだった頃と
比べると妙なリアリティが感じられるようになりました。

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

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

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

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

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

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