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

تصاميم مرنة للفن النهائي
عندما بدأنا لأول مرة، لم يكن لدينا فهم كامل لما نريد أن يكون في المحطة، أو كم يجب أن تكون كبيرة لـ 50 لاعبًا.
لتحديد ذلك، بدأنا أولاً ببناء البيئة باستخدام Parts وإدخال بعض الشبكات مثل شكل القبة من تطبيق DCC الخارجي لدينا، مثل Maya أو Blender. مع هذه الأشكال البسيطة، قمنا بضبط مقياس الخريطة، وترتيب الغرف، والممرات للعثور على أكثر الترتيبات متعة. سواء للعبة أو تجربة اجتماعية، tend هذه المرحلة المبكرة إلى أن تكون الأكثر ديناميكية.
عند بناء تخطيط المحطة، كان أهم شيء لدفع الاستكشاف هو إعطاء المستخدم هدفًا. في هذه الحالة، الهدف الأكثر وضوحًا هو الحصول على نظرة أقرب على الثقب الأسود. بعد ذلك، كنا نعلم أن إعطائهم مسارًا مستقيمًا إلى الثقب الأسود سيكون مملًا، لأن اللاعب يمكنه فقط المشي من نقطة البداية إلى نهاية الخريطة. قمنا بكسر المسار بحيث لا يمكن للاعب الوصول إلى الثقب الأسود دون الذهاب أولاً حول ورؤية أشياء أخرى قد تجذبهم أيضًا.
سمح لنا التصميم المعياري بإجراء مثل هذه التغييرات على البيئة دون إعادة العمل الكارثية للتصميم العام. كان بإمكاننا نقل أقسام كاملة من المحطة للعب مع أفكار اللعب المختلفة. في النهاية، يمكن تحديث هذه القطع المعيارية نفسها باستخدام الحزم حتى لا نضطر إلى إعادة بناء نسخ متعددة من نفس الأصل.




التصميم المعياري لـ Kerr-Newman DSR-14
تستخدم محطة الفضاء عددًا قليلاً فقط من قطع اللوحة المعيارية. قطع اللوحة المعيارية هي أصول قابلة لإعادة الاستخدام، مما يعني أننا لا نحتاج إلى إنشاء كل جدار بشكل فريد ولكن بدلاً من ذلك يمكننا تجميع عدة جدران أصغر. هذا يسمح بالمرونة في التخطيط أثناء البناء.
إليك بعض النصائح التي ساعدتنا في إنشاء تصميمنا المعياري:
استقر على حجم شبكة موحد — بالنسبة للمحطة، استقرنا على حجم شبكة 16 stud لإنشاء معظم المجموعة المعيارية. حجم الشبكة الذي تستخدمه هو اعتباطي، ولكن يجب أن يكون متسقًا طوال المشروع وعبر جميع الفنانين الذين يعملون على هذا المشروع. يضمن الاستقرار على حجم الشبكة في بداية مشروعك أن كل قطعة تناسب بشكل جيد مع القطعة المجاورة لها. كما أنه يسمح لك بتبديل القطع بسهولة، على سبيل المثال تبديل قسم الجدار بقسم باب.
جميع الوحدات مستوردة كـ studs — عند إنشاء الشبكات في تطبيقات DCC الأخرى، مثل Maya أو Blender، لا يقوم الاستوديو بتحويل الأمتار أو السنتيمترات أو الأقدام أو البوصات — بل يستبدل ببساطة الوحدات الواردة بنفس الوحدات في studs. على سبيل المثال، إذا قمت بتعيين وحداتك إلى الأمتار، يقوم الاستوديو بتحويل 2 متر إلى 2 stud. من الأفضل أن تعالج مقاييس وحداتك في تطبيقك المختار كمقاييس stud في Roblox. أقرب مقياس في العالم الحقيقي لـ stud واحد في Roblox هو 28 سنتيمتر.
اجعل القطع بسيطة — لا تحاول بناء كل قطعة تعتقد أنك ستحتاجها على الإطلاق. الفكرة هي أن يكون لديك عدد قليل من القطع المتعددة الاستخدامات وليس الكثير من القطع الفريدة. كلما زاد عدد القطع لديك، زاد الوقت الذي يستغرقه إنشاء كل قطعة، وزاد تأثير ذلك على ميزانيتك العامة للذاكرة والأداء. يمكنك دائمًا إضافة قطعة أخرى إلى مجموعتك إذا كانت ضرورية تمامًا.
استخدم الحزم — قم بتحويل كل قطعة معيارية إلى حزمة وضع أيضًا المواد في حزم قبل أن تبدأ في ملء اللعبة بها. هذا يسمح لك بدفع التحديثات بسهولة إلى جميع الحالات. سنتناول الحزم بمزيد من التفصيل لاحقًا.
تظهر لقطات الشاشة التالية طرقًا مختلفة استخدمنا بها التصميم المعياري لبناء أجزاء من المحطة.




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

