مشاكل تتبع الأشعة في ألعاب الجيل التالي: تحليل تتبع الأشعة في لعبة Marvel's Spider-Man remaster





مع اقتراب إطلاق الجيل التالي من وحدات التحكم ، بدأت Insomniac Games في نشر المزيد من المواد التي تكشف عن تفاصيل حول Marvel's Spider-Man و Marvel's Spider-Man: Miles Morales. يستخدم كلا المشروعين تقنية تتبع الأشعة. في رأي Alex Battaglia من Digital Foundry ، إنها تبدو كريمة جدًا ، إن لم تكن ممتازة. ليست سيئة لبداية.



ومع ذلك ، عند قراءة التعليقات على الإنترنت ، واجه قدرًا كبيرًا من الانتقادات فيما يتعلق بتنفيذ التكنولوجيا ، وكذلك معدل الإطارات والقرار. لذلك في فيديو جديد من Digital Foundry ، قرر تقديم نوع من البرنامج التعليمي حول تتبع الأشعة على وحدات تحكم الجيل التالي وشرح سبب ظهوره على هذا النحو في Marvel's Spider-Man.



لذا ، أول الأشياء أولاً. دعونا نناقش بالضبط ما هو تتبع الأشعة في Marvel's Spider-Man على PS5.



عند 30 إطارًا في الثانية بدقة 4K ، يبدو تتبع الأشعة رائعًا. في الوقت نفسه ، كما هو معتاد في ألعاب Insomniac ، قد يتم أو لا يتم استخدام الدقة الديناميكية. هذا هو المكان الذي يتم فيه تطبيق تتبع الأشعة على الانعكاسات داخل اللعبة مثل تلك التي تظهر على أبواب السيارة.







أو في لقطة الشاشة هذه ، حيث ينعكس البطل والمدينة في المسافة في نافذة المبنى.







يستخدم تتبع الشعاع أيضًا لتظليل الخلفية (Ambient Occlusion، AO) ، وفقًا للبيان الصحفي. من الصعب تحديده في لقطات الشاشة أو مقاطع الفيديو. عادةً ما يحاكي AO الظلال من الإضاءة غير المباشرة في المناطق التي يصعب فيها الوصول إلى الضوء المنعكس حول المشهد.







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







تظهر الانعكاسات بدقة 1080 بكسل ، بينما تظهر بقية الصورة بدقة 4K. يشتكي المعلقون ، على سبيل المثال ، من أن الأوراق الموجودة في الانعكاس أكثر ندرة أو غائبة تمامًا من تلك التي يمكن رؤيتها على الشجرة "الحقيقية". أو أن بعض الأشياء داخل اللعبة ، مثل السيارات أو المشاة ، قد لا تظهر في الانعكاسات. أو قلة الظلال. أو إهمال التفاصيل الصغيرة ، مثل بدلة الرجل العنكبوت.







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



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







دعونا نقسم عملية تتبع الشعاع إلى أربع خطوات. لنفترض أننا بحاجة إلى مقابلة 8 مللي ثانية لإنشاء انعكاسات للعبة 30 إطارًا في الثانية بدقة 4K.



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



في الخطوة الثانية ، نطلق أشعة على الهيكل الذي تم إنشاؤه في البداية.







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



الخطوة التالية هي ضرب التظليل أو اختيار لون البكسل.







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







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







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







أحد التحسينات الأولى التي سنستخدمها هو تقليل دقة تتبع الشعاع. سيحد هذا من عدد الأشعة الخارجة ويقلل الوقت المطلوب للخطوتين الثانية والثالثة.







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







دعونا نلقي نظرة على لقطة شاشة من العرض التوضيحي لـ Ghost Runner مع تمكين تتبع الأشعة بدقة 4K على بطاقة رسومات RTX2060 Super. هنا نرى بعض الاختلافات مقارنة بـ Spider-Man. يستخدم Unreal Engine 4 ، الذي تم إنشاء اللعبة عليه ، طريقة تتبع الأشعة التي تكون أغلى قليلاً في الوقت المناسب ، ولكنها أكثر دقة من الناحية البدنية من Spider-Man.







يعمل RTX 2060 Super بطريقة مشابهة لـ RTX 2070 ، وله نفس النطاق الترددي لناقل الذاكرة مثل PS5 ونفس سعة التخزين 8 جيجابايت. من المحتمل أن يكون RTX 2060 Super نقطة انطلاق رائعة للمقارنة مع وحدة معالجة رسومات PlayStation 5.







