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


هناك تطبيقات وسير عمل متنوعة متاحة لإنشاء تناسق PBR. يمكنك استخدام هذه أثناء مراحل النمذجة والتلوين لإنشاء كائنات ثلاثية الأبعاد مخصصة، بشرط أن يكون Roblox Studio يدعم خرائط النسيج المحددة التي تستخدمها.
يقدم هذا الدليل تعليمات حول إعداد كائنات الشبكة الخاصة بك لاستخدام خرائط نسيج PBR، ويصف حالات الاستخدام الشائعة وأفضل الممارسات لخرائط نسيج PBR المدعومة من Roblox. عند إنشاء أسطح خاصة بك، انظر إلى مراجع المواد للحصول على قيم المواد الشائعة، ومقارنات الصور، وأمثلة على الملابس.
تفعيل مظهر السطح
يمكنك إضافة تناسق PBR لأي MeshPart عن طريق إضافة كائن SurfaceAppearance الذي يكتب فوق النسيج الأصلي المعين. بشكل عام، لا يمكنك تعديل خصائص SurfaceAppearance بواسطة السكربتات أثناء اللعبة لأن المحرك يتطلب بعض المعالجة المسبقة لعرض هذه الرسوم. مشابه لإضافة نسيج أساسي، يجب أن تشير كل خريطة صورة نسيج إلى معرف الأصل المحمل المناسب.
لتفعيل مظهر السطح لـ MeshPart:
في نافذة المستكشف، مرر فوق MeshPart وانقر على زر ⊕.
أدخل عنصر SurfaceAppearance من القائمة السياقية.

عندما تكون جاهزًا لإضافة خرائط النسيج إلى كائن SurfaceAppearance، يمكنك النقر على كل خاصية خريطة في نافذة الخصائص وإدخال معرف الأصل.
خرائط النسيج
يدعم Studio حاليًا 4 أنواع من خرائط نسيج PBR: اللون، العادي، الخشونة، والمعدنية. ترتبط كل من هذه الخرائط بجانبين مهمين من مظهر سطح الكائن. تغييرات خرائط النسيج تؤثر فقط على المظهر المرئي ولا تؤثر على هندسة كائن MeshPart.
انظر إلى الأمثلة التالية للحصول على نظرة عامة على خرائط النسيج المدعومة من Roblox وموارد إضافية:
تحدد خاصية ColorMap بيانات اللون للسطح، بما في ذلك أي شفافية موجودة في الخريطة. انظر اللون (albedo) لمزيد من المعلومات.



اللون (الألبيدو)
تحدد خريطة اللون، أو الألبيدو، لون نسيجك وتتكون في الغالب من معلومات اللون مع القليل أو لا شيء من المعلومات المتعلقة بالإضاءة أو النسيج. للحصول على تخصيص إضافي، يمكنك أيضًا إضافة شفافية في نسيج الألبيدو الخاص بك عن طريق إضافة تعتيم إلى خريطة الصورة الخاصة بك.
أوضاع ألفا
للكائنات التي تتطلب أجزاء جزئية أو كاملة من الشفافية، مثل العشب أو الأوراق أو الدانتيل أو الملصقات مثل الأوساخ أو الجرونج، يمكنك استخدام أوضاع ألفا المختلفة لتطبيق الشفافية على خريطة اللون الخاصة بك. إذا كان تنسيق صورة خريطة اللون الخاص بك يدعم قنوات ألفا، يمكنك تطبيق خريطة ألفا باللون الرمادي حيث 0.0 تكون شفافة و1.0 تكون غير شفافة. بالمثل، عند استخدام تنسيق صورة مثل .png، تنطبق أي تعتيم على خريطة اللون كشفافية على الأصل.
يمكنك تطبيق الشفافية بسلوكيات مختلفة من خلال تعيين القيم التالية إلى AlphaMode:
- تراكب — يراكب ColorMap فوق MeshPart.Color. تكشف خرائط اللون باستخدام وضع التراكب عن اللون الأساسي للشبكة في أي مكان توجد فيه الشفافية. هذا هو الإعداد الافتراضي.
- شفافية — يُزيل الشبكة المرئية بناءً على الشفافية في ColorMap. هذا يجعل الشبكة شفافة ولا تكشف عن لون الشبكة الأصلي كلما كانت الشفافية موجودة.
غير شفاف
يمكنك استخدام وضع Enum.AlphaMode.Opaque لتجاهل قناة ألفا من ColorMap تمامًا. في هذه الحالة، يُفترض أن تكون قيمة ألفا هي 1 (غير شفافة بالكامل).
توضح المثال التالي كيف يعمل وضع Opaque باستخدام كائن أبيض كمرجع:


