استخدام خريطة إضاءة عامة في جودو

من موسوعة حسوب

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

يمكن لخرائط الإضاءة المثبتة أن تكون ساكنة بالكامل على عكس VoxelGI وSDFGI، إذ أنه لا يمكن التعديل عليها بعد أن تُثبَّت، كما أنها تزود المشهد بانعكاسات فاستخدام مناظير الانعكاس reflection probes مع بيئة داخلية (أو استخدام السماء كبيئة خارجية) هو متطلّب للحصول على جودة جيدة.

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

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

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

انظر أيضًا: لستَ متأكدًا إذا ما كانت LightmapGI مناسبة لاستخداماتك؟ انظر إلى أي تقنيات الإضاءة العامة يجب علي أن استخدمها؟ للحصول على مقارنة لتقنيات الإضاءة العامة في جودو 4.

مقارنة بصرية

دون LightmapGI
مع LightmapGI (وبوجود إضاءة مثبتة مباشرة فقط) مع كون الإضاءة المباشرة موجودة في الوقت الفعلي مما يسمح بتغييرات طفيفة خلال اللعب
مع LightmapGI (وبوجود إضاءة مثبتة مباشرة وغير مباشرة) تقدم أفضل أداء مع دقة أقل للبصريات. لاحظ ظل الشمس المشوش في الزواية اليمنى العلوية.

مقارنة بصرية

إليك بعض المقارنات بين LightmapGI وVoxelGI، لاحظ أن خرائط الإضاءة أدق إلا أنها تشكو من وجود ملمس غير مغلّف لذا فإن الانتقالات والدقة ليست ذات جودة عالية، وبينما تبدو VoxelGI أقل دقة (بما أنه تقريب) إلا أنها أكثر سلاسة عمومًا.


إن SDFGI هي أيضًا أقل دقة مقارنة مع LightmapGI إلا أن SDFGI يمكن أن يدعم عوالمًا مفتوحة كبيرة دون الحاجة للتثبيت.

الضبط

على الكائنات أن تُثبَّت باستخدام طبقة UV2 وحجم ملمس قبل أن تصبح خريطة الإضاءة قادرة على فعل أي شيء، وطبقة UV2 هي مجموعة من إحداثيات الملمس التي تضمن أن أي سطح في الكائن يحتوي على خريطة UV خاصة به، إذ أنه لا يجب على أي سطح مشاركة البكسلات في الملمس.

هناك عدة طرق للتأكد من أن الكائن يحتوي على طبقة UV2 فريدة من نوعها وحجم ملمس:

إلغاء التغليف عند استيراد المشهد (يُنصح به)

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

حدد المشهد المستورد من نافذة نظام الملفات ومن ثم اذهب إلى نافذة الاستيراد Import إليك الخيار التالي الذي يمكنك تعديله:


يجب أن يُضبط خيار الشبكات meshes > تثبيت الضوء light baking إلى خرائط إضاءة ساكنة Static Lightmaps (VoxelGI/SDFGI/LightmapGI):


يمكنك عند إلغاء التغليف وقت الاستيراد تعديل حجم الملمس باستخدام الخيار الموجود من شبكات meshes > حجم ملمس خارطة الإضاءة Lightmap Texel Size، إذ إن القيم المنخفضة ستؤدي إلى خرائط إضاءة أكثر تفصيلًا مما يمكن أن يؤدي إلى جودة بصرية أعلى على حساب وقت التثبيت الأطول وحجم ملف أكبر لخريطة الإضاءة، القيمة الافتراضية لهذا الخيار هو 0.2 وهو مناسب للمشاهد الصغيرة أو المتوسطة، ولعلك ستحتاج زيادته إلى 0.5 أو أكثر إذا كان حجم المشهد كبيرًا، وهذا خصوصًا في حال كنت تثبت الضوء غير المباشر فقط، بالنظر إلى أن الضوء غير المباشر هو عبارة عن بيانات منخفضة التردد (مما يعني أنها لا تحتاج إلى ملامس عالية الجودة ليتم تمثيلها بشكل صحيح).

