تقدم أحدث إصدار من أداة Epic Games ثلاثية الأبعاد – Unreal Engine 5 – العديد من الفوائد، إلى جانب بعض التحديات. ومن المشكلات التي واجهناها عند العمل بهذا البرنامج كانت استيراد النماذج. مهمتنا اليوم هي فهم مفهوم تحريك نظام العظام واستعراض دراسة حالة لإنشاء هيكل عظمي في مشروع Unreal Engine 5.

ما هو Unreal Engine؟

يُعد Unreal Engine، الذي طورته شركة Epic Games، مجموعة من الأدوات المتكاملة المستخدمة لإنشاء تجارب تفاعلية، لا سيما في صناعة ألعاب الفيديو، بالاستفادة من تقنية GPU للعرض في الوقت الفعلي. ومع ذلك، وبفضل تنوع استخداماته، يُستخدم Unreal Engine أيضاً في تصميم واجهات التفاعل بين الإنسان والآلة، والتصور المعماري، أو إنشاء المحاكاة وتشغيلها. عند كتابة هذا المقال، كان أحدث إصدار هو Unreal Engine 5، الذي صدر في سبتمبر 2021.

مجموعة أدوات Unreal Engine للرسوم المتحركة ثلاثية الأبعاد

عندما يتعلق الأمر بالرسوم المتحركة ثلاثية الأبعاد، فإن Unreal Engine بارع بشكل خاص بفضل مجموعته القوية من أدوات الرسوم المتحركة. وهي تشمل ما يلي:

  • المسلسل: إنه محرر غير خطي مدمج في Unreal Engine لإنشاء رسوم متحركة سينمائية ومشاهد داخل اللعبة وغيرها. يمكنك تحريك الخصائص بمرور الوقت باستخدام الإطارات المفتاحية، مما يتيح إنشاء تسلسلات معقدة تتضمن حركات الكاميرا وحركات الشخصيات والصوت والمؤثرات البصرية.
  • أنظمة الرسوم المتحركة الهيكلية: يُستخدم هذا لتحريك الشخصيات ثلاثية الأبعاد العضوية (أي البشر والحيوانات والوحوش) وغيرها من الأجسام التقنية المعقدة (أي المركبات والأجهزة والآلات) باستخدام تقنيات متقدمة لتحريك الهياكل العظمية ثلاثية الأبعاد. يتم تعريف الشبكة الهيكلية العظمية من خلال تسلسل هرمي من العظام، والتي يمكن تحريكها لإنشاء حركة واقعية. يدعم هذا النظام أيضًا الحركية العكسية (Inverse Kinematics)، مما يتيح حركات أكثر طبيعية في مفاصل الشخصيات، مثل تعديل حركات الساق بناءً على التضاريس.
  • التحكم في الهيكل: يشير التجهيز الهيكلي (Rigging) إلى عملية إنشاء البنية العظمية للنموذج، والتي تُستخدم بعد ذلك لتحريك الكائن وفقًا لأهداف المُحرِّك (animator). أما Control Rig فهو نظام Unreal Engine لإنشاء تشوهات قائمة على الأوضاع (poses) مباشرة داخل المحرك. وهو يوفر واجهة قائمة على العُقد لتحديد سلوكيات معقدة، ويمكن استخدامه مع Sequencer لإنشاء حركات الشخصيات.
  • الرسوم المتحركة القائمة على الفيزياء: يوفر Unreal Engine أيضًا أدوات لمحاكاة الرسوم المتحركة القائمة على الفيزياء، مثل الأقمشة أو السوائل أو الأجسام الصلبة. وهذا يتيح إنشاء حركة واقعية تتفاعل مع فيزياء اللعبة، مثل علم يرفرف في مهب الريح.
  • مخططات الرسوم المتحركة: Blueprints هو نظام برمجي مرئي يُستخدم لإنشاء منطق رسوم متحركة معقد، مثل تحديد الرسوم المتحركة التي يجب تشغيلها في ظروف معينة، ودمج الرسوم المتحركة، والتعامل مع الرسوم المتحركة ديناميكيًا بناءً على ظروف اللعب.