تراكب
يمكنك استخدام Enum.AlphaMode.Overlay لكشف أجزاء من اللون الأصلي للشبكة. تتعرض المناطق الشفافة في خريطة اللون للون الأساسي، مما يسمح لك بتصميم خريطة نسيج فريدة تكشف جزئيًا أو بشكل كامل عن خاصية Color لتدرجات لون البشرة المخصصة أو حالات أخرى ذات ألوان فريدة.
توضح المثال التالية كيف يعمل وضع Overlay باستخدام كرة بيضاء كمرجع:


تستخدم المثال التالية وضع Overlay للشخصيات المخصصة، مما يكشف عن لون بشرة الشخصية الأصلي:


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



هناك نتيجتان لوضع Transparency، اعتمادًا على ما إذا كانت MeshPart.Transparency مضبوطة على 0 أو على الأقل 0.02، على الرغم من أن الدقة العددية قد تؤدي إلى قيم صغيرة مثل 0.01 تؤدي إلى شفافية غير شفافة.
- عندما يتم استخدام ألفا لقطع شكل الأشياء غير الشفافة بشكل أساسي ذات الحواف الحادة مثل أوراق الشجر، وأقمشة الدانتيل، والشبكات، يتم ضبط MeshPart.Transparency على 0. عندما تكون أجزاء السطح غير شفافة بالكامل، يمكن لمحرك Roblox عرضها مع احتساب عمق مناسب. تعمل الأسطح غير الشفافة أيضًا بشكل أفضل عمومًا مع تأثيرات العمق مثل DepthOfFieldEffect، وانكسار الزجاج والماء، وانعكاس الماء.
- عندما يتم استخدام ألفا لإضافة تفاصيل إلى كائنات شبه شفافة أو كائنات ذات تدرجات ناعمة من الشفافية، يتم ضبط MeshPart.Transparency على على الأقل 0.02. هذا يحسن جودة المزج للأشياء مثل النوافذ المتسخة والريش ذات الحواف الناعمة، لكنه لن يعمل مع جميع التأثيرات.
تأثير تلوين
يمكنك استخدام وضع Enum.AlphaMode.TintMask لتطبيق تلوين SurfaceAppearance.Color على مناطق محددة من السطح. يكون التلوين أكثر وضوحًا حيث تكون قناة ألفا مرئية بالكامل وليس مطبقة حيث تكون قناة ألفا شفافة.

تلوين اللون
يمكنك تطبيق تلوين على خريطة اللون الخاصة بك عن طريق تعديل خاصية SurfaceAppearance.Color. لا يؤثر التلوين على الأداء ويمكنك توفير الذاكرة من خلال إعادة استخدام خريطة لون واحدة مع ألوان تلوينية مختلفة. استخدم تلوين اللون لإنشاء تنوع إضافي بتكلفة منخفضة بين تناسقات PBR الخاصة بك أو لتعديل ألوان أسطح PBR الخاصة بك برمجيًا في الوقت الحقيقي.



يتم تطبيق تلوين SurfaceAppearance.Color كمعامل، لذا فإن المظهر النهائي هو وظيفة من Color3 (لون البكسل) مضروبًا في SurfaceAppearance.Color. وهذا يعني أن تأليف SurfaceAppearance.ColorMap الأصلي لديك بألوان رمادية قريبة من الأبيض يخلق أكبر تأثير من التلوين عندما يتم تطبيق هذه الخاصية.
ينطبق التلوين فقط على SurfaceAppearance.ColorMap وليس على MeshPart.Color. يمكنك الاستمرار في استخدام قنوات ألفا عند تطبيق الشفافية.
عندما يتم ضبط SurfaceAppearance.AlphaMode على Overlay وتكون قناة ألفا موجودة، يتم كشف MeshPart.Color الأساسية، ويطبق تلوين SurfaceAppearance.Color فقط على خريطة لون SurfaceAppearance المرئية.
عندما يتم ضبط SurfaceAppearance.AlphaMode على TintMask وتكون قناة ألفا موجودة، تتحكم قناة ألفا في كمية تلوين SurfaceAppearance.Color. التلوين هو الأوضح حيث تكون قناة ألفا مرئية بالكامل وليس مطبقة حيث تكون قناة ألفا شفافة.

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



