- 95 名前:名前は開発中のものです。 mailto:sage [2005/09/14(水) 23:29:23 ID:bXvlWQ/O.net]
- もしかして、レイの衝突判定ではなく
レイ自体が求めれていない? とりあえず、>>92のレイを求めるところを理解しないと。 各空間の特性を再確認したほうがよくない? ↓そのままだけど、何やってるか文章で。 まずは、射影空間の定義。 これは、x,yのとるべき値はどちらも-1.0〜1.0の範囲(y軸は上方向が正ね) z値が0.0〜1.0の値をとる空間。(z値が0.0でnearの位置、1.0でfarの位置) で、最初にスクリーン上の座標を射影空間の座標に変換する。 (x,y)->(x',y',0.0,1) つぎは、カメラ(ビュー)空間にあるカメラと、射影空間にある指定点をそれぞれワールド座標に変換する。 カメラ空間は文字通りカメラからみえている空間なのでカメラは原点にあり。(0,0,0,1) で、ワールド座標に戻すのはワールド→ビュー→プロジェクションと変換行列をかけた行列の 逆行列をかけるといい。でも、これだと同次座標が異なるのでw=1に変換 (プロジェクション行列は点の比は保存しない変換なので) これで、カメラとマウス点のワールド座標がでるわけですよ。(たぶん合ってると思うが不安) なので、ビュー行列、プロジェクション行列が取得でばいいんだが・・・ hgimgはカメラオブジェクトとして使ってるから・・・自前で行列生成&逆行列生成&演算ですか? てか、ビルボードはできてるんだよね??
|

|