أوصى نوع النموذج ثلاثي الأبعاد لنموذج الأحرف داخل اللعبة، محملة يدويا؟

StackOverflow https://stackoverflow.com/questions/585769

  •  06-09-2019
  •  | 
  •  

سؤال

أنا أكتب لعبة في JOGL وتحتاج إلى تمثيل الشخصية الموجودة في اللعبة. أخطط لاستخدام الرسوم المتحركة الهيكلية الحركات الشخصية، وبالطبع سيتم بشرة الشخصية. لا يبدو لي أن أجد أي لوادر نموذجية جيدة ل JOGL، لذلك أخطط لتحميل الملف الشخصي لنفسي، بناء على المواصفات أو أي شيء. أخطط أيضا لاستخدام Blender كمكياد ثلاثي الأبعاد، لذا فإن بعض النوع الموجود في هناك سيكون أفضل.

ما filetype هل توصي باستخدامها؟ .يمزج؟ .x، .3ds، .md2 / 3/5، ...؟ تذكر أنني أحب شيئا بنسخة محددة واضحة حتى أتمكن من كتابة التحميل دون الحاجة إلى إزالة بعض تنسيق الملفات العشوائية، وتحتاج إلى دعم الميزات المذكورة أعلاه. أي معلومات أخرى يمكنك تقديمها فيما يتعلق بالسبب الذي اخترته ولماذا سيكون من الأفضل أن يكون ذلك مفيدا جدا!

شكرا!

تحرير: سأكتب خلاط MS3D مصدر. عندما انتهيت من أنني سوف نشرها هنا.

وفي الوقت نفسه، انظر إجابتي المميزة أدناه؛ ولكن أكثر ذهب منذ ذلك الحين. لن أبقي هذا محدثا مع ما أقوم به، ولكن في الأساس، وجدت محرك Jmonkey وكان لديه بالفعل مستورد MS3D والنظم الفرعية الأخرى التي بدأت الكتابة اليدوية. على الرغم من الاشياء المشلئة (وهذا هو السبب في أنني كنت أتجنب Java3D) أعتقد أنه سيكون أفضل رهان لي في الانضمام إلى القوى، لذلك هذا ما أقوم به.

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

المحلول 2

بادئ ذي بدء، شكرا لك على الشابين الآخرين. أيضا basszero كنت على حق في ملف المزج، وأنا يجب أن راجع ويكيبيديا أولا! إنه تفريغ ثنائي شبه فائدة من ذاكرة الخلاط.

بعد فترة وجيزة من كتابة هذا السؤال، قررت أن أذهب إلى الأمام واكتب محمل OBJ، لأن 1) سيعطيني تجربة تحميل تنسيق ملف ثلاثي الأبعاد و 2) بدا بتنسيقا رائعا وشائعا ولكنه سهل التحميل. انتهى الأمر بكونه قرارا كبيرا، لأنه جعلني أدرك، لم أكن أعرف الفرق في الواقع بين كائن ومجموعة، وأنا أيضا لم أكن أعرف الكثير عن المواد. ساعدني في تحديد رمز لهذه الهياكل ثلاثية الأبعاد.

كل من الإجابات يوصي بتنسيقات تستند إلى XML. لا أريد تنسيق XML. أنا لا أصدق أن هذا هو المكان المناسب ل XML. أعتقد أن هذه التنسيقات تم إنشاؤها لأن XML مرنة، عالمية، وسهلة لإنشاء مخططات، ولكن هذا ليس ما أبحث عنه. أريد تنسيقا سريعا لتحميل (XML ليس، يتحدث نسبيا)، لا يجب أن يكون مرنا أو قابلا للقراءة، وشيء يمكنني كتابة مستورد له، بدلا من الاعتماد على مكتبات XML. قال باصيرو حتى "بتكلفة كونك XML"، وهو صحيح تماما؛ إنها تكلفة لا أشعر أنها تستحق العبء.

يتم تحميل obj لودر. انفصلت عنها من الفصول النموذجية الفعلية، ونفذها بواجهة مشوية حتى أتمكن من ذلك في المستقبل كتابة محمل مختلف إذا أردت ... وهي الخطة. لقد كنت أفعل المزيد من البحث في أيام الزوجين الماضية وقررت تنسيق MS3D.

يدعم تنسيق MS3D تزوير الهيكل العظمي (المفاصل) والرسوم المتحركة الهيكلية المفترسة، وعلاوة على ذلك يدعم خريطة نسيج وخريطة ألفا. بالإضافة إلى ذلك، إنه تنسيق ثنائي مقروء بالحاسوب بسهولة لا يضيع أي مساحة (مثل XML و OBJ DO) مع علامات وملصقات مقروءة بشرية ومثل هذه.

خلاط، لسوء الحظ، ليس لديه برنامج نصي تصدير MS3D (يعمل)، لذلك سأكتب برنامج نصي لذلك بنفسي. لحسن الحظ، إنها ليست عملية صعبة، ويمكنك قراءة وثائق الخلاط واستخدام المصدرين الآخرين كأمثلة. سآخذ لتنظيف بيثون، ولكن يبدو أنه يبدو واضحا للغاية، مما رأيته من البرامج النصية الأخرى.

