תכונות ופונקציונליות

תכונות ופונקציונליות

תכונות ופונקציונליות

דף זה מכסה את כל תחומי התכונות העיקריים של אסטרואיד 3D-Foss 26.1 עם דוגמאות של Java.


חיסכון וחיסוך של סצנות

scene.open() להעלות קובץ; scene.save() לייצא את זה:

import com.aspose.threed.Scene;

Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");

חלופה מפעל סטטי:

Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");

אפשרויות ספציפיות

דרכון LoadOptions או SaveOptions תת-קטגוריות למניעת שומן:

import com.aspose.threed.*;

Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);

GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);

הערה : FBX תומך רק עבור ייבוא; FBx ייצוא אינו מיושם בגרסה FOSS. בינארי FBX קבצים נתמכים לייבא — ASCII FBX זורקים ImportException.


יצירת גרפיקה של סצנה

יצירת כפתורים והצטרפות לאנשים:

Scene scene = new Scene();
Node root = scene.getRootNode();

Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);

Node meshNode = root.createChildNode("triangle", mesh);

מבצעי Mesh

יצירת A Mesh תוכנה עם נקודות בקרה ומדיניות:

Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);

טרנספורמציה

כל אחד Node נוהג A Transform:

Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);

קראו את עולם החלל דרך node.getGlobalTransform().getMatrix().


חומרים

להקצות חומרים לתחום:

import com.aspose.threed.*;

PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);

scene.getRootNode().createChildNode("red_mesh", mesh, mat);

סוגים של חומרים: Material (בסיס זה, PbrMaterial (התמונה של PBR מתכת).


טיפים ושיטות טובות

  • שימוש Scene.fromFile() עבור משאיות חד-קו כאשר אפשרויות מותאמות אישית אינן נדרשות
  • בואו לבנות את המגוון באופן מתוכנן עם createPolygon() עבור גיאומטריה קבועה
  • שימוש .glb הרחבה עבור ייצוא בינארי GLTF קומפקטי
  • צפו node.getEntity() != null לפני הקסטה
  • ה- STL Export הוא לא המהדורה השלישית של הפליגון מתרחשת באופן אוטומטי. STL היצוא בינארי כותב רק את 3 העמדות הראשונות של כל פנים פוליגן - ארבע או n-gon פנים הם צלולים בשקט. ASCII STl ייצוג כתיבת כל אינדיקטורים מעמיקים, אשר מייצר בלוקים צד מופרזים עבור לא צד שלישי. תמיד לעבור את הדפים המוקדמים (כל צד השלישי) ל- ST L היוצא כדי למנוע אובדן נתונים או תוצאה בלתי אפשרית.

בעיות נפוצות

נושאסיבהקבע
חוץ מהטעינהקובץ לא נתמך או שבורבדוק את הקובץ נפתח ב- 3D Viewer
חומר חסר לאחר OBJ משאבים.mtl קובץ לא נמצאמקום .mtl ליד .obj;• להבטיח כי החומרים יהיו זמינים.
שגיאות לאחר ייבואמערכות יחידות שונותלהגיש A Transform גודל לאחר ההעלאה

FAQ

כיצד ניתן לזהות את פורמט הקובץ?

FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());

האם אני יכול להעלות את זה מהזרם?

כן כן. scene.open() מקבלת את InputStream.

אילו פורמטים תומכים גם באיטליה וגם בביקור?

OBJ, STL ו-glTF/GLB תומכים בשני הכיוונים. FBX מיובא אך ורק; ייצוא אינו מתבצע בגרסה FOSS.


סיכום התייחסות API

שיעור / שיטהתיאור
Sceneמכולת 3D ברמה הגבוהה ביותר
scene.open()להעלות קובץ 3D לפי מסלול או זרם
scene.save()סצנה ייצוא ל-file או stream
Scene.fromFile()מפעל סטטי להטעין ולהחזיר את Scene
Nodeתיאוריית הירוקרגיה נודה
node.createChildNode()יצירת וחיבור של נוט ילדים
Meshמברשת פוליגון עם נקודות בקרה וירשי פנים
mesh.createPolygon()הגדרת פנים פוליגוניות
Mesh.toMesh()ג’ימטר המרה או הקלון
Transformתרגום מקומי, סיבוב וסיבובים
FileFormatרשומה ומזהה עבור פורמטים
 עברית