فكّك الرندر
ما هي تمريرات AOV، وكيف تنقسم صورة CG النهائية إلى ممرات تعود فتجتمع، والعادات التي تُبقي التركيب متعدد الممرات سريعاً ودقيقاً وسهل التعديل حين تصل الملاحظات.
تركيب · ممرات الرندر · 17 min
حين ينهي محرك الرندر ثلاثي الأبعاد إطاراً، فالصورة التي تراها ليست سوى واحد من الأشياء التي يستطيع حفظها. فقد حسب في طريقه كم من الضوء أصاب كل سطح مباشرة، وكم ارتدّ إليه من أسطح أخرى، وأين وقعت اللمعات البرّاقة، وما لون كل خامة، وكم تبعد كل نقطة وإلى أين تتجه. و**AOV**، اختصار arbitrary output variable أي متغيّر إخراج اختياري، هو أيّ من هذه النتائج الوسيطة مكتوباً كصورة مستقلة. ويسمّيها فنانو التركيب أيضاً ممرات الرندر أو عناصر الرندر أو طبقات الرندر، بحسب البرنامج. ومع ممرات AOV المناسبة يستطيع فنان التركيب تغيير سطوع ضوء واحد أو لون جسم واحد أو مقدار تمويه الحركة من دون إعادة اللقطة إلى الرندر. يمرّ هذا المقال على الممرات الأساسية، ويبيّن كيف تعيد بناء الصورة النهائية، ويختم بأفضل الممارسات التي تُبقي التركيب متعدد الممرات صادقاً. كل شكل هنا مرسوم من غرفة صغيرة واحدة تُتتبَّع أشعتها في متصفحك، وممراتها حقيقية: تجتمع فعلاً لتعيد الصورة.
ملاحظات محرك الرندر أثناء العمل
في الواقع تنتقل ممرات AOV لإطار واحد عادة معاً في ملف **OpenEXR متعدد القنوات** واحد. يستطيع EXR تخزين أي عدد من القنوات المسمّاة، فتجلس الصورة النهائية (beauty) في قنوات R وG وB وA المألوفة، ويجلس كل ممر بجانبها كطبقة مستقلة، مثل diffuse_direct.R أو P.X. في Nuke، تجلب عقدة Read واحدة الملف كله، وتسحب عقدة Shuffle الطبقة التي تريدها. أشِر إلى الصورة أعلاه وانظر إلى الأرقام. البكسل نفسه يحمل لوناً في طبقات الإضاءة، ومسافة في العمق، واتجاهاً في الاتجاهات العمودية، وإحداثيات ثلاثية الأبعاد في الموضع. كلها مجرد أرقام في قنوات. ما يتغيّر هو معنى الأرقام، وبالتالي ما يُسمح لك بفعله بها.
تأتي الممرات في عائلتين، والفصل بينهما هو أول أفضل الممارسات. **ممرات الإضاءة** (وتُسمى أيضاً ممرات beauty أو shading) شرائح من الضوء في الصورة: ضوء منتشر يصل مباشرة من مصباح، وضوء غير مباشر ارتدّ عن سطح آخر أولاً، ولمعات وانعكاسات مرآوية، وانبعاث من الأشياء المتوهجة، وفي الإنتاجات الحقيقية أيضاً التشتت تحت السطحي والنفاذ وطبقة الطلاء واللمعان الحريري. اجمعها بعملية plus تحصل على الصورة النهائية. أما **ممرات البيانات** (وتُسمى أيضاً ممرات utility أو تقنية) فليست ضوءاً أصلاً. الألبيدو هو لون السطح، والعمق مسافة، والاتجاهات العمودية اتجاهات، والموضع إحداثيات، ومتجهات الحركة إزاحة بالبكسل، وممر ID يقول أيّ جسم هو أيّ جسم. لا تضيف هذه إلى الصورة أبداً، بل تستخدمها لتتخذ قرارات بشأنها.
لكل محرك رندر أسماؤه الخاصة للأفكار نفسها، والجدول أعلاه قاموس صغير لأربعة محركات شائعة. الصف الأهم هو المظلَّل. في Arnold وV-Ray وRedshift تتضمن ممرات الضوء المنتشر الأساسية لون السطح أصلاً، فتجمعها ببساطة. أما في Cycles من Blender فممرات الضوء المنتشر المباشر وغير المباشر ضوء خالص، وتضربها في ممر Diffuse Color قبل الجمع. ويشرح دليل Blender الوصفة صراحة: كل نوع من الضوء هو اللون مضروباً في مجموع المباشر وغير المباشر. أخطئ في هذا فتخرج إعادة البناء رمادية أو مضاعفة التشبّع. لذا اقرأ توثيق محرك الرندر لديك قبل بناء أي شيء لتعرف الصيغة الدقيقة، واكتبها على ملاحظة لاصقة في السكربت.
اجمعها من جديد، ثم أثبت ذلك
أول ما تفعله بممرات الإضاءة هو جمعها من جديد والتأكد من أن شيئاً لم ينقص. في Nuke هذا يعني عقدة Shuffle لكل ممر وسلسلة من عقد Merge مضبوطة على **plus**، كلها في ضوء خطي، قبل أي تصحيح لوني. ثم اطرح النتيجة من الصورة النهائية الأصلية بعقدة Merge مضبوطة على difference، أو قلّب بين الاثنتين فقط. إعادة البناء المثالية سوداء في كل مكان. إن رأيت توهجاً في الفرق فهناك ممر ناقص: غالباً النفاذ أو التشتت تحت السطحي أو طبقة الطلاء أو ضوء البيئة. وإن رأيت أشكالاً على الحواف فقد رشّح محرك الرندر بعض الممرات بطريقة مختلفة عن الصورة النهائية. فقط حين يصبح الفرق أسود تعرف أن الممرات هي الصورة كاملة، وفقط حينها يصبح تصحيحها آمناً. أطفئ ممراً أعلاه وراقب ذلك الضوء بالضبط يظهر في الفرق.
الألبيدو هو أنفع ممر بيانات لتصحيح الضوء. فالضوء المنتشر هو لون السطح مضروباً في الضوء الذي وصل إليه، لذا قسمة ممر منتشر ملوّن على الألبيدو تترك **الضوء الخام** وحده. والآن يمكن تغيير الاثنين كلٌّ على حدة. صحّح الضوء الخام فتستجيب كل خامة للضوء الجديد بشكل صحيح، اللوحة الزرقاء والكرة البرتقالية على السواء. وغيّر الألبيدو فيأخذ الجسم لوناً جديداً مع الاحتفاظ بظلاله وتظليله، وهي طريقة سريعة للإجابة عن سؤال «هل نرى الصندوق بالأحمر؟» من دون إعادة رندر. تنبيهان. حيث يكون الألبيدو صفراً أو قريباً من الصفر تنفجر القسمة، فقيّدها أو احمِها، واترك البكسلات كما هي حيث الألبيدو أسود. وعملية الضرب من جديد يجب أن تستخدم الألبيدو نفسه تماماً الذي قسمت عليه، وإلا التقطت الحواف والملمس هالات.
متى صارت إعادة البناء دقيقة، صار كل ممر مقبضاً. اخفض الممر غير المباشر فتصبح الغرفة أكثر قتامة وتبايناً. ادفع الممر المرآوي فتبدو الكرة والصندوق أكثر لمعاناً. ارفع الانبعاث فتتّقد اللوحة على الجدار الخلفي أكثر. والأشرطة بجانب الصورة هي الإحصائية التي تستحق أن تبقى في ذهنك: في هذه الغرفة يحمل الضوء المنتشر المباشر معظم الإطار، فالتغييرات الصغيرة هناك تحرّك الصورة كلها، بينما الممر المرآوي شريحة صغيرة من الطاقة تلاحظها العين أولاً مع ذلك. صحّح الممرات بالتضخيم (gain) وبالستوبات، لا بـ lift أو gamma، لأن الضرب يُبقي الممرات تجتمع بالطريقة التي يجتمع بها الضوء فعلاً. وأبقِ كل تصحيح صغيراً أيضاً. فالممر المدفوع ستوبات كثيرة بعيداً عمّا تركته الإضاءة يعني عادة أن اللقطة تحتاج ملاحظة إضاءة، لا إصلاحاً في التركيب.
يمكن أيضاً تقسيم ممرات الإضاءة بطريقة ثانية: بحسب الضوء بدلاً من النوع. **مجموعة الضوء** (يسمّيها Arnold مجموعة ضوء AOV، وV-Ray عنصر Light Select، وRedshift وBlender مجموعة Light Group) هي صورة نهائية يصنعها ضوء واحد أو مجموعة أضواء فقط. اجمع المجموعات كلها فتعود إلى الصورة النهائية. في غرفتنا ضوء رئيسي دافئ من اليمين، وضوء مالئ بارد من اليسار، وسماء من فوق، ويمكنك الآن موازنتها كمخفّتات على طاولة إضاءة. هذا هو الممر الذي يوفّر أكبر عدد من إعادات الرندر، لأن أكثر ملاحظة شيوعاً على لقطة CG هي «قليل من المالئ» أو «اجعل الرئيسي أدفأ». ومحركات الرندر التي تدعم تعابير مسار الضوء، مثل Arnold وRenderMan وKarma في Houdini، تتيح لك الذهاب أبعد ودمج التقسيمين، مثلاً اللمعات المرآوية من الضوء الرئيسي وحده، لكن كل ممر إضافي يعني مساحة قرص أكبر، فاطلب المجموعات حيث يُرجّح أن تقع الملاحظات.
أقنعة وضباب وتمويه وضوء من الأرقام
**ممر العمق**، Z، يخزّن كم يبعد كل بكسل عن الكاميرا. استخداماه الكلاسيكيان هما الجو وعمق الميدان. فالضباب والغبش والمنظور الجوي مزجٌ نحو لون الضباب يزداد مع المسافة، كما في الشكل، وعقدة ZDefocus في Nuke تستخدم الممر نفسه لتمويه كل بكسل بحسب بعده عن مستوى التركيز. انظر إلى المدرّج التكراري: معظم بكسلات هذه الغرفة تقع بين ثلاثة وتسعة أمتار تقريباً، فهناك تعمل أدوات التحكم بالضباب. ويرافق Z أفضل ممارستين. أولاً، اعرف الاصطلاح المتّبع. بعض محركات الرندر تكتب المسافة الحقيقية وبعضها يكتب عمقاً مُطبَّعاً أو معكوساً، فافحص القيم في العارض قبل أن تثق بها. ثانياً، ليس للعمق قيمة وسطى ذات معنى عند الحافة، وهي مشكلة نعود إليها في الجزء 4.
**ممر الاتجاهات العمودية**، N، يخزّن إلى أين يتجه كل سطح، كمتجه من ثلاثة أرقام. خذ حاصل الضرب النقطي لهذا المتجه مع اتجاه ضوء فتحصل على مقدار مواجهة كل بكسل لذلك الضوء، وهو بالضبط شكل الإضاءة المنتشرة البسيطة. اضربه في الألبيدو ولون، وأضفه فوق الصورة، فيصبح لديك ضوء جديد لم يوجد قط في الرندر. عقدة Relight في Nuke تفعل هذا بضوء ثلاثي الأبعاد، و**ممر الموضع**، P، الذي يخزّن مكان كل بكسل في المشهد ثلاثي الأبعاد، يتيح لذلك الضوء أن يخفت مع المسافة ويتيح لك رسم أقنعة ثلاثية الأبعاد تلتصق بالأسطح. ومقالنا السابق *البكسلات متجهات* يشرح الرياضيات خطوة خطوة. والمأخذ مذكور في الشرح: لا ظل ولا ارتداد، لأن الممر لا يعرف إلا البكسل الذي يقع عليه، فتعامل مع هذا كضوء حافة أو لمسة ضوء، لا كضوء رئيسي جديد.
كانت أقنعة الأجسام المفردة تأتي من **ممرات ID**: يطلي محرك الرندر كل جسم بالأحمر أو الأخضر أو الأزرق المسطّح، ويعزل فنان التركيب لوناً واحداً. ينجح هذا إلى أن تنظر عن قرب. فممر ID لا يحمل إلا جسماً واحداً لكل بكسل، فعند كل حافة يكون القناع إما كل شيء أو لا شيء، ويترك التصحيح عبره خطاً مسنّناً من البكسلات غير المعدّلة. وتنفد ألوانه بسرعة أيضاً. **Cryptomatte**، الذي نشره Jonah Friedman وAndy Jones في Psyop عام 2015 وصار مدعوماً اليوم في Nuke وFusion وBlender وأدوات أخرى، يحلّ المشكلتين. فهو يخزّن لكل بكسل قائمة بمعرّفات الأجسام مع مقدار ما يغطيه كل منها من البكسل، فيكون القناع ناعماً عند الحواف، ويعمل عبر تمويه الحركة والشفافية، ويتيح لك اختيار أي جسم في المشهد بنقرة. كبّر حافة أعلاه وبدّل بين الاثنين. اطلب Cryptomatte بحسب الجسم والخامة والأصل كمعيار ثابت، فيزيل معظم طلبات الروتو لعناصر CG.
**متجهات الحركة** تخزّن لكل بكسل كم تحرّك على الشاشة وفي أي اتجاه بين الإطارات، عادة كقناتين لـ x وy. وعقدة مثل VectorBlur في Nuke تمسح كل بكسل على طول متجهه لتزييف تمويه الحركة في التركيب. هذا أرخص في الرندر ويتيح تغيير الغالق لاحقاً، لكن قارن النسخ الثلاث أعلاه. فتمويه المتجهات لا يملك إلا البكسلات التي رأتها الكاميرا، فلا يستطيع كشف ما كان خلف جسم متحرك: امسح الكرة فوق الصورة النهائية المكتملة فتبقى الكرة الحادة هناك تحت التمويه. ومن هنا تأتي أفضل ممارسة. رندر الأجسام سريعة الحركة كطبقة مستقلة فوق خلفية منفصلة، وتحقّق مع محرك الرندر لديك هل متجهاته مقيسة إلى الأمام أم إلى الخلف أم متمركزة على الإطار، وهل بالبكسل أم بوحدات مُطبَّعة، لأن عقدة التمويه يجب أن تُبلَّغ بذلك. وللحركة السريعة جداً أو الدوّارة، أو لأي شيء يُرى عبر الشفافية، يبقى تمويه الحركة ثلاثي الأبعاد الحقيقي الخيار الأكثر أماناً.
الدقة والحجم والحواف والترتيب
يستطيع EXR تخزين كل قناة كعدد عائم **نصف الدقة** بـ 16 بت أو **كامل الدقة** بـ 32 بت، واختيار ذلك لكل ممر من أسهل المكاسب في خط الإنتاج. نصف الدقة يحفظ نحو ثلاثة أرقام معنوية عند أي سطوع، وهذا وافٍ للضوء، فيمكن أن تكون ممرات الإضاءة والألبيدو بنصف الدقة وتأخذ نصف المساحة. أما ممرات البيانات فمختلفة، لأن قيمها قياسات. ضمن متر من الأصل يكون الموضع بنصف الدقة دقيقاً إلى نحو ملليمتر، لكن على بعد 512 متراً تصبح خطواته بعرض نصف متر، وقناع P المبني عليه يتكسّر إلى كتل، كما يبيّن الشكل. وللعمق المشكلة نفسها بعيداً عن الكاميرا، ومعرّفات Cryptomatte أنماط بتات يجب أن تُخزَّن بدقة تامة. إذن: **الإضاءة بنصف الدقة، وP وZ والمعرّفات بالدقة الكاملة**، وأبقِ مشاهد CG قرب الأصل حيث أمكن.
كل ممر يكلّف مساحة قرص وشبكة ووقت قراءة في كل إطار، ولكل فنان يفتح اللقطة، فاطلب ما تحتاجه اللقطة لا كل ما يقدّمه محرك الرندر. تُظهر الحاسبة كم يتراكم ذلك بسرعة: مجموعة نموذجية من ممرات الإضاءة ومجموعات الضوء وممرات البيانات بدقة UHD تتجاوز غيغابايت للإطار قبل الضغط. والضغط يساعد كثيراً، واختيار الترميز مهم بقدر اختيار الممرات. فالترميزات من دون فقد مثل ZIP وPIZ هي الخيار الافتراضي الآمن لممرات البيانات، حيث كل بت مهم. وDWAA وDWAB مع الفقد تعطيان ملفات أصغر بكثير، وكثيراً ما تكفيان لممرات الإضاءة واللقطات الحية. اتفقوا على قائمة AOV قياسية للمشروع، وأضيفوا ممرات لكل لقطة حين تتطلبها ملاحظة، واحذفوا الممرات التي لم يفتحها أحد حين تصبح اللقطة نهائية.
الحواف هي حيث تخطئ ممرات البيانات. يزيل محرك الرندر التسنّن بتتبّع عيّنات كثيرة لكل بكسل وترشيحها في قيمة واحدة. للون، أخذ المتوسط صحيح: البكسل الذي نصفه كرة ونصفه جدار يجب أن يكون نصف كل لون. لكن للعمق أو الموضع أو الاتجاهات العمودية هذا هراء. خذ متوسط كرة على بعد أربعة أمتار ونصف مع أرضية خلفها بثلاثة أمتار فتحصل على عمق لا يوجد فيه شيء، ثم يضع الضباب أو تمويه العمق أو القناع ثلاثي الأبعاد هالةً هناك بالضبط. لهذا تقدّم محركات الرندر مرشّح **closest** لممرات البيانات (لدى Arnold مثلاً closest_filter لهذه الممرات تحديداً)، ولهذا لا ينبغي أبداً إلغاء الضرب المسبق لممر بيانات أو تصحيحه أو تمويهه كأنه لون. أما ممرات الإضاءة فهي صور مضروبة مسبقاً بالألفا مثل الصورة النهائية: صحّحها في ضوء خطي، وأبقِها مضروبة مسبقاً حين تجمعها، ولا تلغِ الضرب المسبق إلا للعمليات التي تحتاج ذلك.
أخيراً، الترتيب. سكربت AOV المرتّب يُقرأ من الأعلى إلى الأسفل بالترتيب نفسه في كل مرة، فيستطيع أي أحد في الفريق فتحه وإيجاد الضوء الذي طُلب منه تغييره. اقرأ ملف EXR مرة واحدة، واسحب كل ممر إضاءة بـ Shuffle في صف واحد، وصحّح كلاً في عموده، واجمعها من جديد بعقد merge على plus، واحتفظ بفحص الفرق مقابل الصورة النهائية الأصلية في السكربت، مطفأً لكن جاهزاً، لتثبت إعادة البناء بعد كل رندر جديد. وفرّع ممرات البيانات جانباً: Cryptomatte إلى مداخل الأقنعة، وZ إلى الضباب وZDefocus، ومتجهات الحركة إلى VectorBlur في آخر السلسلة، بعد دمج الطبقات. سمِّ العقد بحسب ما تفعله، وضع كل مجموعة في خلفية معنونة، واحتفظ بأسماء الطبقات كما كتبها محرك الرندر حتى تحلّ نسخة جديدة من EXR مكانها مباشرة. افعل ذلك، فتصبح الملاحظة التي كانت تعني إعادة رندر تعديلاً من دقيقتين.
المصادر ومزيد من القراءة
- دليل Blender، «Render Passes» (ممرات الضوء في Cycles وكيف تجتمع): docs.blender.org
- Autodesk، دليل مستخدم Arnold، «AOVs» و«Light Path Expressions»: help.autodesk.com
- Chaos، توثيق V-Ray، «Render Elements»: docs.chaos.com
- Maxon، توثيق Redshift، «AOVs»: help.maxon.net
- Foundry، الدليل المرجعي لـ Nuke: Shuffle وMerge وZDefocus وVectorBlur وRelight وCryptomatte: learn.foundry.com
- Jonah Friedman وAndy Jones، «Fully Automatic ID Mattes with Support for Motion Blur and Transparency»، ملصق SIGGRAPH 2015، ومواصفات Cryptomatte: github.com/Psyop/Cryptomatte
- توثيق OpenEXR، صيغة العدد العائم نصف الدقة وطرق الضغط: openexr.com
*كل الأشكال رسوم توضيحية محسوبة في متصفحك من غرفة بسيطة واحدة تُتتبَّع أشعتها، وليست رندرات إنتاج ولا لقطات شاشة لأي برنامج. أما الممرات وإعادات البناء والإحصاءات وخطوات الدقة وأحجام الملفات فهي حسابات حقيقية على ذلك المشهد. وأسماء ممرات محركات الرندر تتبع توثيق كل صانع كما في أكتوبر 2026.*