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 A3DObjectTransform
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
Transform | Transform | Transform | Transform |
|---|---|---|---|
translation | Vector3 | (0, 0, 0) | Vietinė mazgo padėtis jo tėvo koordinatų erdvėje. |
scaling | Vector3 | (1, 1, 1) | Vietiniai mastelio koeficientai kiekvienoje ašyje. Pastaba: savybė yra scaling, ne scale. |
rotation | Quaternion | identitetas | Vietinis sukimas kaip vienetinis kvaternionas. Nustatant tai taip pat atnaujinama eulerAngles. |
eulerAngles | Vector3 | (0, 0, 0) | Vietinis sukimas išreikštas Eulerio kampais radianais (pakrypimas, pasukimas, sukimas). Nustatant tai taip pat atnaujinama rotation. |
transformMatrix | Matrix4 | identitetas | Pilna 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. |
preRotation | Vector3 | (0, 0, 0) | Eulerio sukimas taikomas prieš pagrindinį sukimą (naudojamas FBX rigų). |
postRotation | Vector3 | (0, 0, 0) | Eulerio sukimas taikomas po pagrindinio sukimo (naudojama FBX rigs). |
scalingOffset | Vector3 | (0, 0, 0) | Vertimo poslinkis taikomas prieš mastelio pivotą (FBX-compatible). |
scalingPivot | Vector3 | (0, 0, 0) | Pivot taškas, aplink kurį taikomas mastelis. |
rotationOffset | Vector3 | (0, 0, 0) | Vertimo poslinkis taikomas prieš sukimosi pivotą. |
rotationPivot | Vector3 | (0, 0, 0) | Sukimosios ašies taškas, apie kurį taikomas sukimas. |
geometricTranslation | Vector3 | (0, 0, 0) | Geometrinis perkėlimas, taikomas po mazgo transformacijos (veikia geometriją, ne vaikus). |
geometricScaling | Vector3 | (1, 1, 1) | Geometrinis mastelis, taikomas po mazgo transformacijos (veikia geometriją, ne vaikus). |
geometricRotation | Vector3 | (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): TransformTransform
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): TransformTransform
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): TransformTransform
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): TransformTransform
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): TransformTransform
Transform
setPostRotation(rx, ry, rz)
Nustato po sukimo Eulerio kampus radianais ir grąžina this.
setPostRotation(rx: number, ry: number, rz: number): TransformTransform
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): TransformTransform
Transform
setGeometricScaling(sx, sy, sz)
Nustato geometrinį mastelio poslinkį ir grąžina this.
setGeometricScaling(sx: number, sy: number, sz: number): TransformTransform
Transform
setGeometricRotation(rx, ry, rz)
Nustato geometrinį sukimosi poslinkį (Eulerio kampus radianais) ir grąžina this.
setGeometricRotation(rx: number, ry: number, rz: number): TransformTransform
Transform