باختصار
- تتيح Material Function إعادة استخدام أجزاء من مخطط مادة في مواد مختلفة.
- يمكن لـ Material Parameter Collection تمرير قيم Scalar وVector مشتركة إلى عدة مواد.
- يمكن للمادة الواحدة الرجوع إلى مجموعتين مختلفتين كحد أقصى من Material Parameter Collection.
- يستطيع Pivot Painter إضفاء حركة آنية على الغطاء النباتي باستخدام بيانات محور النموذج ودورانه.
يجمع هذا الدليل بين سير العمل الخاص بـ Material Function وMaterial Parameter Collection وPivot Painter، كما ورد في الوثائق الرسمية المنشورة لـ Unreal Engine 4.27. والهدف هو تنظيم تعديلات المواد في التصور المعماري والمشاهد الآنية، وإدارة القيم المشتركة بمكوّنات قابلة لإعادة الاستخدام بدلاً من تغييرها على كل عنصر على حدة. تقتصر الخطوات أدناه على الأدوات والقيم الموضحة في الوثائق.
1. انقل المخططات المتكررة إلى Material Function
انقر بزر الفأرة الأيمن في Content Browser، واتبع المسار
New › Materials & Textures › Material Functionلإنشاء Material Function جديدة. امنحها اسماً يوضح وظيفتها لتسهيل العثور عليها لاحقاً في المشروع.افتح الدالة وأضف العقد المطلوبة إلى المخطط. يستخدم مثال Fresnel الوارد في الوثائق العقد Constant 3 Vector وVector Transform وDot Product وCamera Vector WS وClamp وOneMinus وPower وMultiply.
في المثال، تُضبط القناة الزرقاء للعقدة Constant 3 Vector على
1.0؛ بينما تنفّذ Vector Transform تحويلاً من Tangent Space إلى World Space. تُحصر نتيجة Dot Product بين0و1، ثم تُعكس باستخدام OneMinus.عرّف القيم التي يمكن تعديلها من الخارج باستخدام عقد Function Input. يربط المثال الوارد في الوثائق مدخلي
Fresnel ExponentوFresnel Intensityبعقدتي Power وMultiply. صِل النتيجة بـ Output Result، ثم ترجمها باستخدام Apply.
تتمثل الفائدة الأساسية من Material Function في الحد من الحاجة إلى إعادة إنشاء جزء مشترك من المخطط في مواد مختلفة. وهذا قد يسهّل تعديل الأسطح التي تستخدم السلوك البصري نفسه، والحفاظ على اتساق إنتاج المواد. لكن يلزم الحذر عند تعديل الدالة: إذ تحذّر الوثائق من أن وجود خطأ في دالة مستخدمة أو إزالة إحدى وظائفها قد يؤدي إلى تعطل المواد المرتبطة بها.
2. أضف الدالة إلى المادة وتحقق من المثال
أنشئ Material جديدة في Content Browser، واسحب Material Function إلى المخطط.
صِل مدخلات الدالة بالمعلمات المناسبة في المادة. في مثال Fresnel، يُمرّر خرج الدالة إلى Emissive Color، بينما تُوصَل Constant 3 Vector بـ Base Color.
يساعد البدء بالقيم النموذجية على التحقق من أن المخطط يعمل كما هو متوقع. وترد إعدادات المثال في الوثائق الرسمية في الجدول أدناه.
ترجم المادة واختبرها على mesh في المشهد. يعني استخدام الدالة في مواد أخرى أيضاً أن أثر التعديل قد يمتد إلى عدة أصول؛ لذا راجع المواد المرتبطة قبل تطبيق التغييرات على المشروع.
| الإعداد | القيمة النموذجية | التأثير |
|---|---|---|
| Base Color في مثال Fresnel | R: 1.0, G: 0, B: 0 | يحدد اللون الأساسي للمادة النموذجية الواردة في الوثائق. |
| Metallic | 1.0 | قيمة المعدنية للمادة النموذجية. |
| Roughness | 0.5 | قيمة الخشونة للمادة النموذجية. |
| Fresnel Intensity | 1.0 | مدخل نموذجي لضبط شدة تأثير Fresnel. |
| Fresnel Exponent | 5.0 | مدخل نموذجي يتحكم في توزّع التأثير بالقرب من الحواف. |
| سعة Material Parameter Collection | حتى 1024 معلمة Scalar و1024 معلمة Vector | الحد الأقصى الموثق لكل مجموعة. |
ينبغي التعامل مع هذه الأرقام على أنها إعداد نموذجي من وثائق Unreal Engine 4.27، لا كقيم عامة تحقق أفضل نتيجة في كل مشروع.
3. أدر القيم المشتركة باستخدام Material Parameter Collection
انقر بزر الفأرة الأيمن في Content Browser، واختر
Materials & Textures › Material Parameter Collectionلإنشاء مجموعة.افتح المجموعة وأضف معلمات من قسم Scalar Parameters أو Vector Parameters. أدخل اسماً وقيمة افتراضية لكل معلمة.
أضف عقدة Material Collection Parameter إلى مخطط المادة لاستخدام قيمة من المجموعة. في المثال الرسمي، تُوصَل المعلمة العددية
Global_Desaturationبمدخل Fraction في عقدة Desaturation.يوضح تغيير القيمة من 0 إلى 1 في المثال آلية تحكم مشتركة تغيّر لون العناصر التي تستخدم هذه المادة. ويمكن أيضاً تغيير القيم عبر Blueprint؛ إذ تستخدم الوثائق عقدة
Set Scalar Parameter ValueوTimeline. يحتوي Float Track في Timeline على مفتاحين: قيمة 0 عند الزمن 0، وقيمة 1 عند الزمن 1.
يمكن للمادة الواحدة الرجوع إلى مجموعتين مختلفتين كحد أقصى من Material Parameter Collection. وتشير الوثائق إلى إمكانية تخصيص إحداهما للقيم العامة والأخرى للقيم الخاصة بالمستوى. ويؤدي تغيير عدد المعلمات إلى إعادة ترجمة المواد التي ترجع إلى المجموعة؛ لذا قد تكون إضافة عدد كبير من المعلمات منذ البداية في خريطة فارغة أسرع. وعلى الرغم من أن تغيير اسم المعلمة يحافظ على مراجع المواد، فقد يؤدي إلى تعطيل اتصال Blueprint الذي يستخدم ذلك الاسم.
4. قيّم استخدام Pivot Painter للغطاء النباتي
أداة Pivot Painter هي MAXScript تسجّل معلومات المحور والدوران للنموذج في بيانات vertex في 3ds Max. ويمكن قراءة هذه البيانات باستخدام وظائف المواد في Unreal لإنشاء حركة آنية للأغصان أو الأوراق أو الأعشاب. وتوضح الوثائق الرسمية أن الحركة تُحسب في vertex shader، وأن حجم النموذج في الذاكرة أكبر بنسبة 18 بالمئة مقارنةً بـ Static Mesh القياسي.
عند إعداد النموذج، تحقق من موضع محور الدوران واتجاه المحاور. فعلى سبيل المثال، إذا كان المطلوب أن تدور نصلات العشب من قاعدتها، توضح الوثائق ضرورة وضع المحور عند القاعدة، وأن يكون محور X ممتداً على طول النموذج. ينبغي معالجة النماذج التي تتطلب تسلسلاً هرمياً، مثل الأشجار، باستخدام Hierarchy Painter، أما قطع العشب المستقلة فينبغي معالجتها باستخدام Per Object Painter؛ ولا ينبغي استخدام الاثنين معاً على النموذج نفسه. كذلك، اختر وظيفة المادة المناسبة للبيانات المعالَجة: PivotPainter_HierarchyData لـ Hierarchy Painter، وPivotPainter_PerObjectData لـ Per Object Painter.
تذكر الوثائق أن البرنامج النصي اختُبر على الإصدارين 2010 و2012 من 3ds Max. كما تشترط ضبط وحدات العالم في 3ds Max على السنتيمترات وعدم تغيير المقياس عند التصدير. وتشير صفحة Pivot Painter أيضاً إلى أن الإصدار 2.0 يوفّر مسار عمل مبسطاً للغطاء النباتي التفاعلي.
أثر ذلك في سير عمل العمارة والتصور
إذا كانت أسطح كثيرة في المشاهد الداخلية والمعمارية تشترك في المعلمات نفسها، فقد تساعد Material Function على إعادة استخدام بنية المخطط المشتركة، بينما تتيح Material Parameter Collection تغيير القيم العامة للمشهد أو الخاصة بالمستوى معاً. وعندما يلزم توفير عنصر تحكم بصري واحد في عدة مواد، يمكن اعتماد المعلمات المشتركة بدلاً من تعديل كل مادة على حدة. وتشير الوثائق إلى أن هذه الطريقة أكثر كفاءة من تعيين القيم لكل مثيل مادة على حدة.
في العروض الآنية التي تتضمن غطاءً نباتياً، يمكن النظر إلى Pivot Painter كخيار يحسب الحركة وقت التشغيل بدلاً من تخزين تحريكات الهيكل العظمي. ومع ذلك، ينبغي للفرق التحقق مسبقاً من التوافق: فالوثائق تخص Unreal Engine 4.27، فيما تشير اختبارات البرنامج النصي إلى 3ds Max 2010 و2012. كما ينبغي التحقق قبل التسليم من مقياس النموذج وموضع المحور واختيار التسلسل الهرمي وأسماء معلمات Blueprint.
أخطاء شائعة
استخدام Hierarchy Painter وPer Object Painter معاً على النموذج نفسه.
تغيير وحدة السنتيمتر في 3ds Max أو تغيير المقياس عند التصدير.
عدم تحديث اتصال Parameter Name في Blueprint بعد إعادة تسمية معلمة Material Parameter Collection.
إغفال احتمال تأثر المواد المرتبطة عند تعديل Material Function مستخدمة.
عدم احتساب الحاجة إلى إعادة ترجمة المواد المرتبطة عند إضافة عدد كبير من المعلمات.
المصادر
3 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
تكمن القيمة العملية لهذه الأدوات لفرق العمارة والتصور في تركيا في إمكانية إدارة إعدادات المواد المشتركة مركزياً وإعادة استخدام المخططات المتكررة. وقد يوفر الإعداد المنظم الوقت في المشاريع الآنية التي تضم أسطحاً كثيرة وغطاءً نباتياً متكرراً؛ لكن الاستفادة من ذلك تعتمد على التخطيط السليم للمعلمات.
في البداية، لا يتمثل أهم ما ينبغي التحقق منه في الأجهزة، بل في التوافق وإعداد الأصول: فالوثائق تحدد Unreal Engine 4.27، وتشير إلى اختبارات Pivot Painter على 3ds Max 2010 و2012. إن إدراج المقياس والمحاور ومراجع Blueprint وتعديلات الوظائف المشتركة ضمن قائمة تحقق داخلية للمكاتب يقلل مخاطر تعطل المواد وتكرار العمل.
الأسئلة الشائعة
ما وظيفة Unreal Engine Material Parameter Collection؟
تجمع معلمات Scalar وVector يمكن لعدة مواد الرجوع إليها. ويمكن إدارة القيم بشكل مشترك بدلاً من تغييرها على نحو منفصل في مثيلات المواد.
كم عدد مجموعات Material Parameter Collection التي يمكن للمادة استخدامها؟
وفقاً لوثائق Unreal Engine 4.27، يمكن للمادة الرجوع إلى مجموعتين مختلفتين كحد أقصى. ويمكن لكل مجموعة أن تحتوي على ما يصل إلى 1024 معلمة Scalar و1024 معلمة Vector.
على أي إصدارات من 3ds Max اختُبر Pivot Painter؟
توضح وثيقة Pivot Painter الرسمية أن البرنامج النصي اختُبر على 3ds Max 2010 و2012. كما تشترط أن تكون وحدات العالم بالسنتيمترات وأن يُحافَظ على المقياس عند التصدير.



