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 A3DObject

Transform

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

TransformTransformTransformTransform
translationVector3(0, 0, 0)A csomópont helyi pozíciója a szülő koordináta térben.
scalingVector3(1, 1, 1)Helyi méretezési tényezők minden tengely mentén. Megjegyzés: a tulajdonság scaling, nem scale.
rotationQuaternionidentitásHelyi forgás egységkvaternionként. Ennek beállítása frissíti eulerAngles.
eulerAnglesVector3(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.
transformMatrixMatrix4identitásA 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.
preRotationVector3(0, 0, 0)Euler forgás, amely a fő forgás előtt alkalmazandó (FBX rigek által használt).
postRotationVector3(0, 0, 0)Euler rotation alkalmazva a főrotáció után (FBX rigek által használt).
scalingOffsetVector3(0, 0, 0)Translation offset alkalmazva a scaling pivot előtt (FBX-kompatibilis).
scalingPivotVector3(0, 0, 0)Pivot point, amely körül a scaling alkalmazásra kerül.
rotationOffsetVector3(0, 0, 0)Translation offset alkalmazva a rotation pivot előtt.
rotationPivotVector3(0, 0, 0)Pivótpont, amely körül a forgatás alkalmazásra kerül.
geometricTranslationVector3(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).
geometricScalingVector3(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).
geometricRotationVector3(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): Transform

Transform

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

Transform

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

Transform

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

Transform

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

Transform

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

Transform

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

Transform

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

Transform

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

Transform

Transform

 Magyar