سؤال

أنا أستخدم Blender لإنشاء ملفات M3G ثم أقوم بتحميلها في برنامج Java.
وهي أفضل طريقة للعثور على كائن (أ Mesh) في ال World؟ (كيف يمكنني "بناء" عالم؟)

هل يجب أن أقوم بإنشاء فئات منفصلة لكل كائن ثم أضفها إلى واحد World كائن أم يجب أن أقوم بتعيين معرفات للكائنات في الخلاط والعثور عليها في البرنامج حسب المعرف؟
أو تصدير كل كائن إلى ملف M3G منفصل؟
(أو بطريقة أخرى؟)

هل كانت مفيدة؟

المحلول

س 1. إذا كنت تعرف معرف Mesh (MESH_ID)، من ثم:

try {
  Object3D[] roots = Loader.load( "http://www.example.com/scene.m3g" );

  World world = roots[0];
  Mesh mesh = world.find( MESH_ID );
}
catch( Exception e ) {
  // Handle it
}

س 2. تحميل أساسي World:

public class MyCanvas extends Canvas
    Graphics3D g3d;
    World world;
    int currentTime = 0;

    public MyCanvas() {
        g3d = Graphics3D.create();
        Object root[] = Loader.load("world.m3g");
        world = root[0];
    }

    protected void paint(Graphics g) {
        g3d.bindTarget(g);
        world.animate(currentTime);
        currentTime += 50;
        g3d.render(world);
        g3d.releaseTarget();
    }
}

ثم استخدم واجهة برمجة التطبيقات لإنشاء وإضافة المزيد من الكائنات في العالم ، وتغطي وثائق API هذا بعمق:

س 3. تعيينهم في الخلاط ، ثم استخدم find طريقة للحصول على المثيل الدقيق لـ Object3D انت تحتاج.

س 4. إذا كنت تخطط لإعادة استخدام الشبكات (للتطبيقات المختلفة) ، فقم بتنظيمها في ملفات منفصلة ، وقم بتحميلها بشكل منفصل أثناء تهيئة التطبيق ، ثم أدخلها في العالم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top