← Kembali ke blog

Membangun RPG 3D dengan Unity MCP: Kontrol Orang Ketiga, Pertarungan, dan Misi

Panduan Unity MCP praktis untuk prototipe RPG 3D yang dapat dimainkan—gerakan orang ketiga, pertarungan jarak dekat real-time, state machine musuh, dan misi di Cursor atau IDE AI MCP lainnya. Poles UI nanti jika perlu.

Diterbitkan
  • Unity MCP
  • 3D RPG
  • Unity
  • combat
  • AI game development

Bangun prototipe RPG 3D yang siap demo

Prototipe RPG 3D yang siap demo biasanya membutuhkan bagian-bagian ini terlebih dahulu: gerakan orang ketiga dan kamera yang dapat disetel, satu loop pertarungan jarak dekat real-time, satu musuh dengan state machine kecil, satu misi atau dialog yang dapat dipicu, dan HUD yang menampilkan kesehatan atau progres misi. Panduan ini mengikuti urutan pembangunan tersebut. Asumsikan Anda mengendalikan proyek Unity yang terbuka dari Cursor, Claude Code, Codex, atau IDE AI berkemampuan MCP lainnya melalui Unity MCP—membaca dan menulis scene, GameObject, dan C#, bukan hanya menempelkan file ke disk.

Instal dan hubungkan: Panduan instalasi Unity MCP. Versi editor yang didukung mengikuti halaman produk (biasanya Unity 2022.3+ / Unity 6).

Tentukan lingkup minimum yang dapat dimainkan

Rilis v1 hanya jika Anda dapat menerima:

  1. Gerakan WASD, lihat dengan mouse, lompat; tanah dan lereng landai terasa stabil
  2. Satu serangan jarak dekat (animasi placeholder OK) yang mengenai collider dan memberikan damage
  3. Satu musuh: patroli → deteksi pemain → kejar / serang; nonaktifkan atau hancurkan saat mati
  4. Satu NPC: mendekat untuk berbicara atau menerima misi; tujuan “kalahkan musuh itu,” lalu perbarui log
  5. HUD sederhana: bar kesehatan + satu baris misi

Blokir seni dengan primitif jika perlu. Perlakukan menu utama, grid inventaris, HUD yang dipoles sebagai langkah UI berikutnya (lihat di bawah).

Kesiapan proyek dan MCP

Sebelum prompt gameplay:

  • Proyek Unity terbuka; scene target dapat masuk ke Play
  • Unity MCP Server berjalan; IDE AI dapat mencantumkan akar Hierarchy (uji baca-saja)
  • Komit dasar dilakukan; komit lagi sebelum edit besar

Pemeriksaan baca-saja:

Daftar GameObject akar di scene aktif. Jangan ubah apa pun.

Hanya setelah itu menulis. Jaga bridge di localhost—jangan ekspos port ke publik. Keahlian prompt: Unity MCP dengan Claude Code dan Cursor.

Pemain: kontrol orang ketiga terlebih dahulu

Kerangka minimal (ubah nama sesuai proyek Anda):

Player
├── CharacterController atau Rigidbody + CapsuleCollider
├── CameraPivot (yaw)
│   └── CameraArm (pitch) → Main Camera
└── AttackHitbox (trigger, nonaktif secara default)

Bersikaplah eksplisit tentang input, kamera, dan jalur:

Buat Assets/Scripts/Player/PlayerController.cs: orang ketiga; WASD relatif terhadap arah kamera; mouse yaw/pitch (clamp pitch −30°–60°); Space untuk melompat; lampirkan ke Player. Ground via CharacterController.isGrounded atau yang setara.

Lalu sesuaikan nuansa:

Kecepatan gerak ~5 dengan smoothing akselerasi ringan; lompat ~1,2 m; sedikit redaman kamera—tanpa panci cambuk.

Tinjau lereng, kemudi udara, dan kliping kamera sebelum merayakan “skrip dibuat.”

Pertarungan: satu loop jarak dekat yang dapat diterima

Lewati pohon keterampilan di v1. Tujuan: tekan serang → aktifkan hitbox selama N frame → damage → segarkan HUD.

Tambahkan PlayerCombat.cs: serangan LMB, cooldown 0,6 dtk; aktifkan AttackHitbox selama jendela; berikan 15 damage ke IDamageable. Musuh mengimplementasikan IDamageable dan HP saat ini.

Upgrade opsional yang masih sederhana:

Kunci gerakan sebentar saat menyerang; hitstun singkat pada musuh; i-frame 0,4 dtk dengan kedip setelah pemain menerima damage.

Naikkan perubahan kesehatan sebagai event/callback agar pengikatan HUD tetap bersih—hindari skrip UI yang Find-ing dunia.

Musuh: Idle / Patroli / Kejar / Serang

Tidak diperlukan pohon perilaku. Empat status mencakup mob lapangan:

Idle → Patroli → Kejar → Serang
         ↑________________↓ (kehilangan target)

Buat Assets/Scripts/Enemy/EnemyAI.cs: patroli dua titik; masuk Kejar dalam 12 m; Serang dalam 2 m (cooldown 1,2 dtk, damage 8); kembali ke Patroli 3 dtk setelah kehilangan pemain; pada 0 HP mainkan kematian atau SetActive(false).

Prefer NavMeshAgent jika Anda sudah bake; jika tidak, gunakan gerakan cari/hadap sederhana agar minggu pertama tidak terhambat navigasi. Animator opsional—menghadap dan umpan balik warna cukup di awal.

Misi dan NPC: satu alur utama

“Rasa misi” adalah picu → lacak → selesaikan, bukan editor misi lengkap.

Simpan data sederhana:

  • QuestId, judul, deskripsi, jumlah progres, bendera selesai
  • NPC Interact (E atau trigger) membuka dialog dan StartQuest
  • Kematian musuh memanggil QuestManager.NotifyKill(enemyId)

Buat singleton QuestManager: terima slay_wolf_01 (kalahkan 1 Wolf); majukan pada kematian Wolf; perbarui salinan log misi saat selesai. NPC Wizard: pemain memasuki trigger, tekan E untuk memulai misi itu.

TMP/Text cukup untuk dialog v1; cabang nanti.

HUD: placeholder dulu, UI yang dipoles nanti

Sementara gameplay belum selesai, hubungkan Slider / TMP_Text engine:

Ikat OnHealthChanged pemain ke bar HUD; ikat judul saat ini dari QuestManager ke baris TMP di layar atas.

Saat menu, inventaris, atau bar keterampilan membutuhkan UI kelas desain (PSD/Figma berlapis, panel yang dihasilkan NL, dipisah dan diekspor sebagai prefab Unity), gunakan alur kerja kanvas seperti AI Studio:

  1. Hasilkan atau impor HUD / menu RPG
  2. Komponenkan dan ekspor ke mis. Assets/UI/
  3. Kembali ke IDE AI + Unity MCP untuk mengikat tombol, bar, dan teks misi ke event gameplay yang ada

Tangani potongan keras untuk alpha terlebih dahulu jika perlu. Struktur dapat berasal dari kanvas; pengikatan dan logika pertarungan tetap di Unity via MCP—jangan harap alat kanvas menulis FSM pertarungan lengkap.

Detail impor: Figma ke Unity UI.

Urutan pembangunan yang disarankan

MCP: kontrol pemain → satu loop jarak dekat → satu FSM musuh → satu misi + NPC
        ↓
MCP: pengikatan HUD placeholder (HP / baris misi)
        ↓ (opsional)
Alat kanvas: menu / HUD yang dipoles → ekspor ke Unity
        ↓
MCP: ikat UI yang dipoles ke event yang ada

Nuansa, angka, AI, navigasi → terus gunakan Unity MCP. Hierarki visual layar penuh, reskin, prefab yang diekspor ulang → kembali ke alat kanvas.

Batasan prompt yang benar-benar membantu

Prompt yang samar membuang siklus. Tentukan:

  • Jalur dan titik lampir — folder mana, objek mana
  • Penerimaan — mis. “dalam 10 dtk Play, bunuh satu serigala dan lihat misi selesai”
  • Di luar lingkup — mis. “jangan bangun ulang seluruh tumpukan input; jangan hapus kamera”
  • Satu kekhawatiran per prompt — kontrol, lalu pertarungan, lalu musuh

Selalu uji Play sendiri. MCP menghilangkan klik berulang; itu tidak menggantikan penilaian desain.

Daftar periksa penerimaan

  • Gerakan/kamera orang ketiga tetap terkendali selama ~2 menit tanpa kliping/kehilangan kontrol yang jelas
  • Serangan jarak dekat mengenai dengan andal; cooldown terasa
  • Patroli vs kejar dapat dibaca; kematian memiliki umpan balik yang jelas
  • Misi dapat diterima dan diselesaikan; salinan HUD diperbarui
  • Perubahan kesehatan mencapai UI (placeholder OK)

Langkah berikutnya

  1. Selesaikan panduan instalasi Unity MCP dan uji baca-saja
  2. Kirim “gerakan + satu musuh + satu misi” dalam urutan itu
  3. Tambahkan ekspor UI yang dipoles hanya saat HUD harus terlihat selesai

Panduan lain yang mungkin Anda suka