انتقل إلى المحتوى الرئيسي

تثبيت Quest System

نظرة عامة

يستفيد Quest System في Breakroom من قوة Unity لبناء بنى سردية داخل مساحاتك الافتراضية. وعادةً ما تكون quests مدفوعة بتفاعلات مع NPCs، ويمكنها أن تقود المستخدمين عبر وحدات اجتماعية أو تعليمية أو تدريبية قائمة على أسلوب اللعب. يمكنك أيضًا استخدامها لتوجيه الجولات، أو سرد القصص، أو إنشاء نقاط تفاعل أخرى قائمة على خطوات.

في الصورة: quest أثناء العمل.

معلومات

ضمن وثائقنا المتقدمة، قد ترى كلمات مختلفة تُستخدم لوصف المفهوم أو الأداة نفسها. ويرجع ذلك إلى أن Breakroom مبني على منصة العالم الافتراضي Sinespace. يُرجى الانتباه إلى ما يلي:

  • عند تثبيت Breakroom SDK، قد تلاحظ أن بعض الأدوات والقوائم تشير إلى Sinespace أو مكونات Sinespace أو Sinespace SDK. هذا أمر طبيعي ولا يؤثر في الأداء.
  • عند اختبار العناصر الافتراضية ورفعها، قد ترى وثائق وقوائم وأزرارًا تشير إلى عوالم Breakroom باسم grids.
معلومات

تفترض التعليمات الواردة في هذا القسم امتلاك معرفة عملية متقدمة بـ Breakroom والأصول الافتراضية وبرامج 3D التابعة لجهات خارجية. يُرجى الرجوع إلى وثائقنا إذا كنت تحتاج إلى مساعدة في تثبيت العناصر الافتراضية ووضعها، أو في تحرير مكون RoomFurniture.

تحذير

لا يمكن رفع عناصر مخصصة إلى Breakroom إلا بواسطة مالكي العالم، ومسؤولي العالم، ومطوري العالم.

فهم quest system

تُمثَّل quests بعلامة تعجب زرقاء تقع فوق Quest Giver، ويمكن أن يكون ذلك أي نوع من عناصر اللعبة القابلة للنقر والمزوّدة بمكون collider. يؤدي النقر على عنصر Quest Giver إلى فتح أول Quest Dialog Box (هذه الخطوة مرقمة 0 في Unity)، مع خياري Start وCancel.

يعرض Quest Dialog Box اسم الخطوة الحالية ووصفها. وبمجرد أن يقبل المستخدم الـ quest، ستُشار خطواته التالية بعلامات استفهام زرقاء.

أسفل الخريطة المصغرة، سيظهر Quest Name (Quest Designer Component)، مع عدد الخطوات المضمنة في الـ quest وتلميح للمستخدم. ترتبط التلميحات بخطوة مستقبلية يحتاج المستخدم إلى تنفيذها (عادةً الخطوة التالية مباشرة). لذلك، يجب إدخال التلميح في الخطوة التالية التي يحتاج المستخدم إلى الوصول إليها.

لهذا السبب، لا توجد حاجة إلى كتابة تلميح داخل الخطوة 0 (خطوة الافتتاح)، إلا إذا كانت الـ quest تُعيد المستخدم إلى Quest Giver.

إعداد quest

The Quest Giver

تبدأ كل quests بالنقر على عنصر محدد، وهو ما يسمى Quest Giver أو Quest NPC. بعد مراجعة معلومات الـ quest، يكون لدى المستخدمين خيار المتابعة أو إلغاء الـ quest.

لتحويل أي عنصر في المشهد إلى Quest NPC، أضف إليه مكون Quest NPC. يمكنك استخدام NPC بشري إذا رغبت، لكن يمكنك إضافة مكون Quest NPC إلى أي عنصر يحتوي على collider. باستخدام كائن مكون Statue، اعرض الـ NPC كشخصية، ثم أضف مكون Quest NPC.

في الصورة: مكون Quest NPC.

