Class Transform
Paketti: @aspose/3d (v24.12.0)
Transform sisältää paikallisen sijainnin, kierron ja skaalaamisen kohteelle Node objektitilassa. Se tarjoaa sekä suoran ominaisuuksien pääsyn (translation, scaling, rotation) ja sujuvat asettajametodit (setTranslation, setScale, setEulerAngles, setRotation). Kaikki asettajat mitätöivät sisäisen matriisivälimuistin; uudelleenlaskettu matriisi on saatavilla kautta transformMatrix.
export class Transform extends A3DObjectTransform
A3DObject ← Transform
Transform
Sijoita, kierrä ja skaalaa solmu sujuvan API:n avulla.
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) | Paikallinen solmun sijainti sen vanhemman koordinaattitilassa. |
scaling | Vector3 | (1, 1, 1) | Paikalliset skaalauskertoimet jokaisella akselilla. Huomaa: ominaisuus on scaling, ei scale. |
rotation | Quaternion | identiteetti | Paikallinen kierto yksikkökvaternionina. Tämän asettaminen päivittää myös eulerAngles. |
eulerAngles | Vector3 | (0, 0, 0) | Paikallinen kierto esitettynä Eulerin kulmina radiaaneina (kallistus, kääntö, rullaus). Tämän asettaminen päivittää myös rotation. |
transformMatrix | Matrix4 | identiteetti | Täydellinen paikallisesta vanhempaan -muunnosmatriisi. Lasketaan laiskaan tapaan TRS-ominaisuuksista; sen voi myös asettaa suoraan hajottamaan TRS-komponentteihin. |
preRotation | Vector3 | (0, 0, 0) | Euler-kierto, joka toteutetaan ennen pääkiertoa (käytetään FBX-rigissä). |
postRotation | Vector3 | (0, 0, 0) | Eulerin kierto, joka toteutetaan pääkierroksen jälkeen (käytetään FBX-rigissä). |
scalingOffset | Vector3 | (0, 0, 0) | Siirtymäoffsetti, joka toteutetaan skaalauskeskipisteen ennen (FBX-yhteensopiva). |
scalingPivot | Vector3 | (0, 0, 0) | Keskipiste, jonka ympärillä skaalaus toteutetaan. |
rotationOffset | Vector3 | (0, 0, 0) | Siirtymäoffsetti, joka toteutetaan kiertokeskipisteen ennen. |
rotationPivot | Vector3 | (0, 0, 0) | Kiertopiste, jonka ympärillä kierto toteutetaan. |
geometricTranslation | Vector3 | (0, 0, 0) | Geometrinen siirto, joka toteutetaan solmun muunnoksen jälkeen (vaikuttaa geometriaan, ei lapsiin). |
geometricScaling | Vector3 | (1, 1, 1) | Geometrinen skaalaus, joka toteutetaan solmun muunnoksen jälkeen (vaikuttaa geometriaan, ei lapsiin). |
geometricRotation | Vector3 | (0, 0, 0) | Geometrinen kierto, joka toteutetaan solmun muunnoksen jälkeen (vaikuttaa geometriaan, ei lapsiin). |
Transform
setTranslation(tx, ty, tz)
Asettaa paikallisen siirron ja palauttaa this menetelmän ketjuttamista varten.
setTranslation(tx: number, ty: number, tz: number): TransformTransform
tx number — Siirron X-komponentti.
ty number — Siirron Y-komponentti.
tz number — Siirron Z-komponentti.
Transform
Transform — Sama Transform instanssi ketjuttamista varten.
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)
Asettaa paikallisen skaalaamisen ja palauttaa this menetelmän ketjuttamista varten.
setScale(sx: number, sy: number, sz: number): TransformTransform
sx number — Skaalauskerroin X-akselilla.
sy number — Skaalauskerroin Y-akselilla.
sz number — Skaalauskerroin Z-akselin suuntaan.
Transform
Transform — Sama Transform instanssi ketjuttamista varten.
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)
Asettaa kierron Eulerin kulmien avulla radiaaneina ja palauttaa this. Kvaternion rotation kvaternion päivittyy automaattisesti.
setEulerAngles(rx: number, ry: number, rz: number): TransformTransform
rx number — Kallistus (kierto X-akselin ympäri) radiaaneina.
ry number — Kallistus (kierto Y-akselin ympäri) radiaaneina.
rz number — Rullaus (kierto Z-akselin ympäri) radiaaneina.
Transform
Transform — Sama Transform instanssi ketjuttamista varten.
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)
Asettaa kierron kvaternionin komponenteista ja palauttaa this. Kvaternion eulerAngles ominaisuus päivittyy automaattisesti.
setRotation(rw: number, rx: number, ry: number, rz: number): TransformTransform
rw number — Kvaternionin skalaarinen (w) komponentti.
rx number — Kvaternionin X-komponentti.
ry number — Kvaternionin Y-komponentti.
rz number — Kvaternionin Z-komponentti.
Transform
Transform — Sama Transform instanssi ketjuttamista varten.
setPreRotation(rx, ry, rz)
Asettaa esikierron Euler-kulmat radiaaneina ja palauttaa this.
setPreRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setPostRotation(rx, ry, rz)
Asettaa jälkikierron Euler-kulmat radiaaneina ja palauttaa this.
setPostRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setGeometricTranslation(x, y, z)
Asettaa geometrisen siirtymäoffsetin (vaikuttaa tämän solmun geometriaan, mutta ei sen lapsiin) ja palauttaa this.
setGeometricTranslation(x: number, y: number, z: number): TransformTransform
Transform
setGeometricScaling(sx, sy, sz)
Asettaa geometrisen skaalausoffsetin ja palauttaa this.
setGeometricScaling(sx: number, sy: number, sz: number): TransformTransform
Transform
setGeometricRotation(rx, ry, rz)
Asettaa geometrisen kiertooffsetin (Euler-kulmat radiaaneina) ja palauttaa this.
setGeometricRotation(rx: number, ry: number, rz: number): TransformTransform
Transform