في Photoshop، أنشأنا نموذجًا للحصول على فكرة سريعة عن شكل كل قسم من أقسام الورقة.

استخدمنا Substance، ولكن يمكنك استخدام أي تطبيق يناسبك لإنشاء الخرائط النهائية. هذه هي مجموعة الخرائط النهائية لأوراق القص التي تم إنشاؤها في Substance. تعمل جميع الخرائط الأربعة معًا داخل عقدة SurfaceAppearance لإنتاج مادة تم تصميمها بناءً على الفيزياء (PBR).




إليك بعض العروض النهائية لورقة القص داخل Substance Designer:


وهنا أمثلة على نفس أوراق القص المستخدمة على مجموعة واسعة من الكائنات:

إذا كنت ترغب في معرفة المزيد عن تخطيط UV لأوراق القص، فقط ابحث عن الموضوع على الويب؛ هناك العديد من الدروس الرائعة هناك.
تطبيق المظاهر السطحية
تتيح لك SurfaceAppearance تحديد مدخلات قوام جديدة لنظام العرض المعتمد على الفيزياء لدينا لـ MeshParts وتتيح لك تجاوز مظهر الشبكة مع خيارات رسومية متقدمة، بما في ذلك ColorMap وMetalnessMap وRoughnessMap وNormalMap. كما أنها تستخدم نظام الكيوب ماب الديناميكي الجديد الذي تستخدمه Roblox للانعكاسات في المواد، مثل الكروم. على سبيل المثال، إليك صورة جنبًا إلى جنب لشبكة مع تطبيق SurfaceAppearance بجوار شبكة بدونها:

عند استخدام المظهر السطحي، تذكر النصائح التالية:
- إذا كانت خرائط القص الخاصة بك تحتوي على معلومات ألفا للشفافية، فقم بتغيير AlphaMode من Overlay إلى Transparency.
- لا يعمل المظهر السطحي مع الأجزاء لأنهم لا يمتلكون معلومات UV المطلوبة لتطبيق الخرائط. تستخدم الأجزاء إسقاطات متوافقة مع العالم بدلاً من معلومات UV. عادةً ما يتم إنشاء MeshParts في تطبيق آخر مثل Maya أو 3ds Max أو Blender وتحتوي على معلومات فك UV.
لتطبيق SurfaceAppearance:
انقر على نهاية اسم MeshPart أو المجلد في Explorer وابحث عن SurfaceAppearance. سيؤدي إضافة واحدة إلى تجاوز أي BrickColor أو Color أو Material أو TextureID قد قمت بتطبيقه بالفعل.
أعد تسمية عقدة SurfaceAppearance إلى شيء فريد وأضف لاحقة _SA لجعلها سهلة البحث. في هذا المثال، استخدمنا Metal_Trim_A_SA.
استورد خرائط ورقة القص، انسخ المعرفات من نافذة مدير الأصول، والصقها في الفتحات المناسبة في نافذة الخصائص. إليك كيف تبدو عقدة Metal_Trim_A_SA مع جميع معرفات الخرائط المدخلة والمطبقة على الباب.

زيادة الكفاءة باستخدام الحزم
تتيح لك الحزم إنشاء مثيلات كائنات في ألعاب Roblox الخاصة بك، بحيث يتم نشر التحديثات التي تجريها على الحزمة إلى جميع مثيلات تلك الحزمة. استخدمنا الحزم لكل كائن تقريبًا وضعناه في المحطة، لذلك لم نضطر إلى البحث عن كل موضع إذا احتجنا إلى إجراء تعديلات. على سبيل المثال، استخدمنا أكثر من 1,000 مثيل من لوحات الجدران لحزمة وتمكنا من نشر التحديثات لها على الفور عن طريق تعديل الحزمة.
اتبع هذه النصائح عند استخدام الحزم:
قم بتشغيل ميزة التحديث التلقائي في PackageLink. يتم تطبيق جميع التعديلات على جميع استخدامات الحزمة عند تمكين ذلك، مما يوفر لك خطوة استخدام ميزة "تحديث الكل".

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