توضع Quest NPCs في حقل Destination NPC في أي Step Inspector ضمن الـ quest.

The Quest Designer

في الصورة: مكون Quest Designer.

أنشئ عنصر لعبة فارغًا في المشهد، واضبط موقعه على 0,0,0، ثم أضف إليه مكون Quest Designer. أعطِ الـ quest اسمًا ووصفًا، ثم خصص الحقول التالية لتوافق مواصفاتك.

Quest type descriptions

  • Daily: يمكن للمستخدمين تنفيذ الـ quest مرة واحدة كل يوم
  • Main: يمكن للمستخدمين تنفيذ الـ quest مرة واحدة فقط
  • Side: لا يمكن تشغيل هذه الـ quest إلا بواسطة quest أخرى
  • Activity: يمكن للمستخدمين إعادة تنفيذ الـ quest باستمرار
  • Temporary: (هذه الوظيفة غير مدعومة حاليًا)

Quest ID

انقر على زر Reserve ID في Inspector لتعيين ID فريد للـ quest. يُنشأ quest ID تلقائيًا.

خطر

لا تحذف حقل quest ID في Inspector. إذا لم تتذكر رقم quest ID، فستحتاج إلى حجز رقم جديد. وإذا كانت quest معينة مستخدمة في قائمة تبعيات، فستحتاج إلى تحرير كل quests التي تعتمد عليها بعد تغيير quest ID.

Quest Dependency IDs

يمكنك ربط quests معًا باستخدام Quest Dependency IDs. للبدء، انقر على السهم الموجود إلى يسار الحقل لتوسيع هذا القسم. اضبط حقل Size على عدد quests التي يجب إكمالها قبل أن تصبح هذه الـ quest متاحة. انقر على Enter، وسيظهر ذلك العدد من الحقول. في كل حقل فارغ، أضف quest ID الفردي لإحدى quests التي يجب أن يكملها المستخدم قبل بدء هذه الـ quest المحددة.

يتيح لك هذا الخيار تشغيل عدة quests بواسطة Quest NPC نفسه، ضمن سلسلة.

Reward ID

يمكنك تعيين مكافأة عند إكمال quest بنجاح باستخدام حقل Reward ID. ما عليك سوى إدخال Curator ID لأي عنصر سلعة افتراضية قمت برفعه. يمكنك الحصول عليه من مكون Virtual Good المرفق بكائن المكافأة (بعد رفعه)، أو من لوحة Item في Curator.

يرجى ملاحظة أن كائن المكافأة يجب أن يكون مباشرًا قبل أن تتمكن quest مباشرة من توزيعه.

Open Canvas button

يفتح زر Open Canvas لوحة Quest Designer Canvas، التي تتيح لك بناء الـ quest بإضافة خطوات. للبدء، أضف الخطوة الأولى، وأشر إلى كائن Quest NPC (بوضع الكائن في حقل Quest NPC).

إضافة خطوات quest وإدارتها

بعد إعداد كائن Quest Giver وتخصيص الوظائف الأساسية للـ quest، يمكنك إضافة خطوات quest واحدة تلو الأخرى لتوسيع قصتك. في كل مرة تضيف فيها خطوة، ستُنسخ آخر خطوة لديك.

إضافة خطوة

في الصورة: الخيارات المتاحة ضمن Quest Designer Canvas.

افتح Quest Designer Canvas بالنقر على زر Open Canvas. ثم انقر على زر Add Step.

حذف خطوة

يمكنك حذف أي خطوة داخل سلسلة؛ وسيعاد توصيل أبنائها بالخطوة الأصلية. لا يمكنك حذف الخطوة الأولى.

إعادة ترتيب خطوة

انقر على السهم في الزاوية العلوية اليسرى من نافذة Step Inspector لإعادة ترتيب خطواتك. لا يمكنك إعادة ترتيب الخطوة الأولى. إذا لم تكن في quest سوى خطوتين، فلن ترى السهم للخطوة الثانية.

شرح أنواع الخطوات

خطوات NPC

