向节点添加转换

TSR(平移/缩放/旋转)在 3D 场景中最常用,我们提供了 Transform 类来访问这些功能,Aspose.3D 仿射变换包括:

  • 平移
  • 缩放
  • 旋转
  • 剪切映射
  • 挤压映射

通过欧拉角旋转

var aspose = aspose || {};

aspose.threed = require("aspose.threed");

// 初始化场景对象
var scene = new aspose.threed.Scene();

// 初始化圆柱体
var cylinder =new aspose.threed.Cylinder(2, 2, 10, 20, 1, false);

// 创建 ChildNode
var Node=scene.getRootNode().createChildNode(cylinder);

// 欧拉角
Node.getTransform().setEulerAngles(new aspose.threed.Vector3(30, 40, 50));

// 设置平移
Node.getTransform().setTranslation(new aspose.threed.Vector3(0, 0, 20));

// 保存
scene.save("TransformationToNode.obj");

自定义变换矩阵

我们也可以直接使用矩阵:

var aspose = aspose || {};

aspose.threed = require("aspose.threed");

// 初始化场景对象
var scene = new aspose.threed.Scene();

// 初始化圆柱体
var cylinder =new aspose.threed.Cylinder(2, 2, 10, 20, 1, false);

// 创建 ChildNode
var Node=scene.getRootNode().createChildNode(cylinder);

// 设置自定义平移矩阵
Node.getTransform().setTransformMatrix(new aspose.threed.Matrix4(
    1, -0.3, 0, 0,
    0.4, 1, 0.3, 0,
    0, 0, 1, 0,
    0, 20, 0, 1
));

// 保存
scene.save("TransformationToNode.obj");