תכונות ופונקציונליות
תכונות ופונקציונליות
דף זה מכסה את כל תחומי התכונות העיקריים של אסטרואיד 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 | רשומה ומזהה עבור פורמטים |