类 TransformBuilder

TransformBuilder class

TransformBuilder 用于通过一系列变换构建变换矩阵。

public class TransformBuilder

构造函数

名称描述
TransformBuilder(ComposeOrder)构造一个具有初始单位变换矩阵和指定组合顺序的 TransformBuilder
TransformBuilder(Matrix4, ComposeOrder)构造一个具有初始变换矩阵和指定组合顺序的 TransformBuilder

属性

名称描述
ComposeOrder { get; set; }获取或设置链的组合顺序。
Matrix { get; set; }获取或设置当前矩阵值

方法

名称描述
Append(Matrix4)将新的变换矩阵追加到变换链中。
Compose(Matrix4)将参数追加或前置到内部矩阵。
Prepend(Matrix4)将新的变换矩阵前置到变换链中。
Rearrange(Axis, Axis, Axis)重新排列轴的布局。
Reset()将变换重置为单位矩阵
Rotate(Quaternion)通过四元数进行旋转链式操作
RotateDegree(double, Vector3)以度数进行旋转变换链式操作
RotateDegree(Vector3, RotationOrder)以指定顺序追加旋转。
RotateEulerDegree(double, double, double)通过欧拉角(度)进行旋转链式操作
RotateEulerRadian(Vector3)通过欧拉角(弧度)进行旋转链式操作
RotateEulerRadian(double, double, double)通过欧拉角(弧度)进行旋转链式操作
RotateRadian(double, Vector3)以弧度进行旋转变换链式操作
RotateRadian(Vector3, RotationOrder)以指定顺序追加旋转。
Scale(double)将缩放变换矩阵与按 s 缩放的组件链接
Scale(Vector3)链接缩放变换
Scale(double, double, double)链接缩放变换矩阵
Translate(Vector3)链接平移变换
Translate(double, double, double)链接平移变换

示例

以下代码展示了如何通过一组操作创建矩阵

TransformBuilder tb = new TransformBuilder();
tb.Translate(10, 20, 0);
tb.Scale(10, 10, 10);
tb.RotateEulerDegree(90, 0, 0);
Console.WriteLine($"Transform Matrix: {tb.Matrix}");

另请参见