يجب أن يكون الجانب Java من الأشياء سهلا، في الواقع سيكون الأمر أسهل من تنسيق OBJ لأن MS3D هي أكثر تنظيما. وجدت تحديد بالنسبة إلى تنسيق MS3D عبر الإنترنت، في C Style (Genius!) لذلك فهي تفسيرية ذاتية بشكل لا يصدق وليس لدي أي أسئلة أخرى حول التنسيق. سأكون سوى تنفيذي من هذا المواصفات، على الرغم من أنني قد في وقت لاحق تنفيذ اختلافات خاصة بي؛ هذا هو الشيء العظيم في كتابة المستورد والمصدر الخاص بي، يمكنني تعديل التنسيق كما أرى مناسبا.

الكل في الكل، لقد قررت أن هذا هو الحل الأفضل.

وبسمرو، أنت على حق تماما، كما رأيت من محمل OBJ الخاص بي: "بمجرد أن تكون قد قرأت كل شيء، تنظيم البيانات (قائمة العرض، القوام، صفيف قمة الرأس، رأس المخزن المؤقت قمة الرأس، إلخ) وحش مختلف تماما. "

كرواشان: لا java3d بالنسبة لي، أنا أشت عشر مع JOGL. أفعل بالفعل هذا الكتاب (على الرغم من أنه غير قابل للوصول في الوقت الحالي) على الرغم من أنني لا أتذكر كيف قام بتحميل النماذج، إلا أنني متأكد من أنه استخدم محمل تنسيق Java3D الذي يقوم به تلقائيا. ليس شيئا أخطط للاستخدام ... آسف!

reicket.

نصائح أخرى

إذا كان بإمكانك العيش مع هندسة فقط، أو مستعدا للتعامل مع الأسطوانة الخاصة بك، فربما يكون .obj هو تنسيق الملفات ثلاثية الأبعاد ثلاثية الأبعاد الأكثر داعمة ومستحقا على نطاق واسع. إنه في الأساس ASCII من النمذجة ثلاثية الأبعاد.

خلاف ذلك كنت أميل نحو vrml. إنه محدد جيدا وهناك على الأقل بعض الشفرة حولها. لقد قمت بتحميل نماذج VRML بنجاح في Java3D باستخدام التعليمات البرمجية المتاحة بحرية. يميل حجم الملف الأصلي إلى أن يكون كبيرا، ولكن يمكن حلها باستخدام تنسيق مضغوط.

لن أوصي .3ds. كانت المرة الوحيدة التي أعالج فيها القارئ لهذا التنسيق في دلفي باسكال، وهي فوضوي، وسوء المعرفة، من الصعب معالجة وتميل إلى الحصول على الكثير من "الاختلافات" بحيث تمكنت من الحصول على نماذج التعامل مع القارئ الخاصة بي 3D-MAX نفسه جيد فقط رفض العديد من النماذج من الحزم الأخرى التي ادعت أنها بتنسيق 3DS ولكن لم يتم تشكيلها بشكل صحيح.

وأضاف: أود أيضا أن نلقي نظرة على api java3d وكتاب أورايلي لعبة القاتل البرمجة في جافا كما لو كنت لا تنخفض الطريق Java3D، فمن المحتمل أن تجيب على الكثير من أسئلتك.

أعتقد وبلدها هي في الغالب تفريغ ثنائي في هياكل الذاكرة من الخلاط، ولن تساعدك الكثير من الخلاط. استخدم Blender إلى النموذج، ولكن تصدير إلى تنسيق مختلف.

قد يكون الأمر مضيفا صغيرا، لكنني سمعت كولادا يلف على معلومات ثلاثية الأبعاد بشكل جيد للغاية (بتكلفة كونها XML). الاتجاه الصعودي هو أنه من المحتمل أن يكون هناك تعريف مخطط Propery الذي يمكنك تمريره عبر Jaxb مما أدى إلى وجود محلل كامل ث / لا عمل منك.

قد تكون تنسيقات .md * بديلا جيدا. إنهم من محركات الهوية (Q1 و Q2 و Q3 و Q4 و Doom3) وموثيقهم. كما أنها تحتوي على تسلسل الرسوم المتحركة.

بمجرد أن تحصل على كل شيء قرأته، تنظيم البيانات (قائمة العرض، والقوام، صفيف قمة الرأس، رأس المخزن المؤقت Vertex، إلخ) والتقديم وحش مختلف تماما.

Woah، رجل، هل ستطلق مصدر MS3D عند الانتهاء منه؟ وإذا كان الأمر كذلك، كيف وصل ذلك؟ أحتاج حقا إلى الحصول على يدي على مصدر يعمل في الرسوم المتحركة وهذا يستخدم Fragmotion، ويبدو أن ما تفعله هو الأمل الأخير.

يوجد مصدر مفتوح من المصدر. إلغاء قارئ الملفات التي يمكن أن تستخلك أي معلومات من ملف .blend، بما في ذلك الشبكات، والقوام، والهيكل العظمي والرسوم المتحركة.

انظر بعض الأمثلة باستخدام Ogre and Irrlicht هنا:http://gamekit.googlecode.com.

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