Class Transform

Paket: @aspose/3d (v24.12.0)

Transform menyimpan posisi lokal, rotasi, dan skala dari sebuah Node di ruang objek. Ini menyediakan akses properti langsung (translation, scaling, rotation) dan metode setter yang fluent (setTranslation, setScale, setEulerAngles, setRotation). Semua setter menginvalidasi cache matriks internal; matriks yang dihitung ulang tersedia melalui transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

Posisikan, putar, dan skala sebuah node menggunakan API fluens.

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)Posisi lokal node dalam ruang koordinat induknya.
scalingVector3(1, 1, 1)Faktor skala lokal sepanjang setiap sumbu. Catatan: properti ini adalah scaling, bukan scale.
rotationQuaternionidentitasRotasi lokal sebagai kuaternion unit. Menetapkan ini juga memperbarui eulerAngles.
eulerAnglesVector3(0, 0, 0)Rotasi lokal yang diekspresikan sebagai sudut Euler dalam radian (pitch, yaw, roll). Menetapkan ini juga memperbarui rotation.
transformMatrixMatrix4identitasMatriks transformasi lengkap dari lokal ke induk. Dihitung secara malas dari properti TRS; juga dapat diatur langsung untuk mendekomposisi menjadi komponen TRS.
preRotationVector3(0, 0, 0)Rotasi Euler yang diterapkan sebelum rotasi utama (digunakan oleh rig FBX).
postRotationVector3(0, 0, 0)Rotasi Euler diterapkan setelah rotasi utama (digunakan oleh rig FBX).
scalingOffsetVector3(0, 0, 0)Offset translasi diterapkan sebelum pivot skala (kompatibel dengan FBX).
scalingPivotVector3(0, 0, 0)Titik pivot tempat skala diterapkan.
rotationOffsetVector3(0, 0, 0)Offset translasi diterapkan sebelum pivot rotasi.
rotationPivotVector3(0, 0, 0)Titik pivot di sekitar mana rotasi diterapkan.
geometricTranslationVector3(0, 0, 0)Translasi geometris yang diterapkan setelah transformasi node (mempengaruhi geometri, bukan anak).
geometricScalingVector3(1, 1, 1)Skala geometris yang diterapkan setelah transformasi node (mempengaruhi geometri, bukan anak).
geometricRotationVector3(0, 0, 0)Rotasi geometris yang diterapkan setelah transformasi node (mempengaruhi geometri, bukan anak).

Transform

setTranslation(tx, ty, tz)

Mengatur translasi lokal dan mengembalikan this untuk chaining metode.

setTranslation(tx: number, ty: number, tz: number): Transform

Transform

tx number — Komponen X dari translasi.

ty number — Komponen Y dari translasi.

tz number — Komponen Z dari translasi.

Transform

Transform — Sama Transform instance 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)

Mengatur skala lokal dan mengembalikan this untuk chaining metode.

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 instance untuk chaining.

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)

Mengatur rotasi melalui sudut Euler dalam radian dan mengembalikan this. rotation quaternion diperbarui secara otomatis.

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

Transform

rx number — Pitch (rotasi sekitar sumbu X) dalam radian.

ry number — Yaw (rotasi sekitar sumbu Y) dalam radian.

rz number — Roll (rotasi sekitar sumbu Z) dalam radian.

Transform

Transform — Sama Transform instance untuk chaining.

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)

Mengatur rotasi dari komponen quaternion dan mengembalikan this. eulerAngles properti diperbarui secara otomatis.

setRotation(rw: number, rx: number, ry: number, rz: number): Transform

Transform

rw number — Komponen skalar (w) dari quaternion.

rx number — komponen X dari quaternion.

ry number — komponen Y dari quaternion.

rz number — komponen Z dari quaternion.

Transform

Transform — Sama Transform instance untuk chaining.


setPreRotation(rx, ry, rz)

Mengatur sudut Euler pra-rotasi dalam radian dan mengembalikan this.

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

Transform

Transform


setPostRotation(rx, ry, rz)

Mengatur sudut Euler pasca-rotasi dalam radian dan mengembalikan this.

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

Transform

Transform


setGeometricTranslation(x, y, z)

Mengatur offset translasi geometrik (mempengaruhi geometri node ini tetapi tidak anak‑anaknya) dan mengembalikan this.

setGeometricTranslation(x: number, y: number, z: number): Transform

Transform

Transform


setGeometricScaling(sx, sy, sz)

Mengatur offset skala geometrik dan mengembalikan this.

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

Transform

Transform


setGeometricRotation(rx, ry, rz)

Mengatur offset rotasi geometrik (sudut Euler dalam radian) dan mengembalikan this.

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

Transform

Transform

 Bahasa Indonesia