تأثير ضبط هذا الخيار هو أن جميع الشبكات ضمن المشهد ستحتوي على خرائط UV2 مولّدة بشكل صحيح.

تحذير: عند إعادة استخدام الشبكة ضمن المشهد عليك أن تتذكر أن UV سيتم توليده لأول نسخة موجودة، وإذا أعيد استخدام الشبكة باستخدام قياسات مختلفة (وكانت القياسات مختلفة بشكل كبير ككونها أكبر من النصف أو الضعف) فإن ذلك سيؤدي للحصول على خرائط إضاءة غير عملية، ولتجنب ذلك عليك تعديل خاصية قياس خريطة الإضاءة Lightmap Scale في قسم GeometryInstance3D لعقدة MeshInstance3D، وذلك من شأنه أن يزيد دقة التفاصيل لخريطة الإضاءة لعقد MeshInstance3D (لا أن يُنقصها). كما أن ملفات ‎*.unwrap_cache يجب ألّا يتم تجاهلها في التحكم بالإصدار، وذلك بما أن هذه الملفات تضمن أن إعادة توريد UV2 هي عملية ثابتة بغض النظر عن اختلاف المنصات وإصدار المحرك.

إزالة التغليف ضمن جودو

تحذير: إذا تم استخدام عملية قائمة الشبكة هذه على مشهد ثلاثي الأبعاد مستورد فإن UV2 المولّد سيتم فقدانه عند إعادة تحميل المشهد

يوجد في جودو خيار لإزالة تغليف الشبكات وتمثيل قنوات UV بصريًا، ويمكنك إيجاد هذا الخيار بعد تحديد عقدة MeshInstance3D في قائمة الشبكة Mesh أعلى نافذة المحرر ثلاثي الأبعاد:


سيولد ذلك مجموعة ثانية من إحداثيات UV2 التي يمكن استخدامها للتثبيت كما سيولد أيضًا مجموعة من حجم الملمس تلقائيًا.

إزالة التغليف من برنامج النمذجة ثلاثي الأبعاد

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

يمكنك إزالة التغليف ببساطة عن طريق طبقة UV2.


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


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

توليد UV2 لشبكات أولية

ملاحظة: هذا الخيار متاح فقط للشبكات الأولية primitive meshes مثل BoxMesh وCylinderMesh وPlaneMesh وغيرها

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

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

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

التحقق من UV2

يمكن تمثيل إحداثيات ملمس UV2 بصريًا ضمن قائمة الشبكة Mesh المذكورة سابقًا، ويمكنك التحقق من أن الشبكات لديها إحداثيات UV2 إذا واجهت خطئًا ما:

إعداد المشهد

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


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

إعداد الشبكات

تحتاج عقدة MeshInstance3D أن يُضبط نمط التثبيت إلى ساكن Static حتى تأخذ دورًا في عملية التثبيت، ويتم تجاهل الشبكات التي تحتوي قيمة معطل Disabled أو ديناميكي Dynamic بواسطة خريطة الضوء.


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

إعداد الأضواء

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

يمكن تعطيل الأضواء (دون تثبيت) أو تثبيتها بشكل كامل (مباشر وغير مباشر) ويمكن التحكم بذلك الأمر عن طريق قائمة نمط التثبيت Bake Mode في الأضواء:

الأنماط هي كما يلي:

معطّل

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

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

ديناميكي

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

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

ساكن

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

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

بما أن أنماط التثبيت تُعدَّل بناءً على الضوء، فمن الممكن إنشاء إضاءة هجينة مثبتة، والخيار الأكثر شعبيةً بهذا الخصوص هو إنشاء DirectionalLight في الوقت الفعلي مع نمط التثبيت الديناميكي Dynamic واستخدام نمط التثبيت الساكن Static لكل من OmniLights وSpotLights، فهذا من شأنه أن يقدم أداءً جيدًا مع السماح بالكائنات الديناميكية أن تُسقط ظلًا في الوقت الفعلي على المناطق الخارجية.

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

التثبيت

