Aspose.3D FOSS for TypeScript
Referensi API untuk @aspose/3d versi 24.12.0. Instal melalui:
npm install @aspose/3dRuntime: Node.js 18, 20, 22+ · Bahasa: TypeScript 5.0+ / JavaScript (CommonJS) · Lisensi: MIT
Grafik Adegan Inti
ImageRenderOptions
Kontainer akar untuk adegan 3D. Panggil scene.open() atau scene.openFromBuffer() untuk memuat file, dan scene.save() untuk menulis output. Mengekspos scene.rootNode sebagai titik masuk ke hierarki node.
ImageRenderOptions
Node bernama dalam pohon adegan. Menyimpan sebuah Transform, opsional entity (mesh, kamera, cahaya, atau lainnya SceneObject), dan nol atau lebih node anak yang dapat diakses melalui childNodes.
ImageRenderOptions
Kelas dasar untuk semua objek yang dapat dilampirkan ke sebuah Node sebagai entitas utama. Di-subclass oleh Mesh, Camera, Light, dan lainnya.
SceneObject
Basis abstrak untuk objek bernama yang termasuk dalam adegan. Menyediakan the name pelacakan properti dan keanggotaan adegan yang dibagikan oleh node, entitas, dan objek tingkat aset.
A3DObject
Kelas dasar root untuk semua objek Aspose.3D. Menyediakan sistem properti (getProperty, setProperty) dan name field yang diwarisi oleh setiap kelas publik.
Geometri dan Mesh
ImageRenderOptions
Mewakili mesh poligon. Berisi sebuah controlPoints array dari Vector4 vertiks dan definisi poligon yang dibuat melalui createPolygon(). Panggil triangulate() untuk mengonversi semua poligon menjadi segitiga sebelum diekspor.
ImageRenderOptions
Kelas dasar untuk semua tipe geometri. Menyimpan controlPoints dan kumpulan elemen vertiks (normal, UV, warna) yang terlampir pada geometri.
VertexElement
Kelas dasar untuk saluran atribut per-vertiks yang terlampir pada sebuah Geometry. Subkelas membawa array data bertipe dan mappingMode / referenceMode metadata.
VertexElementNormal
Sebuah VertexElement subclass yang menyimpan normal permukaan. Data disimpan secara internal sebagai FVector4[] (diturunkan dari VertexElementFVector). Diperlukan oleh sebagian besar renderer untuk pencahayaan yang tepat.
VertexElementUV
Sebuah VertexElement subclass yang menyimpan koordinat tekstur 2D. Sebuah mesh tunggal dapat memiliki beberapa set UV untuk lapisan tekstur yang berbeda.
VertexElementVertexColor
Sebuah VertexElement subkelas yang menyimpan nilai warna RGBA per-vertex.
VertexElementType
Enumerasi tipe saluran atribut yang sebuah VertexElement dapat mewakili (misalnya,., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Enumerasi yang mengontrol bagaimana data elemen dipetakan ke geometri: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, atau ALL_SAME.
ReferenceMode
Enumerasi yang mengontrol bagaimana indeks elemen merujuk ke data: DIRECT (satu-ke-satu) atau INDEX_TO_DIRECT (melalui array indeks).
TextureMapping
Enumerasi semantik saluran tekstur: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, dan lainnya.
Transform dan Spatial
ImageRenderOptions
Menyimpan posisi lokal (translation), rotasi (rotation sebagai Quaternion), dan skala (scaling) dari sebuah Node. Perubahan di sini memengaruhi node dan semua anaknya.
GlobalTransform
Tampilan read-only dari transformasi ruang-dunia sebuah node, dihitung dengan mengakumulasi semua nenek moyang Transform nilai. Akses melalui node.globalTransform.
BoundingBox
Kotak pembatas (bounding box) yang sejajar sumbu didefinisikan oleh sebuah minimum dan maximum Vector3 sudut. Digunakan untuk menggambarkan jangkauan spasial dari mesh atau adegan.
ImageRenderOptions
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material adalah kelas dasar abstrak untuk semua tipe material. Tiga implementasi konkret tersedia:
- LambertMaterial — hanya-difus dengan saluran warna ambient, difus, dan emisif. Cocok untuk permukaan non-spesular.
- PhongMaterial — memperluas
LambertMaterialdengan properti warna spekular dan kilap untuk shading Phong. - PbrMaterial — material rendering berbasis fisik dengan saluran metalik, kekasaran, warna dasar, dan peta normal. Memetakan secara langsung ke model material glTF 2.0 PBR.
Kamera dan Pencahayaan
ImageRenderOptions
Entitas node sudut pandang dengan tipe proyeksi, bidang pandang, jarak klip dekat/jauh, dan properti rasio aspek.
ImageRenderOptions
Entitas node sumber cahaya. Tipe dikendalikan oleh LightType enumerasi.
LightType
Enumerasi jenis cahaya yang didukung: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Enumerasi mode proyeksi kamera: PERSPECTIVE dan ORTHOGRAPHIC.
Utilitas Matematika
ImageRenderOptions
Vektor floating-point tiga komponen dengan x, y, z field dan metode aritmetika umum (dot, cross, normalize, minus, times). Diekspor dari @aspose/3d/utilities.
ImageRenderOptions
Vektor floating-point empat komponen dengan x, y, z, w field. Digunakan sebagai tipe entri dalam Mesh.controlPoints.
ImageRenderOptions
Vektor double-precision dua komponen dengan x dan y field. Digunakan untuk koordinat tekstur UV.
FVector3
Vektor float presisi tunggal tiga komponen yang kompak, digunakan dalam array data elemen vertex untuk normal dan tangent.
ImageRenderOptions
Matriks transformasi 4×4. Mendukung penggabungan, inversi, transposisi, dan dekomposisi menjadi komponen translasi, rotasi, dan skala. Diekspor dari @aspose/3d/utilities.
ImageRenderOptions
Quaternion satuan untuk merepresentasikan rotasi tanpa gimbal lock. Menyediakan slerp() untuk interpolasi halus dan konversi ke/dari sudut Euler dan Matrix4. Diekspor dari @aspose/3d/utilities.
ImageRenderOptions
AnimationClip
Koleksi bernama, terbatas waktu, dari AnimationNode track. Kontainer utama untuk data animasi keyframe yang dimuat dari file FBX atau COLLADA.
AnimationNode
Track animasi bernama yang menargetkan jalur properti tertentu pada objek scene. Berisi satu atau lebih AnimationChannel objek.
AnimationChannel
Sebuah saluran properti teranimasi tunggal dalam sebuah AnimationNode. Menyimpan sebuah KeyframeSequence pasangan waktu/nilai.
KeyFrame
Sampel waktu/nilai tunggal dalam sebuah KeyframeSequence. Memiliki stempel waktu (dalam detik), nilai, dan informasi tangent untuk interpolasi.
KeyframeSequence
Daftar terurut dari KeyFrame sampel untuk satu saluran properti, bersama dengan Interpolation dan Extrapolation pengaturan yang mengatur pemutaran.
ImageRenderOptions
Enumerasi mode interpolasi keyframe. Anggota yang dikenal meliputi LINEAR dan CONSTANT. Anggota tambahan seperti BEZIER mungkin tersedia.
ImageRenderOptions
Mendefinisikan perilaku di luar rentang keyframe (sebelum kunci pertama dan setelah kunci terakhir). Dikendalikan oleh ExtrapolationType.
StepMode
Enumerasi yang mengontrol bagaimana interpolasi bertahap (konstan) diterapkan pada batas.
WeightedMode
Enumerasi untuk penanganan bobot tangent Bezier: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, atau BOTH.
ExtrapolationType
Enumerasi perilaku di luar jangkauan: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, dan OSCILLATE.
Format I/O
FileFormat
Deskriptor dasar untuk format file 3D. Setiap format yang didukung menyediakan singleton konkret melalui getInstance().
ImageRenderOptions
Kelas dasar untuk implementasi impor spesifik format. Tidak diinstansiasi secara langsung; dipanggil secara internal oleh scene.open().
ImageRenderOptions
Kelas dasar untuk implementasi ekspor spesifik format. Tidak diinstansiasi secara langsung; dipanggil secara internal oleh scene.save().
LoadOptions
Kelas dasar untuk objek opsi muat spesifik format. Berikan instance subclass ke scene.open() atau scene.openFromBuffer().
SaveOptions
Kelas dasar untuk objek opsi simpan spesifik format. Berikan instance subclass ke scene.save().
IOService
Antarmuka layanan internal yang mengabstraksi I/O sistem file dan buffer untuk pengimpor dan pengekspor.
OBJ Format
OBJ mendukung impor dan ekspor. Saat menyimpan sebagai OBJ, perpustakaan material (.mtl) ditulis secara otomatis bersamaan dengan .obj file.
ObjImporter
Pengimpor internal yang membaca file Wavefront OBJ, menyelesaikan .mtl perpustakaan material, dan mengisi sebuah Scene. Dipanggil secara otomatis ketika ObjLoadOptions dilewatkan ke scene.open().
ObjExporter
Pengekspor internal yang menulis file Wavefront OBJ. Sebuah pendamping .mtl perpustakaan material ditulis secara otomatis. Dipanggil ketika scene.save() menargetkan sebuah .obj jalur.
ObjLoadOptions
Muat opsi untuk file OBJ. Properti utama: enableMaterials (boolean, default true), flipCoordinateSystem (boolean), normalizeNormal (boolean, default true), scale (number). Lihat Opsi Muat dan Simpan Format untuk detail lengkap.
ObjSaveOptions
Simpan opsi untuk ekspor OBJ. Lewatkan ke scene.save() untuk mengontrol perilaku output OBJ. Lihat Opsi Muat dan Simpan Format untuk detail lengkap.
ObjFormat
Deskriptor format singleton untuk OBJ. Kedua canImport dan canExport adalah true.
Format glTF
GltfImporter
Membaca glTF 2.0 JSON (.gltf) dan GLB biner (.glb) file. Menangani referensi buffer yang tertanam dan eksternal, material PBR, kulit, dan klip animasi.
GltfExporter
Menulis output glTF 2.0. Ketika GltfSaveOptions.binaryMode adalah true, menghasilkan GLB yang berdiri sendiri; jika tidak menulis JSON .gltf dengan companion .bin buffer.
GltfLoadOptions
Opsi pemuatan untuk file glTF/GLB. Mengontrol resolusi buffer dan perilaku pemuatan tekstur.
GltfSaveOptions
Opsi penyimpanan untuk ekspor glTF/GLB. Properti penting: binaryMode (boolean, true → GLB, default false), flipTexCoordV (boolean, membalik sumbu vertikal UV, default true). Lihat Opsi Muat dan Simpan Format untuk detail lengkap.
GltfFormat
Singleton deskriptor format. Dapatkan melalui GltfFormat.getInstance() dan berikan ke scene.save() sebagai argumen kedua.
Format STL
StlImporter
Membaca file STL ASCII dan biner ke dalam sebuah Scene yang berisi satu Mesh entitas.
StlExporter
Menulis STL biner. Output berisi mesh yang ditriangulasi dari scene; poligon non‑segitiga secara otomatis ditriangulasi.
StlLoadOptions
Opsi pemuatan untuk STL. Mengontrol apakah importer membalik normal selama impor.
StlSaveOptions
Opsi penyimpanan untuk ekspor STL. Properti kunci: binaryMode (boolean, default false). Mengontrol apakah output berupa ASCII atau binary STL. Lihat Opsi Muat dan Simpan Format untuk detail lengkap.
StlFormat
Singleton deskriptor format. Dapatkan melalui StlFormat.getInstance().
3MF Format
ThreeMfImporter
Membaca arsip Open Packaging Convention 3MF dan mengisi sebuah Scene dengan objek mesh, warna, dan properti material.
ThreeMfExporter
Menulis arsip 3MF yang valid dari scene saat ini. Cocok untuk alur kerja pencetakan 3D.
ThreeMfLoadOptions
Opsi muat untuk file 3MF.
ThreeMfSaveOptions
Opsi simpan untuk ekspor 3MF.
ThreeMfFormat
Singleton deskriptor format. Dapatkan melalui ThreeMfFormat.getInstance().
Format FBX
FbxImporter
Membaca file FBX biner dan ASCII termasuk geometri, material, skeletons, blend shapes, dan klip animasi.
FbxExporter
Menulis file FBX dari adegan saat ini. Baik output FBX biner maupun ASCII didukung tergantung pada opsi.
FbxLoadOptions
Opsi muat untuk FBX. Mengontrol apakah animasi, skins, dan blend shapes diimpor.
FbxSaveOptions
Opsi penyimpanan untuk ekspor FBX. Properti kunci: embedTextures (boolean, default false). Lihat Opsi Muat dan Simpan Format untuk detail lengkap.
FbxFormat
Format descriptor singleton. Dapatkan melalui FbxFormat.getInstance().
Format COLLADA
Impor dan ekspor COLLADA memerlukan xmldom dependensi peer, yang diinstal secara otomatis dengan @aspose/3d.
ColladaImporter
Membaca COLLADA (.dae) file XML menggunakan xmldom. Menangani geometri, material, kamera, lampu, dan animasi.
ColladaExporter
Menulis output XML COLLADA dari adegan saat ini. Cocok untuk pertukaran dengan alat DCC (Blender, Maya, dll.).
ColladaFormat
Singleton deskriptor format. Dapatkan melalui ColladaFormat.getInstance().
Sistem Properti
ImageRenderOptions
Pasangan nama/nilai bertipe yang dapat dilampirkan ke mana saja A3DObject. Mendukung tipe nilai skalar dan vektor.
PropertyCollection
Kontainer terurut dari Property objek. Dapat diakses pada mana saja A3DObject melalui properties akses.
CustomObject
Kantong properti bebas bentuk yang memperluas A3DObject. Digunakan untuk menyimpan metadata sewenang-wenang yang tidak dipetakan ke kelas standar.
Info Aset
AssetInfo
Membawa metadata tingkat adegan yang dimuat dari file sumber: penulis, nama aplikasi, tanggal pembuatan, skala unit, dan informasi sumbu koordinat.
ImageRenderOptions
Opsi yang mengontrol bagaimana tekstur dan gambar diselesaikan serta dikodekan saat menyimpan ke format yang menyematkan data gambar (mis., GLB dengan binaryMode: true).
Lihat Juga
- Basis Pengetahuan: Panduan Cara
- Ikhtisar API Terperinci
- Kelas Scene
- Kelas Node
- Kelas Mesh
- Kelas Transform
- Kelas GlobalTransform
- Kelas Camera
- Kelas Light
- Kelas Vector3
- Kelas Quaternion
- Kelas Matrix4
- Kelas BoundingBox
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Opsi Muat dan Simpan Format
- Referensi Vector2, Vector4
- Referensi Property, PropertyCollection, AssetInfo
- Referensi A3DObject, SceneObject, Entity
- Referensi VertexElement, VertexElementNormal, VertexElementUV
- Referensi Enumerasi
- npm: @aspose/3d
- GitHub: aspose-3d-node