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 A3DObject

Transform

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

TransformTransformTransformTransform
translationVector3(0, 0, 0)Kedudukan tempatan nod dalam ruang koordinat ibu bapa.
scalingVector3(1, 1, 1)Faktor skala tempatan sepanjang setiap paksi. Nota: sifat ini adalah scaling, bukan scale.
rotationQuaternionidentitiPutaran tempatan sebagai kuaternion unit. Menetapkan ini juga mengemas kini eulerAngles.
eulerAnglesVector3(0, 0, 0)Putaran tempatan yang dinyatakan sebagai sudut Euler dalam radian (pitch, yaw, roll). Menetapkan ini juga mengemas kini rotation.
transformMatrixMatrix4identitiMatriks transformasi tempatan-ke-ibu bapa penuh. Dikira secara malas daripada sifat TRS; juga boleh ditetapkan secara langsung untuk memecah menjadi komponen TRS.
preRotationVector3(0, 0, 0)Putaran Euler yang diterapkan sebelum putaran utama (digunakan oleh rig FBX).
postRotationVector3(0, 0, 0)Putaran Euler yang diterapkan selepas putaran utama (digunakan oleh rig FBX).
scalingOffsetVector3(0, 0, 0)Offset terjemahan yang diterapkan sebelum pivot penskalaan (serasi FBX).
scalingPivotVector3(0, 0, 0)Titik pivot di mana penskalaan diterapkan.
rotationOffsetVector3(0, 0, 0)Offset terjemahan yang diterapkan sebelum pivot putaran.
rotationPivotVector3(0, 0, 0)Titik pivot di mana putaran diterapkan.
geometricTranslationVector3(0, 0, 0)Terjemahan geometri yang diterapkan selepas transformasi nod (menjejaskan geometri, bukan anak).
geometricScalingVector3(1, 1, 1)Skala geometri yang diterapkan selepas transformasi nod (menjejaskan geometri, bukan anak).
geometricRotationVector3(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): Transform

Transform

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): Transform

Transform

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): Transform

Transform

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): Transform

Transform

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): Transform

Transform

Transform


setPostRotation(rx, ry, rz)

Menetapkan sudut Euler pasca-putar dalam radian dan mengembalikan this.

setPostRotation(rx: number, ry: number, rz: number): Transform

Transform

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): Transform

Transform

Transform


setGeometricScaling(sx, sy, sz)

Menetapkan offset skala geometri dan mengembalikan this.

setGeometricScaling(sx: number, sy: number, sz: number): Transform

Transform

Transform


setGeometricRotation(rx, ry, rz)

Menetapkan offset putaran geometri (sudut Euler dalam radian) dan mengembalikan this.

setGeometricRotation(rx: number, ry: number, rz: number): Transform

Transform

Transform

 Bahasa Melayu