نوع خطوة NPC إلزامي لبدء الـ quest. ستكون الخطوة 0 دائمًا خطوة NPC، ولا يمكنك تعديلها لجعلها من نوع مختلف.

يمكن أن تكون الخطوات الأخرى أيضًا خطوات NPC. يمكنك استخدام Game Object (أو أي كائن) وإرفاق مكون Quest NPC به، ثم وضعه في حقل Destination NPC.

خطوات Activity

في الصورة: خطوة Activity مزودة بـ startable.

خطوات Activity هي خطوات عامة يمكنك استخدامها لنشر مجموعة واسعة من الأنشطة التي يجب أن يكملها المستخدم قبل بدء الخطوة التالية. فيما يلي تفصيل للحقول المختلفة.

Activity

يمكنك سحب أي مكون Startable إلى حقل Activity في هذه الخطوة.

يتضمن quest system مجموعة من startables القياسية التي قد ترغب في استخدامها؛ فعلى سبيل المثال، قد تطلب من المستخدم ارتداء قطعة ملابس معينة أو الجلوس على قطعة أثاث معينة. يمكنك أيضًا كتابة startables خاصة بك، وقد تكون جولات لعب كاملة أو وحدات تعليمية. بعد الإعداد الصحيح، سيحتاج المستخدم إلى إكمال كل startable قبل الانتقال في الـ quest.

Autoplay

حدد خيار "Autoplay" إذا أردت أن تبدأ هذه الخطوة فور اكتمال الخطوة السابقة. إذا تركت خيار Autoplay غير محدد، فسيحتاج المستخدم إلى النقر على quest NPC لتشغيل الخطوة التالية.

قد تحتاج إلى ترك Autoplay غير محدد إذا كانت الخطوة السابقة تُسجل كمكتملة عند بدء الخطوة، بينما سيظل المستخدم منخرطًا في نشاط غير مسجل. على سبيل المثال، إذا كانت الخطوة السابقة خطوة activity تستخدم StartableGestureRequirement، فسيسجل quest system أن المستخدم قد أكمل الخطوة عندما يبدأ إيماءة، لكن تلك الإيماءة قد تستغرق ثلاثين ثانية للتشغيل، وخلالها قد لا تريد أن تبدأ الخطوة التالية.

Replay Discussion NPC

Replay Discussion NPC هو الكائن في المشهد الذي يحتاج المستخدم إلى النقر عليه إذا فشل في إكمال خطوة الـ quest. قد يكون ذلك لأن خطوة الـ quest مكون لعبة يمكن الإخفاق فيه، مثل مكون تعلّم له درجة نجاح. أو قد يكون لأن المستخدم سجّل الخروج، أو انقطع اتصاله في منتصف نشر الـ startable.

يمكن أن يكون Replay NPC هو Quest NPC الأصلي لديك؛ لكن إذا كان بعيدًا جغرافيًا عن خطوة الـ quest ذات الصلة، فقد تختار وضع كائن آخر قرب نشاط خطوة الـ quest يمكن للمستخدم النقر عليه لإعادة تشغيل الخطوة.

يمكن أن يكون هذا أي كائن أُضيف إليه مكون Quest NPC، ويُسحب إلى حقل Replay Discussion NPC في الخطوة.

Area Hint

إذا كنت تستخدم NavMesh لتوجيه المستخدمين حول الـ quest، فسيخبرهم area hint إلى أين يذهبون. قد يكون هذا هو الكائن نفسه مثل Replay Discussion NPC، لكنه يمكن أن يكون أيضًا أي game object تسحبه إلى الحقل.

خطوات Quest

في الصورة: خطوة quest.

تتيح لك خطوات Quest تضمين quest داخل أخرى. وهذه طريقة ممتازة لنقل المستخدمين من Region إلى أخرى. (يمكنك أيضًا استخدام مكون Quest Game Object لإنشاء بوابات انتقال فوري في اللحظة المناسبة أمام المستخدم، لتقوده إلى Region التالية.)