عندما يتم عرض المشهد بدقة 4K مع الانعكاسات ، ويكون مقدار الانعكاسات على الشاشة صغيرًا كما في حالة البركة الثابتة أعلاه ، فإن وحدة معالجة الرسومات بالكاد تناسبها 30 إطارًا في الثانية. إذا كان هناك المزيد من الديناميكيات في المشهد ، فسيكون معدل الإطارات بالتأكيد أقل. يؤدي تقليل الدقة المحورية لتتبع الشعاع بنسبة 50٪ وبالتالي الدقة الإجمالية إلى 1080 بكسل إلى زيادة الأداء بنحو 27٪ ، مما يترك الموارد المجانية في وحدة معالجة الرسومات لزيادة معدل الإطارات حتى 30 إطارًا في الثانية.







يمكن رؤية المزيد من النتائج الدراماتيكية في المشاهد الأخرى. مثلما هو الحال هنا. يشغل السطح الزجاجي العاكس الشاشة بأكملها تقريبًا. في هذه الحالة ، ينتج عن الانعكاسات بدقة 4K الأصلية معدل إطارات يبلغ 21 إطارًا في الثانية. في الوقت نفسه ، يؤدي خفض دقة الانعكاسات إلى 1080 بكسل إلى زيادة معدل الإطارات بنسبة 58٪ إلى 33 إطارًا في الثانية مع 30 إطارًا في الثانية المطلوبة.



لذلك ، في وحدة معالجة الرسومات بنفس أداء PS5 ، تحتاج إلى استخدام انعكاسات تتبع الأشعة منخفضة الدقة لتتمكن من الحفاظ على معدل إطار ثابت 30 إطارًا في الثانية بدقة 4K الإجمالية. يتضح بعد ذلك سبب استخدام Spider-Man للانعكاسات بدقة 1080 بكسل لتقليل تكلفة تتبع الأشعة.







دعنا نعود إلى مثالنا الحسابي. لقد قللنا من دقة الانعكاسات بحيث أصبحت المرحلتان الثانية والثالثة الآن أقل استهلاكا للوقت. لكننا ما زلنا لا نلائم الميزانية المعينة لمدة الإطار.



دعنا نحاول تقصير وقت الخطوة الأولى عن طريق تقليل الديناميكية أو عدد العناصر فيما يتعلق بتتبع الشعاع الذي سيتم تنفيذه. لذلك ، في لقطات الشاشة الموضحة سابقًا ، ربما تكون بعض العناصر الديناميكية مفقودة في الانعكاسات. أو هنا ، في فيديو لعبة Miles Morales ، في مشاهد الحشد ، يمكنك أحيانًا ملاحظة أن بعض الشخصيات غير القابلة للعب لا تنعكس على الأسطح.







نعلم من خبرة المطورين الآخرين أن رسم العديد من الشخصيات على الشاشة يمكن أن يكون مكثفًا للموارد. على سبيل المثال ، تستغرق بعض المشاهد في Metro Exodus مع الكثير من الشخصيات على RTX 2080 Ti أكثر من 4 مللي ثانية لتقديمها. في حالتنا ، سيكون هذا نصف الميزانية المخصصة.



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







ومع ذلك ، قد لا تكون النتيجة مثيرة للإعجاب كما نرغب.



على سبيل المثال ، ألق نظرة على لقطات الشاشة هذه لـ Battlefield V.











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







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







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







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



لنلق نظرة على لقطة شاشة مدينتنا مرة أخرى. في الانعكاس على النافذة ، يمكنك رؤية عدد أقل من الأوراق أو حتى مفقودة مقارنةً بكيفية ظهورها في نموذج الشجرة الأصلي. يتم تصنيف الأوراق هنا على أنها شفافة ، وبالنسبة للأجسام الشفافة ، تستغرق الخطوة الثانية من خط الأنابيب وقتًا أطول. نحن نعلم ذلك من خلال تجربة Battlefield V ، حيث تجعل الجسيمات والانعكاسات بعض المشاهد باهظة الثمن.



صورة



بالنسبة إلى Spider-Man ، يمكننا تقليل عدد الأوراق على الأشجار في الانعكاسات قبل الخطوة الثانية. سنقوم أيضًا بعمل ذلك بحيث لا تتم معالجة تأثيرات الجسيمات عن طريق تتبع الأشعة ، كما هو الحال هنا ، حيث لا يتم عرض الضباب في الانعكاس.







نحن الآن نلائم ميزانية الإطار تقريبًا ، لكننا ما زلنا نتجاوزها قليلاً.







يمكن إجراء التحسين الأخير في الخطوة الثالثة ، حيث نستخدم التظليل.



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







لا حرج في ذلك ، حيث أن العديد من الألعاب التي تستخدم تتبع الأشعة ، مثل Wolfenstein: Youngblood ، تستخدم نفس الأسلوب.







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







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



All Articles