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,、ではなく scale.
rotationQuaternion単位行列ローカル回転(単位クォータニオン)。これを設定すると同時に更新されます eulerAngles.
eulerAnglesVector3(0, 0, 0)ローカル回転(ラジアン単位のEuler角(ピッチ、ヨー、ロール))。これを設定すると同時に更新されます rotation.
transformMatrixMatrix4単位ローカルから親への完全な変換行列。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)

ラジアンでのEuler角によって回転を設定し、返します this. この rotation クォータニオンは自動的に更新されます。.

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)

クォータニオンの成分から回転を設定し、返します 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)

ラジアン単位の事前回転オイラー角を設定し、返します this.

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

Transform

Transform


setPostRotation(rx, ry, rz)

ラジアン単位の事後回転オイラー角を設定し、返します 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)

ジオメトリの回転オフセット(ラジアン単位のオイラー角)を設定し、返します this.

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

Transform

Transform

 日本語