Class Transform
Pakej: @aspose/3d (v24.12.0)
Transform menyimpan kedudukan tempatan, putaran, dan skala sesuatu Node dalam ruang objek. Ia menyediakan kedua-dua akses sifat secara langsung (translation, scaling, rotation)setTranslation, setScale, setEulerAngles, setRotationdan kaedah penetapan fluent ( ). Semua penetap membatalkan cache matriks dalaman; matriks yang dikira semula tersedia melalui transformMatrix.
export class Transform extends A3DObjectTransform
A3DObject ← Transform
Transform
Posisikan, putar, dan skala node menggunakan API beralir.
import { Scene, Node, Mesh } from '@aspose/3d';
import { Vector3, Quaternion } from '@aspose/3d/utilities';
const scene = new Scene();
const node = scene.rootNode.createChildNode('box');
// Fluent chain: translate, scale, then rotate 45° around Y
node.transform
.setTranslation(0, 1, 0)
.setScale(2, 2, 2)
.setEulerAngles(0, Math.PI / 4, 0);
console.log(`Translation: ${node.transform.translation}`);
// Translation: Vector3(0, 1, 0)
Transform
Transform | Transform | Transform | Transform |
|---|---|---|---|
translation | Vector3 | (0, 0, 0) | Kedudukan tempatan nod dalam ruang koordinat ibu bapa. |
scaling | Vector3 | (1, 1, 1) | Faktor skala tempatan sepanjang setiap paksi. Nota: sifat ini adalah scaling, bukan scale. |
rotation | Quaternion | identiti | Putaran tempatan sebagai kuaternion unit. Menetapkan ini juga mengemas kini eulerAngles. |
eulerAngles | Vector3 | (0, 0, 0) | Putaran tempatan yang dinyatakan sebagai sudut Euler dalam radian (pitch, yaw, roll). Menetapkan ini juga mengemas kini rotation. |
transformMatrix | Matrix4 | identiti | Matriks transformasi tempatan-ke-ibu bapa penuh. Dikira secara malas daripada sifat TRS; juga boleh ditetapkan secara langsung untuk memecah menjadi komponen TRS. |
preRotation | Vector3 | (0, 0, 0) | Putaran Euler yang diterapkan sebelum putaran utama (digunakan oleh rig FBX). |
postRotation | Vector3 | (0, 0, 0) | Putaran Euler yang diterapkan selepas putaran utama (digunakan oleh rig FBX). |
scalingOffset | Vector3 | (0, 0, 0) | Offset terjemahan yang diterapkan sebelum pivot penskalaan (serasi FBX). |
scalingPivot | Vector3 | (0, 0, 0) | Titik pivot di mana penskalaan diterapkan. |
rotationOffset | Vector3 | (0, 0, 0) | Offset terjemahan yang diterapkan sebelum pivot putaran. |
rotationPivot | Vector3 | (0, 0, 0) | Titik pivot di mana putaran diterapkan. |
geometricTranslation | Vector3 | (0, 0, 0) | Terjemahan geometri yang diterapkan selepas transformasi nod (menjejaskan geometri, bukan anak). |
geometricScaling | Vector3 | (1, 1, 1) | Skala geometri yang diterapkan selepas transformasi nod (menjejaskan geometri, bukan anak). |
geometricRotation | Vector3 | (0, 0, 0) | Putaran geometri yang diterapkan selepas transformasi nod (menjejaskan geometri, bukan anak). |
Transform
setTranslation(tx, ty, tz)
Menetapkan terjemahan setempat dan mengembalikan this untuk method chaining.
setTranslation(tx: number, ty: number, tz: number): TransformTransform
tx number — Komponen X terjemahan.
ty number — Komponen Y terjemahan.
tz number — Komponen Z terjemahan.
Transform
Transform — Sama Transform instans untuk chaining.
Transform
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('pivot');
node.transform.setTranslation(10, 0, -5);
console.log(`X: ${node.transform.translation.x}`); // X: 10
setScale(sx, sy, sz)
Menetapkan skala setempat dan mengembalikan this untuk method chaining.
setScale(sx: number, sy: number, sz: number): TransformTransform
sx number — Faktor skala sepanjang X.
sy number — Faktor skala sepanjang Y.
sz number — Faktor skala sepanjang Z.
Transform
Transform — Sama Transform instans untuk penjujukan.
Transform
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('big');
node.transform.setScale(3, 3, 3);
console.log(`Scale X: ${node.transform.scaling.x}`); // Scale X: 3
setEulerAngles(rx, ry, rz)
Menetapkan putaran melalui sudut Euler dalam radian dan mengembalikan this. The rotation quaternion dikemas kini secara automatik.
setEulerAngles(rx: number, ry: number, rz: number): TransformTransform
rx number — Pitch (putaran sekitar paksi X) dalam radian.
ry number — Yaw (putaran sekitar paksi Y) dalam radian.
rz number — Roll (putaran sekitar paksi Z) dalam radian.
Transform
Transform — Sama Transform instans untuk penjujukan.
Transform
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('rotated');
// Rotate 90° around Y axis
node.transform.setEulerAngles(0, Math.PI / 2, 0);
console.log(`Euler Y: ${node.transform.eulerAngles.y.toFixed(4)}`);
// Euler Y: 1.5708
setRotation(rw, rx, ry, rz)
Menetapkan putaran daripada komponen quaternion dan mengembalikan this. The eulerAngles sifat dikemas kini secara automatik.
setRotation(rw: number, rx: number, ry: number, rz: number): TransformTransform
rw number — Komponen skalar (w) quaternion.
rx number — komponen X bagi kuaternion.
ry number — komponen Y bagi kuaternion.
rz number — komponen Z bagi kuaternion.
Transform
Transform — Yang sama Transform instans untuk penjangkitan.
setPreRotation(rx, ry, rz)
Menetapkan sudut Euler pra-putar dalam radian dan mengembalikan this.
setPreRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setPostRotation(rx, ry, rz)
Menetapkan sudut Euler pasca-putar dalam radian dan mengembalikan this.
setPostRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setGeometricTranslation(x, y, z)
Menetapkan offset terjemahan geometri (menjejaskan geometri nod ini tetapi tidak anaknya) dan mengembalikan this.
setGeometricTranslation(x: number, y: number, z: number): TransformTransform
Transform
setGeometricScaling(sx, sy, sz)
Menetapkan offset skala geometri dan mengembalikan this.
setGeometricScaling(sx: number, sy: number, sz: number): TransformTransform
Transform
setGeometricRotation(rx, ry, rz)
Menetapkan offset putaran geometri (sudut Euler dalam radian) dan mengembalikan this.
setGeometricRotation(rx: number, ry: number, rz: number): TransformTransform
Transform