Paket: @aspose/3d (v24.12.0) Bahasa: TypeScript / Node.js 18+ Lisensi: MIT
@aspose/3d adalah pustaka berlisensi MIT untuk membaca, membangun, dan mengekspor adegan 3D di Node.js. Ia dilengkapi dengan definisi tipe TypeScript lengkap, satu dependensi runtime (xmldom), dan mendukung tujuh format file 3D utama. Semua I/O bersifat sinkron. Tidak diperlukan addon native.
Enumerations
Enumerations tsconfig.json pengaturan untuk resolusi sub‑path yang benar:
Referensi API untuk fitur terkait perlindungan di Aspose.Slides FOSS untuk C++. Kunci bentuk dan pengaturan perlindungan.
Enumerations
Kontainer akar untuk adegan 3D. Semua konten; node, geometri, material, dan animasi; disimpan dalam pohon yang berakar di scene.rootNode.Gunakan open() / openFromBuffer() untuk memuat file dan save() / saveToBuffer() untuk mengekspor.
| Enumerations | Enumerations | Enumerations |
|---|
rootNode | Node | Akar dari grafik adegan |
assetInfo | AssetInfo | Metadata file (pembuat, satuan, sistem koordinat) |
animationClips | AnimationClip[] | Semua klip animasi dalam adegan |
open(path, opts?) | (string, LoadOptions?) → void | Muat file dari disk |
openFromBuffer(buf, opts?) | (Buffer, LoadOptions?) → void | Muat dari buffer dalam memori |
save(path, opts?) | (string, SaveOptions?) → void | Simpan ke disk (format diperkirakan dari ekstensi) |
saveToBuffer(ext, opts?) | (string, SaveOptions?) → Buffer | Simpan ke buffer dalam memori |
createAnimationClip(name) | (string) → AnimationClip | Buat dan daftarkan klip animasi baru |
Enumerations
Sebuah node pohon bernama dalam grafik adegan. Node membawa opsional Entity (mesh, kamera, cahaya) dan sebuah Transform yang memposisikan node relatif terhadap induknya.
| Enumerations | Enumerations | Enumerations |
|---|
name | string | Nama node |
childNodes | Node[] | Node anak langsung |
entity | `Entity | null` |
transform | Transform | Translasi, rotasi, skala lokal |
materials | Material[] | Material yang ditetapkan ke node ini |
createChildNode(name) | (string) → Node | Tambahkan node anak |
getChildNode(name) | `(string) → Node | null` |
Enumerations
Mesh poligon; tipe geometri utama. Memperluas Geometry.
| Enumerations | Enumerations | Enumerations |
|---|
controlPoints | Vector4[] | Posisi vertex (w=1 untuk posisi) |
polygonCount | number | Jumlah poligon |
createPolygon(indices) | (number[]) → void | Tambahkan poligon (segitiga atau quad) |
getElement(type) | `(VertexElementType) → VertexElement | null` |
createElement(type) | (VertexElementType) → VertexElement | Buat elemen vertex |
Enumerations
Transformasi lokal yang diterapkan pada node.
| Enumerations | Enumerations | Enumerations |
|---|
translation | Vector3 | Posisi lokal |
eulerAngles | Vector3 | Rotasi Euler dalam derajat (urutan XYZ) |
rotation | Quaternion | Rotasi sebagai kuaternion |
scaling | Vector3 | Skala lokal |
Kelas Material
| Enumerations | Enumerations | Properti Kunci |
|---|
LambertMaterial | Penyinaran difus + ambient | diffuseColor, ambientColor, transparency |
PhongMaterial | Menambahkan specular + emissive ke Lambert | specularColor, shininess, emissiveColor |
PbrMaterial | Berbasis fisik untuk glTF 2.0 | albedo, metallicFactor, roughnessFactor, emissiveColor |
Kelas Matematika
| Enumerations | Enumerations |
|---|
Vector3 | 3-component double-precision vector (x, y, z) |
Vector4 | 4-component vector for homogeneous math (x, y, z, w) |
FVector3 | Varian presisi tunggal yang digunakan dalam data vertex |
Matrix4 | 4×4 transformation matrix; multiply, invert, decompose |
Quaternion | Quaternion rotasi; fromEulerAngle, toEulerAngles, slerp |
BoundingBox | Bounding box yang sejajar sumbu; minimum, maximum, center, size, merge |
Kelas Animasi
| Enumerations | Enumerations |
|---|
AnimationClip | Klip bernama; berisi AnimationNode daftar; diakses melalui scene.animationClips |
AnimationNode | Mengikat klip ke node adegan bernama; berisi AnimationChannel daftar |
AnimationChannel | Mengarahkan ke satu properti (mis. translasi X); menyimpan sebuah KeyframeSequence |
KeyframeSequence | Daftar terurut dari KeyFrame objek dengan interpolation dan extrapolation |
KeyFrame | Pasangan waktu/nilai tunggal |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|
VertexElementType | NORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENT | Semantik elemen vertex |
MappingMode | CONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAME | Bagaimana data dipetakan ke geometri |
ReferenceMode | DIRECT, INDEX, INDEX_TO_DIRECT | Strategi pengindeksan untuk data elemen vertex |
Interpolation | CONSTANT, LINEAR, BEZIER | Interpolasi keyframe |
Extrapolation | CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE | Perilaku di luar rentang keyframe |
Modul Format
Kelas opsi khusus format diekspor dari modul sub‑path. Impor mereka secara terpisah:
Modul OBJ (@aspose/3d/formats/obj)
| Enumerations | Opsi Kunci |
|---|
ObjLoadOptions | enableMaterials, flipCoordinateSystem, scale, normalizeNormal |
Modul glTF/GLB (@aspose/3d/formats/gltf)
| Enumerations | Opsi Kunci |
|---|
GltfSaveOptions | binaryMode (true → .glb), flipTexCoordV |
GltfFormat | GltfFormat.getInstance(): instance format untuk scene.save() |
Modul STL (@aspose/3d/formats/stl)
| Enumerations | Opsi Utama |
|---|
StlLoadOptions | N/A |
StlSaveOptions | binaryMode (false → ASCII, true → biner) |
Modul FBX (@aspose/3d/formats/fbx)
| Enumerations | Opsi Utama |
|---|
FbxLoadOptions | N/A |
FbxSaveOptions | embedTextures |
Format yang Didukung
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|
| Enumerations | .obj | Enumerations | Enumerations |
| glTF 2.0 | .gltf | Enumerations | Enumerations |
| Enumerations | .glb | Enumerations | Enumerations |
| STL | .stl | Enumerations | Enumerations |
| FBX | .fbx | Tidak* | Tidak* |
| COLLADA | .dae | Enumerations | Enumerations |
| 3MF | .3mf | Enumerations | Enumerations |
Contoh Referensi Cepat
Lihat Juga