Class Transform
パッケージ: @aspose/3d (v24.12.0)
Transform はローカル座標系における位置、回転、スケールを保持します Node オブジェクト空間内です。直接プロパティアクセス (translation, scaling, rotation) と流暢なセッターメソッド (setTranslation, setScale, setEulerAngles, setRotation)。すべてのセッターは内部の行列キャッシュを無効にします。再計算された行列は以下から取得できます transformMatrix.
export class Transform extends A3DObjectTransform
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
Transform | Transform | Transform | Transform |
|---|---|---|---|
translation | Vector3 | (0, 0, 0) | ノードのローカル位置(親の座標空間内)。. |
scaling | Vector3 | (1, 1, 1) | 各軸に沿ったローカルスケール係数。注: このプロパティは scaling,、ではなく scale. |
rotation | Quaternion | 単位行列 | ローカル回転(単位クォータニオン)。これを設定すると同時に更新されます eulerAngles. |
eulerAngles | Vector3 | (0, 0, 0) | ローカル回転(ラジアン単位のEuler角(ピッチ、ヨー、ロール))。これを設定すると同時に更新されます rotation. |
transformMatrix | Matrix4 | 単位 | ローカルから親への完全な変換行列。TRS プロパティから遅延評価で計算されます;直接設定して TRS コンポーネントに分解することも可能です。. |
preRotation | Vector3 | (0, 0, 0) | メイン回転の前に適用される Euler 回転(FBX リグで使用)。. |
postRotation | Vector3 | (0, 0, 0) | メイン回転の後に適用される Euler 回転(FBX リグで使用)。. |
scalingOffset | Vector3 | (0, 0, 0) | スケーリングのピボットの前に適用される平行移動オフセット(FBX 互換)。. |
scalingPivot | Vector3 | (0, 0, 0) | スケーリングが適用されるピボット点。. |
rotationOffset | Vector3 | (0, 0, 0) | 回転ピボットの前に適用される平行移動オフセット。. |
rotationPivot | Vector3 | (0, 0, 0) | 回転が適用されるピボット点。. |
geometricTranslation | Vector3 | (0, 0, 0) | ノード変換の後に適用されるジオメトリ平行移動(ジオメトリに影響し、子には影響しません)。. |
geometricScaling | Vector3 | (1, 1, 1) | ノード変換の後に適用される幾何学的スケール(ジオメトリに影響し、子には影響しません)。. |
geometricRotation | Vector3 | (0, 0, 0) | ノード変換の後に適用される幾何学的回転(ジオメトリに影響し、子には影響しません)。. |
Transform
setTranslation(tx, ty, tz)
ローカル平行移動を設定して返します this メソッドチェーン用に。.
setTranslation(tx: number, ty: number, tz: number): TransformTransform
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): TransformTransform
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): TransformTransform
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): TransformTransform
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): TransformTransform
Transform
setPostRotation(rx, ry, rz)
ラジアン単位の事後回転オイラー角を設定し、返します this.
setPostRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setGeometricTranslation(x, y, z)
ジオメトリの平行移動オフセットを設定し(このノードのジオメトリには影響しますが、子ノードには影響しません)、返します this.
setGeometricTranslation(x: number, y: number, z: number): TransformTransform
Transform
setGeometricScaling(sx, sy, sz)
ジオメトリのスケーリングオフセットを設定し、返します this.
setGeometricScaling(sx: number, sy: number, sz: number): TransformTransform
Transform
setGeometricRotation(rx, ry, rz)
ジオメトリの回転オフセット(ラジアン単位のオイラー角)を設定し、返します this.
setGeometricRotation(rx: number, ry: number, rz: number): TransformTransform
Transform