Giriş
Kullanıma sunulmasından memnuniyet duyuyoruz Aspose.3D FOSS TypeScript için olarak @aspose/3d npm paketi. Bu MIT lisanslı kütüphane, yerel ikili dosyalar, platforma özgü araç zincirleri veya ticari lisanslar gerektirmeden üretim kalitesinde 3D sahne işleme yeteneğini TypeScript ve Node.js uygulamalarına getirir.
Kütüphane, basit bir Scene API: bir 3D dosyasını şu şekilde yükleyin scene.open(), sahne grafiğini inceleyin veya dönüştürün ve sonucu şu şekilde yazın scene.save(). Tam TypeScript tip tanımları paketlenmiştir; ayrı bir @types/ paket gerekmez.
Ana Özellikler
Çoklu format G/Ç. Paket, tek bir kurulumda altı büyük 3D formatını okur ve yazar. OBJ, glTF 2.0, GLB, STL, 3MF ve COLLADA hem içe aktarım hem de dışa aktarım destekler. FBX içe aktarım/dışa aktarım sınıfları mevcut ancak format otomatik algılama henüz entegre edilmediği için FBX dosyaları şu şekilde yüklenemez scene.open().
Birinci sınıf TypeScript desteği. Tüm genel sınıflar, enumlar ve seçenek tipleri tam olarak tiplenmiştir. TypeScript dil hizmeti desteği (VS Code, WebStorm vb.) sunan IDE’ler, her API çağrısı için doğru otomatik tamamlama ve satır içi belgeler sağlar.
Node.js 18–22+ uyumluluğu. Paket, Node.js 18, 20 ve 22 LTS sürümleriyle test edilmiştir. Kurulum sırasında hiçbir yerel eklenti derlenmez, bu yüzden Node.js’in desteklediği tüm platformlarda çalışır.
Tek bir çalışma zamanı bağımlılığı. Tek bağımlılık şudur xmldom, sadece COLLADA XML ayrıştırması için kullanılır. Diğer tüm format ayrıştırıcıları saf JavaScript uygulamalarıdır.
MIT lisansı. Kullan @aspose/3d ticari, açık kaynak veya dahili projelerde kısıtlama olmadan.
Hızlı Başlangıç
Paketi kurun:
npm install @aspose/3d
Bir OBJ dosyasını yükleyin ve ikili GLB’ye dönüştürün:
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');
Geometriyi incelemek için sahne düğümlerinde döngü yapın:
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}`);
}
}
Desteklenen Formatlar
| Biçim | Uzantı | İçe Aktar | Dışa Aktar | Notlar |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Evet | Evet | Okur/yazar .mtl malzeme dosyaları |
| glTF 2.0 | .gltf | Evet | Evet | Harici JSON .bin arabellek |
| İkili GLB | .glb | Evet | Evet | Ayarla binaryMode: true içinde GltfSaveOptions |
| STL | .stl | Evet | Evet | ASCII ve ikili STL |
| 3MF | .3mf | Evet | Evet | Open Packaging Convention arşivi |
| FBX | .fbx | Hayır* | Hayır* | Importer/exporter mevcut ancak format otomatik algılama bağlanmamış |
| COLLADA | .dae | Evet | Evet | Paketlenmiş gerektirir xmldom bağımlılık |
TypeScript Avantajları
Şununla çalışmak @aspose/3d TypeScript’te kategori hatalarını çalışma zamanından ziyade derleme zamanında yakalar. Çağırdığınızda scene.save(), derleyici seçenek nesnesinin beklenen SaveOptions alt türünü seçilen format için. Formata özgü yükleme ve kaydetme seçenekleri yalnızca o formatla ilgili özellikleri gösterir; tahmin edilecek tiplenmemiş bir seçenek çantası yoktur.
Örneğin, GltfSaveOptions.binaryMode tiplenmiş bir boolean, bu yüzden derleyici reddeder saveOpts.binaryMode = 'yes' herhangi bir kod çalıştırılmadan önce. Animasyon özellikleri üzerinde AnimationClip, malzeme kanalları üzerinde PbrMaterial, ve vertex eleman tipleri üzerinde VertexElement hepsi benzer şekilde tiplenmiş ve harici belgelere başvurmadan IntelliSense aracılığıyla keşfedilebilir.
Açık Kaynak
Paket şu lisans altında yayınlanmıştır MIT Lisansı. Kaynak kodu GitHub’da mevcuttur. Katkılar, hata raporları ve format desteği istekleri depo sorun izleyicisi üzerinden memnuniyetle karşılanır.
Kütüphanenin bir çalışma zamanı bağımlılığı vardır: xmldom sürüm 0.9+, yalnızca COLLADA dosyalarını okurken veya yazarken kullanılır. Diğer tüm ayrıştırıcılar ve yazarlar, ikili bileşen içermeyen bağımsız saf JavaScript uygulamalarıdır.
Başlarken
- npm:
npm install @aspose/3d - Bilgi Tabanı: TypeScript’te 3D Modelleri Nasıl Yüklenir
- Bilgi Tabanı: TypeScript’te 3D Sahneleri glTF/GLB’ye Nasıl Dışa Aktarılır
- API Referansı: Aspose.3D FOSS for TypeScript: Tam Sınıf Referansı
- GitHub: aspose-3d/aspose-3d-node
Sonuç
@aspose/3d version 24.12.0, TypeScript ve Node.js’te 3D dosya işleme için istikrarlı, tiplenmiş, bağımlılık‑az bir temel sağlar. Kullanım durumu format dönüşümü, sahne incelemesi, geometri çıkarımı veya pipeline entegrasyonu olsun, kütüphane izin verici bir açık kaynak lisansı altında en yaygın 3D değişim formatlarını kapsar.
Bugün kurun ve ne geliştirdiğinizi bize bildirin.