Class Transform

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

Transformacija saugo vietinę padėtį, sukimosi kampą ir mastelį Node objekto erdvėje. Ji suteikia tiesioginę savybių prieigą (translation, scaling, rotation) ir sklandžius nustatymo metodus (setTranslation, setScale, setEulerAngles, setRotation). Visi nustatytojai invalidoja vidinę matricos talpyklą; perskaičiuota matrica prieinama per transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

Nustatykite poziciją, sukite ir keiskite mastelį mazgo naudodami sklandžią API.

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)Vietinė mazgo padėtis jo tėvo koordinatų erdvėje.
scalingVector3(1, 1, 1)Vietiniai mastelio koeficientai kiekvienoje ašyje. Pastaba: savybė yra scaling, ne scale.
rotationQuaternionidentitetasVietinis sukimas kaip vienetinis kvaternionas. Nustatant tai taip pat atnaujinama eulerAngles.
eulerAnglesVector3(0, 0, 0)Vietinis sukimas išreikštas Eulerio kampais radianais (pakrypimas, pasukimas, sukimas). Nustatant tai taip pat atnaujinama rotation.
transformMatrixMatrix4identitetasPilna vietinio į tėvo transformacijos matrica. Apskaičiuojama tingiai iš TRS savybių; taip pat gali būti nustatyta tiesiogiai, kad būtų išskaidyta į TRS komponentus.
preRotationVector3(0, 0, 0)Eulerio sukimas taikomas prieš pagrindinį sukimą (naudojamas FBX rigų).
postRotationVector3(0, 0, 0)Eulerio sukimas taikomas po pagrindinio sukimo (naudojama FBX rigs).
scalingOffsetVector3(0, 0, 0)Vertimo poslinkis taikomas prieš mastelio pivotą (FBX-compatible).
scalingPivotVector3(0, 0, 0)Pivot taškas, aplink kurį taikomas mastelis.
rotationOffsetVector3(0, 0, 0)Vertimo poslinkis taikomas prieš sukimosi pivotą.
rotationPivotVector3(0, 0, 0)Sukimosios ašies taškas, apie kurį taikomas sukimas.
geometricTranslationVector3(0, 0, 0)Geometrinis perkėlimas, taikomas po mazgo transformacijos (veikia geometriją, ne vaikus).
geometricScalingVector3(1, 1, 1)Geometrinis mastelis, taikomas po mazgo transformacijos (veikia geometriją, ne vaikus).
geometricRotationVector3(0, 0, 0)Geometrinis sukimas, taikomas po mazgo transformacijos (veikia geometriją, ne vaikus).

Transform

setTranslation(tx, ty, tz)

Nustato vietinį perkėlimą ir grąžina this metodų grandinėjimui.

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

Transform

tx number — X komponentas, nurodantis perkėlimą.

ty number — Y komponentas, nurodantis perkėlimą.

tz number — Vertimo Z komponentas.

Transform

Transform — Tas pats Transform objektas grandininimui.

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)

Nustato vietinį mastelį ir grąžina this metodų grandininimui.

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

Transform

sx number — Mastelio koeficientas X ašyje.

sy number — Mastelio koeficientas Y ašyje.

sz number — Mastelio koeficientas pagal Z ašį.

Transform

Transform — Tas pats Transform egzempliorius grandininimui.

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)

Nustato sukimosi kampą per Eulerio kampus radianais ir grąžina this. rotation kvaternionas atnaujinamas automatiškai.

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

Transform

rx number — Pakrypimas (sukimas apie X ašį) radianais.

ry number — Yaw (posūkis apie Y ašį) radianais.

rz number — Roll (posūkis apie Z ašį) radianais.

Transform

Transform — Tas pats Transform — egzempliorius grandinimui.

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)

Nustato rotaciją iš kvaterniono komponentų ir grąžina this. Ši eulerAngles savybė atnaujinama automatiškai.

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

Transform

rw number — Skaliarinis (w) komponentas kvaterniono.

rx number — Kvaterniono X komponentas.

ry number — Y komponentas kvaterniono.

rz number — Z komponentas kvaterniono.

Transform

Transform — Tas pats Transform objektas grandininimui.


setPreRotation(rx, ry, rz)

Nustato prieš sukimo Euler kampus radianais ir grąžina this.

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

Transform

Transform


setPostRotation(rx, ry, rz)

Nustato po sukimo Eulerio kampus radianais ir grąžina this.

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

Transform

Transform


setGeometricTranslation(x, y, z)

Nustato geometrinį perkėlimo poslinkį (įtakoja šio mazgo geometriją, bet ne jo vaikus) ir grąžina this.

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

Transform

Transform


setGeometricScaling(sx, sy, sz)

Nustato geometrinį mastelio poslinkį ir grąžina this.

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

Transform

Transform


setGeometricRotation(rx, ry, rz)

Nustato geometrinį sukimosi poslinkį (Eulerio kampus radianais) ir grąžina this.

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

Transform

Transform

 Lietuvių