Subquest ID

هذا هو الحقل الذي ستلصق فيه ID الخاص بالـ quest الفرعية.

خطوات Visit location

في الصورة: خطوة Visit Location.

تتطلب خطوات Visit location من المستخدم الذهاب إلى مكان محدد في Region لديك لمتابعة الـ quest.

Area to Visit

اسحب أي game object، بما في ذلك أي NPC، إلى هذا الحقل لتطلب من المستخدم زيارة هذا الموقع قبل استمرار الـ quest. يمكن استخدام هذه الخطوة مع NavMesh لقيادة المستخدمين إلى هدفهم عبر مسار مرئي.

Proximity (meters)

ينشئ هذا "هالة اقتراب" حول الكائنات المستهدفة، يُسجل وجود المستخدم داخلها. على سبيل المثال، قد ترغب في تحديد أن المستخدمين يجب أن يتحركوا ضمن متر واحد من كائن.

خطوات Collection

في الصورة: خطوة Collection.

تتطلب خطوة Collection من المستخدم النقر على game object محدد في المشهد و"جمعه".

Collectible Item

أضف مكون Quest NPC إلى الكائن الذي تريد أن ينقر عليه المستخدم ويجمعه. اسحب الكائن إلى حقل Collectible Item في خطوة الـ quest. تأكد من أن لديه collider حتى يتمكن المستخدم من النقر عليه.

Area Hint

إذا أردت أن يقود NavMesh المستخدم إلى العنصر القابل للجمع، فيمكنك سحبه إلى حقل Area Hint. إذا أردت أن يضطر المستخدمون إلى البحث دون تلميح، فاتركه فارغًا أو أضف Quest NPC الأصلي لتوجيه المستخدمين مرة أخرى إلى منطقة الـ quest إذا غادروا Region خلال هذه الخطوة.

خطوات Counter

في الصورة: خطوة Counter.

تتطلب خطوة Counter من المستخدمين جمع عدد محدد من counters. استخدم هذه الخطوة مع كائنات في المشهد لديها إما مكون Quest Counter Clickable أو مكون Quest Counter Proximity مرفق.

قد ترغب أيضًا في استخدام Startable Timed Counter، الذي يقدم وظيفة مشابهة لهذه الخطوة عند إضافته إلى خطوة Activity، لكن على أساس زمني.

Number required

يحدد هذا الحقل عدد counters التي يحتاج المستخدم إلى جمعها. ويمكن أن يطابق العدد الإجمالي المتاح في المشهد، أو يمكن أن يكون في المشهد عدد أكبر بكثير من العدد المطلوب، بحسب طبيعة لعبتك.

Quick ID Picker/Token ID

أضف أي ID طبقته يدويًا على حقل Counter ID في مكون Quest Counter Clickable أو مكون Quest Counter Proximity المرفق بالـ counters.

Area Hint

استخدم هذا الحقل مع ميزة NavMesh لتوجيه الأشخاص إلى منطقة، أو اسحب Quest NPC هنا لتوجيه المستخدمين مرة أخرى إلى بداية الخطوة إذا أعادوا تسجيل الدخول قبل الإكمال.

خطوات Conversation

في الصورة: خطوة Conversation.

تتيح لك خطوات Conversation بناء مشاهد cutscenes داخل الـ quest، مع مجموعات متعاقبة من الحوار والكاميرا والصوت والتحريك تُسند إلى كل من الـ NPC واللاعب.

لتحرير خطوة conversation، افتح Quest Designer Canvas (باستخدام زر Open Canvas في أسفل سلسلة الـ quest داخل نافذة Inspector). ثم ابحث عن الحقول التالية وحررها.

Conversation Actors

يمكن أن يكون conversation actors واحدًا أو أكثر من NPCs واللاعب نفسه. أضف actor واسحب أي كائن مرفق به مكون Quest NPC إلى حقل NPC Object.

Actor Name

سيظهر هذا الاسم في لوحات الحوار أثناء المحادثة.