انقر على تثبيت خرائط الإضاءة Bake Lightmaps في أعلى المحرر ثلاثي الأبعاد بعد تحديد عقدة LightmapGI للبدء بعملية التثبيت:


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

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

تعديلات

  • الجودة Quality: هناك أربع أنماط لجودة التثبيت؛ وهي منخفض ومتوسط ومرتفع وعالي الجودة. تأخذ الجودة الأعلى وقتًا أطولا إلا أنها تعطي خريطة ضوء بشكل أفضل وبتشويش أقل، والفرق مُلاحظ بالأخص عند التعامل مع المواد المشعة أو المناطق التي تكون فيها الإضاءة المباشرة قليلة أو معدومة. يمكن تعديل نمط الجودة من خلال إعدادات المشروع Project Settings.
  • الارتداد Bounces: عدد الارتدادت المستخدمة للإضاءة غير المباشرة، والقيمة الافتراضية لها (3) مناسبة بالنسبة للجودة ووقت التثبيت، وتتسبب القيم الأعلى بارتداد الضوء مرات أكثر قبل أن يتوقف مما يجعل من الإضاءة غير المباشرة تبدو سلسلة أكثر (وساطعة أكثر). يُنصح عند بداية ضبط الإضاءة أن تُضبط القيمة إلى 1 لتسريع عملية التثبيت. تذكّر أن المشهد سيكون مظلمًا أكثر عند تقليل قيمة الارتداد.
  • الاتجاه Directional: يخزّن معلومات خريطة الإضاءة إذا تم تفعيله، وهذا يحسن من مظهر المواد العادية للأسطح المثبتة خصوصًا مع الأضواء المثبتة بالكامل (بما أنها تحتوي على أضواء مباشرة مثبتة أيضًا). المقايضة هنا هو أن خرائط الإضاءة الاتجاهية تتطلب مواردًا أكثر لتصييرها، كما أنها تتطلب وقتًا أطول لتثبيتها وتنتج بأحجام ملفات أكبر.
  • الداخلي Interior: لن تصبح إضاءة البيئة مصدرية إذا تم تفعليه، استخدم ذلك فقط للمشاهد الداخلية لتجنب مشكلة تسريب الإضاءة.
  • استخدام تقليل الضجيج Use Denoiser: يستخدم OpenImageDenoise عند تفعيله لجعل خريطة الإضاءة أقل ضجيجًا، مما يزيد وقت التثبيت وقد يتسبب بوجود أخطاء، إلا أن النتيجة تستحق العناء. جميع أنماط التثبيت على الضوء ستتسبب بتحول الأضواء الملونة إلى إضاءة رمادية وهذا يمكن تعطيله مع HDR للحصول على أصغر حجم لخريطة إضاءة ممكن مقارنةً بالجودة.
  • الانحياز Bias: تُستخدم قيمة الإزاحة هذه على الظلال في الوحدات ثلاثية الأبعاد، وليس عليك عادةً تغييرها إلا إن أردت الحصول على مشاكل تسريب ضوء أو بقع مظلمة في خريطة الإضاءة بعد التثبيت. لا يؤثر هذا الإعداد على ظلال الوقت الفعلي المُسقطة على الأسطح المثبتة (أو الأضواء بنمط تثبيت ديناميكي Dynamic).
  • حجم الملمس الأعظمي Max Texture Size: الحجم الأعظمي للملمس لأطلس الملمس المولّد، وستؤدي القيم الأكبر بتوليد شرائح أقل إلا أنها قد لا تعمل على جميع الأجهزة بسبب محدوديات العتاد الصلب على أحجام الملامس. اترك هذه القيمة إلى القيمة الافتراضية 16384 إن لم تكن واثقًا مما تفعله.
  • البيئة Environment > النمط Mode: يتحكم بكيفية تجميع إضاءة البيئة عند تثبيت خرائط الإضاءة، والقيمة الاعتيادية مشهد Scene مناسبة للمراحل التي تحتوي على أجزاء خارجية، وإلا فاضبط القيمة إلى معطل Disabled في حال المشاهد الداخلية لتفادي مشكلة تسريب الإضاءة ولتسريع عملية التثبيت. يمكن ضبط هذه القيمة إلى سماء مخصصة Custom Sky أو لون مخصص Custom Color لاستخدام إضاءة البيئة التي تختلف عن السماء الخاصة ببيئة المشهد.
  • مسابر التوليد Gen Probes > قسم فرعي Subdiv: انظر إلى الكائنات الديناميكية.
  • البيانات Data > بيانات الضوء Light Data: انظر إلى بيانات خريطة الضوء.

