كيفية تحويل النماذج ثلاثية الأبعاد في .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 });وصفات التحويل الشائعة
| Source | Target | Code |
|---|---|---|
| OBJ إلى GLB | scene.Open("input.obj"); scene.Save("output.glb"); | ملف glTF ثنائي لعارضات الويب |
| FBX إلى STL | scene.Open("input.fbx"); scene.Save("output.stl"); | شبكة مثلثية للطباعة ثلاثية الأبعاد |
| glTF إلى COLLADA | scene.Open("input.gltf"); scene.Save("output.dae"); | تنسيق تبادل DAE |
| STL إلى OBJ | scene.Open("input.stl"); scene.Save("output.obj"); | Wavefront لأدوات النمذجة |
المشكلات الشائعة والحلول
ملف الإخراج فارغ أو صغير جدًا
تأكد من تحميل ملف المصدر بنجاح. تحقق من scene.RootNode.ChildNodes.Count بعد Open().
المواد المفقودة أثناء التحويل
ليس كل الصيغ تحمل نفس خصائص المواد. مواد OBJ تستخدم Lambert/Phong؛ يستخدم glTF تقنية PBR. Material mapping هو best‑effort عبر حدود الصيغ.
الفرق في المقياس بين المصدر والإخراج
تستخدم الأدوات المختلفة أنظمة وحدات مختلفة. قم بتطبيق ObjLoadOptions.Scale عند الاستيراد أو اضبط node.Transform.Scale قبل الحفظ.
الأسئلة المتكررة (FAQ)
هل يمكنني تحويل PLY إلى تنسيق آخر؟
PLY هو استيراد فقط. حمّل ملف PLY واحفظه بأي تنسيق تصدير (OBJ, STL, GLB, FBX, COLLADA).
هل تحتفظ عملية التحويل بالرسوم المتحركة؟
يتم الحفاظ على بيانات الرسوم المتحركة (AnimationClip) عندما يدعم كلا التنسيقين ذلك (مثال: FBX إلى glTF). لا تحمل صيغ STL و OBJ بيانات الرسوم المتحركة.
هل يمكنني تحويل عدة ملفات دفعة واحدة؟
أنشئ Scene جديدًا لكل ملف في حلقة. كل Scene مستقل ويمكن معالجته بالتوازي.