← العودة إلى المدونة

بناء لعبة RPG ثلاثية الأبعاد مع Unity MCP: التحكم من منظور الشخص الثالث والقتال والمهام

دليل عملي لـ Unity MCP لبناء نموذج RPG ثلاثي الأبعاد قابل للعب: حركة من منظور الشخص الثالث، قتال مشاجرة في الوقت الفعلي، آلة حالة للعدو، وربط المهام في Cursor أو بيئات تطوير ذكاء اصطناعي أخرى.

نُشر في
  • Unity MCP
  • 3D RPG
  • Unity
  • combat
  • AI game development

نطاق الحد الأدنى من اللعبة القابلة للعب

عادةً ما يحتاج نموذج RPG ثلاثي الأبعاد الجاهز للعرض إلى هذه العناصر أولاً: حركة وكاميرا قابلة للضبط من منظور الشخص الثالث، حلقة قتال مشاجرة واحدة في الوقت الفعلي، عدو واحد مع آلة حالة صغيرة، مهمة أو حوار واحد قابل للتفعيل، وواجهة HUD تعرض الصحة أو تقدم المهمة. يتبع هذا الدليل ترتيب البناء هذا. افترض أنك تقود مشروع Unity مفتوحًا من Cursor أو Claude Code أو Codex أو أي بيئة تطوير ذكاء اصطناعي أخرى تدعم MCP عبر Unity MCP — قراءة وكتابة المشاهد وGameObjects وC#، وليس فقط لصق الملفات على القرص.

التثبيت والاتصال: دليل تثبيت Unity MCP. إصدارات المحرر المدعومة تتبع صفحة المنتج (عادةً Unity 2022.3+ / Unity 6).

نطاق الحد الأدنى من اللعبة القابلة للعب

لا تشحن الإصدار الأول إلا إذا كنت تقبل:

  1. حركة WASD، ونظرة بالماوس، وقفزة؛ الأرض والمنحدرات اللطيفة مستقرة
  2. هجوم مشاجرة واحد (رسوم متحركة مؤقتة مقبولة) يصيب collider ويسبب ضررًا
  3. عدو واحد: دورية ← اكتشاف اللاعب ← مطاردة / هجوم؛ تعطيل أو تدمير عند الموت
  4. شخصية NPC واحدة: اقترب للتحدث أو قبول مهمة؛ الهدف “هزيمة ذلك العدو”، ثم تحديث السجل
  5. HUD بسيط: شريط صحة + سطر مهمة واحد

قم بتخطيط الفن باستخدام الأشكال الأساسية إذا لزم الأمر. تعامل مع القائمة الرئيسية، وشبكات المخزون، وواجهة HUD المصقولة كمرحلة واجهة مستخدم لاحقة (انظر أدناه).

جاهزية المشروع و MCP

قبل مطالبات اللعب:

  • مشروع Unity مفتوح؛ المشهد المستهدف يمكن أن يدخل وضع Play
  • خادم Unity MCP قيد التشغيل؛ يمكن لبيئة تطوير الذكاء الاصطناعي سرد جذور Hierarchy (فحص قراءة فقط)
  • تم تنفيذ commit أساسي؛ قم بالـ commit مرة أخرى قبل التعديلات الكبيرة

فحص القراءة فقط:

قم بسرد GameObjects الجذرية في المشهد النشط. لا تغير أي شيء.

فقط بعد ذلك اكتب. أبقِ الجسر على localhost — لا تعرض المنفذ للعامة. صياغة المطالبات: Unity MCP مع Claude Code و Cursor.

اللاعب: التحكم من منظور الشخص الثالث أولاً

هيكل أساسي (أعد التسمية ليتوافق مع مشروعك):

Player
├── CharacterController أو Rigidbody + CapsuleCollider
├── CameraPivot (yaw)
│   └── CameraArm (pitch) → Main Camera
└── AttackHitbox (trigger، معطل افتراضيًا)

كن صريحًا بشأن الإدخال والكاميرا والمسارات:

أنشئ Assets/Scripts/Player/PlayerController.cs: منظور الشخص الثالث؛ WASD بالنسبة لاتجاه الكاميرا؛ yaw/pitch بالماوس (تقييد pitch بين −30° و60°)؛ مسافة للقفز؛ اربطه بـ Player. الأرض عبر CharacterController.isGrounded أو ما يعادله.

ثم اضبط الإحساس:

سرعة الحركة ~5 مع تسارع خفيف ناعم؛ قفزة ~1.2 م؛ تخميد بسيط لمتابعة الكاميرا — لا دوران سريع.

راجع المنحدرات والتوجيه الجوي وتقاطع الكاميرا قبل الاحتفال بـ “تم إنشاء السكربت”.

القتال: حلقة مشاجرة واحدة مقبولة

تخطى أشجار المهارات في الإصدار الأول. الهدف: اضغط هجوم ← فعّل hitbox لعدد N من الإطارات ← ضرر ← تحديث HUD.

أضف PlayerCombat.cs: هجوم بزر الفأرة الأيسر، مهلة 0.6 ثانية؛ فعّل AttackHitbox خلال النافذة؛ سبب ضرر 15 لـ IDamageable. الأعداء ينفذون IDamageable ولديهم نقاط صحة حالية.

ترقيات اختيارية لا تزال بسيطة:

قفل الحركة لفترة وجيزة عند الهجوم؛ صعق قصير للأعداء؛ 0.4 ثانية من إطارات المناعة مع وميض بعد ضرر اللاعب.

