- 286 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:25:15 ]
- 質問です。
(わかりやすくするために、カメラの座標は0,0,0とします。) カメラを、とある地点Aと、とある地点Bの中間の方向を向かせるために、以下の方法をやっています。 中間というのは、3次元ベクトルAとBの平均(A + B) / 2 ということではなく、 角度的な中間です。 (説明のために2Dベクトルで例えます)現在のカメラの方向からAが+20度の方向。Bが+80度の方向にあるのならば、カメラは+50度の方向を向かせたいのです。 ttp://w3e.kanazawa-it.ac.jp/math/category/kika/heimenkika/henkan-tex.cgi?target=/math/category/kika/heimenkika/naibunntenn.html この法則を利用し、Aまでの距離とBまでの距離を利用。 lenA = D3DXVec3Length(pVecA); lenB = D3DXVec3Length(pVecB); D3DXVec3Lerp(pOut, pVecA, pVecB, lenA / (lenA + lenB)); としてpOutの方向を向かせれば、丁度中間の方向を向けそうです。 まず、ここまであっているでしょうか? あっていると仮定して、次のステップ、(例えば)AとBの角度的に3:7の方向を向きたいという場合はどうすればいいでしょうか?
|

|