クラス Plane3D

Plane3D ノードは、シーングラフ内で、ある程度まで3Dの方向性を許可します。 それは、タッチ座標を扱う方法をいくぶんか複雑にします。なのでシーン階層に Plane3D を含んでいる場合、直接 Director.Instance.CurrentScene.Camera.GetTouchPos() を使う代わりに、Plane3D 空間(すべてサブノード)で点を得るのに Node.GetTouchPos() を使うことを確認してください。 [詳細]

Plane3Dに対する継承グラフ
Node

すべてのメンバ一覧

Public メソッド

 Plane3D ()
 コンストラクタ。デフォルトはz=0 平面(単位行列)。 詳細は ModelMatrix のコメントを参照してください。
 Plane3D (Matrix4 modelmatrix)
 コンストラクタ。
override void PushTransform ()
 ノードとその子を描画する前にこの関数が呼び出されます。
override void FindParentPlane (ref Matrix4 mat)
 注意: FindParentPlane は最初に見つかった Plane3D で停止します。 ツリーの枝で、複数の Plane3D ノードを持っていないという前提です。

Public 変数

Matrix4 ModelMatrix = Matrix4.Identity
 この平面のための"変換行列"です。 平面は基点と法線で定義されます。しかし我々は平面を座標系(スタックにプッシュできる行列)としても使用するため、平面を行列として格納します。

説明

Plane3D ノードは、シーングラフ内で、ある程度まで3Dの方向性を許可します。 それは、タッチ座標を扱う方法をいくぶんか複雑にします。なのでシーン階層に Plane3D を含んでいる場合、直接 Director.Instance.CurrentScene.Camera.GetTouchPos() を使う代わりに、Plane3D 空間(すべてサブノード)で点を得るのに Node.GetTouchPos() を使うことを確認してください。


コンストラクタとデストラクタ

Plane3D ( Matrix4  modelmatrix)

コンストラクタ。

引数:
modelmatrix平面にセットする ModelMatrix の値。 詳細は ModelMatrix のコメントを参照してください。

変数

Matrix4 ModelMatrix = Matrix4.Identity

この平面のための"変換行列"です。 平面は基点と法線で定義されます。しかし我々は平面を座標系(スタックにプッシュできる行列)としても使用するため、平面を行列として格納します。

3D平面は、 ModelMatrix によって変換される z=0の '単位行列' 平面として定義されます。それは、ModelMatrix.ColumnZ が 平面の法線ベクトルであり、ModelMatrix.ColumnWは平面の任意の点として表されます。

ModelMatrix は右手座標系、直交座標系(チェックはありません)に設定されていることを前提にしています。

ModelMatrix.ColumnX、ModelMatrix.ColumnY、ModelMatrix.ColumnZは、単位長さの各々は、お互いにすべて垂直であることを意味します。 ModelMatrix.ColumnXとModelMatrix.ColumnYの外積はModelMatrix.ColumnZと同じ方向です。 ModelMatrix のデフォルト値は Matrix4.Identity (z=0 平面) です。 この行列は変換スタックにあるかのように使用されます。