Is Player

حدد هذا المربع لاستخدام اللاعب باعتباره actor. أدخل %PLAYER% في حقل Actor Name لاستخدام اسم المستخدم الخاص باللاعب في الحوار.

Move to Location

أضف game object فارغًا في المشهد إلى هذا الحقل لنقل اللاعب إلى موقع ذلك الكائن طوال مدة المحادثة. يتيح لك ذلك محاذاة اللاعب مع لقطات كاميرا محددة تحددها أثناء المحادثة.

Conversation Dialogues

بعد تحديد actors في محادثتك، يمكنك إضافة أي عدد تريده من الخطوات إلى المحادثة.

Actor

اختر actor الذي يسرد خطوة الحوار.

Text

أدخل النص كما يجب أن يظهر في لوحة الحوار.

Animations

أضف تحريكًا إلى الـ NPC أو اللاعب.

Wait for Continue?

حدد هذا المربع إذا أردت أن تبقى خطوة الحوار على الشاشة حتى ينقر المستخدم على Continue.

Wait Timeout

حدد زمنًا بالثواني إذا أردت أن تنتهي مجموعة حوار وأن تبدأ التالية تلقائيًا دون أن ينقر المستخدم على Continue.

Camera Angle

أنشئ game object فارغًا في المشهد وضعه بحيث ينظر إلى حيث تريد أن تنظر كاميرا المستخدم أثناء الحوار.

يمكنك وضع منظورك في المشهد داخل Unity، ثم تمييز game object. في القائمة العلوية، انتقل إلى GameObject > Align with view لنقل موضع game object ودورانه إلى منظورك.

Dialogue Audio

يمكنك إضافة مقاطع صوتية إلى الحوار بسحب ملف صوتي من مشروعك إلى هذا الحقل.

Use Lip Sync

حدد هذا المربع إذا أردت أن يُحرَّك فم actor بواسطة ملف الصوت.

Cutscene Dialogue Canvas

لاستخدام خطوة Conversation، تحتاج إلى سحب Cutscene Dialogue Canvas prefab إلى المشهد. تعرض هذه اللوحة screenspace الحوار أثناء cut scenes، وتحتوي على زر Continue الذي يمكن للمستخدمين الوصول إليه إذا قررت تضمين تلك الوظيفة في حواراتك.

تأكد من تعطيل Panel، وهو child of the Canvas، (مربع الاختيار في أعلى Inspector). يضمن ذلك أن اللوحة لن تكون مرئية للمستخدمين إلا أثناء خطوات conversation في quest. إذا تُركت مفعلة، فستُطبق بشكل دائم على شاشة كل شخص في Region.

تجنب وضع Cutscene Dialogue Canvas داخل كائن أب؛ أو إذا فعلت ذلك، فتأكد من أن الكائن الأب موجود عند 0,0,0 في المشهد. وإلا فقد تصبح اللوحة مزاحة أو غير مرئية للاعبين.

خطوات Branch NPC

في الصورة: خطوة Branch NPC.

تتيح لك خطوات Branch NPC إعداد عدة خيارات يمكن للاعبين الاختيار منها. ويمكن أن يؤدي ذلك إلى خطوات quest مختلفة بناءً على اختيار المستخدم.

Startables

Startables هي مكونات يمكنك سحبها إلى خطوة Activity في quest. يجب إرفاق مكون startable بـ game object ذي صلة؛ وفي بعض الحالات، قد يكون ذلك game object فارغًا أُنشئ فقط لاحتواء الـ startable. بعد ذلك يمكنك سحب ذلك الكائن إلى حقل Activity في خطوة Activity.

Startable Gesture Requirement

في الصورة: حقول Startable Gesture Requirement.

سيتطلب هذا الـ startable من المستخدم تشغيل إيماءة محددة لمتابعة الـ quest. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Item ID

يحتوي هذا الحقل على رقم item ID للإيماءة المحددة التي تريد من المستخدم تشغيلها. يمكنك الحصول على رقم ID هذا من مكون VirtualGood المرفق بالإيماءة بعد إرسالها، أو من قائمة العناصر الخاصة بك في Curator.