ارفع تغييرات الصحة كأحداث/استدعاءات حتى يظل ربط HUD نظيفًا — تجنب سكربتات UI التي تبحث عن العالم بـ Find.

الأعداء: Idle / Patrol / Chase / Attack

لا حاجة لشجرة سلوك. أربع حالات تغطي وحشًا ميدانيًا:

Idle → Patrol → Chase → Attack
         ↑________________↓ (فقد الهدف)

أنشئ Assets/Scripts/Enemy/EnemyAI.cs: دورية بنقطتين؛ ادخل حالة Chase ضمن 12 مترًا؛ هجوم ضمن 2 متر (مهلة 1.2 ثانية، ضرر 8)؛ ارجع إلى Patrol بعد 3 ثوانٍ من فقدان اللاعب؛ عند 0 صحة العب موتًا أو SetActive(false).

فضل NavMeshAgent إذا كنت قد خبزت بالفعل؛ وإلا فاستخدم حركة بسيطة للبحث/المواجهة حتى لا يتعطل الأسبوع الأول على التنقل. Animator اختياري — المواجهة وتغذية اللون كافية مبكرًا.

المهام و NPCs: خيط رئيسي واحد

“شعور المهمة” هو trigger ← تتبع ← إكمال، وليس محرر مهام كامل.

أبقِ البيانات بسيطة:

  • QuestId، العنوان، الوصف، عدد التقدم، علامة الاكتمال
  • NPC Interact (E أو trigger) يفتح الحوار ويبدأ المهمة StartQuest
  • موت العدو يستدعي QuestManager.NotifyKill(enemyId)

أنشئ QuestManager ككائن مفرد: اقبل slay_wolf_01 (هزيمة ذئب واحد)؛ تقدم عند موت الذئب؛ حدّث نسخة سجل المهمة عند الانتهاء. ساحر NPC: يدخل اللاعب إلى منطقة trigger، يضغط E لبدء تلك المهمة.

TMP/Text يكفي لحوار الإصدار الأول؛ الفروع لاحقًا.

HUD: عناصر نائبة أولاً، واجهة مصقولة لاحقًا

بينما اللعب غير مكتمل، اربط Slider / TMP_Text الموجودة:

اربط OnHealthChanged للاعب بشريط HUD؛ اربط عنوان QuestManager الحالي بسطر TMP أعلى الشاشة.

عندما تحتاج القوائم أو المخزون أو أشرطة المهارات إلى واجهة بتصميم احترافي (PSD/Figma متعدد الطبقات، لوحات مولدة بـ NL، تقسيم وتصدير كـ Unity prefabs)، استخدم سير عمل canvas مثل AI Studio:

  1. قم بتوليد أو استيراد HUD / قائمة RPG
  2. قم بتقسيمها إلى مكونات وتصديرها إلى e.g. Assets/UI/
  3. ارجع إلى بيئة تطوير الذكاء الاصطناعي + Unity MCP لربط الأزرار والأشرطة ونص المهمة بأحداث اللعب الموجودة

تعامل مع القصاصات الصلبة للشفافية أولاً إذا لزم الأمر. البنية يمكن أن تأتي من canvas؛ الربط ومنطق القتال يبقيان في Unity عبر MCP — لا تتوقع من أداة canvas أن تؤلف FSM قتال كامل.

تفاصيل الاستيراد: Figma إلى Unity UI.

ترتيب البناء المقترح

MCP: تحكم اللاعب ← حلقة مشاجرة واحدة ← FSM عدو واحد ← مهمة واحدة + NPC
        ↓
MCP: ربط HUD placeholder (صحة / سطر مهمة)
        ↓ (اختياري)
أداة Canvas: قائمة / HUD مصقول ← تصدير إلى Unity
        ↓
MCP: ربط الواجهة المصقولة بالأحداث الموجودة

الإحساس والأرقام والذكاء الاصطناعي والتنقل → استمر في استخدام Unity MCP. التسلسل الهرمي البصري بملء الشاشة، وإعادة التصميم، وإعادة تصدير prefabs → ارجع إلى أداة canvas.

حدود المطالبات المفيدة فعلاً

المطالبات الغامضة تهدر الدورات. حدد:

  • المسارات ونقاط الربط — أي مجلد، أي كائن
  • القبول — e.g. “خلال 10 ثوانٍ من Play، اقتل ذئبًا واحدًا وشاهد اكتمال المهمة”
  • خارج النطاق — e.g. “لا تعيد بناء مجموعة الإدخال بأكملها؛ لا تحذف الكاميرا”
  • اهتمام واحد لكل مطالبة — تحكم، ثم قتال، ثم عدو

اختبر اللعب بنفسك دائمًا. MCP يزيل النقر المتكرر؛ لا يحل محل الحكم التصميمي.

قائمة التحقق للقبول

  • حركة/كاميرا منظور الشخص الثالث تبقى قابلة للتحكم لمدة ~دقيقتين دون قص واضح أو فقدان تحكم
  • ضربات المشاجرة موثوقة؛ المهلة ملحوظة
  • الدورية مقابل المطاردة مقروءة؛ الموت له تغذية راجعة واضحة
  • يمكن قبول المهمة وإكمالها؛ نسخة HUD تتحدث
  • تغييرات الصحة تصل إلى الواجهة (العناصر النائبة مقبولة)

الخطوات التالية

  1. أكمل دليل تثبيت Unity MCP واختبار قراءة فقط
  2. أطلق “حركة + عدو واحد + مهمة واحدة” بهذا الترتيب
  3. أضف تصدير واجهة مصقولة فقط عندما يجب أن تبدو HUD منتهية

أدلة أخرى قد تعجبك