الخصائص والوظائف
الخصائص والوظائف
هذه الصفحة تغطي كل منطقة مميزة من أسبو 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 فقط للاستيراد؛ لا يتم تنفيذ تصدير FB X في النسخة 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 برامج مع نقاط التحكم والمنحدرات:
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 يحمل أ 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 (الصوت المعدني الصلب).
نصائح وأفضل الممارسات
- استخدام
Scene.fromFile()للتحميلات ذات الخط واحد عندما لا تحتاج خيارات مخصصة - تكوين المرافق برمجة مع
createPolygon()من أجل الهندسة المخصصة - استخدام
.glbالتمديد لإنتاج ثنائي غلترين صغير - التحقق
node.getEntity() != nullقبل أن يغطي - تداول الخيارات الثنائية استثمارات لا يكتب التريغون المثلث الوجه تلقائيًا. تصدير STL الثنائي فقط أول 3 أسطوانات لكل وجه من الأسطول - يتم إخفاء وجوه الربع أو n-gon بهدوء. ASCII ST L تصدر جميع المؤشرات الخلفية ، والتي تنتج كتل الجانب المكسورة للوجه غير الثلاثي. دائما ما تمر المراحل المسبقة (الجسد الثلاثوي) إلى تصادير StL لتجنب فقدان البيانات أو النتيجة غير المشروعة.
القضايا المشتركة
| مسألة | سبب | تصحيح |
|---|---|---|
| استثناء على الحمل | الملفات غير المدعومة أو الفاسدة | تحقق من فتح الملف في المشاهد 3D |
| المواد المفقودة بعد تحميل 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() | تصدير المشهد إلى الملف أو البث |
Scene.fromFile() | المصنع الثابت للشحن وإرجاع A Scene |
Node | مسرحية الهرم العمودي |
node.createChildNode() | إنشاء ورفع عقدة طفل |
Mesh | مادة البوليغون مع نقاط التحكم وقوائم الوجه |
mesh.createPolygon() | تعريف الوجه البوليغون |
Mesh.toMesh() | تحويل أو استنساخ الماس الهندسة |
Transform | الترجمة المحلية، والدورات، والمقياس |
FileFormat | تسجيل و الكشف عن النماذج |