FeaturedGame DevelopmentGame EngineUnity 3D

Workshop เขียนเกมแนว Temple Run ด้วย Unity 3D ตอนที่ 2

ตัวอย่างการทำ Workshop สร้างเกมด้วย Unity 3D กับเกมแนว Temple Run หลังจากทำฉากเลื่อนตัวละครวิ่งต่อมาจะเป็นการสร้าง Prefab ของ Item และ Enemy ในเกม
จากตัวอย่างตอนที่แล้วในบทความ “Workshop เขียนเกมแนว Temple Run ด้วย Unity 3D ตอนที่ 1

วีดีโอก่อนหน้านี้คือ ฉากที่เลื่อนเข้าหาตัวละคร และตัวละครก็จะวิ่งไปเรื่อยๆ

ให้เราสร้าง Prefab ขึ้นมาบน Project ของเราครับ คลิกขวาที่ Project Tab เลือก Create -> Prefab

screen1

เราจะได้ Prefab มาว่างๆ ตั้งชื่อมันว่า “Items” และสร้างอีกตัวขึ้นมาตั้งชื่อว่า “Monster”

screen2

ไปหา 3D Model ของเหรียญทองคำมา 1 ชิ้น และ หา 3D Model ของตัว ก๊อบบลิน มาด้วย (ผมโหลดจาก Asset Store) มาใช้

ทำการเพิ่ม GameObject ขึ้นมาใหม่เป็น Empty Object ตั้งชื่อว่า GameController

screen6

 

screen7

แล้วสร้าง Script ภาษา C# ขึ้นมา 1 ไฟล์ตั้งชื่อว่า “DynamicPrefab.cs”

screen8

ใส่ Code ดังต่อไปนี้ลงไป ประกาศใต้ class ของ DynamicPrefab

และเพิ่มคำสั่งในฟังก์ชัน Update() ดังนี้

อธิบาย คำสั่งเป็นการใช้ timeElapsed ปั่นให้วัตถุวิ่งเข้าหากล้อง ตามแนว co-ordinate แกน y ที่คงที่ แต่ สุ่มแกน x และ z โดยใช้การ Random.Range สุ่มระยะมาช่วย

ดังนั้นคำสั่งไฟล์ DynamicPrefab.cs จะเป็นดังนี้

ออกมา Insterctor ตัว Gamecontroller ตั้งค่าตามนี้

screen11

สร้าง C# ไฟล์ขึ้นมาใหม่เป็น Items.cs และ Monster.cs

กำหนดค่า Interval ของ ทั้งสองตัวที่ 0.5 และใช้หลักการเดียวกับฉากเลื่อน

ไฟล์ Items.cs

ไฟล์ Monster.cs

ไปที่ Prefab ของ Item กำหนด Position ดังนี้

screen9

ของ Monster ก็ตั้งค่าตามนี้

screen10

สรุปสว่นของ Position ส่วนของ Inspect ทั้ง Prefab ของ Items และ Monster

ของ Items
ของ Items
ของ Monster
ของ Monster

ตั้งค่า Box Collider โดยการคลิกที่ Add Component เลือก Physics – > Box Collider ตั้งค่ากล่องให้ครอบ และไม่เกินล้นตัว Monster และ Items จนเกินไป

screen3

อย่าลืมใส่ script Items.cs ที่ Prefab Items และ ใส่ script Monster.cs ที่ Prefab Monster ทดสอบเกมของเราแล้วดูว่า มันสุ่มตำแหน่งของ Item และ monster ถูกหรือเปล่า

screen12

จะเห็นว่ามีตัวศัตรู เลื่อนลงมา พร้อมกับเหรียญในตำแหน่งที่ถูกสุ่มไปเรื่อยๆ บทเรียนนี้ก็เป็นอันเรียบร้อย สิ่งที่น่าจะได้จากบทเรียนนี้คือการใช้ Dynamic Prefab ทำการ Clone ตัว GameObject ของเราออกมาใหม่ให้ปรากฏในเกม

วีดีโอผลลัพธ์ของบทเรียนนี้

Tags

Banyapon Poolsawasd

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Related Articles

Back to top button
Close
Close

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน