باختصار
- يُستخدم Virtual Shadow Maps افتراضيًا كطريقة للظلال في مشاريع Unreal Engine الجديدة.
- تقسّم VSM الدقة الافتراضية البالغة 16K × 16K إلى صفحات بحجم 128 × 128 بكسل، وتعالج المناطق المطلوبة فقط.
- القيمة الافتراضية لعدد أشعة Shadow Map Ray Tracing للأضواء الموضعية والاتجاهية هي 8 عند ضبط مقياس الظلال على Epic.
- الظلال غير المخبوزة للأضواء Static وStationary هي معاينة؛ يلزم بناء الإضاءة لرؤية النتيجة النهائية.
صُمم نظام Virtual Shadow Maps (VSM) في Unreal Engine 5 لإنتاج ظلال دقيقة في المشاريع التي تعمل مع هندسة Nanite. ويتطلب اختيار الطريقة المناسبة في مشاهد التصيير المعماري تقييم حركة الإضاءة ونعومة الظلال وتكلفة الأداء معًا. يستند هذا الدليل إلى الوثائق الرسمية لـ Epic Games، ويتناول خطوات الإعداد والتحقق الأساسية في Unreal Engine 5.
1. حدّد طريقة الظلال وحركة الإضاءة
افتح قسم
Engine > Renderingفي إعدادات المشروع، ثم انتقل إلى حقلDirect Lighting. يحدد خيارShadow Map Methodما إذا كان المشروع سيستخدم Virtual Shadow Maps أم Shadow Maps التقليدية. تُعد VSM الطريقة الافتراضية في المشاريع الجديدة. أما المشاريع المنشأة قبل Unreal Engine 5.0، فيلزم تفعيل VSM من إعدادات المشروع أو باستخدام متغير وحدة التحكمr.Shadow.Virtual.Enable.تحقّق مما إذا كان المشهد يستخدم Nanite. صُممت VSM للعمل مع Nanite؛ وقد لا تكون خيارًا مناسبًا لمنصة مستهدفة أو مشروع لا يستخدم Nanite. لا تُدعم خرائط الظلال التقليدية مع أضواء Stationary في المشاريع التي تستخدم Nanite؛ لذا ينبغي اختيار Movable Lights أو VSM في هذه الحالة.
اختر إعداد
Mobilityللأضواء وفقًا لاحتياجات المشهد. تُخبز إضاءة Static مسبقًا في lightmaps. وعند تفعيل VSM، تُحسب الإضاءة المباشرة والظلال لأضواء Stationary ديناميكيًا، بينما تُحافَظ على الإضاءة غير المباشرة المستمدة من lightmaps، إن وُجدت. أما أضواء Movable فتُستخدم لإنشاء الظلال الديناميكية. ويمكن ضبط حركة كل ضوء على حدة.
يسهّل هذا التمييز تحديد الإضاءة التي ستُجهّز مسبقًا في المشهد الداخلي، وتلك التي ستتغير أثناء العمل أو اللعب. لا تختَر نوع الإضاءة بناءً على مظهر الظل وحده؛ بل خذ أيضًا الحاجة إلى الحساب الآني في الحسبان.
2. تحكّم في نعومة الظلال من خلال مصدر الضوء
افحص الخصائص التي تحدد حجم مصدر الضوء. يؤثر
Source Radiusفي الأضواء الموضعية وSource Angleفي الأضواء الاتجاهية على نعومة الظلال. وكلما زادت زاوية المصدر أو نصف قطره أو ارتفاعه أو عرضه، أصبحت ظلال الأجسام المتأثرة بهذا الضوء أكثر نعومة. يكون نصف قطر مصدر الأضواء الموضعية صفرًا افتراضيًا، بينما تكون زاوية البداية للأضواء الاتجاهية منخفضة.يساعد Shadow Map Ray Tracing (SMRT) المستخدم مع VSM على جعل الظلال البعيدة أكثر نعومة وتحسين التصلّب عند نقاط التلامس. عند ضبط الإعدادات، ابدأ بحجم مصدر الضوء، ثم قيّم خيارات الجودة والأداء. القيم أدناه هي القيم الافتراضية أو النطاقات الموصى بها في الوثائق الرسمية؛ ولا تعني وجود إعداد مثالي واحد لكل المشاهد.
| الإعداد | القيمة الموصى بها | التأثير |
|---|---|---|
| عدد أشعة SMRT للأضواء الموضعية والاتجاهية | القيمة الافتراضية 8 عندما يكون مقياس الظلال Epic | قد يؤدي خفض عدد الأشعة إلى ظهور ضوضاء مرئية في الظل شبه الكامل. |
| العينات لكل شعاع للأضواء الموضعية | النطاق 4–8 | عدد العينات الأقل أقل تكلفة، لكنه يحد من نعومة الظل شبه الكامل الممكنة. |
| العينات لكل شعاع للأضواء الاتجاهية | النطاق 4–8 | يؤثر عدد العينات في التوازن بين إنتاج الظلال الناعمة وتكلفة الحساب. |
| المتغير الذي يحدد عدد أشعة SMRT | عند ضبط القيمة المعنية على 0 | يتعطل SMRT وتعود الظلال إلى نمط حاد بعينة واحدة. |
تحمل المتغيرات الأسماء r.Shadow.Virtual.SMRT.RayCountLocal وr.Shadow.Virtual.SMRT.SamplesPerRayLocal للأضواء الموضعية، وr.Shadow.Virtual.SMRT.RayCountDirectional وr.Shadow.Virtual.SMRT.SamplesPerRayDirectional للأضواء الاتجاهية. وتشير الوثائق إلى أن النطاق 4–8 يعطي نتائج جيدة لعدد العينات. وقد يؤدي تقليل عدد الأشعة أو العينات إلى خفض تكلفة الأداء، لكنه قد يسبب ضوضاء في الظل شبه الكامل أو نعومة غير كافية.
3. قيّم الدقة ومقياس المشهد والأداء معًا
لا تتعامل مع دقة VSM كما لو كانت خريطة كبيرة واحدة، بل قيّمها بوصفها نظام صفحات. يقسّم النظام الدقة الافتراضية البالغة 16K × 16K إلى صفحات بحجم 128 × 128 بكسل؛ ولا تُعالج إلا الصفحات اللازمة لإظلال وحدات البكسل الظاهرة على الشاشة. ويسهم تخزين الصفحات المتاحة من الإطارات السابقة مؤقتًا في تحسين الأداء. وقد تؤدي الأجسام المتحركة أو تغييرات الإضاءة إلى إبطال الصفحات المعنية.
تستخدم الأضواء الاتجاهية بنية clipmap للحفاظ على دقة عالية في المناطق القريبة من الكاميرا، مع تغطية المناطق الأبعد أيضًا. تتمتع كل مستويات clipmap بالدقة نفسها، ويغطي كل مستوى تالٍ ضعف نصف قطر المستوى السابق. افتراضيًا، تُخصّص جداول صفحات افتراضية للمستويات من 6 إلى 22. ويمكن تغيير حدود هذه المستويات باستخدام المتغيرين
r.Shadow.Virtual.Clipmap.FirstLevelوr.Shadow.Virtual.Clipmap.LastLevel؛ لكن راقب احتياجات الظلال في المشهد قبل تعديل الإعدادات.ضع في الحسبان احتمال الاقتراب من حدود الدقة مع الأضواء الموضعية الواسعة. تعمل الأضواء الكاشفة باستخدام VSM واحدة بدقة 16K مع سلسلة mip، بينما تعمل أضواء Point بخريطة مكعبية تضم VSM بدقة 16K على كل وجه. وتوصي الوثائق بتقييم استخدام الأضواء الاتجاهية متى أمكن مع هذه الأضواء الموضعية الكبيرة. ومن ناحية أخرى، في المشاهد التي لا تستخدم Nanite، مثل النباتات الكثيفة، يمكن أن تساعد Distance Field Shadows على خفض التكلفة خارج نطاق مسافة الظلال الديناميكية للأضواء Movable في الأضواء الاتجاهية.
لا تعني الدقة العالية لـ VSM أن كل إعدادات الجودة بلا تكلفة. اختبر مقياس الظلال وأحجام الأضواء ونطاق المشهد معًا. ووفقًا للوثائق، يمكن لخفض انحياز الدقة أن يزيد دقة الظلال، لكنه قد يرفع تكلفة الأداء أيضًا. لذلك، بدلًا من تطبيق دقة أعلى على المشهد كله قبل تحديد المنطقة التي تعاني المشكلة، تحقّق أولًا من التفاصيل المطلوبة فعلًا عند مواقع الكاميرا والأضواء.
4. سير عمل التصيير المعماري والأخطاء الشائعة
في تصيير المشاهد الداخلية، تتمثل أول نقطة للتحقق من أجل الحصول على ظلال أنعم في حجم مصدر الضوء، لا في إضافة Contact Shadows في كل الحالات. وبفضل دقة VSM وموثوقيتها، لا تكون ميزة Contact Shadow ضرورية عادةً للحصول على ظلال تماس حادة، وقد تعطي نتائج أقل دقة من ظلال VSM. ومع ذلك، قد يكون لها استخدام عندما تكون الحاجة إلى مساهمة ظلال أقل تكلفة من أجسام لا تُصيّر في خرائط الظلال.
عند تعديل الأضواء Static أو Stationary، تكون الظلال الظاهرة في Level Editor معاينة إذا لم يكتمل بناء الإضاءة؛ فلا ينبغي اعتبارها النتيجة النهائية. للتحقق من النتائج، ابدأ بناء الإضاءة من القائمة الرئيسية باختيار Build > Build All Levels. وقد تختلف مدة البناء بحسب مواصفات الجهاز وتعقيد المشهد وعوامل أخرى.
أخطاء شائعة:
اختيار طريقة ظلال Stationary التقليدية غير المدعومة في مشروع يستخدم Nanite.
زيادة نصف قطر المصدر أو زاويته من دون التحقق من ضوضاء الظل شبه الكامل وتأثير ذلك في الأداء.
اعتبار ظلال المعاينة لأضواء Static أو Stationary التي لم تُبنَ إضاءتها صورة نهائية.
افتراض أن VSM مناسبة تلقائيًا لكل مشروع لا يستخدم Nanite.
تتمثل الفائدة الرئيسية لـ VSM لفرق العمارة والتصميم الداخلي وarchviz في إمكانية استخدام ظلال عالية التفاصيل مع هندسة Nanite وبحاجة إلى ضبط يدوي أقل. وفي المقابل، ينبغي تقييم المنصة المستهدفة للمشهد وحركة الإضاءة واستخدام Nanite ومقياس الجودة معًا. وفي الفرق التي تعمل على عدة أجهزة كمبيوتر، يساعد تحديد الطريقة المختارة بوضوح في إعدادات المشروع، وإجراء التحقق النهائي على النتيجة المخبوزة في المشاهد التي تتطلب بناء الإضاءة، على جعل سير العمل أكثر قابلية للتوقع.
المصادر
2 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
بالنسبة إلى مكاتب العمارة والتصوير المعماري في تركيا، تكمن القيمة العملية لـ VSM في إمكانية الحصول على ظلال دقيقة مع ضبط يدوي أقل، خصوصًا في المشاهد التي تستخدم Nanite. لكن هذا لا يعني ضرورة اختيار الطريقة نفسها في كل مشروع: فالمشهد الآني واستخدام Nanite وحركة الأضواء هي ما يحدد القرار الأولي. ومن المهم تجربة إعدادات الجودة وفقًا للمشهد، حتى في مشهد داخلي صغير.
ينبغي للفرق، عند تعديل أعداد أشعة SMRT والعينات، قياس الأداء وجودة الصورة معًا، وألا تعتبر المعاينة نتيجة نهائية في المشاهد التي تتطلب بناء الإضاءة. لا تقدم الوثائق الرسمية معلومات عن التراخيص أو الأسعار؛ لذلك لا يمكن استنتاج تكلفة الشراء. كما أن اعتماد مدة بناء Lightmass على مواصفات الجهاز وتعقيد المشهد يجعل إجراء الاختبارات ضروريًا عند التخطيط للأجهزة.
الأسئلة الشائعة
كيف يمكن تفعيل Virtual Shadow Maps في Unreal Engine 5؟
يُختار `Shadow Map Method` من قسم `Direct Lighting` ضمن `Engine > Rendering` في إعدادات المشروع. وقد يلزم تفعيل VSM بشكل منفصل في المشاريع السابقة لـ Unreal Engine 5.0.
هل يلزم استخدام Nanite مع VSM؟
صُممت VSM للاستخدام مع Nanite. وقد لا تكون خيارًا مناسبًا للمشاريع أو المنصات المستهدفة التي لا تستخدم Nanite.
كيف تُضبط الظلال الناعمة في Unreal Engine؟
يؤثر `Source Radius` في الأضواء الموضعية و`Source Angle` في الأضواء الاتجاهية على نعومة الظلال. ويمكن أيضًا استخدام عدد الأشعة وعدد العينات لكل شعاع في إعدادات جودة SMRT.



