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 ile yükleyin scene.open(), sahne grafiğini inceleyin veya dönüştürün ve sonucu şu ile yazın scene.save(). Tam TypeScript tip tanımları paketlenmiştir; ayrı bir @types/ paket gerekli değildir.
Temel Özellikler
Çoklu format G/Ç. Paket, tek bir kurulumda altı ana 3D formatını okur ve yazar. OBJ içe aktarma için desteklenir; glTF 2.0, GLB, STL, 3MF ve COLLADA hem içe hem de dışa aktarmayı destekler. FBX içe aktarıcı/dışa aktarıcı sınıfları mevcuttur ancak format otomatik algılama henüz entegre edilmemiştir, bu yüzden FBX dosyaları şu aracılığıyla 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 bir 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üğümleri üzerinde 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 Biçimler
| Biçim | Uzantı | İçe Aktar | Dışa Aktar | Notlar |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Evet | Hayır | Yalnızca içe aktar; okur .mtl malzeme dosyaları |
| glTF 2.0 | .gltf | Evet | Evet | Harici JSON .bin arabellek |
| Binary 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* | İçe aktarıcı/dışa aktarıcı mevcut ancak format otomatik algılama bağlanmamış |
| COLLADA | .dae | Evet | Evet | Paketlenmiş gerektirir xmldom bağımlılık |
TypeScript Avantajları
ile çalışmak @aspose/3d TypeScript’te kategori hatalarını çalışma zamanında değil 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 ortaya çıkar; 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ışmadan ö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 ve Ücretsiz
Paket, şu lisans altında yayınlanmaktadır MIT Lisansı. Kaynak kodu GitHub’da mevcuttur. Katkılar, hata raporları ve format desteği istekleri, depodaki 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.