سؤال

لدي مشكلة في استيراد نموذج ثلاثي الأبعاد من ملف FBX.

يحتوي نموذج المصدر على 575 عنصرًا + كاميرا واحدة ويبدو كالتالي: http:// habreffect .ru / files / 23d / 542fa7f67 / source_model.png

في XNA المُعد باستخدام نموذج خط أنابيب المحتوى يحتوي على 82 شبكة ، و 576 عظمة. لذلك ، عندما أرسم نموذجي ، أرى جزءًا فقط من نموذج المصدر. نتيجة الصورة كما يلي: http://habreffect.ru/files/28a/6e61c0215/Result_view.png

كود الرسم الخاص بي: Genacodicetagpre

كيف يمكنني الحصول على 575 شبكة في مثيل النموذج الخاص بي في XNA؟

شكرًا!

UPD : لقد حاولت استيراد نموذج FBX الخاص بي إلى 3ds max ، وحدد جميع الشبكات واستخدم "تصدير المحدد". النتيجة حجم ملف FBX أكبر بمقدار 11 مرة. ثم أضفته كمحتوى إلى مشروع XNA ، النموذج المحمل يحتوي على جميع 575 شبكة ، وتم عرضه بشكل صحيح.

للأسف ، طريقة التحويل اليدوي هذه لا تناسبني - أحتاج إلى عرض نماذج fbx متنوعة من مستودع قابل للتغيير.

إذن ، ما هو ملف FBX "الجيد" لمعالج محتوى XNA (أستخدم XNA 4)؟

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

المحلول

لذلك ، في MSDN لقد وجدت أن FbxImporter مصمم للعمل مع إصدار 2006.11 من تنسيق FBX.

أطلق Autodesk مؤخرًا محول FBX 2012.1 ، والذي يحتوي على أدوات أخرى ، مثل FBX Eplorer و FBX Viewer.

يمكن أن يعرض مستكشف FBX بنية ملف FBX ، وأقارن المصدر الذي تم تصديره من ملف 3D MAX وملف FBX المصدر. لديهم تنسيق داخلي مختلف. حاولت إجراء التحويل التالي: FBX - & GT؛ Collada -> FBX ، ويحتوي ملف FBX الناتج على مشابه لما تم تصديره من هيكل بيانات MAX.

لذلك ، أقوم ببساطة بإضافة نتيجة FBX إلى محتوى تطبيق XNA الخاص بي ، ويتم عرضها بشكل جيد :)

هناك طريقة أخرى لإنجاحها وهي استخدام Autodesk FBX SDK لقراءة النموذج يدويًا ورسمه في XNA.

خاتمة :

  1. لا يعتمد العمل الصحيح لـ XNA FbxImporter على الإصدار (2006 ، 2011 ، إلخ) والشكل (ثنائي ، ascii) من ملف FBX. هيكل بيانات FBX الداخلية أكثر أهمية.
  2. لجعل FBX "قابلاً للقراءة" لبرنامج XNA Importer ، يمكنك استخدام تحويل مزدوج مثل FBX -> Collada -> FBX
  3. يمكنك أيضًا استخدام FBX SDK لتحميل البيانات يدويًا من FBX

نصائح أخرى

افتح النموذج ثلاثي الأبعاد في أحدث إصدار من برنامج 3dx max 2012 وقم بتصديره بتنسيق رمز ترميز البيانات العام.يتم تحميل هذا الرمز العام بشكل صحيح مع محمل نموذج xna.أثناء التصدير ، يمكنك حتى تضمين الموارد ، لذلك لا يتعين عليك إضافة مواد إليها من خلال XNA.

أنت تستخدم التثبيت في 3DS MAX.هذا لا يدعمه XNA مباشرة. عليك أن ترسم شبكة لكل عظمة بنفسك. من الناحية المثالية ، يمكنك بدلاً من ذلك استخدام تثبيت DirectX لرسم كل شبكة مرة واحدة لكل عظم في مكالمة واحدة Draw (). لكن عليك أن تقوم بتدوير الكود الخاص بك للقيام بذلك ، عن طريق تحويل العظام إلى رؤوس أمثلة. يدعم XNA افتراضيًا العمليات الأساسية فقط.

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