الفرق بين المراجعتين لصفحة: «Godot/2d/using tilesets»
Naser-dakhel (نقاش | مساهمات) طلا ملخص تعديل |
Naser-dakhel (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: استخدام مجموعة عناصر رقعة في جودو}}</noinclude> | <noinclude>{{DISPLAYTITLE: استخدام مجموعة عناصر رقعة في جودو}}</noinclude> | ||
خريطة الرقعة tilemap هي عبارة عن شبكة من عناصر الرقعة tiles المُستخدمة لإنشاء تخطيط لعبة. هناك العديد من المزايا لاستخدام عقد [https://docs.godotengine.org/en/stable/classes/class_tilemap.html#class-tilemap TileMap] لتصميم مراحل اللعبة، إذ تُتيح لك رسم التخطيط من خلال "طلاء" عناصر الرقعة إلى الشبكة، وهي عملية أسرع بكثير من وضع عقد [https://docs.godotengine.org/en/stable/classes/class_sprite2d.html#class-sprite2d Sprite2D] واحدة تلوَ الأخرى. ثانيًا، تسمح بمراحل أكبر لأنها مُصممة لرسم أعداد كبيرة من الرقع. تتيح لك أخيرًا إضافة وظائف أوسع إلى عناصر الرقع من خلال أشكال التصادم والإطباق والتنقل. | خريطة الرقعة tilemap هي عبارة عن شبكة من عناصر الرقعة tiles المُستخدمة لإنشاء تخطيط لعبة. هناك العديد من المزايا لاستخدام عقد [https://docs.godotengine.org/en/stable/classes/class_tilemap.html#class-tilemap <code>TileMap</code>] لتصميم مراحل اللعبة، إذ تُتيح لك رسم التخطيط من خلال "طلاء" عناصر الرقعة إلى الشبكة، وهي عملية أسرع بكثير من وضع عقد [https://docs.godotengine.org/en/stable/classes/class_sprite2d.html#class-sprite2d <code>Sprite2D</code>] واحدة تلوَ الأخرى. ثانيًا، تسمح بمراحل أكبر لأنها مُصممة لرسم أعداد كبيرة من الرقع. تتيح لك أخيرًا إضافة وظائف أوسع إلى عناصر الرقع من خلال أشكال التصادم والإطباق والتنقل. | ||
ستحتاج إلى إنشاء مجموعة عناصر رقعة أولًا لاستخدام خريطة الرقعة. مجموعة عناصر الرقعة هي عبارة عن مجموعة من المربعات التي يمكن وضعها في عقدة TileMap. ستتمكن من وضعهم بعد إنشاء مجموعة عناصر رقعة باستخدام محرر TileMap. | ستحتاج إلى إنشاء مجموعة عناصر رقعة أولًا لاستخدام خريطة الرقعة. مجموعة عناصر الرقعة هي عبارة عن مجموعة من المربعات التي يمكن وضعها في عقدة <code>TileMap</code>. ستتمكن من وضعهم بعد إنشاء مجموعة عناصر رقعة باستخدام محرر <code>TileMap</code>. | ||
لاتباع هذا الدليل، ستحتاج إلى صورة تحتوي على عناصر الرقعة خاصّتك حيث يكون لكل عنصر نفس الحجم (يمكن تقسيم الكائنات الكبيرة إلى عدة مربعات). هذه الصورة تسمى الرقعة. من غير الضروري أن يكون عنصر الرقعة مربعًا، حيث يمكن أن يكون مستطيل أو سداسي أو المتناظر منظور زائف ثلاثي الأبعاد). | لاتباع هذا الدليل، ستحتاج إلى صورة تحتوي على عناصر الرقعة خاصّتك حيث يكون لكل عنصر نفس الحجم (يمكن تقسيم الكائنات الكبيرة إلى عدة مربعات). هذه الصورة تسمى الرقعة. من غير الضروري أن يكون عنصر الرقعة مربعًا، حيث يمكن أن يكون مستطيل أو سداسي أو المتناظر منظور زائف ثلاثي الأبعاد). | ||
سطر 13: | سطر 13: | ||
أنشئ عقدة '''TileMap''' جديدة، ثم اخترها وأنشئ مورد Tileset جديد في المحرر: | أنشئ عقدة '''TileMap''' جديدة، ثم اخترها وأنشئ مورد <code>Tileset</code> جديد في المحرر: | ||
[[ملف:using tilesets create new tileset.png|مركز|تصغير|إنشاء مورد TileSet جديد داخل عقدة TileMap]] | [[ملف:using tilesets create new tileset.png|مركز|تصغير|إنشاء مورد TileSet جديد داخل عقدة TileMap]] | ||
انقر فوق القيمة لعرضها في المحرر بعد إنشاء مورد TileSet. شكل عنصر الرقعة الافتراضي هو مربع، ولكن بإمكانك اختيار الشكل المتناظر ومربع نصف الإزاحة والسداسي (اعتمادًا على شكل صور عنصر الرقعة خاصتك). قد تحتاج أيضًا إلى ضبط خصائص تخطيط عناصر الرقعة ومحور إزاحته إذا كنت تستخدم شكل عنصر رقعة آخر غير المربع. وأخيرًا، قد يكون تمكين خاصية '''Rendering > UV Clipping''' مفيدًا إذا كنت ترغب في قص عناصر رقعة حسب إحداثيات عناصر الرقعة الخاصة بها. وهذا يضمن عدم إمكانية رسم عنصر الرقعة خارج المنطقة المخصصة لها على الرقعة. | |||
انقر فوق القيمة لعرضها في المحرر بعد إنشاء مورد <code>TileSet</code>. شكل عنصر الرقعة الافتراضي هو مربع، ولكن بإمكانك اختيار الشكل المتناظر ومربع نصف الإزاحة والسداسي (اعتمادًا على شكل صور عنصر الرقعة خاصتك). قد تحتاج أيضًا إلى ضبط خصائص تخطيط عناصر الرقعة ومحور إزاحته إذا كنت تستخدم شكل عنصر رقعة آخر غير المربع. وأخيرًا، قد يكون تمكين خاصية '''Rendering > UV Clipping''' مفيدًا إذا كنت ترغب في قص عناصر رقعة حسب إحداثيات عناصر الرقعة الخاصة بها. وهذا يضمن عدم إمكانية رسم عنصر الرقعة خارج المنطقة المخصصة لها على الرقعة. | |||
اضبط حجم عنصر الرقعة إلى64 × 64 في المحرر لمطابقة الرقعة النموذجية: | اضبط حجم عنصر الرقعة إلى64 × 64 في المحرر لمطابقة الرقعة النموذجية: | ||
سطر 23: | سطر 24: | ||
يجب أن تضبط حجم عنصر الرقعة '''قبل''' إنشاء الأطلس atlas إذا كنت تعتمد على إنشاء عناصر الرقعة تلقائيًا (كما سنفعل هنا). سيحدد الأطلس أي عنصر رقعة من الرقعة يمكن إضافتها إلى عقدة TileMap (حيث أنه ليس كل جزء من الصورة يمكن أن يكون عنصر رقعة صالح). | يجب أن تضبط حجم عنصر الرقعة '''قبل''' إنشاء الأطلس atlas إذا كنت تعتمد على إنشاء عناصر الرقعة تلقائيًا (كما سنفعل هنا). سيحدد الأطلس أي عنصر رقعة من الرقعة يمكن إضافتها إلى عقدة <code>TileMap</code> (حيث أنه ليس كل جزء من الصورة يمكن أن يكون عنصر رقعة صالح). | ||
افتح لوحة TileSet في أسفل المحرر، ثم انقر على أيقونة "+" في الزاوية السفلية اليسرى لإضافة أطلس جديد: | افتح لوحة <code>TileSet</code> في أسفل المحرر، ثم انقر على أيقونة "+" في الزاوية السفلية اليسرى لإضافة أطلس جديد: | ||
[[ملف:using tilesets create new atlas.png|مركز|تصغير|إنشاء أطلس جديد في مورد TileSet باستخدام اللوحة السفلية]] | [[ملف:using tilesets create new atlas.png|مركز|تصغير|إنشاء أطلس جديد في مورد TileSet باستخدام اللوحة السفلية]] | ||
سطر 37: | سطر 38: | ||
سيؤدي هذا تلقائيًا إلى إنشاء عناصر رقعة وفقًا لحجم المربع الذي حددته مسبقًا في مورد TileSet. يؤدي هذا إلى تسريع عملية إعداد عنصر رقعة أولي بشكل كبير.<blockquote>ملاحظة: لن يتم إنشاء عنصر رقعة لأجزاء الرقعة التي تتسم بالشفافية الكاملة عند استخدام إنشاء عنصر رقعة تلقائي استنادًا إلى محتويات الصورة.</blockquote>اختر أداة الممحاة في الجزء العلوي من معاينة مجموعة عناصر الرقعة إذا كانت هناك عناصر رقعة لا ترغب في وجودها في الأطلس، ثم انقر فوق عناصر رقعة التي ترغب في إزالتها: | سيؤدي هذا تلقائيًا إلى إنشاء عناصر رقعة وفقًا لحجم المربع الذي حددته مسبقًا في مورد <code>TileSet</code>. يؤدي هذا إلى تسريع عملية إعداد عنصر رقعة أولي بشكل كبير.<blockquote>ملاحظة: لن يتم إنشاء عنصر رقعة لأجزاء الرقعة التي تتسم بالشفافية الكاملة عند استخدام إنشاء عنصر رقعة تلقائي استنادًا إلى محتويات الصورة.</blockquote>اختر أداة الممحاة في الجزء العلوي من معاينة مجموعة عناصر الرقعة إذا كانت هناك عناصر رقعة لا ترغب في وجودها في الأطلس، ثم انقر فوق عناصر رقعة التي ترغب في إزالتها: | ||
[[ملف:using tilesets eraser tool.png|مركز|تصغير|استخدام أداة الممحاة لإزالة عناصر رقعة غير المرغوب فيها من أطلس TileSet]] | [[ملف:using tilesets eraser tool.png|مركز|تصغير|استخدام أداة الممحاة لإزالة عناصر رقعة غير المرغوب فيها من أطلس TileSet]] | ||
يمكنك أيضًا النقر بزر الماوس الأيمن فوق عنصر رقعة واختيار "'''حذف Delete'''" كبديل لأداة الممحاة.<blockquote>نصيحة: يمكنك التنقل عبر لوحة TileSet باستخدام أزرار الفأرة الوسطى أو اليمنى، والتكبير/التصغير باستخدام عجلة الفأرة أو الأزرار الموجودة في الزاوية العلوية اليسرى كما هو الحال في محرري 2D | يمكنك أيضًا النقر بزر الماوس الأيمن فوق عنصر رقعة واختيار "'''حذف Delete'''" كبديل لأداة الممحاة.<blockquote>نصيحة: يمكنك التنقل عبر لوحة <code>TileSet</code> باستخدام أزرار الفأرة الوسطى أو اليمنى، والتكبير/التصغير باستخدام عجلة الفأرة أو الأزرار الموجودة في الزاوية العلوية اليسرى كما هو الحال في محرري <code>2D</code> و<code>TileMap</code>.</blockquote>أنشئ أطالس إضافية وعيّن مواد لكل منها قبل المتابعة إذا كنت ترغب في الحصول على عناصر رقعة من عدة صور للرقعة لمجموعة عناصر رقعة واحدة. من الممكن أيضًا استخدام صورة واحدة لكل عنصر رقعة بهذه الطريقة (على الرغم من أنه يوصى باستخدام الرقعة للسهولة). | ||
يمكنك ضبط خصائص الأطلس في العمود الأوسط: | يمكنك ضبط خصائص الأطلس في العمود الأوسط: | ||
سطر 49: | سطر 50: | ||
يمكن تعديل الخصائص التالية في الأطلس: | يمكن تعديل الخصائص التالية في الأطلس: | ||
* '''المعرّف ID''': المعرف (الفريد في مجموعة TileSet) المستخدم للفرز. | * '''المعرّف ID''': المعرف (الفريد في مجموعة <code>TileSet</code>) المستخدم للفرز. | ||
* '''الاسم Name''': الاسم الذي يمكن قراءته بواسطة الإنسان للأطلس. استخدم اسمًا وصفيًا هنا للأغراض التنظيمية (مثل "التضاريس" و"الديكور" وما إلى ذلك). | * '''الاسم Name''': الاسم الذي يمكن قراءته بواسطة الإنسان للأطلس. استخدم اسمًا وصفيًا هنا للأغراض التنظيمية (مثل "التضاريس" و"الديكور" وما إلى ذلك). | ||
سطر 57: | سطر 58: | ||
* '''الفصل Seperation''': الفصل بين كل عنصر رقعة في الأطلس بالبكسل. يمكن أن تكون زيادة ذلك مفيدة إذا كانت صورة الرقعة التي تستخدمها تحتوي على أدلة (مثل الخطوط العريضة بين كل مربع). | * '''الفصل Seperation''': الفصل بين كل عنصر رقعة في الأطلس بالبكسل. يمكن أن تكون زيادة ذلك مفيدة إذا كانت صورة الرقعة التي تستخدمها تحتوي على أدلة (مثل الخطوط العريضة بين كل مربع). | ||
* '''حجم منطقة الملمس Texture Region Size''': حجم كل عنصر رقعة في الأطلس بالبكسل. يجب أن يتطابق هذا مع حجم عنصر الرقعة المحدد في خاصية TileMap في معظم الحالات (على الرغم من أن هذا ليس ضروريًا تمامًا). | * '''حجم منطقة الملمس Texture Region Size''': حجم كل عنصر رقعة في الأطلس بالبكسل. يجب أن يتطابق هذا مع حجم عنصر الرقعة المحدد في خاصية <code>TileMap</code> في معظم الحالات (على الرغم من أن هذا ليس ضروريًا تمامًا). | ||
* '''استخدام حشوة الملمس Use Texture Padding''': تتم إضافة حافة شفافة بمقدار 1 بكسل حول كل عنصر رقعة لمنع نزف الملمس texture bleeding عند تمكين التصفية في حالة تحديده. من المستحسن ترك هذا ممكنًا إلا إذا كنت تواجه مشكلات في العرض بسبب حشوة الملمس. | * '''استخدام حشوة الملمس Use Texture Padding''': تتم إضافة حافة شفافة بمقدار 1 بكسل حول كل عنصر رقعة لمنع نزف الملمس texture bleeding عند تمكين التصفية في حالة تحديده. من المستحسن ترك هذا ممكنًا إلا إذا كنت تواجه مشكلات في العرض بسبب حشوة الملمس. | ||
لاحظ أن تغيير حدود المادة والفصل وحجم المنطقة قد يتسبب في فقدان عناصر الرقعة (حيث أن بعضها سيكون موجودًا خارج إحداثيات صورة الأطلس). استخدم زر قائمة النقاط الرأسية الثلاث الموجود أعلى محرر TileSet واختر '''إنشاء عناصر رقعة في مناطق الملمس غير الشفافة Create Tiles in Non-Transparent Texture Region''' لإعادة إنشاء عناصر الرقعة تلقائيًا من الرقعة: | لاحظ أن تغيير حدود المادة والفصل وحجم المنطقة قد يتسبب في فقدان عناصر الرقعة (حيث أن بعضها سيكون موجودًا خارج إحداثيات صورة الأطلس). استخدم زر قائمة النقاط الرأسية الثلاث الموجود أعلى محرر <code>TileSet</code> واختر '''إنشاء عناصر رقعة في مناطق الملمس غير الشفافة Create Tiles in Non-Transparent Texture Region''' لإعادة إنشاء عناصر الرقعة تلقائيًا من الرقعة: | ||
[[ملف:using tilesets recreate tiles automatically.png|مركز|تصغير|إعادة إنشاء عنصر رقعة تلقائيًا بعد تغيير خصائص الأطلس]] | [[ملف:using tilesets recreate tiles automatically.png|مركز|تصغير|إعادة إنشاء عنصر رقعة تلقائيًا بعد تغيير خصائص الأطلس]] | ||
=== استخدام مجموعة من المشاهد === | === استخدام مجموعة من المشاهد === | ||
يمكنك وضع المشاهد الفعلية على شكل عنصر رقعة منذ إصدار جودو 4.0. يتيح لك هذا استخدام أي مجموعة من العقد كعنصر رقعة. على سبيل المثال، يمكنك استخدام عنصر رقعة المشهد لوضع عناصر اللعب، مثل المتاجر التي قد يتمكن اللاعب من التفاعل معها. يمكنك أيضًا استخدام عناصر رقعة المشهد لوضع AudioStreamPlayer2Ds (للأصوات المحيطة)، وتأثيرات الجسيمات، والمزيد.<blockquote>تحذير: تأتي عناصر رقعة المشهد بأداء أعلى مقارنةً بالأطالس، حيث يتم إنشاء كل مشهد بشكل فردي لكل عنصر رقعة موضوع. | يمكنك وضع المشاهد الفعلية على شكل عنصر رقعة منذ إصدار جودو 4.0. يتيح لك هذا استخدام أي مجموعة من العقد كعنصر رقعة. على سبيل المثال، يمكنك استخدام عنصر رقعة المشهد لوضع عناصر اللعب، مثل المتاجر التي قد يتمكن اللاعب من التفاعل معها. يمكنك أيضًا استخدام عناصر رقعة المشهد لوضع <code>AudioStreamPlayer2Ds</code> (للأصوات المحيطة)، وتأثيرات الجسيمات، والمزيد.<blockquote>تحذير: تأتي عناصر رقعة المشهد بأداء أعلى مقارنةً بالأطالس، حيث يتم إنشاء كل مشهد بشكل فردي لكل عنصر رقعة موضوع. | ||
يوصى باستخدام عنصر رقعة المشهد فقط عند الضرورة. استخدم الأطالس بدلاً من ذلك لرسم النقوش المتحركة في عنصر رقعة دون أي نوع من المعالجة المتقدمة.</blockquote>في هذا المثال، سننشئ مشهد يحتوي على عقدة جذر CPUParticles2D. احفظ هذا المشهد في ملف مشهد (منفصل عن المشهد الذي يحتوي على TileMap)، ثم بدّل إلى المشهد الذي يحتوي على عقدة TileMap. افتح محرر | يوصى باستخدام عنصر رقعة المشهد فقط عند الضرورة. استخدم الأطالس بدلاً من ذلك لرسم النقوش المتحركة في عنصر رقعة دون أي نوع من المعالجة المتقدمة.</blockquote>في هذا المثال، سننشئ مشهد يحتوي على عقدة جذر <code>CPUParticles2D</code>. احفظ هذا المشهد في ملف مشهد (منفصل عن المشهد الذي يحتوي على <code>TileMap</code>)، ثم بدّل إلى المشهد الذي يحتوي على عقدة <code>TileMap</code>. افتح محرر <code>TileSet</code>، وأنشئ مجموعة '''مشاهد جديدة Scenes Collection''' في العمود الأيسر: | ||
[[ملف:using tilesets creating scene collection.png|مركز|تصغير|إنشاء مجموعة مشاهد في محرر TileSet]] | [[ملف:using tilesets creating scene collection.png|مركز|تصغير|إنشاء مجموعة مشاهد في محرر TileSet]] | ||
سطر 79: | سطر 80: | ||
لديك الآن عنصر رقعة مشهد في TileSet. ستتمكن من تحديده من مجموعة المشاهد ورسمه مثل أي عنصر رقعة أخرى بمجرد التبديل إلى محرر TileMap. | لديك الآن عنصر رقعة مشهد في <code>TileSet</code>. ستتمكن من تحديده من مجموعة المشاهد ورسمه مثل أي عنصر رقعة أخرى بمجرد التبديل إلى محرر <code>TileMap</code>. | ||
== دمج عدة أطالس في أطلس واحد == | == دمج عدة أطالس في أطلس واحد == | ||
قد يكون استخدام أطالس متعددة داخل مورد مجموعة عناصر رقعة واحدًا مفيدًا في بعض الأحيان، ولكنه قد يكون مرهقًا أيضًا في مواقف معينة (خاصة إذا كنت تستخدم صورة واحدة لكل عنصر رقعة). يتيح لك جودو دمج عدة أطالس في أطلس واحد لتسهيل التنظيم. | قد يكون استخدام أطالس متعددة داخل مورد مجموعة عناصر رقعة واحدًا مفيدًا في بعض الأحيان، ولكنه قد يكون مرهقًا أيضًا في مواقف معينة (خاصة إذا كنت تستخدم صورة واحدة لكل عنصر رقعة). يتيح لك جودو دمج عدة أطالس في أطلس واحد لتسهيل التنظيم. | ||
للقيام بذلك، يجب أن يكون لديك أكثر من أطلس تم إنشاؤه في مورد TileSet. استخدم زر القائمة "النقاط الرأسية الثلاث" الموجود أسفل قائمة الأطالس، ثم اختر '''فتح أداة دمج الأطلس Open Atlas Merging Tool''': | للقيام بذلك، يجب أن يكون لديك أكثر من أطلس تم إنشاؤه في مورد <code>TileSet</code>. استخدم زر القائمة "النقاط الرأسية الثلاث" الموجود أسفل قائمة الأطالس، ثم اختر '''فتح أداة دمج الأطلس Open Atlas Merging Tool''': | ||
[[ملف:using tilesets open atlas merging tool.png|مركز|تصغير|فتح أداة دمج الأطلس بعد إنشاء أطالس متعددة]] | [[ملف:using tilesets open atlas merging tool.png|مركز|تصغير|فتح أداة دمج الأطلس بعد إنشاء أطالس متعددة]] | ||
سطر 92: | سطر 93: | ||
اختر "'''دمج Merge'''" لدمج الأطالس المحددة في صورة أطلس واحدة (التي تترجَم إلى أطلس واحد داخل TileSet). ستتم إزالة الأطالس غير المدمجة داخل | اختر "'''دمج Merge'''" لدمج الأطالس المحددة في صورة أطلس واحدة (التي تترجَم إلى أطلس واحد داخل <code>TileSet</code>). ستتم إزالة الأطالس غير المدمجة داخل <code>TileSet</code>، ولكن سيتم الاحتفاظ بصور الرقعة الأصلية في نظام الملفات. اختر "'''دمج (الاحتفاظ بالأطالس الأصلية) Merge (Keep origional Atalses)'''" بدلاً من ذلك إذا كنت لا تريد إزالة الأطالس غير المدمجة من مورد <code>TileSet</code>.<blockquote>نصيحة: تتميز مجموعة عناصر الرقعة بنظام وسطاء عنصر الرقعة tile proxies. وسطاء عنصر الرقعة عبارة عن جدول تعيين يسمح بإخطار خريطة الرقعة باستخدام مجموعة عناصر رقعة معينة بأنه يجب استبدال مجموعة معينة من معرفات عناصر الرقعة بمجموعة أخرى. | ||
يتم إعداد وسطاء عناصر الرقعة تلقائيًا عند دمج أطالس مختلفة، ولكن يمكن أيضًا تعيينها يدويًا بفضل مربع حوار '''إدارة وسطاء عناصر الرقعة Manage Tile Proxies''' الذي يمكنك الوصول إليه باستخدام قائمة "النقاط الرأسية الثلاث" المذكورة أعلاه. | يتم إعداد وسطاء عناصر الرقعة تلقائيًا عند دمج أطالس مختلفة، ولكن يمكن أيضًا تعيينها يدويًا بفضل مربع حوار '''إدارة وسطاء عناصر الرقعة Manage Tile Proxies''' الذي يمكنك الوصول إليه باستخدام قائمة "النقاط الرأسية الثلاث" المذكورة أعلاه. | ||
قد يكون إنشاء وسطاء عناصر الرقعة يدويًا مفيدًا عندما تقوم بتغيير معرّف الأطلس أو ترغب في استبدال جميع عناصر الرقعة من الأطلس بتلك الموجودة في أطلس آخر. لاحظ أنه يمكنك استبدال جميع الخلايا بالقيمة المعينة المقابلة لها عند تحرير TileMap.</blockquote> | قد يكون إنشاء وسطاء عناصر الرقعة يدويًا مفيدًا عندما تقوم بتغيير معرّف الأطلس أو ترغب في استبدال جميع عناصر الرقعة من الأطلس بتلك الموجودة في أطلس آخر. لاحظ أنه يمكنك استبدال جميع الخلايا بالقيمة المعينة المقابلة لها عند تحرير <code>TileMap</code>.</blockquote> | ||
== إضافة التصادم والإطباق والتنقل إلى مجموعة عناصر رقعة == | == إضافة التصادم والإطباق والتنقل إلى مجموعة عناصر رقعة == | ||
لقد نجحنا الآن في إنشاء مجموعة عناصر رقعة أساسي TileSet. يمكننا البدء في استخدام عقدة TileMap الآن، لكنها تفتقر حاليًا إلى أي شكل من أشكال اكتشاف التصادم. وهذا يعني أن اللاعب والأشياء الأخرى يمكن أن تمشي مباشرة عبر الأرض أو الجدران. | لقد نجحنا الآن في إنشاء مجموعة عناصر رقعة أساسي <code>TileSet</code>. يمكننا البدء في استخدام عقدة <code>TileMap</code> الآن، لكنها تفتقر حاليًا إلى أي شكل من أشكال اكتشاف التصادم. وهذا يعني أن اللاعب والأشياء الأخرى يمكن أن تمشي مباشرة عبر الأرض أو الجدران. | ||
ستحتاج أيضًا إلى تحديد مضلعات التنقل لعناصر الرقعة إذا كنت تستخدم [[Godot/navigation/navigation introduction 2d|التنقل ثنائي الأبعاد]]، لإنشاء شبكة تنقل تمكّن للوسطاء استخدامها للعثور على المسار. | ستحتاج أيضًا إلى تحديد مضلعات التنقل لعناصر الرقعة إذا كنت تستخدم [[Godot/navigation/navigation introduction 2d|التنقل ثنائي الأبعاد]]، لإنشاء شبكة تنقل تمكّن للوسطاء استخدامها للعثور على المسار. | ||
أخيرًا، إذا كنت تستخدم [[Godot/2d/2d lights and shadows|الأضواء والظلال ثنائية الأبعاد]] أو | أخيرًا، إذا كنت تستخدم [[Godot/2d/2d lights and shadows|الأضواء والظلال ثنائية الأبعاد]] أو <code>GPUParticles2D</code>، فقد ترغب أيضًا في أن تكون مجموعة عناصر الرقعة الخاصة بك قادرة على إلقاء الظلال والاصطدام بالجزيئات. يتطلب هذا تحديد مضلعات المغلق لعناصر الرقعة "الصلبة" في مجموعة عناصر الرقعة. | ||
ستحتاج إلى إنشاء طبقة فيزيائية أو تنقل أو انسداد لمورد مجموعة عناصر رقعة أولاً لتتمكن من تحديد أشكال التصادم والتنقل والإطباق لكل عنصر رقعة. للقيام بذلك، حدد عقدة | ستحتاج إلى إنشاء طبقة فيزيائية أو تنقل أو انسداد لمورد مجموعة عناصر رقعة أولاً لتتمكن من تحديد أشكال التصادم والتنقل والإطباق لكل عنصر رقعة. للقيام بذلك، حدد عقدة <code>TileMap</code>، وانقر فوق قيمة خاصية <code>TileSet</code> في المراقب لتحريرها ثم افتح الطبقات الفيزيائية واختر إضافة عنصر: | ||
[[ملف:using tilesets create physics layer.png|مركز|تصغير|إنشاء طبقة فيزيائية في محرر مورد TileSet (داخل عقدة TileMap)]] | [[ملف:using tilesets create physics layer.png|مركز|تصغير|إنشاء طبقة فيزيائية في محرر مورد <code>TileSet</code> (داخل عقدة <code>TileMap</code>)]] | ||
إذا كنت تحتاج أيضًا إلى دعم التنقل، فهذا هو الوقت المناسب لإنشاء طبقة تنقل: | إذا كنت تحتاج أيضًا إلى دعم التنقل، فهذا هو الوقت المناسب لإنشاء طبقة تنقل: | ||
[[ملف:using tilesets create navigation layer.png|مركز|تصغير|إنشاء طبقة تنقل في محرر مورد TileSet (داخل عقدة TileMap)]] | [[ملف:using tilesets create navigation layer.png|مركز|تصغير|إنشاء طبقة تنقل في محرر مورد <code>TileSet</code> (داخل عقدة <code>TileMap</code>)]] | ||
إذا كنت بحاجة إلى دعم للحاجبات occluders ذات المضلعات الخفيفة، فهذا هو الوقت المناسب لإنشاء طبقة الإطباق: | إذا كنت بحاجة إلى دعم للحاجبات occluders ذات المضلعات الخفيفة، فهذا هو الوقت المناسب لإنشاء طبقة الإطباق: | ||
[[ملف:using tilesets create occlusion layer.png|مركز|تصغير|إنشاء طبقة الإطباق في محرر مورد TileSet (داخل عقدة TileMap)]] | [[ملف:using tilesets create occlusion layer.png|مركز|تصغير|إنشاء طبقة الإطباق في محرر مورد <code>TileSet</code> (داخل عقدة <code>TileMap</code>)]] | ||
<blockquote>ملاحظة: الخطوات في هذا الدليل مبنية بهدف إنشاء مضلعات تصادمية لاحقًا، ولكن إجراء التنقل والإطباق متشابه جدًا. تعمل محررات المضلعات بنفس الطريقة، لذلك لن نكرر هذه الخطوات للإيجاز. | <blockquote>ملاحظة: الخطوات في هذا الدليل مبنية بهدف إنشاء مضلعات تصادمية لاحقًا، ولكن إجراء التنقل والإطباق متشابه جدًا. تعمل محررات المضلعات بنفس الطريقة، لذلك لن نكرر هذه الخطوات للإيجاز. | ||
التحذير الوحيد هو أن خاصية مضلع إطباق عناصر الرقعة هي جزء من قسم العرض الفرعي في محرر الأطلس. تأكد من فتح هذا القسم حتى تتمكن من تحرير المضلع.</blockquote>بعد إنشاء طبقة فيزيائية، يمكنك الوصول إلى قسم طبقة الفيزياء في محرر أطلس TileSet: | التحذير الوحيد هو أن خاصية مضلع إطباق عناصر الرقعة هي جزء من قسم العرض الفرعي في محرر الأطلس. تأكد من فتح هذا القسم حتى تتمكن من تحرير المضلع.</blockquote>بعد إنشاء طبقة فيزيائية، يمكنك الوصول إلى قسم طبقة الفيزياء في محرر أطلس <code>TileSet</code>: | ||
[[ملف:using tilesets selecting collision editor.png|مركز|تصغير|فتح محرر التصادم أثناء التواجد في وضع التحديد]] | [[ملف:using tilesets selecting collision editor.png|مركز|تصغير|فتح محرر التصادم أثناء التواجد في وضع التحديد]] | ||
يمكنك إنشاء شكل تصادم مستطيل بسرعة بالضغط على <code>F</code> أثناء كون نافذة المحرر TileSet فعالة. حاول النقر في المنطقة الفارغة حول محرر المضلع للتركيز عليه إذا لم يعمل اختصار لوحة المفاتيح: | يمكنك إنشاء شكل تصادم مستطيل بسرعة بالضغط على <code>F</code> أثناء كون نافذة المحرر <code>TileSet</code> فعالة. حاول النقر في المنطقة الفارغة حول محرر المضلع للتركيز عليه إذا لم يعمل اختصار لوحة المفاتيح: | ||
[[ملف:using tilesets using default rectangle collision.png|مركز|تصغير|استخدام شكل تصادم المستطيل الافتراضي بالضغط على F]] | [[ملف:using tilesets using default rectangle collision.png|مركز|تصغير|استخدام شكل تصادم المستطيل الافتراضي بالضغط على F]] | ||
سطر 147: | سطر 148: | ||
ترتبط البيانات بعناصر رقعة الموجود في مجموعة عناصر رقعة: ستستخدم جميع مثيلات عناصر الرقعة نفس البيانات المخصصة. إذا كنت بحاجة إلى إنشاء متغير من إطار عناصر الرقعة الذي يحتوي على بيانات مخصصة مختلفة، فيمكن القيام بذلك عن طريق إنشاء عنصر رقعة بديل وتغيير البيانات المخصصة لعنصر رقعة بديل فقط. | ترتبط البيانات بعناصر رقعة الموجود في مجموعة عناصر رقعة: ستستخدم جميع مثيلات عناصر الرقعة نفس البيانات المخصصة. إذا كنت بحاجة إلى إنشاء متغير من إطار عناصر الرقعة الذي يحتوي على بيانات مخصصة مختلفة، فيمكن القيام بذلك عن طريق إنشاء عنصر رقعة بديل وتغيير البيانات المخصصة لعنصر رقعة بديل فقط. | ||
[[ملف:using tilesets create custom data layer.png|مركز|تصغير|إنشاء طبقة بيانات مخصصة في محرر مورد TileSet (داخل عقدة TileMap)]] | [[ملف:using tilesets create custom data layer.png|مركز|تصغير|إنشاء طبقة بيانات مخصصة في محرر مورد <code>TileSet</code> (داخل عقدة <code>TileMap</code>)]] | ||
[[ملف:using tilesets custom data layers example.png|مركز|تصغير|مثال لطبقات البيانات المخصصة التي تم تكوينها بخصائص خاصة باللعبة]] | [[ملف:using tilesets custom data layers example.png|مركز|تصغير|مثال لطبقات البيانات المخصصة التي تم تكوينها بخصائص خاصة باللعبة]] | ||
يمكنك إعادة ترتيب البيانات المخصصة دون كسر البيانات التعريفية الموجودة: سيتم تحديث محرر TileSet تلقائيًا بعد إعادة ترتيب خصائص البيانات المخصصة. | |||
يمكنك إعادة ترتيب البيانات المخصصة دون كسر البيانات التعريفية الموجودة: سيتم تحديث محرر <code>TileSet</code> تلقائيًا بعد إعادة ترتيب خصائص البيانات المخصصة. | |||
لاحظ أنه في المحرر لا تظهر أسماء الخصائص (فقط فهرسها، الذي يطابق الترتيب الذي تم تعريفها به). على سبيل المثال، في مثال طبقات البيانات المخصصة الموضح أعلاه، نقوم بتعيين إطار عنصر رقعة لتعيين البيانات التعريفية <code>damage_per_sec</code> إلى <code>25</code> والبيانات التعريفية <code>destructible</code> إلى <code>false</code>: | لاحظ أنه في المحرر لا تظهر أسماء الخصائص (فقط فهرسها، الذي يطابق الترتيب الذي تم تعريفها به). على سبيل المثال، في مثال طبقات البيانات المخصصة الموضح أعلاه، نقوم بتعيين إطار عنصر رقعة لتعيين البيانات التعريفية <code>damage_per_sec</code> إلى <code>25</code> والبيانات التعريفية <code>destructible</code> إلى <code>false</code>: | ||
[[ملف:using tilesets edit custom data.png|مركز|تصغير|تحرير البيانات المخصصة في محرر TileSet مع البقاء في وضع التحديد]] | [[ملف:using tilesets edit custom data.png|مركز|تصغير|تحرير البيانات المخصصة في محرر <code>TileSet</code> مع البقاء في وضع التحديد]] | ||
يمكن أيضًا استخدام خاصية طلاء عنصر رقعة للبيانات المخصصة: | يمكن أيضًا استخدام خاصية طلاء عنصر رقعة للبيانات المخصصة: | ||
[[ملف:using tilesets edit custom data.png|مركز|تصغير|تعيين بيانات مخصصة في محرر TileSet باستخدام لوحة خصائص عنصر رقعة]] | [[ملف:using tilesets edit custom data.png|مركز|تصغير|تعيين بيانات مخصصة في محرر <code>TileSet</code> باستخدام لوحة خصائص عنصر رقعة]] | ||
== إنشاء مجموعات التضاريس (التقسيم التلقائي) == | == إنشاء مجموعات التضاريس (التقسيم التلقائي) == | ||
<blockquote>ملاحظة: تم تنفيذ هذه الوظيفة بشكل مختلف مثل التشغيل التلقائي في جودو | <blockquote>ملاحظة: تم تنفيذ هذه الوظيفة بشكل مختلف مثل التشغيل التلقائي في جودو 3.x. تعد التضاريس في الأساس بديلًا أكثر قوة لعناصر رقعة تلقائية. حيث يمكن أن تدعم التضاريس التحولات من تضاريس إلى أخرى على عكس عناصر الرقعة التلقائية، وقد يحدد عنصر الرقعة عدة تضاريس في وقت واحد. | ||
على عكس ما سبق، حيث كانت عناصر الرقعة التلقائية نوعًا محددًا من عنصر رقعة، فإن التضاريس ليست سوى مجموعة من الخصائص المخصصة لعناصر رقعة الأطلس. يتم بعد ذلك استخدام هذه الخصائص من خلال وضع طلاء خريطة رقعة المخصص الذي يحدد عناصر الرقعة التي تحتوي على بيانات التضاريس بطريقة ذكية. وهذا يعني أنه يمكن طلاء أي عنصر رقعة تضاريس كتضاريس أو كعنصر رقعة واحد مثل أي عنصر رقعة آخر.</blockquote>تتميز مجموعة عناصر الرقعة "المصقولة" بشكل عام بأشكال مختلفة يجب عليك استخدامها على زوايا أو حواف المنصات والأرضيات وما إلى ذلك. على الرغم من أنه يمكن وضعها يدويًا، إلا أن هذا سرعان ما يصبح مملاً. وقد يكون التعامل مع هذا الموقف بالمستويات التي تم إنشاؤها إجرائيًا أمرًا صعبًا أيضًا ويتطلب الكثير من التعليمات البرمجية. | على عكس ما سبق، حيث كانت عناصر الرقعة التلقائية نوعًا محددًا من عنصر رقعة، فإن التضاريس ليست سوى مجموعة من الخصائص المخصصة لعناصر رقعة الأطلس. يتم بعد ذلك استخدام هذه الخصائص من خلال وضع طلاء خريطة رقعة المخصص الذي يحدد عناصر الرقعة التي تحتوي على بيانات التضاريس بطريقة ذكية. وهذا يعني أنه يمكن طلاء أي عنصر رقعة تضاريس كتضاريس أو كعنصر رقعة واحد مثل أي عنصر رقعة آخر.</blockquote>تتميز مجموعة عناصر الرقعة "المصقولة" بشكل عام بأشكال مختلفة يجب عليك استخدامها على زوايا أو حواف المنصات والأرضيات وما إلى ذلك. على الرغم من أنه يمكن وضعها يدويًا، إلا أن هذا سرعان ما يصبح مملاً. وقد يكون التعامل مع هذا الموقف بالمستويات التي تم إنشاؤها إجرائيًا أمرًا صعبًا أيضًا ويتطلب الكثير من التعليمات البرمجية. | ||
سطر 167: | سطر 169: | ||
يوفر جودو تضاريس لإجراء هذا النوع من اتصالات عناصر رقعة تلقائيًا. يتيح لك هذا استخدام متغيرات عناصر رقعة "الصحيحة" تلقائيًا. | يوفر جودو تضاريس لإجراء هذا النوع من اتصالات عناصر رقعة تلقائيًا. يتيح لك هذا استخدام متغيرات عناصر رقعة "الصحيحة" تلقائيًا. | ||
يتم تجميع التضاريس في مجموعات التضاريس. يتم تعيين وضع لكل مجموعة تضاريس من '''مطابقة الزوايا والجوانب Match Corners and Sides''' و'''مطابقة الزوايا Match Corners''' و'''مطابقة الجوانب Match sides'''. وهي تحدد كيفية مطابقة التضاريس مع بعضها البعض في مجموعة التضاريس.<blockquote>ملاحظة: تتوافق الأوضاع المذكورة أعلاه مع أوضاع القناع النقطي bitmask modes السابقة المستخدمة في جودو 3.x: 2×2 أو 3×3 أو 3×3 كحد أدنى. وهذا مشابه أيضًا لما يتميز به محرر [https://www.mapeditor.org/ Tiled].</blockquote>حدد عقدة | يتم تجميع التضاريس في مجموعات التضاريس. يتم تعيين وضع لكل مجموعة تضاريس من '''مطابقة الزوايا والجوانب Match Corners and Sides''' و'''مطابقة الزوايا Match Corners''' و'''مطابقة الجوانب Match sides'''. وهي تحدد كيفية مطابقة التضاريس مع بعضها البعض في مجموعة التضاريس.<blockquote>ملاحظة: تتوافق الأوضاع المذكورة أعلاه مع أوضاع القناع النقطي bitmask modes السابقة المستخدمة في جودو 3.x: 2×2 أو 3×3 أو 3×3 كحد أدنى. وهذا مشابه أيضًا لما يتميز به محرر [https://www.mapeditor.org/ Tiled].</blockquote>حدد عقدة <code>TileMap</code>، وانتقل إلى المحرر وقم بإنشاء مجموعة تضاريس جديدة داخل مورد <code>TileSet</code>: | ||
[[ملف:using tilesets create terrain set.png|مركز|تصغير|إنشاء مجموعة تضاريس في محرر مورد TileSet (داخل عقدة TileMap)]] | [[ملف:using tilesets create terrain set.png|مركز|تصغير|إنشاء مجموعة تضاريس في محرر مورد TileSet (داخل عقدة TileMap)]] | ||
سطر 175: | سطر 177: | ||
بدّل إلى وضع التحديد وانقر فوق أحد عناصر الرقعة في محرر TileSet. افتح قسم التضاريس في العمود الأوسط ثم قم بتعيين معرف مجموعة التضاريس ومعرف التضاريس لعنصر رقعة. <code>1-</code> تعني "لم يتم ضبط التضاريس" أو "لا توجد تضاريس"، مما يعني أنه يجب عليك ضبط '''مجموعة التضاريس Terrain Set''' على <code>0</code> أو أكبر قبل أن تتمكن من ضبط '''التضاريس Terrain''' على <code>0</code> أو أكبر.<blockquote>ملاحظة: معرّفات مجموعة التضاريس ومعرفات التضاريس مستقلة عن بعضها البعض. كما أنها تبدأ من <code>0</code> وليس <code>1</code>.</blockquote> | بدّل إلى وضع التحديد وانقر فوق أحد عناصر الرقعة في محرر <code>TileSet</code>. افتح قسم التضاريس في العمود الأوسط ثم قم بتعيين معرف مجموعة التضاريس ومعرف التضاريس لعنصر رقعة. <code>1-</code> تعني "لم يتم ضبط التضاريس" أو "لا توجد تضاريس"، مما يعني أنه يجب عليك ضبط '''مجموعة التضاريس Terrain Set''' على <code>0</code> أو أكبر قبل أن تتمكن من ضبط '''التضاريس Terrain''' على <code>0</code> أو أكبر.<blockquote>ملاحظة: معرّفات مجموعة التضاريس ومعرفات التضاريس مستقلة عن بعضها البعض. كما أنها تبدأ من <code>0</code> وليس <code>1</code>.</blockquote> | ||
[[ملف:using tilesets configure terrain on tile.png|مركز|تصغير|تكوين التضاريس على عنصر رقعة واحد في وضع التحديد لمحرر TileSet]] | [[ملف:using tilesets configure terrain on tile.png|مركز|تصغير|تكوين التضاريس على عنصر رقعة واحد في وضع التحديد لمحرر TileSet]] | ||
سطر 182: | سطر 184: | ||
على سبيل المثال، إذا تم تعيين جميع البتات الخاصة بعناصر رقعة على <code>0</code> أو أكبر، فسوف يظهر فقط إذا كانت جميع عناصر الرقعة الثمانية المجاورة تستخدم عنصر رقعة بنفس معرف التضاريس. إذا تم تعيين البتات الخاصة بعنصر رقعة على <code>0</code> أو أكبر، ولكن تم تعيين البتات العلوية اليسرى والعلوية واليمنى على <code>1-</code>، فسوف تظهر فقط إذا كانت هناك مساحة فارغة فوقها (بما في ذلك قطريًا). | على سبيل المثال، إذا تم تعيين جميع البتات الخاصة بعناصر رقعة على <code>0</code> أو أكبر، فسوف يظهر فقط إذا كانت جميع عناصر الرقعة الثمانية المجاورة تستخدم عنصر رقعة بنفس معرف التضاريس. إذا تم تعيين البتات الخاصة بعنصر رقعة على <code>0</code> أو أكبر، ولكن تم تعيين البتات العلوية اليسرى والعلوية واليمنى على <code>1-</code>، فسوف تظهر فقط إذا كانت هناك مساحة فارغة فوقها (بما في ذلك قطريًا). | ||
[[ملف:using tilesets configure terrain peering bits.png|مركز|تصغير|تكوين بتات نظير التضاريس على عنصر رقعة واحد في وضع التحديد لمحرر TileSet]] | [[ملف:using tilesets configure terrain peering bits.png|مركز|تصغير|تكوين بتات نظير التضاريس على عنصر رقعة واحد في وضع التحديد لمحرر <code>TileSet</code>]] | ||
قد يبدو مثال التكوين لرقعة كاملة كما يلي: | قد يبدو مثال التكوين لرقعة كاملة كما يلي: | ||
[[ملف:using tilesets terrain example tilesheet.png|مركز|تصغير|مثال لرقعة كاملة للعبة تمرير جانبي]] | [[ملف:using tilesets terrain example tilesheet.png|مركز|تصغير|مثال لرقعة كاملة للعبة تمرير جانبي]] | ||
سطر 191: | سطر 193: | ||
=== استخدام التحديد المتعدد لعناصر رقعة === | === استخدام التحديد المتعدد لعناصر رقعة === | ||
اختر وضع التحديد الموجود أعلى محرر TileSet إذا كنت ترغب في تكوين خصائص مختلفة عدة مرات في وقت واحد: | اختر وضع التحديد الموجود أعلى محرر <code>TileSet</code> إذا كنت ترغب في تكوين خصائص مختلفة عدة مرات في وقت واحد: | ||
بعد القيام بذلك، يمكنك تحديد عدة عناصر رقعة في العمود الأيمن بالضغط على <code>Shift</code> ثم النقر فوق عنصر رقعة. يمكنك أيضًا إجراء تحديد المستطيل عن طريق الضغط باستمرار على زر الفأرة الأيسر ثم سحب الفأرة. وأخيرًا، يمكنك إلغاء تحديد عناصر رقعة التي تم تحديدها بالفعل (دون التأثير على بقية التحديد) عن طريق الضغط على <code>Shift</code> ثم النقر فوق عنصر الرقعة المحدد. | بعد القيام بذلك، يمكنك تحديد عدة عناصر رقعة في العمود الأيمن بالضغط على <code>Shift</code> ثم النقر فوق عنصر رقعة. يمكنك أيضًا إجراء تحديد المستطيل عن طريق الضغط باستمرار على زر الفأرة الأيسر ثم سحب الفأرة. وأخيرًا، يمكنك إلغاء تحديد عناصر رقعة التي تم تحديدها بالفعل (دون التأثير على بقية التحديد) عن طريق الضغط على <code>Shift</code> ثم النقر فوق عنصر الرقعة المحدد. | ||
يمكنك بعد ذلك تعيين الخصائص باستخدام المحرر الموجود في العمود الأوسط لمحرر TileSet. سيتم تطبيق الخصائص التي قمت بتغييرها هنا فقط على جميع عناصر الرقعة المحددة. ستظل الخصائص التي تختلف في عناصر الرقعة المحددة مختلفة حتى تقوم بتحريرها كما هو الحال في محرر المحرر. | يمكنك بعد ذلك تعيين الخصائص باستخدام المحرر الموجود في العمود الأوسط لمحرر <code>TileSet</code>. سيتم تطبيق الخصائص التي قمت بتغييرها هنا فقط على جميع عناصر الرقعة المحددة. ستظل الخصائص التي تختلف في عناصر الرقعة المحددة مختلفة حتى تقوم بتحريرها كما هو الحال في محرر المحرر. | ||
ستشاهد أيضًا معاينة لقيمة الخاصية على جميع عناصر الرقعة الموجودة في الأطلس بعد تحرير الخاصية باستخدام الخصائص العددية واللونية: | ستشاهد أيضًا معاينة لقيمة الخاصية على جميع عناصر الرقعة الموجودة في الأطلس بعد تحرير الخاصية باستخدام الخصائص العددية واللونية: | ||
سطر 213: | سطر 215: | ||
قد ترغب في بعض الأحيان باستخدام صورة عنصر رقعة واحدة (تم العثور عليها مرة واحدة فقط داخل الأطلس)، ولكن تم تكوينها بطرق مختلفة. على سبيل المثال، قد ترغب في استخدام نفس صورة عنصر رقعة، ولكن مع تدويرها أو قلبها أو تعديلها بلون مختلف. يمكن القيام بذلك باستخدام عنصر الرقعة البديل. | قد ترغب في بعض الأحيان باستخدام صورة عنصر رقعة واحدة (تم العثور عليها مرة واحدة فقط داخل الأطلس)، ولكن تم تكوينها بطرق مختلفة. على سبيل المثال، قد ترغب في استخدام نفس صورة عنصر رقعة، ولكن مع تدويرها أو قلبها أو تعديلها بلون مختلف. يمكن القيام بذلك باستخدام عنصر الرقعة البديل. | ||
انقر بزر الفأرة الأيمن فوق اللوحة الأساسية في الأطلس الذي يعرضه محرر TileSet لإنشاء عنصر رقعة بديل، ثم اختر إنشاء '''عنصر رقعة بديل Create an Alternative Tile''': | انقر بزر الفأرة الأيمن فوق اللوحة الأساسية في الأطلس الذي يعرضه محرر <code>TileSet</code> لإنشاء عنصر رقعة بديل، ثم اختر إنشاء '''عنصر رقعة بديل Create an Alternative Tile''': | ||
[[ملف:using tilesets create alternative tile.png|مركز|تصغير|إنشاء عنصر رقعة بديل عن طريق النقر بزر الفأرة الأيمن فوق عنصر الرقعة الأساسية في محرر TileSet]] | [[ملف:using tilesets create alternative tile.png|مركز|تصغير|إنشاء عنصر رقعة بديل عن طريق النقر بزر الفأرة الأيمن فوق عنصر الرقعة الأساسية في محرر TileSet]] | ||
سطر 219: | سطر 221: | ||
سيتم تحديد عنصر رقعة بديل للتحرير إذا كان حاليًا في وضع التحديد. أمّا إن لم تكن حاليًا في وضع التحديد، فلا يزال بإمكانك إنشاء عناصر رقعة بديلة، ولكن ستحتاج للتبديل إلى وضع التحديد وتحديد عنصر الرقعة البديل لتحريره. | سيتم تحديد عنصر رقعة بديل للتحرير إذا كان حاليًا في وضع التحديد. أمّا إن لم تكن حاليًا في وضع التحديد، فلا يزال بإمكانك إنشاء عناصر رقعة بديلة، ولكن ستحتاج للتبديل إلى وضع التحديد وتحديد عنصر الرقعة البديل لتحريره. | ||
حرّك إلى يمين صورة الأطلس إذا كنت لا ترى عنصر الرقعة البديل، حيث تظهر عناصر الرقعة البديلة دائمًا على يمين عنصر الرقعة الأساسي للأطلس المحدد في محرر TileSet: | حرّك إلى يمين صورة الأطلس إذا كنت لا ترى عنصر الرقعة البديل، حيث تظهر عناصر الرقعة البديلة دائمًا على يمين عنصر الرقعة الأساسي للأطلس المحدد في محرر <code>TileSet</code>: | ||
[[ملف:using tilesets configure alternative tile.png|مركز|تصغير|تكوين عنصر رقعة بديل بعد النقر عليه في محرر TileSet]] | [[ملف:using tilesets configure alternative tile.png|مركز|تصغير|تكوين عنصر رقعة بديل بعد النقر عليه في محرر TileSet]] | ||
سطر 241: | سطر 243: | ||
* '''الدليل Z Index''': ترتيب الفرز لعنصر رقعة. ستؤدي القيم الأعلى إلى عرض عنصر رقعة أمام الآخرين على نفس الطبقة. | * '''الدليل Z Index''': ترتيب الفرز لعنصر رقعة. ستؤدي القيم الأعلى إلى عرض عنصر رقعة أمام الآخرين على نفس الطبقة. | ||
* '''أصل الفرز Y Sort Origin''': الإزاحة الرأسية المستخدمة لفرز عناصر الرقعة بناءً على الإحداثي Y خاصته (بالبكسل). يسمح هذا باستخدام الطبقات كما لو كانت على ارتفاعات مختلفة للألعاب من أعلى إلى أسفل. يمكن أن يساعد ضبط هذا في تخفيف المشكلات المتعلقة بفرز عناصر رقعة معينة. لا يكون فعالاً إلا إذا كان '''Y Sort Enabled''' يحمل القيمة <code>true</code> على طبقة TileMap التي تم وضع عناصر رقعة عليها. | * '''أصل الفرز Y Sort Origin''': الإزاحة الرأسية المستخدمة لفرز عناصر الرقعة بناءً على الإحداثي Y خاصته (بالبكسل). يسمح هذا باستخدام الطبقات كما لو كانت على ارتفاعات مختلفة للألعاب من أعلى إلى أسفل. يمكن أن يساعد ضبط هذا في تخفيف المشكلات المتعلقة بفرز عناصر رقعة معينة. لا يكون فعالاً إلا إذا كان '''Y Sort Enabled''' يحمل القيمة <code>true</code> على طبقة <code>TileMap</code> التي تم وضع عناصر رقعة عليها. | ||
يمكنك إنشاء متغير عنصر رقعة بديل إضافي من خلال النقر على أيقونة "+" الكبيرة بجوار عنصر الرقعة البديل. وهذا يعادل تحديد عنصر الرقعة الأساسي والنقر بزر الماوس الأيمن عليه لاختيار '''إنشاء عنصر رقعة بديل Create an Alternative Tile''' مرة أخرى.<blockquote>ملاحظة: لا يتم توريث أي من خصائص عنصر الرقعة الأساسي عند إنشاء عنصر رقعة بديل. يجب عليك تعيين الخصائص مرة أخرى على عنصر الرقعة البديل إذا كنت تريد أن تكون متطابقة على عنصر الرقعة الأساسي وعنصر الرقعة البديل.</blockquote> | يمكنك إنشاء متغير عنصر رقعة بديل إضافي من خلال النقر على أيقونة "+" الكبيرة بجوار عنصر الرقعة البديل. وهذا يعادل تحديد عنصر الرقعة الأساسي والنقر بزر الماوس الأيمن عليه لاختيار '''إنشاء عنصر رقعة بديل Create an Alternative Tile''' مرة أخرى.<blockquote>ملاحظة: لا يتم توريث أي من خصائص عنصر الرقعة الأساسي عند إنشاء عنصر رقعة بديل. يجب عليك تعيين الخصائص مرة أخرى على عنصر الرقعة البديل إذا كنت تريد أن تكون متطابقة على عنصر الرقعة الأساسي وعنصر الرقعة البديل.</blockquote> |
المراجعة الحالية بتاريخ 14:04، 5 نوفمبر 2023
خريطة الرقعة tilemap هي عبارة عن شبكة من عناصر الرقعة tiles المُستخدمة لإنشاء تخطيط لعبة. هناك العديد من المزايا لاستخدام عقد TileMap
لتصميم مراحل اللعبة، إذ تُتيح لك رسم التخطيط من خلال "طلاء" عناصر الرقعة إلى الشبكة، وهي عملية أسرع بكثير من وضع عقد Sprite2D
واحدة تلوَ الأخرى. ثانيًا، تسمح بمراحل أكبر لأنها مُصممة لرسم أعداد كبيرة من الرقع. تتيح لك أخيرًا إضافة وظائف أوسع إلى عناصر الرقع من خلال أشكال التصادم والإطباق والتنقل.
ستحتاج إلى إنشاء مجموعة عناصر رقعة أولًا لاستخدام خريطة الرقعة. مجموعة عناصر الرقعة هي عبارة عن مجموعة من المربعات التي يمكن وضعها في عقدة TileMap
. ستتمكن من وضعهم بعد إنشاء مجموعة عناصر رقعة باستخدام محرر TileMap
.
لاتباع هذا الدليل، ستحتاج إلى صورة تحتوي على عناصر الرقعة خاصّتك حيث يكون لكل عنصر نفس الحجم (يمكن تقسيم الكائنات الكبيرة إلى عدة مربعات). هذه الصورة تسمى الرقعة. من غير الضروري أن يكون عنصر الرقعة مربعًا، حيث يمكن أن يكون مستطيل أو سداسي أو المتناظر منظور زائف ثلاثي الأبعاد).
إنشاء مجموعة TileSet جديدة
استخدام الرقعة
سيستخدم هذا العرض التوضيحي عناصر الرقعة tiles التالية المأخوذة من حزمة "Abstract Platformer" بواسطة كيني. سنستخدم الرقعة tilesheet المحددة هذه من المجموعة:
أنشئ عقدة TileMap جديدة، ثم اخترها وأنشئ مورد Tileset
جديد في المحرر:
انقر فوق القيمة لعرضها في المحرر بعد إنشاء مورد TileSet
. شكل عنصر الرقعة الافتراضي هو مربع، ولكن بإمكانك اختيار الشكل المتناظر ومربع نصف الإزاحة والسداسي (اعتمادًا على شكل صور عنصر الرقعة خاصتك). قد تحتاج أيضًا إلى ضبط خصائص تخطيط عناصر الرقعة ومحور إزاحته إذا كنت تستخدم شكل عنصر رقعة آخر غير المربع. وأخيرًا، قد يكون تمكين خاصية Rendering > UV Clipping مفيدًا إذا كنت ترغب في قص عناصر رقعة حسب إحداثيات عناصر الرقعة الخاصة بها. وهذا يضمن عدم إمكانية رسم عنصر الرقعة خارج المنطقة المخصصة لها على الرقعة.
اضبط حجم عنصر الرقعة إلى64 × 64 في المحرر لمطابقة الرقعة النموذجية:
يجب أن تضبط حجم عنصر الرقعة قبل إنشاء الأطلس atlas إذا كنت تعتمد على إنشاء عناصر الرقعة تلقائيًا (كما سنفعل هنا). سيحدد الأطلس أي عنصر رقعة من الرقعة يمكن إضافتها إلى عقدة TileMap
(حيث أنه ليس كل جزء من الصورة يمكن أن يكون عنصر رقعة صالح).
افتح لوحة TileSet
في أسفل المحرر، ثم انقر على أيقونة "+" في الزاوية السفلية اليسرى لإضافة أطلس جديد:
يجب عليك تعيين ملمس texture الرقعة للأطلس بعد إنشائه. يمكن القيام بذلك عن طريق اختياره في العمود الأيسر من اللوحة السفلية، ثم النقر فوق قيمة خاصية Texture واختيار التحميل السريع (أو التحميل). حدد المسار إلى ملف الصورة باستخدام مربع حوار الملف الذي يظهر.
سيتم سؤالك عما إذا كنت تريد إنشاء عناصر الرقعة تلقائيًا أم لا بعد تحديد صورة صالحة. أجب بنعم:
سيؤدي هذا تلقائيًا إلى إنشاء عناصر رقعة وفقًا لحجم المربع الذي حددته مسبقًا في مورد TileSet
. يؤدي هذا إلى تسريع عملية إعداد عنصر رقعة أولي بشكل كبير.
ملاحظة: لن يتم إنشاء عنصر رقعة لأجزاء الرقعة التي تتسم بالشفافية الكاملة عند استخدام إنشاء عنصر رقعة تلقائي استنادًا إلى محتويات الصورة.
اختر أداة الممحاة في الجزء العلوي من معاينة مجموعة عناصر الرقعة إذا كانت هناك عناصر رقعة لا ترغب في وجودها في الأطلس، ثم انقر فوق عناصر رقعة التي ترغب في إزالتها:
يمكنك أيضًا النقر بزر الماوس الأيمن فوق عنصر رقعة واختيار "حذف Delete" كبديل لأداة الممحاة.
نصيحة: يمكنك التنقل عبر لوحة
TileSet
باستخدام أزرار الفأرة الوسطى أو اليمنى، والتكبير/التصغير باستخدام عجلة الفأرة أو الأزرار الموجودة في الزاوية العلوية اليسرى كما هو الحال في محرري2D
وTileMap
.
أنشئ أطالس إضافية وعيّن مواد لكل منها قبل المتابعة إذا كنت ترغب في الحصول على عناصر رقعة من عدة صور للرقعة لمجموعة عناصر رقعة واحدة. من الممكن أيضًا استخدام صورة واحدة لكل عنصر رقعة بهذه الطريقة (على الرغم من أنه يوصى باستخدام الرقعة للسهولة).
يمكنك ضبط خصائص الأطلس في العمود الأوسط:
يمكن تعديل الخصائص التالية في الأطلس:
- المعرّف ID: المعرف (الفريد في مجموعة
TileSet
) المستخدم للفرز.
- الاسم Name: الاسم الذي يمكن قراءته بواسطة الإنسان للأطلس. استخدم اسمًا وصفيًا هنا للأغراض التنظيمية (مثل "التضاريس" و"الديكور" وما إلى ذلك).
- الهوامش Margins: الهوامش الموجودة على حواف الصورة التي لا ينبغي تحديدها كعناصر رقعة (بالبكسل). يمكن أن تكون زيادة ذلك مفيدة إذا قمت بتحميل صورة رقعة بها هوامش على الحواف (على سبيل المثال حقوق الصورة).
- الفصل Seperation: الفصل بين كل عنصر رقعة في الأطلس بالبكسل. يمكن أن تكون زيادة ذلك مفيدة إذا كانت صورة الرقعة التي تستخدمها تحتوي على أدلة (مثل الخطوط العريضة بين كل مربع).
- حجم منطقة الملمس Texture Region Size: حجم كل عنصر رقعة في الأطلس بالبكسل. يجب أن يتطابق هذا مع حجم عنصر الرقعة المحدد في خاصية
TileMap
في معظم الحالات (على الرغم من أن هذا ليس ضروريًا تمامًا).
- استخدام حشوة الملمس Use Texture Padding: تتم إضافة حافة شفافة بمقدار 1 بكسل حول كل عنصر رقعة لمنع نزف الملمس texture bleeding عند تمكين التصفية في حالة تحديده. من المستحسن ترك هذا ممكنًا إلا إذا كنت تواجه مشكلات في العرض بسبب حشوة الملمس.
لاحظ أن تغيير حدود المادة والفصل وحجم المنطقة قد يتسبب في فقدان عناصر الرقعة (حيث أن بعضها سيكون موجودًا خارج إحداثيات صورة الأطلس). استخدم زر قائمة النقاط الرأسية الثلاث الموجود أعلى محرر TileSet
واختر إنشاء عناصر رقعة في مناطق الملمس غير الشفافة Create Tiles in Non-Transparent Texture Region لإعادة إنشاء عناصر الرقعة تلقائيًا من الرقعة:
استخدام مجموعة من المشاهد
يمكنك وضع المشاهد الفعلية على شكل عنصر رقعة منذ إصدار جودو 4.0. يتيح لك هذا استخدام أي مجموعة من العقد كعنصر رقعة. على سبيل المثال، يمكنك استخدام عنصر رقعة المشهد لوضع عناصر اللعب، مثل المتاجر التي قد يتمكن اللاعب من التفاعل معها. يمكنك أيضًا استخدام عناصر رقعة المشهد لوضع AudioStreamPlayer2Ds
(للأصوات المحيطة)، وتأثيرات الجسيمات، والمزيد.
تحذير: تأتي عناصر رقعة المشهد بأداء أعلى مقارنةً بالأطالس، حيث يتم إنشاء كل مشهد بشكل فردي لكل عنصر رقعة موضوع. يوصى باستخدام عنصر رقعة المشهد فقط عند الضرورة. استخدم الأطالس بدلاً من ذلك لرسم النقوش المتحركة في عنصر رقعة دون أي نوع من المعالجة المتقدمة.
في هذا المثال، سننشئ مشهد يحتوي على عقدة جذر CPUParticles2D
. احفظ هذا المشهد في ملف مشهد (منفصل عن المشهد الذي يحتوي على TileMap
)، ثم بدّل إلى المشهد الذي يحتوي على عقدة TileMap
. افتح محرر TileSet
، وأنشئ مجموعة مشاهد جديدة Scenes Collection في العمود الأيسر:
يمكنك إدخال اسم وصفي لمجموعة المشاهد في العمود الأوسط إذا كنت ترغب في ذلك بعد إنشاء مجموعة المشاهد. حدد مجموعة المشاهد هذه ثم أنشئ فتحة مشهد جديدة:
حدد فتحة المشهد هذه في العمود الأيمن، ثم استخدم التحميل السريع Quick Load (أو التحميل Load) لتحميل ملف المشهد الذي يحتوي على الجسيمات:
لديك الآن عنصر رقعة مشهد في TileSet
. ستتمكن من تحديده من مجموعة المشاهد ورسمه مثل أي عنصر رقعة أخرى بمجرد التبديل إلى محرر TileMap
.
دمج عدة أطالس في أطلس واحد
قد يكون استخدام أطالس متعددة داخل مورد مجموعة عناصر رقعة واحدًا مفيدًا في بعض الأحيان، ولكنه قد يكون مرهقًا أيضًا في مواقف معينة (خاصة إذا كنت تستخدم صورة واحدة لكل عنصر رقعة). يتيح لك جودو دمج عدة أطالس في أطلس واحد لتسهيل التنظيم.
للقيام بذلك، يجب أن يكون لديك أكثر من أطلس تم إنشاؤه في مورد TileSet
. استخدم زر القائمة "النقاط الرأسية الثلاث" الموجود أسفل قائمة الأطالس، ثم اختر فتح أداة دمج الأطلس Open Atlas Merging Tool:
سيؤدي هذا إلى فتح مربع حوار، يمكنك من خلاله تحديد العديد من الأطالس بالضغط على Shift
أو Ctrl
ثم النقر على عناصر متعددة:
اختر "دمج Merge" لدمج الأطالس المحددة في صورة أطلس واحدة (التي تترجَم إلى أطلس واحد داخل TileSet
). ستتم إزالة الأطالس غير المدمجة داخل TileSet
، ولكن سيتم الاحتفاظ بصور الرقعة الأصلية في نظام الملفات. اختر "دمج (الاحتفاظ بالأطالس الأصلية) Merge (Keep origional Atalses)" بدلاً من ذلك إذا كنت لا تريد إزالة الأطالس غير المدمجة من مورد TileSet
.
نصيحة: تتميز مجموعة عناصر الرقعة بنظام وسطاء عنصر الرقعة tile proxies. وسطاء عنصر الرقعة عبارة عن جدول تعيين يسمح بإخطار خريطة الرقعة باستخدام مجموعة عناصر رقعة معينة بأنه يجب استبدال مجموعة معينة من معرفات عناصر الرقعة بمجموعة أخرى.
يتم إعداد وسطاء عناصر الرقعة تلقائيًا عند دمج أطالس مختلفة، ولكن يمكن أيضًا تعيينها يدويًا بفضل مربع حوار إدارة وسطاء عناصر الرقعة Manage Tile Proxies الذي يمكنك الوصول إليه باستخدام قائمة "النقاط الرأسية الثلاث" المذكورة أعلاه.
قد يكون إنشاء وسطاء عناصر الرقعة يدويًا مفيدًا عندما تقوم بتغيير معرّف الأطلس أو ترغب في استبدال جميع عناصر الرقعة من الأطلس بتلك الموجودة في أطلس آخر. لاحظ أنه يمكنك استبدال جميع الخلايا بالقيمة المعينة المقابلة لها عند تحرير
TileMap
.
إضافة التصادم والإطباق والتنقل إلى مجموعة عناصر رقعة
لقد نجحنا الآن في إنشاء مجموعة عناصر رقعة أساسي TileSet
. يمكننا البدء في استخدام عقدة TileMap
الآن، لكنها تفتقر حاليًا إلى أي شكل من أشكال اكتشاف التصادم. وهذا يعني أن اللاعب والأشياء الأخرى يمكن أن تمشي مباشرة عبر الأرض أو الجدران.
ستحتاج أيضًا إلى تحديد مضلعات التنقل لعناصر الرقعة إذا كنت تستخدم التنقل ثنائي الأبعاد، لإنشاء شبكة تنقل تمكّن للوسطاء استخدامها للعثور على المسار.
أخيرًا، إذا كنت تستخدم الأضواء والظلال ثنائية الأبعاد أو GPUParticles2D
، فقد ترغب أيضًا في أن تكون مجموعة عناصر الرقعة الخاصة بك قادرة على إلقاء الظلال والاصطدام بالجزيئات. يتطلب هذا تحديد مضلعات المغلق لعناصر الرقعة "الصلبة" في مجموعة عناصر الرقعة.
ستحتاج إلى إنشاء طبقة فيزيائية أو تنقل أو انسداد لمورد مجموعة عناصر رقعة أولاً لتتمكن من تحديد أشكال التصادم والتنقل والإطباق لكل عنصر رقعة. للقيام بذلك، حدد عقدة TileMap
، وانقر فوق قيمة خاصية TileSet
في المراقب لتحريرها ثم افتح الطبقات الفيزيائية واختر إضافة عنصر:
إذا كنت تحتاج أيضًا إلى دعم التنقل، فهذا هو الوقت المناسب لإنشاء طبقة تنقل:
إذا كنت بحاجة إلى دعم للحاجبات occluders ذات المضلعات الخفيفة، فهذا هو الوقت المناسب لإنشاء طبقة الإطباق:
ملاحظة: الخطوات في هذا الدليل مبنية بهدف إنشاء مضلعات تصادمية لاحقًا، ولكن إجراء التنقل والإطباق متشابه جدًا. تعمل محررات المضلعات بنفس الطريقة، لذلك لن نكرر هذه الخطوات للإيجاز. التحذير الوحيد هو أن خاصية مضلع إطباق عناصر الرقعة هي جزء من قسم العرض الفرعي في محرر الأطلس. تأكد من فتح هذا القسم حتى تتمكن من تحرير المضلع.
بعد إنشاء طبقة فيزيائية، يمكنك الوصول إلى قسم طبقة الفيزياء في محرر أطلس TileSet
:
يمكنك إنشاء شكل تصادم مستطيل بسرعة بالضغط على F
أثناء كون نافذة المحرر TileSet
فعالة. حاول النقر في المنطقة الفارغة حول محرر المضلع للتركيز عليه إذا لم يعمل اختصار لوحة المفاتيح:
في محرر تصادم عناصر الرقعة هذا، يمكنك الوصول إلى جميع أدوات تحرير المضلع ثنائي الأبعاد:
- استخدم شريط الأدوات الموجود أعلى المضلع للتبديل بين إنشاء مضلع جديد وتحرير مضلع موجود وإزالة النقاط الموجودة على المضلع. يوفر زر القائمة "النقاط الرأسية الثلاث" خيارات إضافية، مثل تدوير المضلع وقلبه.
- أنشئ نقاط جديدة من خلال النقر على الخط بين نقطتين وسحبه.
- أنشئ نقطة بالنقر بزر الماوس الأيمن عليها (أو باستخدام أداة الإزالة الموضحة أعلاه والنقر بزر الماوس الأيسر).
- حرّك في المحرر عن طريق النقر الأوسط أو النقر بزر الماوس الأيمن. (لا يمكن استخدام تحريك النقر بزر الماوس الأيمن إلا في المناطق التي لا يوجد بها نقطة قريبة).
يمكنك استخدام الشكل المستطيل الافتراضي لإنشاء شكل تصادم على شكل مثلث بسرعة عن طريق إزالة إحدى النقاط:
يمكنك أيضًا استخدام المستطيل كقاعدة لأشكال أكثر تعقيدًا عن طريق إضافة المزيد من النقاط:
نصيحة: إن تحديد التصادم لكل عنصر رقعة على حدة قد يستغرق الكثير من الوقت إذا كان لديك مجموعة عناصر رقعة كبيرة. وهذا صحيح لأن خريطة الرقعة تميل إلى أن تحتوي على العديد من عناصر الرقعة ذات أنماط الاصطدام الشائعة (مثل الكتل الصلبة أو المنحدرات بزاوية 45 درجة). استخدم وسيلة تعيين خصائص إلى عناصر رقعة متعددة في وقت واحد لتطبيق شكل تصادم مماثل على عدة عناصر رقعة بسرعة.
تعيين بيانات تعريف مخصصة لعناصر رقعة في مجموعة عناصر رقعة
يمكنك تعيين بيانات مخصصة على أساس كل عنصر رقعة باستخدام طبقات البيانات المخصصة. يكون هذا مفيدًا لتخزين معلومات خاصة بلعبتك، مثل الضرر الذي يجب أن يحدثه عنصر رقعة عندما يلمسه اللاعب، أو ما إذا كان من الممكن تدمير عنصر رقعة باستخدام سلاح.
ترتبط البيانات بعناصر رقعة الموجود في مجموعة عناصر رقعة: ستستخدم جميع مثيلات عناصر الرقعة نفس البيانات المخصصة. إذا كنت بحاجة إلى إنشاء متغير من إطار عناصر الرقعة الذي يحتوي على بيانات مخصصة مختلفة، فيمكن القيام بذلك عن طريق إنشاء عنصر رقعة بديل وتغيير البيانات المخصصة لعنصر رقعة بديل فقط.
يمكنك إعادة ترتيب البيانات المخصصة دون كسر البيانات التعريفية الموجودة: سيتم تحديث محرر TileSet
تلقائيًا بعد إعادة ترتيب خصائص البيانات المخصصة.
لاحظ أنه في المحرر لا تظهر أسماء الخصائص (فقط فهرسها، الذي يطابق الترتيب الذي تم تعريفها به). على سبيل المثال، في مثال طبقات البيانات المخصصة الموضح أعلاه، نقوم بتعيين إطار عنصر رقعة لتعيين البيانات التعريفية damage_per_sec
إلى 25
والبيانات التعريفية destructible
إلى false
:
يمكن أيضًا استخدام خاصية طلاء عنصر رقعة للبيانات المخصصة:
إنشاء مجموعات التضاريس (التقسيم التلقائي)
ملاحظة: تم تنفيذ هذه الوظيفة بشكل مختلف مثل التشغيل التلقائي في جودو 3.x. تعد التضاريس في الأساس بديلًا أكثر قوة لعناصر رقعة تلقائية. حيث يمكن أن تدعم التضاريس التحولات من تضاريس إلى أخرى على عكس عناصر الرقعة التلقائية، وقد يحدد عنصر الرقعة عدة تضاريس في وقت واحد. على عكس ما سبق، حيث كانت عناصر الرقعة التلقائية نوعًا محددًا من عنصر رقعة، فإن التضاريس ليست سوى مجموعة من الخصائص المخصصة لعناصر رقعة الأطلس. يتم بعد ذلك استخدام هذه الخصائص من خلال وضع طلاء خريطة رقعة المخصص الذي يحدد عناصر الرقعة التي تحتوي على بيانات التضاريس بطريقة ذكية. وهذا يعني أنه يمكن طلاء أي عنصر رقعة تضاريس كتضاريس أو كعنصر رقعة واحد مثل أي عنصر رقعة آخر.
تتميز مجموعة عناصر الرقعة "المصقولة" بشكل عام بأشكال مختلفة يجب عليك استخدامها على زوايا أو حواف المنصات والأرضيات وما إلى ذلك. على الرغم من أنه يمكن وضعها يدويًا، إلا أن هذا سرعان ما يصبح مملاً. وقد يكون التعامل مع هذا الموقف بالمستويات التي تم إنشاؤها إجرائيًا أمرًا صعبًا أيضًا ويتطلب الكثير من التعليمات البرمجية.
يوفر جودو تضاريس لإجراء هذا النوع من اتصالات عناصر رقعة تلقائيًا. يتيح لك هذا استخدام متغيرات عناصر رقعة "الصحيحة" تلقائيًا.
يتم تجميع التضاريس في مجموعات التضاريس. يتم تعيين وضع لكل مجموعة تضاريس من مطابقة الزوايا والجوانب Match Corners and Sides ومطابقة الزوايا Match Corners ومطابقة الجوانب Match sides. وهي تحدد كيفية مطابقة التضاريس مع بعضها البعض في مجموعة التضاريس.
ملاحظة: تتوافق الأوضاع المذكورة أعلاه مع أوضاع القناع النقطي bitmask modes السابقة المستخدمة في جودو 3.x: 2×2 أو 3×3 أو 3×3 كحد أدنى. وهذا مشابه أيضًا لما يتميز به محرر Tiled.
حدد عقدة TileMap
، وانتقل إلى المحرر وقم بإنشاء مجموعة تضاريس جديدة داخل مورد TileSet
:
يجب عليك إنشاء تضاريس واحدة أو أكثر ضمن مجموعة التضاريس بعد إنشائها:
بدّل إلى وضع التحديد وانقر فوق أحد عناصر الرقعة في محرر TileSet
. افتح قسم التضاريس في العمود الأوسط ثم قم بتعيين معرف مجموعة التضاريس ومعرف التضاريس لعنصر رقعة. 1-
تعني "لم يتم ضبط التضاريس" أو "لا توجد تضاريس"، مما يعني أنه يجب عليك ضبط مجموعة التضاريس Terrain Set على 0
أو أكبر قبل أن تتمكن من ضبط التضاريس Terrain على 0
أو أكبر.
ملاحظة: معرّفات مجموعة التضاريس ومعرفات التضاريس مستقلة عن بعضها البعض. كما أنها تبدأ من
0
وليس1
.
يمكنك الآن ضبط قسم Terrain Peering Bits الذي يصبح مرئيًا في العمود الأوسط بعد القيام بذلك. تحدد البتات المتناظرة عنصر الرقعة الذي سيتم وضعه وفقًا لعناصر الرقعة المجاورة. 1-
هي قيمة خاصة تشير إلى المساحة الفارغة.
على سبيل المثال، إذا تم تعيين جميع البتات الخاصة بعناصر رقعة على 0
أو أكبر، فسوف يظهر فقط إذا كانت جميع عناصر الرقعة الثمانية المجاورة تستخدم عنصر رقعة بنفس معرف التضاريس. إذا تم تعيين البتات الخاصة بعنصر رقعة على 0
أو أكبر، ولكن تم تعيين البتات العلوية اليسرى والعلوية واليمنى على 1-
، فسوف تظهر فقط إذا كانت هناك مساحة فارغة فوقها (بما في ذلك قطريًا).
قد يبدو مثال التكوين لرقعة كاملة كما يلي:
تعيين خصائص لعناصر رقعة متعددة في وقت واحد
هناك طريقتان لتعيين الخصائص لعناصر رقعة متعددة في وقت واحد.وذلك اعتمادًا على حالاتك في الاستخدام، قد تكون إحدى الطرق أسرع من الأخرى:
استخدام التحديد المتعدد لعناصر رقعة
اختر وضع التحديد الموجود أعلى محرر TileSet
إذا كنت ترغب في تكوين خصائص مختلفة عدة مرات في وقت واحد:
بعد القيام بذلك، يمكنك تحديد عدة عناصر رقعة في العمود الأيمن بالضغط على Shift
ثم النقر فوق عنصر رقعة. يمكنك أيضًا إجراء تحديد المستطيل عن طريق الضغط باستمرار على زر الفأرة الأيسر ثم سحب الفأرة. وأخيرًا، يمكنك إلغاء تحديد عناصر رقعة التي تم تحديدها بالفعل (دون التأثير على بقية التحديد) عن طريق الضغط على Shift
ثم النقر فوق عنصر الرقعة المحدد.
يمكنك بعد ذلك تعيين الخصائص باستخدام المحرر الموجود في العمود الأوسط لمحرر TileSet
. سيتم تطبيق الخصائص التي قمت بتغييرها هنا فقط على جميع عناصر الرقعة المحددة. ستظل الخصائص التي تختلف في عناصر الرقعة المحددة مختلفة حتى تقوم بتحريرها كما هو الحال في محرر المحرر.
ستشاهد أيضًا معاينة لقيمة الخاصية على جميع عناصر الرقعة الموجودة في الأطلس بعد تحرير الخاصية باستخدام الخصائص العددية واللونية:
استخدام طلاء خاصية عناصر رقعة
بإمكانك استخدام وضع طلاء الخاصية إذا كنت ترغب في تطبيق خاصية واحدة على عدة عناصر رقعة في وقت واحد.
قم بتكوين خاصية ليتم رسمها في العمود الأوسط، ثم انقر فوق عنصر الرقعة (أو اضغط باستمرار على زر الفأرة الأيسر) في العمود الأيمن "لطلاء" الخصائص على عناصر رقعة.
يعد طلاء خصائص عناصر الرقعة مفيدًا بشكل خاص مع الخصائص التي تستغرق وقتًا طويلاً لتعيينها يدويًا، مثل أشكال التصادم:
إنشاء عناصر رقعة بديلة
قد ترغب في بعض الأحيان باستخدام صورة عنصر رقعة واحدة (تم العثور عليها مرة واحدة فقط داخل الأطلس)، ولكن تم تكوينها بطرق مختلفة. على سبيل المثال، قد ترغب في استخدام نفس صورة عنصر رقعة، ولكن مع تدويرها أو قلبها أو تعديلها بلون مختلف. يمكن القيام بذلك باستخدام عنصر الرقعة البديل.
انقر بزر الفأرة الأيمن فوق اللوحة الأساسية في الأطلس الذي يعرضه محرر TileSet
لإنشاء عنصر رقعة بديل، ثم اختر إنشاء عنصر رقعة بديل Create an Alternative Tile:
سيتم تحديد عنصر رقعة بديل للتحرير إذا كان حاليًا في وضع التحديد. أمّا إن لم تكن حاليًا في وضع التحديد، فلا يزال بإمكانك إنشاء عناصر رقعة بديلة، ولكن ستحتاج للتبديل إلى وضع التحديد وتحديد عنصر الرقعة البديل لتحريره.
حرّك إلى يمين صورة الأطلس إذا كنت لا ترى عنصر الرقعة البديل، حيث تظهر عناصر الرقعة البديلة دائمًا على يمين عنصر الرقعة الأساسي للأطلس المحدد في محرر TileSet
:
يمكنك تغيير أي خصائص بعد تحديد عنصر الرقعة البديل باستخدام العمود الأوسط كما تفعل في عنصر الرقعة الأساسي. ومع ذلك، فإن قائمة الخصائص المكشوفة تختلف مقارنة بعنصر الرقعة الأساسي:
- المعرف البديل Alternative ID: المعرف الرقمي الفريد لعنصر الرقعة البديل. سيؤدي تغييره إلى تعطيل خريطة الرقعة الموجودة، لذا كن حذرًا! يتحكم هذا المعرف أيضًا في الفرز في قائمة عناصر الرقعة البديلة المعروضة في المحرر.
- التصيير Rendering > القلب أفقيًا Flip H: سيتم قلب عنصر رقعة أفقيًا إذا كانت قيمته
true
.
- التصيير Rendering > القلب رأسيًا Flip V: سيتم قلب عنصر رقعة رأسيًا إذا كانت قيمته
true
.
- تصيير Rendering > تبديل الموضع Transpose: سيتم تدوير عنصر رقعة بمقدار 90 درجة عكس اتجاه عقارب الساعة إذا كانت قيمته
true
. ادمج هذا مع القلب الأفقي Flip H و/أو القلب الرأسي Flip V لإجراء دوران 180 درجة أو 270 درجة.
- تصيير Rendering > أصل الملمس Texture Origin: الأصل الذي سيتم استخدامه لرسم عنصر رقعة. يمكن استخدام هذا لموازنة عنصر الرقعة بصريًا مقارنةً بعنصر الرقعة الأساسي.
- تصيير Rendering > تعديل Modulate: مضاعف اللون الذي سيتم استخدامه عند عرض عنصر رقعة.
- تصيير Rendering > المادة Material: المادة المستخدمة لعنصر الرقعة. يمكن استخدام هذا لتطبيق وضع مزج مختلف أو تظليلات مخصصة على عنصر رقعة واحد.
- الدليل Z Index: ترتيب الفرز لعنصر رقعة. ستؤدي القيم الأعلى إلى عرض عنصر رقعة أمام الآخرين على نفس الطبقة.
- أصل الفرز Y Sort Origin: الإزاحة الرأسية المستخدمة لفرز عناصر الرقعة بناءً على الإحداثي Y خاصته (بالبكسل). يسمح هذا باستخدام الطبقات كما لو كانت على ارتفاعات مختلفة للألعاب من أعلى إلى أسفل. يمكن أن يساعد ضبط هذا في تخفيف المشكلات المتعلقة بفرز عناصر رقعة معينة. لا يكون فعالاً إلا إذا كان Y Sort Enabled يحمل القيمة
true
على طبقةTileMap
التي تم وضع عناصر رقعة عليها.
يمكنك إنشاء متغير عنصر رقعة بديل إضافي من خلال النقر على أيقونة "+" الكبيرة بجوار عنصر الرقعة البديل. وهذا يعادل تحديد عنصر الرقعة الأساسي والنقر بزر الماوس الأيمن عليه لاختيار إنشاء عنصر رقعة بديل Create an Alternative Tile مرة أخرى.
ملاحظة: لا يتم توريث أي من خصائص عنصر الرقعة الأساسي عند إنشاء عنصر رقعة بديل. يجب عليك تعيين الخصائص مرة أخرى على عنصر الرقعة البديل إذا كنت تريد أن تكون متطابقة على عنصر الرقعة الأساسي وعنصر الرقعة البديل.