هذه الميزات، إلى جانب قدرات العرض القوية لنظام Unreal Engine ونظام المواد المتقدم، تجعله أداة ممتازة لإنشاء رسوم متحركة ثلاثية الأبعاد غنية وغامرة.

اطّلع على خدمات استشارات وتطوير واجهة الإنسان والآلة

اعرف المزيد

برمجيات خارجية للنمذجة ثلاثية الأبعاد

نظرًا لأن Unreal Engine يُعد بيئة محرك ألعاب نموذجية لتطوير الألعاب أو التطبيقات، فهو غير مجهز بطبيعته لنحت الكائنات ثلاثية الأبعاد أو رسم الأنسجة أو تحريك الكائنات. لذلك، غالبًا ما يختار المبدعون إنشاء المحتوى عبر أدوات ثلاثية الأبعاد خارجية قبل استيراد الأصول الجاهزة إلى Unreal Engine. وأكثر الأدوات شيوعًا لإنشاء الرسوم المتحركة ثلاثية الأبعاد هي Blender و3ds Max وMaya، ومن قطاع التصميم بمساعدة الحاسوب (CAD)، Catia وAutodesk Alias وSiemens NX.

الهيكل العظمي، والشبكة الهيكلية، والرسوم المتحركة الهيكلية

الهيكل العظمي (يُسمى أحيانًا «نظام العظام») هو تقنية تجهيز تُستخدم لإنشاء حركات معقدة وواقعية. وهو لا يشبه الهيكل العظمي البيولوجي في العالم الحقيقي؛ وبالتالي، فهو يتكون من «عظام» متعددة، يمثل كل منها جزءًا مختلفًا من النموذج يمكن التحكم فيه بشكل مستقل أو جماعي. ترتبط العظام بأجزاء محددة من الشبكة الهيكلية ثلاثية الأبعاد، مما يتيح حركة أكثر ديناميكية للشخصية. الشبكة هي السطح المرئي لنموذج الشكل المحدد بواسطة الهيكل العظمي الأساسي.

يؤدي الجمع بين الهيكل العظمي والشبكة الهيكلية إلى الرسوم المتحركة الهيكلية. وهي تقنية من تقنيات الرسوم المتحركة ثلاثية الأبعاد يُُمثَّل فيها الجسم على جزأين: سطح مرئي (الشبكة) ونظام من العظام المترابطة (الهيكل العظمي) يحرّك الشخصية. الرسوم المتحركة الهيكلية هي الطريقة الأكثر شيوعاً والأوسع استخداماً لتحريك الأجسام المكوّنة من عناصر متعددة مع الحفاظ على علاقات محددة بينها.

Unreal Engine 5 3D model import

مثال

دعونا نفكر في نموذج ثلاثي الأبعاد لحفارة.

أولاً، يقوم فنان ثلاثي الأبعاد بإنشاء شبكة، أي التمثيل المرئي للآلة الذي يتضمن عناصر مثل الكابينة والذراع والعمود أو الجرافة.

بعد ذلك، يُعِدّون هيكلاً رقمياً داخل النموذج. ويتكوّن من عظام لكل جزء يُفترض أن يتحرك – عظمة للذراع (boom) تتيح له الحركة صعوداً وهبوطاً، وأخرى للقضيب (stick) للتحرك إلى الداخل والخارج، أو عظمة للجرافة (bucket) لمحاكاة حركات الحفر والتفريغ.

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

عندما تبدأ عملية التحريك، يقوم المُحرِّك بتحريك عظمة الجرافة. وبفضل الارتباطات المُعدّة أثناء عملية التجهيز الهيكلي (rigging)، تتبع الشبكة المحيطة بالجرافة حركة العظمة، ويبدو الحفار وكأنه يحفر.

