חבילה: @aspose/3d (v24.12.0) שפה: TypeScript / Node.js 18+ רישיון: MIT
@aspose/3d היא ספרייה ברישיון MIT לקריאה, בנייה וייצוא של סצנות תלת‑ממד ב‑Node.js. היא מגיעה עם הגדרות טיפוס מלאות של TypeScript, תלות ריצה יחידה (xmldom), ותומכת שבעה פורמטים עיקריים של קבצי 3D. כל הקלט/פלט הוא סינכרוני. אין צורך בתוספים מקומיים.
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 | טען ממאגר בזיכרון |
save(path, opts?) | (string, SaveOptions?) → void | שמור לדיסק (הפורמט נובע מההרחבה) |
saveToBuffer(ext, opts?) | (string, SaveOptions?) → 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 | סיבוב אוילר במעלות (סדר XYZ) |
rotation | Quaternion | סיבוב כקוואטורניון |
scaling | Vector3 | קנה מידה מקומי |
מחלקות חומר
| Enumerations | Enumerations | מאפיינים מרכזיים |
|---|
LambertMaterial | הצללה פיזורית + סביבתית | diffuseColor, ambientColor, transparency |
PhongMaterial | מוסיף ברק + פליטה ל‑Lambert | specularColor, shininess, emissiveColor |
PbrMaterial | מבוסס פיזיקלית עבור glTF 2.0 | albedo, metallicFactor, roughnessFactor, emissiveColor |
BoundingBox הוא תיבת גבול מיושרת לציר המוגדרת על ידי פינות Vector3 מינימליות ומקסימליות, עם שיטות למיזוג נקודות, בדיקות הכללה, ושאילתות היקף.
| 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 | סמנטיקה של Vertex element |
MappingMode | CONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAME | כיצד נתונים ממופים לגיאומטריה |
ReferenceMode | DIRECT, INDEX, INDEX_TO_DIRECT | אסטרטגיית אינדקסינג לנתוני Vertex element |
Interpolation | CONSTANT, LINEAR, BEZIER | אינטרפולציית keyframe |
Extrapolation | CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE | התנהגות מחוץ לטווח מסגרות המפתח |
מודולי פורמט
BoundingBox הוא תיבת גבול מיושרת לציר המוגדרת על ידי פינות Vector3 מינימליות ומקסימליות, עם שיטות למיזוג נקודות, בדיקות הכללה, ושאילתות היקף.:
מודול 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 |
contains(arg)
ראה גם