שאלות נפוצות
שאלות נפוצות
איך אני מתקין @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) | כן | כן |
איך אני טוען קובץ תלת‑ממדי?
צור 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() הם קריאות סינכרוניות. אם אתה צריך קלט/פלט לא חוסם, הפעל אותם בתוך חוט עובד של 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());שגיאה: לא ניתן למצוא מודול ‘@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. תמיכת הדפדפן תלויה בתצורת הבאנדלר ובחלפת ממשקי API של מערכת הקבצים עם חלופות בזיכרון.
האם הספרייה בטוחה לשימוש מרובה-תהליכים?
כל אובייקט Scene הוא עצמאי. שימוש במופעים נפרדים של Scene מתוך חוטי עבודה נפרדים של Node.js בטוח כל עוד אינך חולק סצנה אחת בין חוטים ללא סינכרון חיצוני.
אילו גרסאות של Node.js נתמכות?
Node.js 18, 20, ו‑22 נתמכים באופן רשמי. מומלץ להשתמש ב‑TypeScript 5.0+.
האם @aspose/3d תומך באנימציות?
כן. מערכת האנימציה כוללת AnimationClip, AnimationChannel, וסוגי עקומות keyframe הנגישים מ@aspose/3d/animation.