Any

إذا كنت مستعدًا لقبول أي إيماءة لإكمال خطوة الـ quest (بدلًا من إيماءة محددة)، فيمكنك تحديد هذا المربع.

Min Participants

يحدد هذا الخيار الحد الأدنى لعدد المشاركين في الإيماءة المطلوبين لإكمال الخطوة. على سبيل المثال، يمكنك ضبط هذا الخيار على "2" وتحديد Any لتطلب من المستخدم تنفيذ أي إيماءة لشخصين مع مستخدم آخر.

Startable Clothing Requirement

في الصورة: حقول Startable Clothing Requirement.

سيتطلب هذا الـ startable من المستخدم ارتداء قطعة ملابس محددة لمتابعة الـ quest. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Clothing Item ID1/ID2

تتيح لك هذه الحقول تحديد قطعتين من الملابس يمكن ارتداؤهما لتلبية المتطلب. على سبيل المثال، قد تحدد قطعة ملابس ذكورية وأخرى أنثوية. يمكنك الحصول على رقم ID هذا من مكون VirtualGood المرفق بقطعة الملابس بعد إرسالها، أو من قائمة العناصر الخاصة بك في Curator.

Startable Sit Requirement

في الصورة: حقول Startable Sit Requirement.

سيتطلب هذا الـ startable من المستخدم الجلوس على قطعة أثاث محددة لمتابعة الـ quest. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Target Object

أضف مكون SeatImproved إلى أي game object في المشهد، ثم اسحب ذلك game object إلى حقل Target Object. تذكر أن هذا العنصر يمكن أن يكون متحركًا أيضًا؛ لذلك يمكنك، على سبيل المثال، استخدام هذه الخطوة لنقل شخص بالطيران من جزء من Region إلى آخر.

ستكتمل خطوة الـ quest بمجرد أن يجلس المستخدم. إذا كان الجلوس يبدأ تسلسلًا تريد تشغيله قبل إطلاق خطوة الـ quest التالية، فقد ترغب في جعل الخطوة التالية لا تبدأ تلقائيًا. بدلًا من ذلك، قد تطلب من المستخدم النقر على كائن Quest NPC آخر للمتابعة.

Startable Item Requirement

في الصورة: حقول Startable Item Requirement.

سيتطلب هذا الـ startable من المستخدم امتلاك عنصر محدد في Inventory لمتابعة الـ quest. لا يحتاج إلى استخدام العنصر، بل يكفي أن يمتلكه. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Item ID

هذا هو العنصر الذي تريد أن يمتلكه المستخدم للمتابعة. يمكنك الحصول على رقم ID هذا من مكون VirtualGood المرفق بالعنصر بعد إرساله، أو من قائمة العناصر الخاصة بك في Curator.

Startable Room Visit

في الصورة: حقول Startable Room Visit.

سيتطلب هذا الـ startable من المستخدم زيارة Region محددة لمتابعة الـ quest. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Background ID

ضع Region ID في هذا الحقل لتحديد المكان الذي يجب أن يذهب إليه المستخدم. إذا كنت تملك الـ Region، فيمكنك العثور على رقم ID هذا في Dashboard لديك أو في Curator.

Startable Snapshot

في الصورة: حقول Startable Shapshot.

سيتطلب هذا الـ startable من المستخدم التقاط snapshot باستخدام ميزة snapshot داخل العالم لمتابعة الـ quest. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Number of Snapshots

يمكنك هنا تحديد عدد snapshots التي يحتاج المستخدم إلى التقاطها لإكمال الخطوة.

Startable Teleport

في الصورة: حقول Startable Teleport.

سينقل هذا الـ startable المستخدم فوريًا إلى موقع محدد في الـ Region نفسها لمتابعة الـ quest. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Target

