Class Transform

Πακέτο: @aspose/3d (v24.12.0)

Το Transform διατηρεί τη τοπική θέση, περιστροφή και κλίμακα ενός Node στο χώρο αντικειμένου. Παρέχει τόσο άμεση πρόσβαση σε ιδιότητες (translation, scaling, rotation) και μεθόδους fluent setter (setTranslation, setScale, setEulerAngles, setRotation). Όλοι οι setters ακυρώνουν μια εσωτερική προσωρινή μνήμη πίνακα· ο επανυπολογισμένος πίνακας είναι διαθέσιμος μέσω transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

Τοποθετήστε, περιστρέψτε και κλιμακώστε έναν κόμβο χρησιμοποιώντας το fluent 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)Τοπική θέση του κόμβου στο σύστημα συντεταγμένων του γονέα του.
scalingVector3(1, 1, 1)Τοπικοί συντελεστές κλίμακας κατά κάθε άξονα. Σημείωση: η ιδιότητα είναι scaling, όχι scale.
rotationQuaternionταυτότηταΤοπική περιστροφή ως μονάδα quaternion. Ο ορισμός αυτού ενημερώνει επίσης eulerAngles.
eulerAnglesVector3(0, 0, 0)Τοπική περιστροφή εκφρασμένη ως γωνίες Euler σε ακτίνια (pitch, yaw, roll). Ο ορισμός αυτού ενημερώνει επίσης rotation.
transformMatrixMatrix4ταυτότηταΟ πλήρης πίνακας μετασχηματισμού τοπικό-προς-γονέα. Υπολογίζεται αργά από τις ιδιότητες TRS· μπορεί επίσης να οριστεί άμεσα για αποσύνθεση σε συστατικά TRS.
preRotationVector3(0, 0, 0)Περιστροφή Euler που εφαρμόζεται πριν από την κύρια περιστροφή (χρησιμοποιείται από rigs FBX).
postRotationVector3(0, 0, 0)Περιστροφή Euler που εφαρμόζεται μετά την κύρια περιστροφή (χρησιμοποιείται από τα FBX rigs).
scalingOffsetVector3(0, 0, 0)Μετατόπιση μετάφρασης που εφαρμόζεται πριν από τον άξονα κλιμάκωσης (συμβατό με FBX).
scalingPivotVector3(0, 0, 0)Σημείο άξονα γύρω από το οποίο εφαρμόζεται η κλιμάκωση.
rotationOffsetVector3(0, 0, 0)Μετατόπιση μετάφρασης που εφαρμόζεται πριν από τον άξονα περιστροφής.
rotationPivotVector3(0, 0, 0)Σημείο άξονα γύρω από το οποίο εφαρμόζεται η περιστροφή.
geometricTranslationVector3(0, 0, 0)Γεωμετρική μετάθεση που εφαρμόζεται μετά τον μετασχηματισμό του κόμβου (επηρεάζει τη γεωμετρία, όχι τα παιδιά).
geometricScalingVector3(1, 1, 1)Γεωμετρική κλίμακα που εφαρμόζεται μετά τον μετασχηματισμό του κόμβου (επηρεάζει τη γεωμετρία, όχι τα παιδιά).
geometricRotationVector3(0, 0, 0)Γεωμετρική περιστροφή που εφαρμόζεται μετά τον μετασχηματισμό του κόμβου (επηρεάζει τη γεωμετρία, όχι τα παιδιά).

Transform

setTranslation(tx, ty, tz)

Ορίζει τη τοπική μετάθεση και επιστρέφει this για αλυσίδωση μεθόδων.

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

Transform

tx number — Συνιστώσα X της μετάθεσης.

ty number — Συνιστώσα Y της μετάθεσης.

tz number — Συνιστώσα Z της μετάθεσης.

Transform

Transform — Το ίδιο Transform αντικείμενο για αλυσίδωση.

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)

Ορίζει την τοπική κλίμακα και επιστρέφει this για αλυσίδωση μεθόδων.

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

Transform

sx number — Συντελεστής κλίμακας κατά X.

sy number — Συντελεστής κλίμακας κατά Y.

sz number — Συντελεστής κλίμακας κατά τον άξονα Z.

Transform

Transform — Το ίδιο Transform αντικείμενο για αλυσίδωση.

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)

Ορίζει την περιστροφή μέσω γωνιών Euler σε ακτίνια και επιστρέφει this. Η rotation το quaternion ενημερώνεται αυτόματα.

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

Transform

rx number — Pitch (περιστροφή γύρω από τον άξονα X) σε ακτίνια.

ry number — Yaw (περιστροφή γύρω από τον άξονα Y) σε ακτίνια.

rz number — Roll (περιστροφή γύρω από τον άξονα Z) σε ακτίνια.

Transform

Transform — Το ίδιο Transform αντικείμενο για αλυσίδωση.

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)

Ορίζει την περιστροφή από τα συστατικά του quaternion και επιστρέφει this. Η eulerAngles ιδιότητα ενημερώνεται αυτόματα.

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

Transform

rw number — Συστατικό scalar (w) του quaternion.

rx number — Συνιστώσα X του τετραδίου.

ry number — Συνιστώσα Y του τετραδίου.

rz number — Συνιστώσα Z του τετραδίου.

Transform

Transform — Το ίδιο Transform αντικείμενο για αλυσίδωση.


setPreRotation(rx, ry, rz)

Ορίζει τις γωνίες Euler προ‑περιστροφής σε ακτίνια και επιστρέφει this.

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

Transform

Transform


setPostRotation(rx, ry, rz)

Ορίζει τις γωνίες Euler μετα‑περιστροφής σε ακτίνια και επιστρέφει this.

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

Transform

Transform


setGeometricTranslation(x, y, z)

Ορίζει τη γεωμετρική μετατόπιση μετάφρασης (επηρεάζει τη γεωμετρία αυτού του κόμβου αλλά όχι τα παιδιά του) και επιστρέφει this.

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

Transform

Transform


setGeometricScaling(sx, sy, sz)

Ορίζει τη γεωμετρική μετατόπιση κλιμάκωσης και επιστρέφει this.

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

Transform

Transform


setGeometricRotation(rx, ry, rz)

Ορίζει τη γεωμετρική μετατόπιση περιστροφής (γωνίες Euler σε ακτίνια) και επιστρέφει this.

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

Transform

Transform

 Ελληνικά