كيفية استيراد التصاميم ثلاثية الأبعاد إلى مشروع Unreal Engine؟

على الرغم من وجود عدة طرق لاستيراد النماذج ثلاثية الأبعاد وتحريكها في Unreal Engine (من بينها الدمج أو بناء شجرة تسلسل الكائنات)، فإننا نركز اليوم على نظام العظام (bones system) والتجهيز الهيكلي (rigging).

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

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

Unreal Engine 5 3D model import

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

علاوة على ذلك، وبينما توفر هذه الطريقة أدوات غنية وإمكانيات هائلة، فإن Unreal Engine (ومحركات الألعاب بشكل عام) تدعم فقط استيراد الشبكات الهيكلية وتتجاهل البيانات المتعلقة بالقيود الفيزيائية والاتصالات في نظام العظام. تحتاج هذه القيود بعد ذلك إلى إعادة تعريفها داخل Unreal Engine، وهو ما قد يشكل مهمة كبيرة.

دراسة حالة DigiTwin: كيف قمنا باستيراد وتحريك نموذج حفارة ثلاثي الأبعاد

DigiTwin هو مشروع البحث والتطوير الخاص بشركة Spyrosoft. إنه توأم رقمي لنموذج حفارة مادية؛ يلتقط التطبيق البيانات من حركة الآلة ويعيد تشغيلها على جهاز لوحي في الوقت الفعلي. تحتوي كل من الأجهزة المادية والرقمية على نقاط حركة مثل دوران الكابينة، والنشاط الصعودي والهبوطي في جزأين من الذراع وحركة الجرافة.

أعددنا نموذج 3D في Blender، لأن الملفات ملائمة نسبيًا للاستيراد إلى مشروع Unreal Engine. ونظرًا لتعقيد الجهاز وحركته (عدة عناصر وأسطوانات)، قررنا استيراد الرسوم المتحركة من خلال إنشاء نظام عظام.

Unreal Engine 5 3D model import

بشكل عام (ولكنه ليس إلزامياً في كل حالة)، يدير Unreal Engine البيانات مع برمجيات 3D أخرى عبر صيغة Autodesk Filmbox (*.fbx) بغض النظر عن حزمة الرسومات ثلاثية الأبعاد المستخدمة لإنشاء شبكة هيكلية. بعد استيراد نموذج إلى Unreal Engine، نحصل على المكونات الأساسية: الهيكل، والشبكة الهيكلية، والأصل الفيزيائي، ومخطط الرسوم المتحركة.

أثناء العمل على نظام العظام والتحريك، واجهنا عقبات تقنية تطلّبت من الفريق امتلاك خبرة في برامج 3D وتبادل البيانات. يدعم Unreal Engine (وجميع محركات الألعاب عموماً) الشبكة السلكية أثناء الاستيراد، لكن ليس القيود الفيزيائية مباشرةً. ولجعل حركات الحفّارة واقعية قدر الإمكان، أعدنا إنشاء بعض الوصلات في Unreal Engine، في أصل Animation Blueprint. في الصورة أدناه، يمكنك رؤية النموذج الكامل مع الأصول المرتبطة التي أُنشئت في عملية الاستيراد.

Unreal Engine 5 3D model import
Unreal Engine 5 3D model import

كما ذُكر، لا يدعم Unreal Engine القيود المادية لبرمجيات 3D الخارجية عند الاستيراد. قررنا استخدام كائن إضافي يُسمى "Socket" لحل هذه المشكلة. تكون الـ Sockets مفيدة عند استيراد العناصر للنموذج ثلاثي الأبعاد. في حالتنا، استخدمناها لأنه، داخل Animation Blueprint، يمكنها بسهولة تحديد العلاقة بين Bone وSocket باستخدام عقدة "Look At".