اسحب أي game object في المشهد إلى حقل target لنقل المستخدم فوريًا إلى موقع ذلك الكائن داخل العالم. لضمان ألا يصل المستخدمون فوق شجرة أو ما شابه، يكون من المنطقي عادة إنشاء game object فارغ في المكان الذي تريد أن يصلوا إليه بالضبط.

Delay

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

Startable Timed Counter

في الصورة: حقول Startable Timed Counter.

Startable Timed Counter هو مكون لعبة يمكنك إضافته إلى الـ quest، ويطلب من المستخدم جمع عدد من counters ضمن إطار زمني محدد. استخدم هذا الـ startable مع كائنات في المشهد لديها إما مكون Quest Counter Clickable أو Quest Counter Proximity مرفق. الحقول الفردية موضحة أدناه.

Is Exclusive

يتوفر هذا الخيار في كل مكونات startable. سيؤدي تحديد هذا المربع إلى منع المستخدم من بدء النشاط المحدد إذا كان هناك نشاط آخر قيد التقدم. على سبيل المثال، إذا كانت إحدى quests تنتظر من المستخدم الضغط على زر، فلن يتمكن من بدء هذه الـ quest في الوقت نفسه؛ وسيحتاج إلى إكمال quest الضغط على الزر أولًا.

Number Required

يمكنك هنا تحديد عدد counters التي يحتاج المستخدم إلى جمعها. ويمكن أن يطابق العدد الإجمالي المتاح في المشهد، أو يمكن أن يكون في المشهد عدد أكبر بكثير من العدد المطلوب، بحسب طبيعة لعبتك.

Seconds Limited

يحدد هذا الخيار مدة الجولة. إذا فشل المستخدم، فيمكنه إعادة النقر على NPC للمحاولة مرة أخرى.

Counter ID

في هذا الحقل، أضف أي ID طبقته يدويًا على حقل Counter ID في مكون Quest Counter Clickable أو Quest Counter Proximity المرفق بالـ counters لديك.

مكونات أخرى

Statue component

في الصورة: مكون Statue.

يُستخدم مكون Statue غالبًا لإنشاء NPCs داخل مشهد. وهو يتيح لك إلباس NPC باستخدام أي عناصر ملابس أو إكسسوارات يمكنك امتلاكها داخل العالم، سواء كانت سلعك الافتراضية الخاصة أو أي عناصر تشتريها أو تتلقاها من منشئ آخر.

لاستخدام السكربت، طبّقه على empty capsule collider في المشهد، أو استخدم NPC template prefab في Space Editor Pack. بعد ذلك يمكنك تحرير الحقول التي تظهر، وهي موضحة بمزيد من التفصيل أدناه.

Name

يسهل تمييز NPCs عن الأفاتارات الحقيقية داخل العالم، لأنها لا تملك نص hover يعرض اسمها فوقها. ومع ذلك، يمكنك إعطاء NPC اسمًا باستخدام هذا الحقل. سيظهر هذا الاسم في خطوات حوار quest.

Player Outfit ID

في الصورة: نافذة Outfit، مع تمييز outfit ID.

في Breakroom، لكل أفاتار محفوظ أو مظهر أفاتار محفوظ رقم outfit ID مرتبط به. يمكنك استخدام هذا الرقم لتطبيق مظهر أفاتار محفوظ على أي NPC.

مميز: حقل Outfit ID للـ NPC.

للقيام بذلك، دوّن رقم outfit ID الذي تريد استخدامه. في Unity، أضف هذا الرقم إلى مربع Player Outfit ID في مكون NPC Statue، ثم ارفع الـ NPC كالمعتاد.

Rendering settings

إذا أردت تطبيق material فوق الـ NPC، فيمكنك إضافته هنا. وقد ينتج عن ذلك NPCs تبدو كصور مجسمة، أو تماثيل حجرية، وما إلى ذلك.

