コンテンツにスキップ

MatrixExtension クラス

Converts matrices between Matrix4x4 and OpenVR representations.

名前空間: FloatSoda.OVR.Math
アセンブリ: FloatSoda.OVR.dll

public static class MatrixExtension

object ← MatrixExtension

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

Converts a Matrix4x4 to a HmdMatrix34_t. System.Numerics は行優先 (Row-major)、OpenVR は列優先 (Column-major) のため、 転置しながら3x4行列に変換する。平行移動成分は M41/M42/M43 から取得。

From (Row-major 4x4):
M11 M12 M13 M14
M21 M22 M23 M24
M31 M32 M33 M34
M41 M42 M43 M44

To (Column-major 3x4):
M11 M12 M13 M41
M21 M22 M23 M42
M31 M32 M33 M43

public static HmdMatrix34_t ToHmdMatrix34_t(this Matrix4x4 matrix)

matrix Matrix4x4

The matrix to convert.

HmdMatrix34_t

The equivalent OpenVR matrix.

Converts a HmdMatrix34_t to a Matrix4x4. Column-major の3x4行列を Row-major の4x4行列に変換する。

From (Column-major 3x4):
m0 m1 m2 m3
m4 m5 m6 m7
m8 m9 m10 m11

To (Row-major 4x4):
m0 m1 m2 0
m4 m5 m6 0
m8 m9 m10 0
m3 m7 m11 1

public static Matrix4x4 ToMatrix4x4(this HmdMatrix34_t matrix)

matrix HmdMatrix34_t

The OpenVR matrix to convert.

Matrix4x4

The equivalent numerics matrix.