Class Transform
Csomag: @aspose/3d (v24.12.0)
A Transform tárolja a helyi pozíciót, forgást és méretezést egy Node objektumtérben. Mind közvetlen tulajdonsághozzáférést biztosít (translation, scaling, rotation) és folyékony beállító metódusokat (setTranslation, setScale, setEulerAngles, setRotation). Minden beállító érvényteleníti a belső mátrix gyorsítótárat; az újraszámolt mátrix elérhető ezen keresztül transformMatrix.
export class Transform extends A3DObjectTransform
A3DObject ← Transform
Transform
Pozicionáld, forgasd és méretezd a node-ot a folyékony API használatával.
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) | A csomópont helyi pozíciója a szülő koordináta térben. |
scaling | Vector3 | (1, 1, 1) | Helyi méretezési tényezők minden tengely mentén. Megjegyzés: a tulajdonság scaling, nem scale. |
rotation | Quaternion | identitás | Helyi forgás egységkvaternionként. Ennek beállítása frissíti eulerAngles. |
eulerAngles | Vector3 | (0, 0, 0) | Helyi forgás Euler-szögekként radiánban (dőlésszög, irány, görbület). Ennek beállítása frissíti rotation. |
transformMatrix | Matrix4 | identitás | A teljes helyi‑szülő transzformációs mátrix. Lusta módon számítódik a TRS tulajdonságokból; közvetlenül is beállítható, hogy TRS komponensekre bontsa. |
preRotation | Vector3 | (0, 0, 0) | Euler forgás, amely a fő forgás előtt alkalmazandó (FBX rigek által használt). |
postRotation | Vector3 | (0, 0, 0) | Euler rotation alkalmazva a főrotáció után (FBX rigek által használt). |
scalingOffset | Vector3 | (0, 0, 0) | Translation offset alkalmazva a scaling pivot előtt (FBX-kompatibilis). |
scalingPivot | Vector3 | (0, 0, 0) | Pivot point, amely körül a scaling alkalmazásra kerül. |
rotationOffset | Vector3 | (0, 0, 0) | Translation offset alkalmazva a rotation pivot előtt. |
rotationPivot | Vector3 | (0, 0, 0) | Pivótpont, amely körül a forgatás alkalmazásra kerül. |
geometricTranslation | Vector3 | (0, 0, 0) | Geometriai eltolás, amely a csomópont transzformációja után kerül alkalmazásra (a geometriát érinti, nem a gyermekeket). |
geometricScaling | Vector3 | (1, 1, 1) | Geometriai méretezés, amely a csomópont transzformációja után kerül alkalmazásra (a geometriát érinti, nem a gyermekeket). |
geometricRotation | Vector3 | (0, 0, 0) | Geometriai forgatás, amely a csomópont transzformációja után kerül alkalmazásra (a geometriát érinti, nem a gyermekeket). |
Transform
setTranslation(tx, ty, tz)
Beállítja a helyi eltolást, és visszaadja this a metódusláncoláshoz.
setTranslation(tx: number, ty: number, tz: number): TransformTransform
tx number — Az eltolás X komponense.
ty number — Az eltolás Y komponense.
tz number — Az eltolás Z komponense.
Transform
Transform — Ugyanaz Transform példány a láncoláshoz.
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)
Beállítja a helyi méretezést, és visszaadja this a metódusláncoláshoz.
setScale(sx: number, sy: number, sz: number): TransformTransform
sx number — Méretezési tényező X irányban.
sy number — Méretezési tényező Y irányban.
sz number — Skálafaktor a Z tengely mentén.
Transform
Transform — Ugyanaz Transform példány láncoláshoz.
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)
Beállítja a forgást Euler-szögekkel radiánban, és visszaadja this. A rotation kvaternion automatikusan frissül.
setEulerAngles(rx: number, ry: number, rz: number): TransformTransform
rx number — Dőlésszög (forgás az X tengely körül) radiánban.
ry number — Fejfordság (forgás az Y tengely körül) radiánban.
rz number — Görgetés (forgás a Z tengely körül) radiánban.
Transform
Transform — Ugyanaz Transform példány láncoláshoz.
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)
Beállítja a forgást kvaternion komponensekből, és visszaadja this. A eulerAngles tulajdonság automatikusan frissül.
setRotation(rw: number, rx: number, ry: number, rz: number): TransformTransform
rw number — Skalár (w) komponens a kvaternionban.
rx number — A kvaternion X komponense.
ry number — A kvaternion Y komponense.
rz number — A kvaternion Z komponense.
Transform
Transform — ugyanaz Transform példány láncoláshoz.
setPreRotation(rx, ry, rz)
Beállítja a pre-rotáció Euler-szögeket radiánban és visszatér this.
setPreRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setPostRotation(rx, ry, rz)
Beállítja a post-rotáció Euler-szögeket radiánban és visszatér this.
setPostRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setGeometricTranslation(x, y, z)
Beállítja a geometriai transzlációs eltolást (ez a csomópont geometriáját befolyásolja, de a gyermekeket nem) és visszatér this.
setGeometricTranslation(x: number, y: number, z: number): TransformTransform
Transform
setGeometricScaling(sx, sy, sz)
Beállítja a geometriai skálázási eltolást és visszatér this.
setGeometricScaling(sx: number, sy: number, sz: number): TransformTransform
Transform
setGeometricRotation(rx, ry, rz)
Beállítja a geometriai rotációs eltolást (Euler-szögek radiánban) és visszatér this.
setGeometricRotation(rx: number, ry: number, rz: number): TransformTransform
Transform