Συχνές Ερωτήσεις
Συχνές Ερωτήσεις
Πώς εγκαθιστώ το @aspose/3d;
Εγκατάσταση από npm. Απαιτείται Node.js 18 ή νεότερο:
npm install @aspose/3dΕπαληθεύστε την εγκατάσταση:
import { Scene } from '@aspose/3d';
const scene = new Scene();
console.log('@aspose/3d ready');Οι ορισμοί τύπων TypeScript περιλαμβάνονται στο πακέτο. Δεν απαιτείται ξεχωριστό @types/ πακέτο.
Ποιοι τύποι αρχείων υποστηρίζονται;
| Μορφή | Εισαγωγή | Εξαγωγή |
|---|---|---|
| OBJ (Wavefront) | Ναι | Ναι |
| glTF 2.0 / GLB | Ναι | Ναι |
| FBX (Autodesk) | Όχι* | Όχι* |
| STL (Stereo Lithography) | Ναι | Ναι |
| 3MF (3D Manufacturing) | Ναι | Ναι |
| COLLADA (.dae) | Ναι | Ναι |
Πώς φορτώνω ένα αρχείο 3D;
Δημιουργήστε ένα Scene και καλέστε scene.open():
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const scene = new Scene();
scene.open('model.obj', new ObjLoadOptions());Για μορφές που δεν χρειάζονται ειδικές επιλογές, παραλείψτε το δεύτερο όρισμα:
const scene = new Scene();
scene.open('model.glb');Είναι το scene.open() ασύγχρονο;
Όχι. scene.open() και scene.openFromBuffer() είναι συγχρονικές κλήσεις. Εάν χρειάζεστε μη‑αποκλειστικό I/O, εκτελέστε τις μέσα σε νήμα εργασίας Node.js ή τυλίξτε τις με setImmediate.
Πώς αποθηκεύω σε glTF/GLB;
Καλέστε scene.save() με μια διαδρομή αρχείου. Η μορφή ανιχνεύεται αυτόματα από την επέκταση:
scene.save('output.glb'); // binary glTF
scene.save('output.gltf'); // JSON glTF
scene.save('output.obj'); // OBJ
scene.save('output.stl'); // STL
Πώς φορτώνω από ένα Buffer (στη μνήμη);
Χρησιμοποιήστε scene.openFromBuffer():
import * as fs from 'fs';
import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
const buffer = fs.readFileSync('model.obj');
const scene = new Scene();
scene.openFromBuffer(buffer, new ObjLoadOptions());Σφάλμα: Δεν είναι δυνατή η εύρεση του module ‘@aspose/3d/formats/obj’
Απαιτείται η επίλυση εξαγωγών πακέτου Node.js 12.7+. Βεβαιωθείτε ότι χρησιμοποιείτε Node.js 18+. Για TypeScript, ορίστε "moduleResolution": "node16" ή "bundler" στο tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node16",
"target": "ES2020"
}
}Ποιος είναι ο τύπος του node.entity?
node.entity είναι γενικού τύπου. Για πρόσβαση σε ιδιότητες συγκεκριμένες για το πλέγμα, ελέγξτε την παρουσία τους με 'controlPoints' in node.entity ή χρησιμοποιήστε την κλάση Mesh από το @aspose/3d/entities:
import { Mesh } from '@aspose/3d/entities';
if (node.entity instanceof Mesh) {
const mesh = node.entity;
console.log(mesh.controlPoints.length);
}Τρέχει η βιβλιοθήκη στο πρόγραμμα περιήγησης;
Η βιβλιοθήκη έχει σχεδιαστεί για το Node.js. Η υποστήριξη του προγράμματος περιήγησης εξαρτάται από τη διαμόρφωση του bundler και τις API του συστήματος αρχείων που αντικαθίστανται με εναλλακτικές στη μνήμη.
Είναι η βιβλιοθήκη ασφαλής ως προς τα νήματα;
Κάθε αντικείμενο Scene είναι ανεξάρτητο. Η χρήση ξεχωριστών περιπτώσεων Scene από ξεχωριστά νήματα εργατών Node.js είναι ασφαλής, εφόσον δεν μοιράζεστε μια ενιαία σκηνή μεταξύ των νημάτων χωρίς εξωτερικό συγχρονισμό.
Ποιες εκδόσεις του Node.js υποστηρίζονται;
Το Node.js 18, 20 και 22 υποστηρίζεται επίσημα. Το TypeScript 5.0+ συνιστάται.
Υποστηρίζει το @aspose/3d τις κινούμενες εικόνες;
Ναι. Το σύστημα animation περιλαμβάνει AnimationClip, AnimationChannel και τύπους καμπυλών κλειδιών προσβάσιμους από @aspose/3d/animation.