1. 製品
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS for TypeScript

Node.js から 3D シーンをロード、構築、変換、エクスポート — 完全に型付けされ、オープンソースで、単一の npm インストールだけで本番環境に対応。

3D ファイル処理のためのオープンソース TypeScript ライブラリ

Aspose.3D FOSS for TypeScript は、Node.js アプリケーションで 3D ファイル形式を扱うための MIT ライセンスのライブラリです。npm install @aspose/3d コマンド一つでインストールでき、すぐに TypeScript で 3D シーンの読み取り、構築、書き込みを開始できます。ネイティブアドオンのコンパイルや外部 SDK のインストール、レンダラは不要です。

このライブラリは、SceneNodeEntityMeshCameraLightTransform を中心とした完全に型付けされたシーングラフ API を提供します。これはプロの 3D ツールで使用される概念モデルと同じです。サポートされるフォーマットは OBJ(Wavefront、.mtl マテリアルの読み込み対応)、glTF 2.0 と GLB バイナリ(PBR マテリアル)、STL(バイナリおよび ASCII、フルラウンドトリップ)、COLLADA(DAE)、3MF、FBX です。ObjLoadOptionsGltfSaveOptions などのフォーマット別オプションクラスにより、座標系の向き、スケール、法線の正規化、バイナリ vs JSON 出力、マテリアルの読み込みなどを細かく制御できます。

Aspose.3D FOSS は Node.js 18、20、22 以降を対象とし、TypeScript 5.0 以降で動作し、CommonJS にコンパイルされます。ライブラリは厳格な TypeScript コンパイラ設定(noImplicitAnystrictNullChecks)を備えているため、IDE が完全なオートコンプリートとコンパイル時の安全性を提供します。ランタイム依存は xmldom のみで、インストール時に自動的に導入されます。

3D フォーマットのサポートと型付けされたシーングラフ API

  • OBJ / MTL: 付随するマテリアル定義とともに Wavefront OBJ ファイルを読み込む。
  • glTF 2.0 / GLB: GltfSaveOptions を使用した PBR マテリアルの読み込みとバイナリ GLB 出力。
  • STL: バイナリと ASCII の両方の STL を読み書きし、フルラウンドトリップ検証を行う。
  • COLLADA, 3MF, FBX: フォーマット別オプションクラスによる追加のフォーマットサポート。
  • Full TypeScript types: すべてのクラス、メソッド、オプションは noImplicitAnystrictNullChecks によって強く型付けされています。

どこで Aspose.3D FOSS が使用できるか

  • Node.js アセットパイプライン: OBJ ファイルをインポートし、検証とジオメトリの再向き付けを行い、CI で GLB としてエクスポートします。
  • ゲームツール: ネイティブエンジンやレンダラなしで 3D メッシュをバッチ処理します。
  • 3D プリントワークフロー: STL と 3MF ファイルを読み取り、検証し、再エクスポートします。
  • Serverless backends: Lambda または Cloud Functions で 3D 変換エンドポイントを実行します。
  • Content migration: 単一スクリプトから大規模にフォーマットファミリー間の変換を行います。

フォーマット別オプションと座標制御

  • 座標系の向き: オプションクラスでフォーマットごとに軸を反転し、スケールを調整します。
  • 法線の正規化: 読み込みまたは保存時に頂点法線を自動的に正規化します。
  • バイナリとJSON出力: GltfSaveOptions を使用して、コンパクトな GLB または可読性のある glTF を選択します。
  • マテリアル読み込み制御: 解析を高速化するために MTL/テクスチャの読み込みを有効化または無効化します。
  • 往復忠実度: 未知のシーングラフノードは再保存時にそのまま保持されます。

開発者体験

Aspose.3D は TypeScript 用の FOSS で、npm install @aspose/3d コマンド一つでインストールできます。コンパイルが必要なネイティブアドオンはありません。このライブラリは純粋な TypeScript/JavaScript で、auto-installed 依存関係が一つ(xmldom)だけです。

強く型付けされた API は、すべてのシーングラフクラスとフォーマットオプションに対してフル IDE オートコンプリートを提供します。ライブラリは Node.js 18–22+ と TypeScript 5.0+ を対象とし、Linux CI ランナーと開発者のワークステーションで同一に動作し、MIT ライセンスで、GitHub のオープンなイシュー トラッカーがあります。

OBJシーンを読み込み、glTFとしてエクスポートする

npm でインストールし、次に scene.open() 同期メソッドを ObjLoadOptions と共に使用して、メッシュとその MTL マテリアルファイルを読み込みます。.gltf 拡張子で scene.save() を呼び出すと、標準の glTF 2.0 JSON が書き出されます。フォーマットはファイル拡張子から自動的に推測されます。

npm install @aspose/3d
import { Scene } from "@aspose/3d";
import { ObjLoadOptions } from "@aspose/3d/formats/obj";

const scene = new Scene();
scene.open("model.obj", new ObjLoadOptions());

// glTF 2.0 JSON としてエクスポート
scene.save("model.gltf");

STLをバイナリGLBに変換する

デフォルトの JSON glTF の代わりにコンパクトなバイナリ GLB を生成するには、GltfSaveOptionsbinaryMode = true を指定してください。

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";

const scene = new Scene();
scene.open("mesh.stl");

// コンパクトなバイナリ GLB として保存
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);

よくある質問

TypeScript 用の Aspose.3D FOSS とは何ですか?

これは、ネイティブアドオンや外部 SDK をインストールせずに 3D シーンの読み込み、操作、保存ができる、無料の MIT ライセンスの TypeScript/Node.js ライブラリです。

サポートされている3Dフォーマットはどれですか?

OBJ(.mtl 付き)、glTF 2.0 と GLB、STL(バイナリおよび ASCII)、COLLADA(DAE)、3MF、そして FBX。各フォーマットには専用の型付きオプションクラスがあります。

ネイティブな Node.js アドオンが必要ですか?

いいえ。Aspose.3D FOSS for TypeScript は純粋な JavaScript/TypeScript です。コンパイル工程は不要で、ランタイム依存は xmldom のみで、npm によって自動的にインストールされます。

インストール方法は?

npm install @aspose/3d を実行してください。追加のシステムパッケージやネイティブアドオンは必要ありません。

サポートされている Node.js と TypeScript のバージョンはどれですか?

Node.js 18、20、22+。TypeScript 5.0+。このライブラリは CommonJS にコンパイルされ、strict な TypeScript 設定で動作します。

TypeScript の型定義が同梱されていますか?

はい。すべてのクラス、メソッド、列挙型、オプション型は noImplicitAnystrictNullChecks が有効な状態で完全に型付けされています。

座標系の向きを制御できますか?

はい。ObjLoadOptionsGltfSaveOptions など、フォーマット別のオプションクラスを使用すると、カスタムのパースコードを書かずに軸の反転、スケールの調整、法線の正規化が行えます。

ソースコードはどこで入手できますか?

このライブラリは MIT-licensed で、GitHub にホストされています。バグ報告やプルリクエストは歓迎です。

  

サポートと学習リソース

 日本語