نظرًا لأن شركات البحث والتطوير المختلفة تتبنى هياكل مختلفة (تبني المشروع + الهيكل التنظيمي المتوسط)، فإنها تركز بشكل مختلف على المشاريع والمنظمات المتوسطة، بعضها مشاريع قوية وضعيفة هناك بعض المشاريع المتوسطة القوية والمشاريع الضعيفة. لذلك، تحلل هذه السلسلة من المقالات بشكل أساسي الوظائف والعمليات التي ينطوي عليها تطوير اللعبة. بناءً على ذلك، تحلل المقالة الثانية في هذه السلسلة بشكل أساسي الإنتاج الصناعي والإنتاج (الفن والتكنولوجيا) لألعاب Web3. بعد الموافقة على مشروع اللعبة، حدد مخططو اللعبة التفاصيل مثل طريقة اللعب الأساسية وإمكانية اللعب، بما في ذلك نمو الشخصية وتوجيه سلوك اللاعب والخرائط والمؤامرة وما إلى ذلك. لذلك، يحتاج تخطيط اللعبة إلى التواصل مع الفن والتكنولوجيا لدفع تطوير ألعاب Web3 إلى مرحلة التصميم والتطوير.
الإنتاج الصناعي والإنتاج : نظرة عامة على الجزء الفني
عندما تكون متطلبات التخطيط واضحة، تحتاج تقنية الواجهة الأمامية والخلفية للعبة وفرق البرامج الفنية الأخرى إلى تنفيذ اللعبة التصميم المقترح من قبل إدارة التخطيط وكتابة كود اللعبة لضمان التنفيذ الفني للعبة. في عملية التنفيذ المحددة، يمكن تقسيمها إلى برامج الواجهة الأمامية وبرامج الواجهة الخلفية. تحتاج العملية الرئيسية إلى إدارة عملية التكنولوجيا بأكملها، بما في ذلك على سبيل المثال لا الحصر تحديد خطة التنفيذ الفني الرئيسية، وتحسين الأداء المتنوع، وتوجيه بناء الإطار الأساسي.
برنامج الواجهة الأمامية: عرض التراكب والتحسين والمنطق وما إلى ذلك، بما في ذلك الصوت الملفات وملفات الصور ومعالجة الملفات النصية.
برنامج الواجهة الخلفية: يغطي جانب الخادم، بما في ذلك على سبيل المثال لا الحصر بنية قاعدة البيانات ونقل البيانات والتحقق والتخزين والاتصال الخ.
الصورة أدناه توضح عرض Web3 Gaming في كل جزء من واجهة البرنامج الأمامية والخلفية -نهاية البرنامج. وسيتم تحليل الجزأين بالتفصيل لاحقا.
الإنتاج الصناعي والإنتاج: الواجهة التقنية
< p style ="text-align: left;">يركز تطوير برنامج الواجهة الأمامية للعبة على واجهة اللعبة والتفاعل وتجربة المستخدم. وفيما يتعلق بالتفاعل وتجربة المستخدم، فمن الضروري التركيز على التفاعلية وتجربة المستخدم للعبة، والتي تشمل تصميم وتنفيذ واجهة اللعبة (UI)، وتطوير نظام تفاعل المستخدم (UI)، و إنشاء الرسوم المتحركة والمؤثرات البصرية. بالإضافة إلى ذلك، يضمن مهندسو الواجهة الأمامية أن تتمتع اللعبة بتجربة مستخدم متسقة عبر منصات مختلفة، بما في ذلك أجهزة سطح المكتب والأجهزة المحمولة. فيما يتعلق بتنفيذ منطق اللعبة، يحتاج المطورون إلى الانتباه إلى سلوك الشخصيات في اللعبة، وتنفيذ قواعد اللعبة، وإدارة النتائج والتقدم، وآلية الاستجابة للحدث في اللعبة. يحتاج المطورون إلى كتابة تعليمات برمجية فعالة وسلسة تضمن أن تكون طريقة اللعب سلسة وعادلة ومليئة بالتحديات.
لذلك، بناءً على الأهداف المذكورة أعلاه، يحتاج مطورو الواجهة الأمامية إلى استخدام لغات البرمجة ذات الصلة (مثل C#، < code>C++ وما إلى ذلك)، استخدم محركات الألعاب (مثل Unreal وUnity وSource وCryEngine وما إلى ذلك) لإنشاء واجهات اللعبة وضبط تأثيرات تنفيذ الرسوم المتحركة وتأثيرات التعبير عن المؤثرات الصوتية وما إلى ذلك. هناك العديد من أدوات محرك اللعبة في السوق التي يمكن للمطورين استخدامها، ويجب تحديد أداة محرك اللعبة المحددة بناءً على الاحتياجات المحددة للمطور. تختلف محركات الألعاب المختلفة في التركيز على دعم مجتمع المطورين، وفيما يلي تفضيلات واحتياجات تطوير تكنولوجيا اللعبة لاختيار محرك اللعبة:
متطلبات المشروع: الأنواع المختلفة من الألعاب لها متطلبات مختلفة لاختيار المحرك. على سبيل المثال، بالنسبة لألعاب AAA التي تركز على التأثيرات المرئية، قد يكون Unreal Engine أو CryEngine أكثر ملاءمة، بينما بالنسبة للألعاب الأصغر التي تستهدف منصات الأجهزة المحمولة، قد يكون Unity خيارًا أفضل.
منحنى التعلم ودعم المجتمع: يمكن للمحرك الذي يسهل إتقانه واستخدامه أن يقلل بشكل كبير من صعوبة التطوير. بالإضافة إلى ذلك، يمكن للمجتمع النشط توفير ثروة من الموارد والدعم، مما يسمح للمطورين بالعثور بسرعة على الحلول عندما يواجهون مشكلات.
الأداء والتحسين: تعد إمكانات الأداء والتحسين للمحرك أمرًا بالغ الأهمية لتأثير تشغيل اللعبة.
التكلفة والترخيص: قد تتطلب بعض المحركات الدفع أو لديها متطلبات ترخيص محددة. يحتاج المطورون إلى إجراء مقايضات بناءً على الميزانية واحتياجات المشروع.
قابلية التوسع والتخصيص: مع استمرار تطور صناعة الألعاب، يجب أن تكون محركات الألعاب قادرة على التكيف مع اتجاهات واحتياجات التكنولوجيا الجديدة. إن فهم قابلية التوسع وإمكانيات التخصيص للمحرك يمكن أن يساعد المطورين على الاستعداد بشكل أفضل للتغييرات المستقبلية.
استنادًا إلى تحليل الطلب أعلاه، فيما يلي مقدمة موجزة وتحليل لاثنين من محركات الألعاب التمثيلية، Unity وUnreal Engine .
Unity هو محرك ألعاب يدعم العديد من الأنظمة الأساسية الرئيسية، مثل Windows وMac وiOS ، أندرويد، الخ. تعد Unity قابلة للتخصيص بدرجة كبيرة، مما يسمح للمطورين بكتابة البرامج النصية باستخدام C# أو JavaScript. علاوة على ذلك، توفر Unity مخزنًا غنيًا بالموارد حيث يمكن للمطورين شراء وتنزيل العديد من المكونات الإضافية والنماذج والمؤثرات الصوتية. تشمل المزايا الرئيسية لـ Unity مجتمعًا نشطًا وتوافقًا ممتازًا عبر الأنظمة الأساسية وبيئة تطوير سهلة الاستخدام نسبيًا وعددًا كبيرًا من حزم الجهات الخارجية. يمكن للمطورين إنشاء حزم الميزات الخاصة بهم ووضعها في متجر Unity الرسمي للبيع. يتصفح المتجر حاليًا أكثر من 1.5 مليون مطور شهريًا، مع توفر أكثر من 56000 حزمة. من منظور التسويق وتحقيق الدخل، ستكون Unity أكثر تنوعًا في مسارات وقنوات التسويق، بما في ذلك Monetization SDK، وخدمة الألعاب عبر الإنترنت Unity Game Cloud الشاملة، وخدمة Vivox الصوتية للألعاب، وخدمة استضافة خوادم Multiplay الخارجية، ومنصة توزيع محتوى Unity (UDP). )، بناء سحابة الوحدة وغيرها من الخدمات المتنوعة. من بينها، تتوفر حزمة SDK لتحقيق الدخل للمطورين للوصول إليها، وتعمل Unity بشكل مباشر كبوابة توزيع الإعلانات لتوزيع الإعلانات. حاليًا، حلت هذه الخدمة محل الترخيص التجاري للمحرك وأصبحت مصدر الدخل الرئيسي لشركة Unity. أثبتت الألعاب المشهورة عالميًا مثل "Escape from Tarkov" و"Temtem" وألعاب الهاتف المحمول "Call of Duty" و"Hearthstone" أن Unity هو أحد أفضل محركات الألعاب في السوق. ومع ذلك، فإن تحسين أداء Unity ضعيف نسبيًا، وقدرات المعالجة للمشاهد واسعة النطاق والنماذج عالية الدقة محدودة. تعد تجربة واجهة المستخدم الخاصة بـ Unity أدنى من تجربة Unreal، لذلك يجب على المطورين إضافة العديد من حزم الجهات الخارجية لتحسين وظائف المحرك. وفيما يتعلق بالبرمجة، تستخدم Unity C# وJavaScript، مما يؤدي إلى بعض مشكلات القدرة على التكيف أثناء عملية تطوير Unity. في مارس 2020، أطلقت Unity رسميًا أحدث إصداراتها 2019.3، والتي تتضمن وظيفتي HDRP (High Definition Render Pipeline) وUniversal Render Pipeline URP (التأثيرات المرئية المحسنة وإمكانيات التحسين). وفي الوقت نفسه، تمت إضافة محرر عرض المؤثرات الخاصة ونظام تتبع الألياف في الوقت الفعلي وما إلى ذلك، مما يجعله أكثر قدرة على التكيف مع احتياجات السوق الحالية وتطبيقه في إنتاج ألعاب واسعة النطاق.
Unreal Engine هو محرك ألعاب مفتوح المصدر بالكامل وعالي الأداء معروف بمحرك الرسومات والفيزياء الممتاز. وهو يدعم البرمجة المرئية C++ وBlueprint، ويوفر محرر مواد قويًا ونظام إضاءة لتحقيق رسومات ألعاب واقعية. بالنسبة للمطورين، فإن Unreal ليس مجانيًا للاستخدام فحسب، بل يسمح لهم أيضًا بالبحث عن الأكواد لزيادة تحسين كفاءة التطوير. علاوة على ذلك، يأتي محرك Unreal مع مخططه الخاص، لذلك حتى لو لم تكن مطورًا تقنيًا، يمكنك إكمال تصميم اللعبة من خلال واجهة مرئية من نقطة إلى نقطة. بالإضافة إلى ذلك، يتميز Unreal Engine بالتوافق عبر الأنظمة الأساسية ونظام واجهة مستخدم قابل للتخصيص بدرجة كبيرة. فيما يتعلق بالشحن، تتبنى Unreal نموذج عمل المحرك التقليدي. يتقاضى نموذج الشحن الأول عمولة ثابتة بنسبة 5% على الجزء من إجمالي إيرادات اللعبة الذي يتجاوز مليون دولار أمريكي. نموذج الشحن الآخر هو جمع 12% من الإيرادات من بيع المواد الرسمية أو مواد الطرف الثالث في المركز التجاري . ومن حيث إنتاج اللعبة وشعبيتها، فإن الألعاب ذات الشهرة العالمية مثل "Borderlands" و"Batman: Arkham Asylum" و"Final Fantasy 7 Remake" جميعها تستخدم محرك Unreal. ومع ذلك، يتميز Unreal Engine بمنحنى تعليمي حاد، فمن السهل البدء به ولكن ليس من السهل إتقانه، حيث يستغرق قدرًا معينًا من الوقت والخبرة.
وفقًا لتحليل البيانات بواسطة Medium وJinghe، وصلت حصة Unity في السوق العالمية إلى 49.5% في عام 2021، وحصة Unreal في السوق العالمية 9.7%. %، شكل الاثنان نمط منافسة احتكار ثنائي. يظهر تقرير آخر لأبحاث السوق أنه في عام 2023، سيكون لدى Unity وUnreal Engine حصة سوقية تبلغ 48% و13% على التوالي. يوضح الجدول التالي تحليلاً مقارنًا للرسومات والميزات والتعليمات البرمجية والأداء بين الاثنين.
فيما يتعلق بالتأثيرات المرئية والصورة، فإن التأثيرات التي يمكن أن يحققها Unreal Engine ستكون يكون أفضل قليلا من الوحدة، ولكن الفرق صغير جدا. من وجهة نظر البدء، تعد Unity أسهل للمبتدئين، ويمكن لـ C# الذي تتطلبه Unity عادةً تحقيق سرعة تجميع أسرع ووقت تكرار أقصر، في حين أن Unreal Engine جيد في الرسوم المتحركة ومعالجة الرسومات؛ ، وهو أكثر صعوبة بالنسبة للمبتدئين. في عملية الاستخدام الفعلي، يمكن أيضًا تحقيق التأثيرات التي يمكن تحقيقها وتحقيقها في Unreal Engine من خلال Unity. يمكن لكلا البرنامجين تحقيق أداء رسومات أفضل وأكثر كفاءة من خلال استدعاء واجهات برمجة التطبيقات أو الأدوات. وفقًا للإحصاءات، في العمليات الفعلية، يفضل مهندسو الأكواد الوحدة، بينما يفضل الفنانون التقنيون ذوو المتطلبات الأعلى للرسومات والتعبير محرك Unreal Engine.
وبالمثل، بالنسبة لمطوري تكنولوجيا الواجهة الأمامية، بالإضافة إلى Unity وUnreal، هناك محركات ألعاب أخرى للاختيار من بينها. فيما يلي العديد من محركات الألعاب شائعة الاستخدام للرجوع إليها بواسطة فنيي الواجهة الأمامية:< /p>
يشتهر CryEngine برسوماته عالية الجودة وقوته. محرك الفيزياء. فهو يوفر إضاءة عالمية في الوقت الحقيقي ونماذج ومواد عالية الجودة، مما يمنح المطورين إمكانية إنشاء ألعاب في العالم الحقيقي. ومع ذلك، لدى CryEngine عدد قليل نسبيًا من الوثائق وموارد المجتمع، وقد يكون من الصعب على المبتدئين التعلم.
GameMaker Studio 2 هي أداة لتطوير الألعاب يمكن استخدامها لإنشاء ألعاب ثنائية أو ثلاثية الأبعاد. هناك العديد من الأدوات والمحررين الذين يمكنهم المساعدة في تحقيق أفكار ألعاب المطورين ونقل المشروع النهائي إلى منصات متعددة من نفس الأصول الأساسية الأولية. يوفر GameMaker Studio 2 أيقونة واجهة إجراء السحب والإفلات (DnD™) البديهية وسهلة الاستخدام، مما يسمح لك بإنشاء ألعاب باستخدام منطق الكود الافتراضي. يمكنك أيضًا إنشاء ألعاب باستخدام لغة البرمجة النصية GML، أو حتى الجمع بين الاثنين باستخدام إجراءات DnD™ لاستدعاء الوظائف.
Godot Engine هو محرك ألعاب مفتوح المصدر متعدد الوظائف ومتعدد المنصات ثنائي وثلاثي الأبعاد. يمكن تشغيله على أنظمة التشغيل Windows وmacOS وLinux وأنظمة التشغيل الأخرى. يمكن تشغيل الألعاب التي تنشئها على أجهزة الكمبيوتر الشخصية وAndroid وiOS وHTML5 ومنصات أخرى. من خلال تصميم الألعاب ذات البنية القائمة على العقد، يمكن لتصميم العارض ثلاثي الأبعاد تحسين مظهر الألعاب ثلاثية الأبعاد. وظيفة الألعاب ثنائية الأبعاد مع أدوات مدمجة تعمل في إحداثيات البكسل للتحكم في تأثيرات الألعاب ثنائية الأبعاد.
بغض النظر عن محرك اللعبة الذي تم اختياره، يحتاج مطورو تكنولوجيا الألعاب الأمامية إلى التفكير في الاستخدام الفعلي له. نظرًا لأن ألعاب Web3 هي سلع استهلاكية، فمن المهم الحفاظ على آليات اللعب المتنوعة (مثل التركيز والتعاطف والخيال) والتجارب التفاعلية العاطفية الغامرة (مثل الفرح والخوف والرغبة والنمو والترفيه والاسترخاء والمفاجأة وما إلى ذلك). المستهلكين المستهلكة. يأخذ ما يلي نظام المحاكاة والعرض المادي (نظام العرض/العارض) في عملية اللعبة كمثال لتحليل التفاصيل الفنية ومشكلات تجربة المستخدم التي يحتاج فنيو الواجهة الأمامية إلى أخذها في الاعتبار عند استخدام محرك اللعبة.
إذا لم تكن هناك محاكاة دقيقة للتأثيرات الجسدية، فحتى اللعبة الأكثر روعة ستبدو ثابتة ومملة. تتضمن المشاهد المتنوعة في اللعبة مبادئ فيزيائية ومحركات فيزيائية. محرك الفيزياء هو أحد المكونات التي تقوم بتعيين كائنات عالم اللعبة إلى الخصائص الفيزيائية في العالم الحقيقي (مثل الوزن والشكل، وما إلى ذلك) ويلخصها في نماذج الجسم الصلبة (بما في ذلك البكرات والحبال، وما إلى ذلك)، مما يسمح لكائنات اللعبة بمحاكاة حركة العالم الحقيقي تحت تأثير القوة وعملية التصادم بينهما. أي أنه بناءً على نموذج الميكانيكا الكلاسيكية لنيوتن، يتم حساب حركة كائنات اللعبة ودورانها واصطدامها من خلال واجهة برمجة تطبيقات بسيطة، ويتم حساب تأثيرات الحركة الواقعية والاصطدام. في عملية الحساب، يتم تطبيق النظريات والحسابات من تخصصات متعددة مثل علم الحركة والديناميكيات.
الحركيات: من وجهة نظر هندسية (يشير إلى لا تشمل الخصائص الفيزيائية للجسم نفسه والقوة المؤثرة على الجسم) فرع من الميكانيكا يصف ويدرس التغيرات في موضع الجسم مع مرور الوقت. تدرس حركيات النقاط معادلات الحركة، والمسارات، والإزاحات، والسرعات، والتسارع، وخصائص الحركة الأخرى للنقاط، بالإضافة إلى التحولات في المساحات المختلفة. الكينماتيكا هي فرع من الميكانيكا النظرية التي تستخدم الأساليب الهندسية لدراسة حركة الأجسام. أثناء عملية العمل، تحتاج تكنولوجيا الواجهة الأمامية إلى النظر في إضافة افتراضات لتقليل التعقيد الحسابي مع الاقتراب من القواعد المادية الفعلية قدر الإمكان. تتضمن الافتراضات الشائعة ما يلي: عدم النظر في الحركة تحت تأثير القوى الخارجية، ومعاملة الجسم كمكون هندسي وتجريده كنموذج لحركة الجسيمات، والنظر فقط في خصائص الجسم (مثل الموضع والسرعة والزاوية وما إلى ذلك) .
الديناميكيات: تدرس بشكل أساسي العلاقة بين القوة المؤثرة على جسم ما وحركة الجسم . الهدف البحثي للديناميكيات هو الأجسام العيانية التي تتحرك بشكل أبطأ بكثير من سرعة الضوء. في محرك فيزياء اللعبة، يتضمن بشكل أساسي ديناميكيات الجسم الصلبة، بما في ذلك النظريات الأساسية لديناميات نظام الجسيمات، ونظرية الزخم، ونظرية عزم الزخم، ونظرية الطاقة الحركية، ونظريات أخرى مشتقة من هذه النظريات الأساسية الثلاثة. من بينها، الزخم ولحظة الزخم والطاقة الحركية هي الكميات الفيزيائية الأساسية التي تصف حركة الجسيمات وأنظمة الجسيمات والأجسام الصلبة. في العمل والهندسة الحسابية، تشمل العوامل والافتراضات التي يجب أخذها بعين الاعتبار ما يلي: تأثير القوى الخارجية على حركة الأجسام، ودور القوى (قوى مثل الجاذبية والمقاومة والاحتكاك تؤثر على وزن الأجسام وشكلها). ، حتى الأجسام المرنة)، وافتراضات الأجسام الصلبة والأشياء الموجودة في اللعبة قريبة من حركتها في العالم الحقيقي، وما إلى ذلك.
باستخدام محرك الفيزياء، يحتاج مطورو الألعاب فقط إلى التفكير في إعطاء أشكال لكائنات اللعبة (يفترض أنها موزعة بشكل موحد) وقوى. يتم إكمال حساب الحركة والاصطدام تلقائيًا بواسطة محرك اللعبة. واستنادًا إلى التحليل أعلاه لمحرك الفيزياء، لا يحتاج الفريق الفني الأمامي إلى استكشاف المعرفة الحركية المعقدة وحساب الاصطدام وتحسينه، ويحتاج فقط إلى إدخال المعلمات في محرك الفيزياء. ومع ذلك، تجدر الإشارة إلى أنه من أجل الاستفادة بكفاءة من المحرك الفيزيائي، لا يحتاج الفريق الفني الأمامي إلى فهم المعرفة الأساسية للحركة الجسدية فحسب، بل يحتاج أيضًا إلى الحصول على نظرة ثاقبة للظواهر الخاصة التي تنتجها المحاكاة المنفصلة للحركة الفيزيائية. لعبة لتجنب تشويه اللعبة. يحتاج فنيو الواجهة الأمامية ذوو الخبرة أيضًا إلى مراعاة طلاقة اللعبة وأداء تشغيل اللعبة وجوانب أخرى.
قبل إنشاء نموذج حركة الجسم الصلبة داخل اللعبة، يجب مراعاة العوامل التالية:
ما إذا كان النموذج الذي يحدده هو جسم صلب، ودرجة تشوهه المرن بعد الضغط عليه؛
< p style="text-align : left;">ما إذا كان شكله وحجمه سيتغيران أثناء الحركة أو بعد التأثير عليه بالقوة؛
إنه في حالة حركة سواء تغير الموضع النسبي لكل نقطة داخل الجسم بعد تحييده أو تعرضه للقوة؛
لذلك، بناءً على التحليل أعلاه، يحتاج فريق الواجهة الأمامية الفني إلى تحديد المركز والشكل والكتلة واتجاه الحركة الأولي ومسار الكائن. علاوة على ذلك، في ضوء جاذبية الجسم وحركته، يحتاج الجسم إلى التركيز على تحديد مركز كتلته. ويفترض أن نموذج الجسم متجانس وأن المركز يتطابق مع مركز الكتلة. عند تحديد حركة جسم ما، من الضروري مراعاة تحليل القوة المؤثرة على الجسم إلى قوة تؤثر على النقطة المركزية ولحظة دوران حول النقطة المركزية. يجب أن تتوافق إعدادات المعلمات الخاصة بها مع فهم اللاعب للأشياء والحركات لخلق شعور بالانغماس. وإلا، سيتصرف اللاعب أثناء اللعبة وسيكون من الصعب خلق مشاعر غامرة. الشكل التالي هو مخطط تحليل القوة وعزم الدوران:
من أجل تحقيق مادية واقعية السلوك، اللعبة تحتاج الكائنات الموجودة فيها إلى التسارع بشكل صحيح (أي بما يتماشى مع الإدراك البشري) وتتأثر بقوى مثل الاصطدامات والجاذبية. أول شيء يجب ملاحظته هو أنه عند ضبط حركة نموذج كائن ثلاثي الأبعاد، يجب عليك تحديد ما إذا كان نموذج الكائن كائنًا محدبًا، أي أن الخط المرسوم بين أي اثنين من رؤوسه لن يترك سطح الكائن. على الرغم من أن معظم الأجسام الواقعية ليست محدبة، إلا أن الأجسام المحدبة في عمليات المحاكاة الفيزيائية غالبًا ما تكون تقريبًا للمثالية. عندما يقوم محرك الفيزياء بحساب ومحاكاة الاصطدامات، يمكن للأجسام المحدبة أن تولد سلوكيات سلبية بشكل أكثر دقة، مثل الاصطدامات والسقوط. تحقق أشكال التصادم المحدبة توازنًا بين أشكال التصادم البدائية والمقعرة ويمكن أن تمثل أي شكل معقد. إن التحكم في الفيزياء من خلال البرامج النصية يمكن أن يمنح الأشياء الخصائص الديناميكية للمركبات والآلات وحتى القماش. بالطبع، يمكن أن تكون شبكة الإدخال مقعرة وسيقوم محرك الفيزياء بحساب أجزائها المحدبة. اعتمادًا على مدى تعقيد الكائن، غالبًا ما يؤدي استخدام أشكال محدبة متعددة إلى أداء أفضل من استخدام أشكال تصادم مقعرة. يسمح محرك جودو بتوليد أشكال محدبة تتطابق تقريبًا مع الأجسام المجوفة من خلال التحلل المحدب، لكن ميزة الأداء هذه تتضاءل عندما يصبح عدد الأشكال المحدبة كبيرًا جدًا. بالنسبة للكائنات المعقدة الكبيرة، مثل المستويات بأكملها، يوصى باستخدام الأشكال المقعرة. عند نمذجة شكل كائن، تشمل الأنواع المرجعية الشائعة الاستخدام الكرة (SPHERE)، والمكعب (BOX)، والكبسولة (CAPSULE)، والأسطوانة (CYLINDER)، والبدن المحدب (CONVEX_HULL)، وما إلى ذلك. يمكنك إضافة نقطة مركزية، وزاوية دوران، الحجم والمعلمات الأخرى للاستخدام التقني للواجهة الأمامية.
عند محاكاة حركة الكائن، يلزم إجراء عمليات حسابية إضافية. قد تفشل إضافة محرك فيزيائي عند استيراد النموذج، لذا يمكنك لف الكائن بشبكة بسيطة والسماح لوضعية الكائن بتتبع الشبكة. يمكن إضافة الشبكة التي تم إنشاؤها باستخدام Babylon مباشرة باستخدام السمات المادية، أو يمكن إنشاؤها باستخدام تظليل مخصص. على الرغم من أن التظليل المخصص أكثر تعقيدًا، إلا أن التنفيذ أفضل. أثناء العمل في المحرر، يمكن إنشاء شكل تصادم محدب واحد أو أكثر عن طريق تحديد مثيل الشبكة واستخدام قائمة الشبكة الموجودة أعلى منفذ العرض ثلاثي الأبعاد. يوفر المحرر وضعين للإنشاء:
إنشاء تصادم محدب واحد باستخدام Quickhull < /code> الخوارزمية التي تنشئ عقدة ColisionShape باستخدام شكل تصادم محدب يتم إنشاؤه تلقائيًا. نظرًا لأنه يتم إنشاء شكل واحد فقط، يكون الأداء أفضل ومناسبًا لنماذج الكائنات الصغيرة.
إنشاء تصادمات محدبة متعددة باستخدام خوارزمية V-HACD، يمكن إنشاء عدة عقد ColisionShape. كل عقدة لها شكل محدب. أكثر دقة بالنسبة للأجسام المقعرة على حساب الأداء حيث يتم إنشاء أشكال متعددة. بالنسبة للأجسام ذات التعقيد المعتدل، قد يكون أسرع من استخدام شكل تصادم مقعر واحد.
وبالنسبة لأشكال التصادم المقعرة، فإن المقعرة هي الخيار الأبطأ، ولكنها أيضًا الأكثر دقة في جودو. لا يمكن استخدام الأشكال المقعرة إلا في StaticBodies. لا يمكن استخدام الأجسام الصلبة مع الأجسام الحركية أو الأجسام الصلبة إلا إذا كان وضعها ثابتًا. عند عدم استخدام GridMaps لتصميم المستوى، فإن الأشكال المقعرة هي أفضل طريقة لتصادم المستوى. يمكنك أيضًا إنشاء شبكة تصادم مبسطة في العارض ثلاثي الأبعاد والسماح لـ Godot بإنشاء أشكال تصادم لها تلقائيًا. يمكن إنشاء أشكال تصادم مقعرة من المحرر عن طريق تحديد Meshlnstance واستخدام قائمة Mesh الموجودة أعلى منفذ العرض ثلاثي الأبعاد. يعرض المحرر خيارين:
إنشاء جسم Trimesh الثابت ينشئ محتوى وشبكة تتطابق الهندسة الجسم الثابت المقعر.
إنشاء Trimesh Collision Sibling ينشئ عقدة CollisionShape التي يتطابق شكلها المقعر مع هندسة الشبكة.
للتذكير، يوصى بإبقاء عدد الأشكال صغيرًا قدر الإمكان لتحسين الأداء، خاصة بالنسبة للديناميكيات مثل مثل كائنات RigidBodies وKinematicBodies، تجنب ترجمة CollisionShapes أو تدويرها أو قياسها للاستفادة من التحسينات الداخلية لمحرك الفيزياء. عند استخدام شكل تصادم واحد غير متحول في StaticBody، يمكن لخوارزمية الطور الواسع للمحرك تجاهل PhysicsBodies غير النشطة. إذا واجهت مشكلات في الأداء، فيجب عليك استبدال الدقة. لا تحتوي معظم الألعاب على تصادم دقيق بنسبة 100%، وتجد جميع الألعاب طرقًا مبتكرة لإخفائها أو جعلها غير واضحة أثناء اللعب العادي.
يستخدم المحتوى أعلاه جزء المحاكاة المادية كحالة لتحليل ما يحتاج مطورو الواجهة الأمامية إلى إكماله والاهتمام به؛ وسيتبع ما يلي يعتمد على نظام الرسم (نظام العرض /Renderer) كمثال لتحليل ما يحتاج مطورو الواجهة الأمامية إلى إكماله. يعد نظام الرسم أيضًا أحد أعلى وأصعب أجزاء محرك اللعبة بأكمله. من الناحية النظرية، يحتاج العرض إلى حل جانبين من المشكلات، وهما الرياضيات (الصحة الرياضية والفيزيائية والخوارزمية) ودقة تأثيرات العرض (الإضاءة والزاوية الصلبة والتشتت والانكسار والانعكاس، وما إلى ذلك)، وذلك لجعل المستخدمين يشعرون منغمسين في اللعبة. في عملية التنفيذ والممارسة، يجب حل المشكلات العملية الأربع التالية:
المشهد معقد: كائنات متعددة في كائن واحد يتم عرض المشهد من زوايا متعددة من جوانب العرض، وعند إنشاء كل إطار من شاشة اللعبة، يجب تكرار عمليات متعددة، وفي مشاهد متعددة، سيكون عرض كائنات متعددة بزوايا متعددة أكثر تعقيدًا؛
li>
التكيف المتعمق للأجهزة: تؤثر قدرات الأجهزة مثل أجهزة الكمبيوتر والهواتف المحمولة على تشغيل الخوارزمية وإخراجها. بالنسبة للأجهزة، يجب معالجة العديد من مهام أخذ عينات النسيج التي تستغرق وقتًا طويلاً والحسابات الرياضية الأكثر تعقيدًا، مثل عمليات الدوال المتعالية مثل الجيب وجيب التمام والأسي واللوغاريتمات، وما إلى ذلك. بالإضافة إلى ذلك، يعد دعم العمليات المختلطة الدقة من قبل وحدة الأجهزة الأساسية التي تنفذ العمليات أيضًا أحد الاعتبارات الرئيسية للتكيف العميق للأجهزة؛
ميزانية الأداء: بغض النظر عن كيفية تنفيذها نظرًا لارتفاع متطلبات شاشة اللعبة، يحتاج محرك اللعبة إلى التأكد من أن شاشة اللعبة تكمل العملية الحسابية خلال 33 مللي ثانية (أي 1/30 ثانية). بالنسبة للألعاب واسعة النطاق والغامرة للغاية، قد تتغير شاشة اللعبة بشكل كبير في فترة زمنية قصيرة، ولكن لا يمكن تقصير متطلبات وقت الحساب. علاوة على ذلك، مع تطور صناعة الألعاب، أصبحت متطلبات دقة اللعبة أعلى فأعلى، كما أصبح معدل الإطارات ومتطلبات الإطار لشاشات الألعاب أعلى فأعلى. أصبحت الميزانية الزمنية لكل إطار أصغر فأصغر، ولكن في الوقت نفسه أصبحت متطلبات جودة الصورة أعلى وأعلى؛
تخصيص الميزانية الزمنية لكل إطار من الإطارات شاشة اللعبة: من حيث أداء بطاقة الرسومات من حيث المشاركة، يمكن لوحدة معالجة الرسومات أن تشغل مساحة أكبر من وحدة المعالجة المركزية. لا يمكن لخوارزمية عرض الرسومات أن تشغل موارد حوسبة وحدة المعالجة المركزية الزائدة، ويجب تخصيص موارد الحوسبة لوحدات نمطية أخرى في النظام.
< الشكل>المصدر: تقنية Buming
بناءً على التحليل أعلاه، يعد الحساب أحد أهم الوظائف الأساسية لنظام الرسم والعرض، وهو إجراء عمليات حسابية على عشرات الملايين من القمم والبكسلات ووحدات التشغيل المنطقية والأنسجة. بكل بساطة، في عملية محددة، يتم عرض مستويات متعددة تم إنشاؤها بواسطة مثلثات على مساحة الشاشة بعد المرور عبر مصفوفة الإسقاط؛ ويتم تحويل بيانات القمة إلى أجزاء من خلال التنقيط، ويتوافق كل عنصر في الجزء مع المخزن المؤقت للإطار. بكسل في المنطقة، تقوم هذه العملية بتحويل الصورة إلى صورة ثنائية الأبعاد مكونة من بيانات نقطية. أثناء عملية التلوين والرسم، لكل بكسل صغير، يتم حساب المادة والملمس المقابل للبكسل، ويتم تحويل البكسل إلى اللون المقابل. علاوة على ذلك، من أجل زيادة الانغماس والواقعية، من الضروري ضبط المعلومات مثل الإضاءة وأنماط الكائنات وفقًا للوضع الفعلي، وتقديم التأثير النهائي. بعد ذلك، يتم إنشاء المخزن المؤقت الرأسي والمخزن المؤقت للفهرس، ثم الشبكة يتم نقل البيانات إلى بطاقة الرسومات. العملية المذكورة أعلاه المتمثلة في "عمليات الإسقاط والتنقيط والتظليل والعرض وما بعد المعالجة والإضاءة" هي عملية العرض.
Preview
احصل على فهم أوسع لصناعة العملات المشفرة من خلال التقارير الإعلامية، وشارك في مناقشات متعمقة مع المؤلفين والقراء الآخرين ذوي التفكير المماثل. مرحبًا بك للانضمام إلينا في مجتمع Coinlive المتنامي:https://t.me/CoinliveSG