Class Transform

Paket: @aspose/3d (v24.12.0)

Transform, bir nesnenin yerel konumunu, dönüşünü ve ölçeğini tutar Node nesne uzayında. Hem doğrudan özellik erişimini sağlar (translation, scaling, rotation) ve akıcı ayarlayıcı metodları (setTranslation, setScale, setEulerAngles, setRotation). Tüm ayarlayıcılar içsel bir matris önbelleğini geçersiz kılar; yeniden hesaplanan matris şu aracılığıyla kullanılabilir transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

Akıcı API’yi kullanarak bir node’u konumlandırın, döndürün ve ölçeklendirin.

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)Düğümün ebeveyninin koordinat uzayındaki yerel konumu.
scalingVector3(1, 1, 1)Her eksen boyunca yerel ölçek faktörleri. Not: özellik scaling, değil scale.
rotationQuaternionkimlikYerel dönüş birim kuaterniyon olarak. Bunu ayarlamak aynı zamanda günceller eulerAngles.
eulerAnglesVector3(0, 0, 0)Yerel dönüş, radyan cinsinden Euler açıları (pitch, yaw, roll) olarak ifade edilir. Bunu ayarlamak aynı zamanda günceller rotation.
transformMatrixMatrix4kimlikTam yerel‑ebeveyn dönüşüm matrisi. TRS özelliklerinden tembelce hesaplanır; ayrıca doğrudan ayarlanarak TRS bileşenlerine ayrıştırılabilir.
preRotationVector3(0, 0, 0)Ana dönüşten önce uygulanan Euler dönüşü (FBX rig’leri tarafından kullanılır).
postRotationVector3(0, 0, 0)Ana dönüşten sonra uygulanan Euler dönüşü (FBX rig’leri tarafından kullanılır).
scalingOffsetVector3(0, 0, 0)Ölçekleme pivotundan önce uygulanan çeviri ofseti (FBX uyumlu).
scalingPivotVector3(0, 0, 0)Ölçeklemenin uygulandığı pivot noktası.
rotationOffsetVector3(0, 0, 0)Dönüş pivotundan önce uygulanan çeviri ofseti.
rotationPivotVector3(0, 0, 0)Dönüşümün uygulandığı pivot noktası.
geometricTranslationVector3(0, 0, 0)Düğüm dönüşümünden sonra uygulanan geometrik çeviri (geometriyi etkiler, çocukları etkilemez).
geometricScalingVector3(1, 1, 1)Düğüm dönüşümünden sonra uygulanan geometrik ölçek (geometriyi etkiler, çocukları etkilemez).
geometricRotationVector3(0, 0, 0)Düğüm dönüşümünden sonra uygulanan geometrik döndürme (geometriyi etkiler, çocukları etkilemez).

Transform

setTranslation(tx, ty, tz)

Yerel çeviriyi ayarlar ve döndürür this metot zincirleme için.

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

Transform

tx number — Çevirinin X bileşeni.

ty number — Çevirinin Y bileşeni.

tz number — Çevirinin Z bileşeni.

Transform

Transform — Aynı Transform örnek zincirleme için.

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)

Yerel ölçeklemeyi ayarlar ve döndürür this metot zincirleme için.

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

Transform

sx number — X eksenindeki ölçek faktörü.

sy number — Y eksenindeki ölçek faktörü.

sz number — Z ekseni boyunca ölçek faktörü.

Transform

Transform — Aynı Transform zincirleme için örnek.

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)

Dönüşümü radyan cinsinden Euler açılarıyla ayarlar ve döndürür this. Kuaternion rotation kuaternion otomatik olarak güncellenir.

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

Transform

rx number — Pitch (X ekseni etrafındaki dönüş) radyan cinsinden.

ry number — Yaw (Y ekseni etrafındaki dönüş) radyan cinsinden.

rz number — Roll (Z ekseni etrafındaki dönüş) radyan cinsinden.

Transform

Transform — Aynı Transform zincirleme için örnek.

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)

Dönüşümü kuaternion bileşenlerinden ayarlar ve döndürür this. Özellik eulerAngles özellik otomatik olarak güncellenir.

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

Transform

rw number — Kuaternionun skaler (w) bileşeni.

rx number — Kuaterniyonun X bileşeni.

ry number — Kuaterniyonun Y bileşeni.

rz number — Kuaterniyonun Z bileşeni.

Transform

Transform — Aynı Transform Zincirleme için örnek.


setPreRotation(rx, ry, rz)

Ön dönüş Euler açılarını radyan cinsinden ayarlar ve döndürür. this.

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

Transform

Transform


setPostRotation(rx, ry, rz)

Son dönüş Euler açılarını radyan cinsinden ayarlar ve döndürür. this.

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

Transform

Transform


setGeometricTranslation(x, y, z)

Geometrik çeviri ofsetini ayarlar (bu düğümün geometrisini etkiler ancak çocuklarını etkilemez) ve döndürür. this.

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

Transform

Transform


setGeometricScaling(sx, sy, sz)

Geometrik ölçekleme ofsetini ayarlar ve döndürür. this.

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

Transform

Transform


setGeometricRotation(rx, ry, rz)

Geometrik dönüş ofsetini ayarlar (Euler açıları radyan cinsinden) ve döndürür. this.

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

Transform

Transform

 Türkçe