تتوافق قنوات R وG وB للصورة مع مكونات X وY وZ على التوالي من متجه السطح المحلي. تتوافق صورة موحدة باللون [127, 127, 255] مع خريطة عادية مسطحة تمامًا. يدعم Roblox فقط خرائط عادية OpenGL - Tangent Space.
تؤثر الخرائط العادية بشكل بارز على السطح البصري لشبكة ويمكن أن تبرز الحواف المحرجة في النسيج الخاص بك. كلما أمكن، احتفظ بخطوط النسيج مخفية لتفادي المشكلات البصرية مع شبكتك.
خشونة
تحدد خرائط الخشونة، أو السطح الدقيق، كيف يتم توزيع الضوء عبر سطح نموذجك. عندما تكون الخشونة عند 0.0، لا يشتت السطح الضوء على الإطلاق، مما يؤدي إلى انعكاس أكثر حدة وإضاءة على المادة. عند 1.0، يتم توزيع الضوء والانعكاسات بشكل متساوي عبر النموذج مما يؤدي إلى سطح غير لامع مثل النهاية المطفية.
قد تؤثر الخشونة على مدى انعكاسية الكائن عند زوايا مختلفة، والتي يشار إليها كـ Fresnel. انظر fresnel لمزيد من التفاصيل وأفضل الممارسات للحفاظ على سلوك انعكاسي ثابت.
يوضح الشكل التالي مقارنات لقيم خرائط خشونة متعددة:



فرينيل
تشير فرينيل إلى مقدار الانعكاس من السطح فيما يتعلق بزاوية الرؤية الحالية. تهدف معالجة فرينيل في Studio إلى الدقة الواقعية المادية، على الرغم من أنه قد تحصل على مساهمة سطحية غير متوقعة عند زوايا معينة حتى مع الأسطح الخشنة. في بعض الحالات، يمكنك التعويض عن ذلك عن طريق جعل خريطة الخشونة عند 0.1 أكثر خشونة لتحقيق استجابة إضاءة ثابتة مع المواد الخاصة بك.
على الرغم من أن Roblox يقوم بتصيير هذا التأثير الضوئي بدقة، فإن سطوع ونعومة سطح المواد قد لا يستجيبان بشكل متسق بين برامج إنشاء المحتوى مثل Substance Painter وStudio. انظر أمثلة الملابس للاختلافات في التقديم بين التطبيقات.
المعدنية
تحدد المعدنية مدى انعكاسية السطح. تتراوح قيم المعدنية بين 0.0 و1.0. يتم تعيين قيمة افتراضية من 0.0 إذا لم تكن خريطة المعدنية موجودة.
انظر الشكل التالي لمقارنة قيم الخرائط المعدنية المختلفة:



تستخدم برامج PBR المختلفة سير عمل مختلفة لمعالجة الانعكاسية. يستخدم Studio فقط سير عمل المعدنية الذي يحدد ما إذا كانت المادة غير معدنية أم معدنية، التي يُشار إليها أحيانًا على أنها عازلة أو موصلة.
في معظم الحالات، يجب تعيين هذه القيمة إلى 0.0 (غير معدني) أو 1.0 (معدني). يمكنك استخدام قيم معدنية جزئية عند إنشاء أسطح غير شائعة ذات خصائص انعكاسية معتدلة، مثل الساتان أو الحرير. يمكن أن يحاكي هذا الأسلوب بشكل طفيف الانعكاسات في المادة لإبراز اللون من خريطة اللون/الألبيدو مقارنة بالألوان المنعكسة في البيئة.