Unreal Engine 5 3D model import

كيف تعمل الفتحات (Sockets) بالنسبة لنا؟ إذا كانت لدينا بعض الكائنات ونحتاج إلى محاذاتها أثناء تشغيل الرسوم المتحركة، فإن فكرة ربط Bone بـ Socket تبدو كحل مناسب. تتحقق عقدة "Look At" من موضع الهدف وتحاذي عظمة متصلة به إذا اكتشفت تحويلاً.

Unreal Engine 5 3D model import

خلاصة القول

نظرًا لأن Unreal Engine 5 إصدار حديث نسبيًا، يجب علينا التعامل مع بعض المجالات من جديد. يُعد DigiTwin، وهو مشروع وُصف أعلاه كمثال على حالة استيراد نموذج ثلاثي الأبعاد، مبادرة بحث وتطوير من Spyrosoft للتعرف على أحدث محرك من Epic Games. آمل أن يساعدك المسار الذي مهدناه بالفعل في تطوير مشاريع جديدة ورائعة باستخدام Unreal Engine 5.

ابدأ مشروعك التالي في Unreal Engine مع Spyrosoft

هل تخطط لإطلاق منتجك التالي بتقنية Unreal Engine؟ لا تبحث بعيداً عن Spyrosoft للحصول على دعم شامل. فريقنا مجموعة من الخبراء المهرة، يتمتعون بخبرة واسعة في العمل مع مجموعة أدوات Unreal Engine المعقدة.

سواء كنت تسعى إلى تطوير واجهة تفاعل بشري-آلي بديهية وتفاعلية، أو الاستفادة الكاملة من ميزات الرسوم المتحركة ثلاثية الأبعاد الديناميكية في Unreal Engine، فإننا على أتم الاستعداد لإرشادك خلال هذه العملية. تعرّف على المزيد حول نطاق خدمات HMI لدينا هنا.

الأسئلة الشائعة: Unreal Engine 5

يُعد Unreal Engine مجموعة أدوات قوية طورتها Epic Games لإنشاء تجارب تفاعلية، لا سيما في صناعة الألعاب. كما يُستخدم أيضًا في المحاكاة والتصور المعماري وواجهات التفاعل بين الإنسان والآلة.

الهيكل العظمي هو بنية تجهيز مصنوعة من العظام تحدد كيفية تحرك الأجزاء المختلفة من نموذج ثلاثي الأبعاد. يتوافق كل عظم مع جزء من الشبكة ويمكّن الحركة الواقعية من خلال الرسوم المتحركة.

يجمع الهيكل الشبكي العظمي (skeletal mesh) بين النموذج ثلاثي الأبعاد (mesh) وبنية العظام الداخلية الخاصة به (skeleton)، وهو أمر بالغ الأهمية لتطبيق الرسوم المتحركة الهيكلية ثلاثية الأبعاد للشخصيات. ويُستخدم لتحريك النماذج في Unreal Engine من خلال حركة العظام.

يستخدم Unreal Engine تنسيق ملف .FBX لاستيراد النماذج المُنشأة في برامج خارجية. وبمجرد الاستيراد، يتم إنشاء أصول مثل الهيكل العظمي والشبكة الهيكلية والأصل الفيزيائي ومخطط الرسوم المتحركة للتحريك.

على الرغم من أن Unreal Engine يدعم الشبكات الهيكلية، إلا أنه لا يحتفظ بالقيود الفيزيائية من برنامج التصميم ثلاثي الأبعاد الأصلي. ويجب إعادة إنشاء هذه القيود يدوياً باستخدام أدوات مثل Animation Blueprints وSockets.

DigiTwin هو مشروع بحث وتطوير من Spyrosoft لإنشاء توأم رقمي لحفارة مادية. يوضح المشروع كيفية استيراد وتجهيز وتحريك نموذج ثلاثي الأبعاد معقد باستخدام Unreal Engine 5.