[過去ログ] 【フリー】Vista(ぉ)【mmo】 (369レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
96
(1): 911 ◆RfGLxICaUo [sage] 2005/09/15(木) 00:09:11 ID:Mvh6Ce8u(1/6) AAS
>>95
95(1): 名前は開発中のものです。 [sage] 2005/09/14(水) 23:29:23 ID:bXvlWQ/O(1) AAS
もしかして、レイの衝突判定ではなく
レイ自体が求めれていない?

とりあえず、>>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はカメラオブジェクトとして使ってるから・・・自前で行列生成&逆行列生成&演算ですか?
てか、ビルボードはできてるんだよね??
恥ずかしながらレイ自体が求められてないです;
文章見ました。射影空間については理解はできました。
カメラビューもなんとか・・・ワールド座標に変換するのが?です。

HGIMGでは座標をユーザーが行列として管理してないので…
どうなるのかよく分からない状態です;

やはりHGIMGとは別に行列を管理した方がいいですかね。
HSPのソース見てみますか?
100
(1): 名前は開発中のものです。 [sage] 2005/09/15(木) 01:28:59 ID:44f9dvfF(1/2) AAS
>>96
では、逆の考え。
ワールド空間内の座標のある点がスクリーン座標のどの位置に来るか?
ワールド空間内の座標をまずカメラ(ビュー)空間での座標に変換(カメラを中心に考えた世界ね)
ビュー空間の座標を元に射影空間に落とす。(Z位置はnearが0.0、farが1.0の範囲で位置関係等を定める)
そして、射影空間をスクリーンに反映。
これは、各座標系を別の座標系に変換をしているので各変換行列がでるのですよ。
で、このときビュー行列→プロジェクション行列と変換を順番に掛け合わせる。

となると、逆は?
1右に移動したら逆は1左へ移動。
行列なら逆行列の意となる。そして、ビュー→プロジェクションと掛けるなら
その逆の順番で逆行列を掛ける(行列は順番が重要です)
プロジェクションの逆行列→ビューの逆行列ね。

座標系の変換が理解すればすんなりいくとは思うよ。

正直、自前で透視投影やら作るのはきついよ・・・
(嫌だけど)D3DXをラップして別途計算用にプラグイン作るか・・・

あ、仕事が・・・(by hの人より)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.018s*