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