Class Transform

패키지: @aspose/3d (v24.12.0)

Transform은 로컬 위치, 회전 및 스케일을 보유합니다 Node 객체 공간에서. 직접 속성 접근을 제공합니다 (translation, scaling, rotation) 및 유창한 설정자 메서드 (setTranslation, setScale, setEulerAngles, setRotation). 모든 설정자는 내부 행렬 캐시를 무효화합니다; 재계산된 행렬은 다음을 통해 사용할 수 있습니다 transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

유창한 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, not scale.
rotationQuaternionidentity단위 쿼터니언으로 표현된 로컬 회전. 이를 설정하면 또한 업데이트됩니다 eulerAngles.
eulerAnglesVector3(0, 0, 0)라디안 단위의 Euler 각(피치, 요, 롤)으로 표현된 로컬 회전. 이를 설정하면 또한 업데이트됩니다 rotation.
transformMatrixMatrix4identity전체 로컬-부모 변환 행렬. TRS 속성에서 지연 계산됩니다; 직접 설정하여 TRS 구성 요소로 분해할 수도 있습니다.
preRotationVector3(0, 0, 0)주 회전 전에 적용되는 Euler 회전(FBX 리그에서 사용).
postRotationVector3(0, 0, 0)주 회전 후에 적용되는 Euler 회전 (FBX 리그에서 사용됨).
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)

라디안 단위의 오일러 각을 통해 회전을 설정하고 반환합니다 this. 그 rotation 쿼터니언이 자동으로 업데이트됩니다.

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

Transform

rx number — 라디안 단위의 피치( X축을 중심으로 회전).

ry number — 라디안 단위의 요( Y축을 중심으로 회전).

rz number — 라디안 단위의 롤( 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)

쿼터니언 구성 요소로부터 회전을 설정하고 반환합니다 this. 그 eulerAngles 속성이 자동으로 업데이트됩니다.

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

Transform

rw number — 쿼터니언의 스칼라(w) 구성 요소.

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

 한국어