כיצד להמיר מודלים תלת‑ממדיים ב‑.NET
Aspose.3D for .NET עושה המרת פורמט בתהליך של שני שלבים: טען את קובץ המקור עם Scene.Open(), ואז שמור לפורמט היעד עם Scene.Save(). פורמט הפלט נובע מהרחבת הקובץ.
מדריך שלב אחר שלב
שלב 1: התקן את החבילה
dotnet add package Aspose.3D --version 26.1.0שלב 2: ייבא מרחבי שמות
using Aspose.ThreeD;
using Aspose.ThreeD.Formats;שלב 3: טען את קובץ המקור
var scene = new Scene();
scene.Open("input.fbx");שלב 4: שמור בפורמט היעד
scene.Save("output.glb");הספרייה מזהה את פורמט היעד מההרחבה. פורמטים נתמכי יצוא: OBJ, STL, glTF 2.0 / GLB, FBX, COLLADA, ו‑3MF.
שלב 5: השתמש באפשרויות שמירה ספציפיות לפורמט
לשליטה מדויקת, העבר תת‑מחלקה של SaveOptions:
// FBX output — always produces binary FBX
// FbxSaveOptions exists but has no format-specific properties in this version
scene.Save("output.fbx");
// OBJ with flipped coordinate system
scene.Save("output.obj", new ObjSaveOptions { FlipCoordinateSystem = true });
// COLLADA with indented XML
scene.Save("output.dae", new ColladaSaveOptions { Indented = true });מתכוני המרה נפוצים
| מקור | יעד | קוד |
|---|---|---|
| OBJ to GLB | scene.Open("input.obj"); scene.Save("output.glb"); | קובץ glTF בינארי לצפייה באינטרנט |
| FBX to STL | scene.Open("input.fbx"); scene.Save("output.stl"); | רשת משולשת להדפסת תלת‑ממד |
| glTF to COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | פורמט החלפת DAE |
| STL to OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront לכלי מודלינג |
בעיות נפוצות ותיקונים
קובץ הפלט ריק או קטן מאוד
ודא שהקובץ המקור נטען בהצלחה. בדוק scene.RootNode.ChildNodes.Count אחרי Open().
חומרים שאבדו במהלך ההמרה
לא כל הפורמטים נושאים את אותן תכונות חומר. חומרים ב‑OBJ משתמשים ב‑Lambert/Phong; glTF משתמש ב‑PBR. מיפוי חומרים הוא מאמץ מיטבי מעבר לגבולות הפורמט.
הפרש קנה מידה בין המקור לפלט
כלים שונים משתמשים במערכות יחידות שונות. יש להחיל ObjLoadOptions.Scale בייבוא או להתאים node.Transform.Scale לפני השמירה.
שאלות נפוצות (FAQ)
האם אני יכול להמיר PLY לפורמט אחר?
PLY הוא רק לייבוא. טען קובץ PLY ושמור לכל פורמט יצוא (OBJ, STL, GLB, FBX, COLLADA).
האם ההמרה משמרת אנימציות?
נתוני האנימציה (AnimationClip) נשמרים כאשר שני הפורמטים תומכים בהם (למשל, מ‑FBX ל‑glTF). STL ו‑OBJ אינם נושאים נתוני אנימציה.
האם ניתן לבצע המרה קבוצתית של קבצים מרובים?
צור Scene חדש עבור כל קובץ בלולאה. כל Scene הוא עצמאי וניתן לעיבוד במקביל.