Πακέτο: @aspose/3d (v24.12.0) Γλώσσα: TypeScript / Node.js 18+ Άδεια: MIT
@aspose/3d είναι μια βιβλιοθήκη υπό άδεια MIT για ανάγνωση, κατασκευή και εξαγωγή 3D σκηνών στο Node.js. Παρέχει πλήρεις ορισμούς τύπων TypeScript, μια μοναδική εξάρτηση χρόνου εκτέλεσης (xmldom) και υποστηρίζει επτά κύριες μορφές αρχείων 3D. Όλο το I/O είναι συγχρονισμένο. Δεν απαιτούνται εγγενείς πρόσθετα.
Enumerations
Enumerations tsconfig.json ρυθμίσεις για σωστή ανάλυση υπο-διαδρομών:
Κρατήσεις θέσης κύριας διαφάνειας
Enumerations
Το ριζικό κοντέινερ για μια 3D σκηνή. Όλο το περιεχόμενο· κόμβοι, γεωμετρία, υλικά και κινούμενα σχέδια· αποθηκεύεται σε ένα δέντρο με ρίζα στο scene.rootNode.Χρησιμοποιήστε open() / openFromBuffer() για να φορτώσετε ένα αρχείο και save() / saveToBuffer() για εξαγωγή.
| Enumerations | Enumerations | Enumerations |
|---|
rootNode | Node | Ρίζα του γραφήματος σκηνής |
assetInfo | AssetInfo | Μεταδεδομένα αρχείου (δημιουργός, μονάδες, σύστημα συντεταγμένων) |
animationClips | AnimationClip[] | Όλα τα κλιπ κίνησης στη σκηνή |
open(path, opts?) | (string, LoadOptions?) → void | Φορτώστε ένα αρχείο από το δίσκο |
openFromBuffer(buf, opts?) | (Buffer, LoadOptions?) → void | Φόρτωση από buffer μνήμης |
save(path, opts?) | (string, SaveOptions?) → void | Αποθήκευση στο δίσκο (η μορφή προκύπτει από την επέκταση) |
saveToBuffer(ext, opts?) | (string, SaveOptions?) → Buffer | Αποθήκευση σε buffer μνήμης |
createAnimationClip(name) | (string) → AnimationClip | Δημιουργία και καταχώριση νέου αποσπάσματος κίνησης |
Enumerations
Ένας ονομασμένος κόμβος δέντρου στο γράφημα σκηνής. Οι κόμβοι μεταφέρουν ένα προαιρετικό Entity (mesh, camera, light) και ένα Transform που τοποθετεί τον κόμβο σε σχέση με τον γονέα του.
| Enumerations | Enumerations | Enumerations |
|---|
name | string | Όνομα κόμβου |
childNodes | Node[] | Άμεσοι θυγατρικοί κόμβοι |
entity | `Entity | null` |
transform | Transform | Τοπική μετάφραση, περιστροφή, κλίμακα |
materials | Material[] | Υλικά που έχουν εκχωρηθεί σε αυτόν τον κόμβο |
createChildNode(name) | (string) → Node | Προσθήκη θυγατρικού κόμβου |
getChildNode(name) | `(string) → Node | null` |
Enumerations
Πολυγωνικό πλέγμα· ο κύριος τύπος γεωμετρίας. Επεκτείνει Geometry.
| Enumerations | Enumerations | Enumerations |
|---|
controlPoints | Vector4[] | Θέσεις κορυφών (w=1 για θέσεις) |
polygonCount | number | Αριθμός πολυγώνων |
createPolygon(indices) | (number[]) → void | Προσθήκη πολυγώνου (τρίγωνο ή τετράπλευρο) |
getElement(type) | `(VertexElementType) → VertexElement | null` |
createElement(type) | (VertexElementType) → VertexElement | Δημιουργία στοιχείου κορυφής |
Enumerations
Τοπικός μετασχηματισμός που εφαρμόζεται σε έναν κόμβο.
| Enumerations | Enumerations | Enumerations |
|---|
translation | Vector3 | Τοπική θέση |
eulerAngles | Vector3 | Περιστροφή Euler σε μοίρες (σειρά XYZ) |
rotation | Quaternion | Περιστροφή ως τετραδικό |
scaling | Vector3 | Τοπική κλίμακα |
Κλάσεις Υλικού
| Enumerations | Enumerations | Κύριες Ιδιότητες |
|---|
LambertMaterial | Διασπορά + περιβάλλον σκίαση | diffuseColor, ambientColor, transparency |
PhongMaterial | Προσθέτει specular + emissive στο Lambert | specularColor, shininess, emissiveColor |
PbrMaterial | Φυσικά βασισμένο για glTF 2.0 | albedo, metallicFactor, roughnessFactor, emissiveColor |
Κλάσεις Μαθηματικών
| Enumerations | Enumerations |
|---|
Vector3 | 3-component double-precision vector (x, y, z) |
Vector4 | 4-component vector for homogeneous math (x, y, z, w) |
FVector3 | Παραλλαγή μονής ακρίβειας που χρησιμοποιείται σε δεδομένα κορυφής |
Matrix4 | 4×4 transformation matrix; multiply, invert, decompose |
Quaternion | Τεταρτοβάθμιο περιστροφής; fromEulerAngle, toEulerAngles, slerp |
BoundingBox | Πλαίσιο περιβάλλοντος ευθυγραμμισμένο με άξονες; minimum, maximum, center, size, merge |
Κλάσεις Κίνησης
| Enumerations | Enumerations |
|---|
AnimationClip | Ονομασμένο κλιπ; περιέχει AnimationNode λίστα; προσπελασμένη μέσω scene.animationClips |
AnimationNode | Συνδέει ένα κλιπ με έναν ονομασμένο κόμβο σκηνής; περιέχει AnimationChannel λίστα |
AnimationChannel | Στοχεύει σε μία μόνο ιδιότητα (π.χ. μετάφραση X); περιέχει ένα KeyframeSequence |
KeyframeSequence | Ταξινομημένη λίστα των KeyFrame αντικειμένων με interpolation και extrapolation |
KeyFrame | Μονό ζεύγος χρόνου/τιμής |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|
VertexElementType | NORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENT | Σημασιολογία στοιχείου κορυφής |
MappingMode | CONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAME | Πώς τα δεδομένα αντιστοιχούν στη γεωμετρία |
ReferenceMode | DIRECT, INDEX, INDEX_TO_DIRECT | Στρατηγική ευρετηρίασης για δεδομένα στοιχείου κορυφής |
Interpolation | CONSTANT, LINEAR, BEZIER | Παρεμβολή Keyframe |
Extrapolation | CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE | Συμπεριφορά εκτός εύρους keyframe |
Μονάδες Μορφής
Οι κλάσεις επιλογών ειδικών για κάθε μορφή εξάγονται από υπο-διαδρομές μονάδων. Εισάγετέ τες ξεχωριστά:
Μονάδα OBJ (@aspose/3d/formats/obj)
| Enumerations | Επιλογές κλειδιού |
|---|
ObjLoadOptions | enableMaterials, flipCoordinateSystem, scale, normalizeNormal |
Μονάδα glTF/GLB (@aspose/3d/formats/gltf)
| Enumerations | Επιλογές κλειδιού |
|---|
GltfSaveOptions | binaryMode (true → .glb), flipTexCoordV |
GltfFormat | GltfFormat.getInstance(): παράδειγμα μορφής για scene.save() |
STL Μονάδα (@aspose/3d/formats/stl)
| Enumerations | Κύριες Επιλογές |
|---|
StlLoadOptions | N/A |
StlSaveOptions | binaryMode (false → ASCII, true → binary) |
FBX Μονάδα (@aspose/3d/formats/fbx)
| Enumerations | Κύριες Επιλογές |
|---|
FbxLoadOptions | N/A |
FbxSaveOptions | embedTextures |
Υποστηριζόμενες Μορφές
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|
| Enumerations | .obj | Enumerations | Enumerations |
| glTF 2.0 | .gltf | Enumerations | Enumerations |
| Enumerations | .glb | Enumerations | Enumerations |
| STL | .stl | Enumerations | Enumerations |
| FBX | .fbx | Όχι* | Όχι* |
| COLLADA | .dae | Enumerations | Enumerations |
| 3MF | .3mf | Enumerations | Enumerations |
Παράδειγμα Γρήγορης Αναφοράς
Δείτε επίσης