إذا أردت mannequins متجر تعرض عنصرًا محددًا بينما تبدو بخلاف ذلك مثل البلاستيك أو الحجر، فما عليك سوى إضافة store ID للعنصر الذي تريد عرضه إلى حقل Skip Material Change ID. سيتيح لك ذلك، على سبيل المثال، إنشاء mannequin فضي مع احتفاظ النظارات الشمسية التي تبيعها فقط بموادها الأصلية. يمكنك العثور على item ID في مكون Virtual Good المرفق به أو باستخدام Curator؛ وسيظهر الـ ID بمجرد إرسال العنصر.

Scale

يمكنك تكبير NPC حتى يصبح عملاقًا يعلو فوق المشهد، أو تصغيره إلى حجم sprite. لن تراعي Statues (والأفاتارات عمومًا) مقاييس Unity المضمنة في Transform. والهدف من ذلك منع تغيير حجمها عندما تجعلها جالسة على كائن ليس بمقياس 1,1,1.

Disable Shadows / Cull Distance

يمكنك استخدام نظام NPC لنشر مشاهد حشود. سيؤدي تعطيل الظلال وتحسين draw distance لكل NPC إلى تحسين الأداء.

Custom Animation

سيستخدم NPC افتراضيًا تحريكات idle القياسية. يمكنك تجاوز ذلك بإضافة تحريكاتك الخاصة.

Random Animation Position

حدد هذا المربع، وسيبدأ التحريك الذي اخترته من نقطة عشوائية في خطه الزمني. يكون هذا مفيدًا لإنشاء مشاهد حشود لا تريد فيها أن يؤدي عدة NPCs تحريكات متطابقة ومتزامنة على الشاشة.

Quest Counter Clickable

في الصورة: في الصورة: مكون Quest Counter Clickable.

أضف مكون Quest Counter Clickable إلى counters التي يجب على المستخدم النقر عليها لجمعها. أدخل ID من إنشائك في حقل Counter ID، ثم أضف ذلك الـ ID نفسه إلى حقل Counter ID في خطوة Counter quest ذات صلة أو في مكون Startable Timed Counter.

Quest Counter Proximity

في الصورة: في الصورة: مكون Quest Counter Proximity.

أضف مكون Quest Counter Proximity إلى counters التي يجب أن يكون المستخدم ضمن مسافة قرب معينة منها لكي يجمعها. أدخل ID من إنشائك في حقل Counter ID، ثم أضف ذلك الـ ID نفسه إلى حقل Counter ID في خطوة Counter quest ذات صلة أو في مكون Startable Timed Counter. حدد المسافة من الكائن التي ستؤدي إلى جمع ناجح في حقل Trigger Distance.

QuestGameObject

يتيح لك هذا المكون إظهار العناصر وإخفاءها في المشهد أثناء خطوات quest محددة. لا يمكن رؤية الكائنات إلا بواسطة اللاعب.

تشمل المعلمات القابلة للتكوين:

  • QuestID
  • MinStep
  • MaxStep

أرفق هذا المكون بكائنات أخرى (ويُفضّل أن تكون مجموعة أب إذا كنت تحدّث عدة كائنات في خطوة واحدة). سيُمكّن الكائن الموجود عليه أو يعطله، بناءً على ما إذا كان المستخدم موجودًا ضمنيًا في أي خطوة بين Min وMax المحددين.

PlaceAtOrigin

سيضع هذا المكون كائنًا عند أصل الأفاتار؛ 0,0,0 بالنسبة إلى ذلك الأفاتار، غير مرفق. لإزاحة كائن، ضع الكائن الأب الفارغ مع سكربت PlaceAtOrigin ثم أزح الكائن المرئي عن الأب غير المرئي.

%PLAYER%

استخدم هذا في حقول نص quest لإضافة اسم اللاعب إلى الحوار داخل اللعبة.

Replay NPC

إذا كان من الممكن الإخفاق في خطوة activity، فاسحب Quest NPC إلى حقل Replay NPC. سيعرض علامة "!" تطلب من المستخدم تكرار الخطوة.

Avatar Effect NPC

طبّق هذا المكون على NPCs المصممة لقبول دعوات الإيماءات تلقائيًا.