موازنة وقت التثبيت مع الجودة

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

تقليل دقة خريطة الإضاءة بزيادة قيمة حجم ملمس خريطة الإضاءة Lightmap Texel Size على المشاهد ثلاثية الأبعاد المستوردة سيسرّع من عملية التثبيت بشكل ملحوظ، إلا أن ذلك سيتطلب منك إعادة استيراد جميع المشاهد ثلاثية الأبعاد التي تحتوي على خرائط الإضاءة قبل أن تستطيع تثبيت خرائط الإضاءة مجددًا.

الكائنات الديناميكية

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

يتم استخدام نظام مسبار ثلاثي الأبعاد لعرض الإضاءة غير المباشرة على الكائنات الديناميكية وذلك بنشر مسابر الإضاءة ضمن المشهد، وعند تثبيت خريطة الإضاءة فإن رابط خريطة الإضاءة يحسب كمية الضوء غير المباشر المُستقبل من المسبار. لا يُخزَّن الضوء المباشر ضمن مسبار الضوء حتى لو كان نمط تثبيت الأضواء ساكن Static (بما أن الكائنات الديناميكية تستمر بإضائتها بالوقت الفعلي).

هناك طريقتان لإضافة مسبار ضوء إلى المشهد:

  • تلقائي Automatic: يضبط مسابر التوليد Gen Probes > قسم فرعي Subdiv إلى قيمة مختلفة عن معطل Disabled، ومن ثم يثبت خرائط الإضاءة. القيمة الافتراضية هي 8 إلا أنه يمكنك اختيار قيمة أكبر لتحسين الدقة على حساب وقت التثبيت وحجم الملف الناتج.
  • يدوي Manual: بالإضافة إلى أو كبديل لتوليد المسابر تلقائيًا يمكن إضافة مسابر الإضاءة بشكل يدوي بإضافة عقد LightmapProbe إلى المشهد، وقد يسبب ذلك بتحسين في دقة الإضاءة في مناطق شائعة الزيارة بواسطة الكائنات الديناميكية. يجب عليك تثبيت الإضاءة مرة أخرى بعد وضع عقد LightmapProbe في المشهد حتى تصبح فعالة.

ملاحظة: ستلاحظ وجود كرات بيضاء بعد تثبيت خرائط الإضاءة في المشهد ثلاثي الأبعاد، وهي تمثل كيف سيؤثر الضوء المثبت على الكائنات الديناميكية، ولن تظهر هذه الكرات في مشروعك عند تشغيله. إن أردت إخفاء هذه الكرات في المحرر يمكنك تعديل الخيار من العرض View > الأدوات Gizmos > إضاءة خريطة الإضاءة العامة LightmapGI أعلى المحرر ثلاثي الأبعاد (ستظهر أيقونة عين مُغلقة تدل على أن الأداة مخفية).

بيانات خريطة الضوء

تحمل خاصية البيانات Data > بيانات الضوء Light Data في عقدة LightmapGI بيانات خريطة الإضاءة بعد التثبيت، ويتم حفظ الملامس إلى القرص إلا أنها تحتوي على البيانات من الكائنات الديناميكية وهي كمية كبيرة. إذا كنت تستخدم مشهدًا بتنسيق ‎.tscn فعليك حفظ هذا المورد إلى ملف ثنائي خارجي بلاحقة ‎.lmbake لتجنب وجود بيانات كثير في مشهد ‎.tscn مع ترميز البيانات الثنائية بصيغة Base64.

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

مصادر