クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
XNA Game Studio
XNA Game Studio 3.1
Microsoft.Xna.Framework.Graphics
Viewport 構造体
Viewport メソッド
 Unproject メソッド

  低帯域幅での表示をオンにする
XNA Game Studio 3.1
Viewport.Unproject メソッド
スクリーン空間のポイントをワールド空間の対応するポイントに変換します。

名前空間: Microsoft.Xna.Framework.Graphics
アセンブリ: Microsoft.Xna.Framework (microsoft.xna.framework.dll 内)

C#
public Vector3 Unproject (
         Vector3 source,
         Matrix projection,
         Matrix view,
         Matrix world
)

パラメーター

source
射影するベクトル。
projection
射影行列。
view
ビュー行列。
world
ワールド行列。

戻り値

オブジェクト空間のベクトル。

Unproject は一般的に、現在のカーソルの位置が 3D ワールド空間のオブジェクトで交差しているかどうかを判断するために使用されます。まず、Z 値だけが異なる 2 つの Vector3 値を計算します。たとえば、現在のカーソル位置が (100, 100) だと仮定します。このため、1 つ目のベクトル (近くのクリップ面の位置) は (100, 100, 0) となり、もう 1 つのベクトル (遠くのクリップ面の位置) は (100, 100, 1) となります。

各ポイントの Unproject を呼び出し、その結果を保存します。たとえば、minPointSource では (100,100,0) を"射影しない" 結果を格納し、maxPointSource では (100, 100, 1) "射影しない" 結果を格納します。minPointSource から maxPointSource を減算することで、方向ベクトルを求めます。

最後に、方向ベクトルを正規化し、minPointSource と、ここで正規化した方向ベクトルを使用して Ray を作成します。これで、このモデルの簡単な交差テスト ケース (たとえば、Intersects) で、この光線を使用できるようになりました。

Unproject の使用例については、以下を参照してください。

Xbox 360, Windows XP SP2、Windows Vista, Zune
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker