はじめに
ご利用可能になったことをお知らせいたします Aspose.3D FOSS for TypeScript として @aspose/3d npm パッケージ。この MIT ライセンスのライブラリは、ネイティブバイナリやプラットフォーム固有のツールチェーン、商用ライセンスを必要とせずに、TypeScript および Node.js アプリケーションに本番品質の 3D シーン処理を提供します。.
このライブラリは、シンプルな Scene API: 3D ファイルをロードするには scene.open(), シーングラフを検査または変換し、結果を書き出すには scene.save().。 完全な TypeScript 型定義がバンドルされており、別途 @types/ 別のパッケージは必要ありません。.
主な機能
マルチフォーマット I/O。. このパッケージは、単一のインストールで 6 つの主要な 3D フォーマットの読み書きを行います。OBJ はインポートに対応しています。glTF 2.0、GLB、STL、3MF、そして COLLADA はインポートとエクスポートの両方に対応しています。FBX のインポーター/エクスポーター クラスは存在しますが、フォーマットの自動検出はまだ実装されていないため、FBX ファイルは via で読み込むことができません。 scene.open().
ファーストクラスの TypeScript サポート。. すべての公開クラス、列挙型、オプション型は完全に型付けされています。TypeScript 言語サービスをサポートする IDE(VS Code、WebStorm など)は、すべての API 呼び出しに対して正確なオートコンプリートとインラインドキュメントを提供します。.
Node.js 18–22+ 互換性。. このパッケージは Node.js 18、20、22 の LTS リリースに対してテストされています。インストール時にネイティブアドオンはコンパイルされないため、Node.js がサポートするすべてのプラットフォームで動作します。.
ランタイム依存関係は 1 つです。. 唯一の依存関係は xmldom,、COLLADA XML の解析専用に使用されます。その他のフォーマットパーサーはすべて純粋な JavaScript 実装です。.
MIT ライセンス。. 使用 @aspose/3d 商用、オープンソース、または社内プロジェクトで制限なく使用できます。.
クイックスタート
パッケージをインストール:
npm install @aspose/3d
OBJ ファイルを読み込み、バイナリ GLB に変換:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions, GltfFormat } from '@aspose/3d/formats/gltf';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
const saveOpts = new GltfSaveOptions();
saveOpts.binaryMode = true; // produce a single .glb file
scene.save('output.glb', GltfFormat.getInstance(), saveOpts);
console.log('Converted to GLB successfully');
シーンノードを反復してジオメトリを検査:
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());
for (const node of scene.rootNode.childNodes) {
console.log(`Node: ${node.name}`);
if (node.entity) {
console.log(` Entity type: ${node.entity.constructor.name}`);
}
}
サポートされているフォーマット
| フォーマット | 拡張子 | インポート | エクスポート | 注釈 |
|---|---|---|---|---|
| Wavefront OBJ | .obj | はい | いいえ | インポートのみ; 読み込み .mtl マテリアルファイル |
| glTF 2.0 | .gltf | はい | はい | 外部の JSON .bin バッファ |
| バイナリ GLB | .glb | はい | はい | セット binaryMode: true で GltfSaveOptions |
| STL | .stl | はい | はい | ASCII とバイナリ STL |
| 3MF | .3mf | はい | はい | Open Packaging Convention アーカイブ |
| FBX | .fbx | いいえ* | いいえ* | インポーター/エクスポーターは存在しますが、形式の自動検出は未実装です |
| COLLADA | .dae | はい | はい | バンドルが必要です xmldom 依存関係 |
TypeScript の利点
使用中 @aspose/3d TypeScriptでは、実行時ではなくコンパイル時にカテゴリエラーを検出します。呼び出すと scene.save(),コンパイラは、options オブジェクトが期待される SaveOptions 選択されたフォーマットのサブタイプに一致しているかを検証します。フォーマット固有のロードおよびセーブオプションは、そのフォーマットに関連するプロパティのみを公開します。推測するための型なしオプションバッグは存在しません。.
例えば、, GltfSaveOptions.binaryMode は型付けされた boolean,なので、コンパイラは saveOpts.binaryMode = 'yes' コードが実行される前に拒否します。 AnimationClip,上のアニメーションプロパティは PbrMaterial,上のマテリアルチャンネルは VertexElement 上の頂点要素タイプは.
オープンソースかつ無料
このパッケージは以下の条件で公開されています MIT ライセンス. ソースコードは GitHub で入手可能です。コントリビューション、バグ報告、フォーマットサポートのリクエストは、リポジトリのイシュー トラッカーを通じて歓迎します。.
このライブラリにはランタイム依存関係が 1 つあります: xmldom バージョン 0.9+、COLLADA ファイルの読み書き時にのみ使用されます。他のすべてのパーサーとライターは、バイナリコンポーネントを含まない自己完結型の純粋な JavaScript 実装です。.
はじめに
- npm:
npm install @aspose/3d - ナレッジベース: TypeScript で 3D モデルをロードする方法
- ナレッジベース: TypeScript で 3D シーンを glTF/GLB にエクスポートする方法
- API リファレンス: Aspose.3D FOSS for TypeScript: 完全クラスリファレンス
- GitHub: aspose-3d/aspose-3d-node
結論
@aspose/3d バージョン 24.12.0 は、TypeScript と Node.js における 3D ファイル処理のための、安定した型付けされた依存性が少ない基盤を提供します。ユースケースがフォーマット変換、シーン検査、ジオメトリ抽出、またはパイプライン統合であるかどうかにかかわらず、ライブラリは許容的なオープンソースライセンスの下で、最も一般的な 3D 交換フォーマットをカバーしています。.
本日インストールして、作ったものをぜひ教えてください。.