DeveloperFeaturedGame DevelopmentUnity 3D

สร้างเกมบน Unity 3D กับชุดพัฒนาเกมสำเร็จรูป Daydev Action Kit

บทความฉบับเร่งรัดสำหรับผู้ต้องการสร้างเกม 3D แนว Action มุมมองบุคคลที่ 3 ด้วย Unity ครับ สำหรับผู้ที่ต้องการไอเดียการพัฒนาเกม

อันที่จริงนี่เป็นหนึ่งในเครื่องมือประกอบรายละเอียดงานวิจัยในห้องเรียน มหาวิทยาลัยธุรกิจบัณฑิตย์ คณะเทคโนโลยีสารสนเทศ สาขาวิชาออกแบบเชิงโต้ตอบ และพัฒนาเกมที่ผมกำลังทำอยู่เกี่ยวกับการเรียนภาษาโปรแกรม กับการพัฒนาตัว และทัศนคติของผู้เรียนการเขียนโปรแกรมที่มีต่อเครื่องมือ Game Creator Template ที่ทางผมพัฒนาขึ้น เพื่อศึกษาการเขียนโปรแกรมแบบ Backward (สนใจสอบถาม หรือรีวิวรายละเอียดเรื่องงานวิจัยทักได้ที่ Fan Page ครับ)

เบื้องต้นนั้นผมได้ทำ Package ของ Unity ออกมาให้แล้วสำหรับคนที่ต้องการใช้เป็นตัวอย่างในการพัฒนาเกม 3 มิติ โดย Asset ที่ผมใช้มีทั้งตัวจ่ายเงิน คือ Animal Adventrue Pack (10$) และ Cartoon City (5$) ส่วนนี้ขอความกรุณานำไปใช้เพื่อการศึกษาอย่าได้นำไปใช้เชิงพาณิชย์ เลยนะครับ

Screen Shot 2558-06-06 at 3.17.04 PM

Screen Shot 2558-06-06 at 4.51.55 PM

ตัว Package นั้นผมได้อัพโหลดไว้ที่

http://bit.ly/DAYDEVKIT

[เป็นเวอร์ชัน 1 ที่ยังไม่ได้ใส่ส่วนของ เสียงไว้ให้ครับ รองรับ Unity version 5 ขึ้นไปเท่านั้นนะครับ]

วิธีการนำ Package Daydev Action Kit ไปใช้

ขั้นตอนแรกให้ คลาย zip ออกมาเป็น package ของ Unity ครับ

Screen Shot 2558-06-06 at 4.47.58 PM

เสร็จแล้วเปิดโปรแกรม Unity ขึ้นมา (เวอร์ชัน 5) เท่านั้น สร้าง Project ใหม่ขึ้นมาครับ

Screen Shot 2558-06-06 at 4.47.41 PM

ไปที่เมนู Asset -> Import Package -> Custom Package…

Screen Shot 2558-06-06 at 4.47.49 PM

เลือกไฟล์ Daydev Action Kit ที่เป็น Package ที่เราโหลดมาใส่เข้าไป รอสักพักครับ ก็เป็นอันเรียบร้อย

Screen Shot 2558-06-06 at 4.48.11 PM

ลองตรวจสอบเราจะเห็นว่า โฟลเดอร์ Prefabs นั้นจะมี สิ่งพร้อมใช้ให้ลากวางก็กลายเป็นเกมๆ หนึ่งได้เลยครับ

Screen Shot 2558-06-06 at 4.47.17 PM

ใน โฟลเดอร์ Scene ก็จะมี ด่านตัวอย่างที่ทำไว้ให้เรียบร้อย วิธีการก็คือ ลาก Prefabs ไปวางทีละส่วนๆ นั่นแหละครับ แต่ผมทำไว้ให้แล้ว

Screen Shot 2558-06-06 at 4.47.01 PM

เปิด Scene ที่ชื่อ Example01 ได้เลยครับ

Screen Shot 2558-06-06 at 4.47.06 PM

ตัวละครจะพร้อมใช้งาน หรือพร้อมเล่นเลย

ส่วนประกอบต่างๆ และการทำงาน

Player ของตัวละครจะใช้ Code player.cs ครับ ซึ่งจะมี Code ดังนี้

มีการชนโดน วัตถุต่างๆ แล้วเกิดเป็น ตัวแปล healthBar ลดไป แต่ถ้าชนสิ่งที่ชื่อว่า “Wincondition” หรือมรกต สีเขียวก็จะผ่านด่านเลย (ซึ่งผ่านด่านก็คือ เล่นใหม่ไม่ได้ทำด่านต่อ)

Screen Shot 2558-06-06 at 8.00.55 PM

ส่วนของการบังคับตัวละครอธิบายมาหลายบทในเว็บไซต์แล้วขอ ละไว้ไปหาอ่านกันเองไม่ยากครับ มาส่วนของ Effect กันดีกว่า

เมื่อตกน้ำตาย จะมี Effect ตัวแปร waterDeath ให้ดึง Prefabs ที่ชื่อ Water มาวางเพื่อเกิดเป็นน้ำกระจาย เวลาตกลงไป

Screen Shot 2558-06-06 at 8.02.29 PM

เช่นกันเมื่อ เลือดหมด Effect ที่ชื่อ deathLight แสงแห่งสวรรค์ก็จะปรากฏเมื่อตายเช่นกันครับ ตามด้วย AttackEffect เป็น Effect เมื่อโดนโจมตีโดยศัตรูนั่นคือ Monster และ Boss ครับ

Monster
Monster
Boss
Boss

ทีนี้ตัวละครของเรา ใน Hierachy จะมี Cube ที่ปรับ Mesh Renderer ให้ล่องหนอยู่ตัวหนึ่งทำหน้าที่เป็น ปืนครับ

Screen Shot 2558-06-06 at 8.04.25 PM

มันคือ Cube ธรรมดาๆ แสน ธรรมดาที่ปรับ Inspector เป็นดังนี้

Screen Shot 2558-06-06 at 8.05.06 PM

นึกไม่ออกให้ Double Click ที่ gun ใน Hierarchy ดูครับ

Screen Shot 2558-06-06 at 8.06.03 PM

ใช้ Script  ที่ชื่อ gun.cs ไปควบคุมมันอีกทีครับ

โดยเราต้องมีกระสุนผมได้สร้าง Prefab เป็นกระสุนไว้ให้แล้ว

Screen Shot 2558-06-06 at 8.08.37 PM

(สามารถลาก Prefabs ไปวางที่ Inspecter ของ Gun ได้ครับถ้าทำกระสุนใหม่)

Screen Shot 2558-06-06 at 8.08.52 PM

ส่วนของ Bullet มี Code ตามนี้ครับ เน้น RigidBody เมื่อยิงมันจะย้อยลงดินหายไป ส่วน gun.cs จะมีการ Cool down ไม่ให้ยิงรัวๆ ประมาณ 3 วินาที

เมื่อมันโดน GameObject ที่ชื่อ Monsters(Clone) มันจะทำลายตัวเอง และถ้าไม่โดนอะไร จะมีการเคลียร์วัตถุไม่ให้เปลืองแรม SecondUntilDestroy ใน ระยะเวลา 1 วินาทีกว่าๆ

ทีนี้ส่วนของ Monster ครับ ตัว Prefabs ทำไว้แล้วมี RigidBody, Character Controller, Capsule ครบหมดแล้วใน Daydev Action Kit ตัวของ Boss ก็เช่นกัน เพียงแค่การทำงานจะต่างกันเล็กน้อย

ตัว Monster ใช้ Code ชื่อ AIEnemy.cs มีหน้าที่คือถ้าเจอ Player วิ่งเข้ามาใกล้ๆ ระยะโจมตีมันจะวิ่งเข้ามาโจมตีทันทีครับ โดยอ้างอิงกับ Animator Controller ที่สร้างไว้ให้แล้ว

เมื่อมันโดน Bullet(Clone) หรือลูกบอลจาก Player ยิงใส่มันจะลดพลังลง เมื่อตาย จะมี Animator Controller ส่งค่า Trigger ว่า Death แล้วจะค่อยระเบิดหายไปอีกทีประมาณ 2 วินาที

ส่วนตัวของ Boss นั้นจะมี AIBoss.cs คุม จะมีส่วนของการยิงกระสุนเหมือนตัวละคร และจะยิงด้วยความถี่ Cool Down ประมาณ 4 วินาที

ตัว Monster จะมีการ Random ออกมา ทุกๆ 7 วินาทีเพื่อโจมตีเราดังนั้น เราต้องทำ RandomEnemy ครับ อัดไว้ใน Empty GameObject แล้วทำการโคลนตัว Prefabs ชื่อเดียวกัน

Screen Shot 2558-06-06 at 8.27.19 PM

ถ้าให้อธิบาย ชุด Kit ตัวนี้ก็คงมีแค่นี้ครับ เพราะเป็นแค่เครื่องมือแรกๆ ในการทำวิจัยของผม แต่ยังไงก็ยังแจกฟรีให้หลายๆ คนที่อยากจะศึกษานำไปศึกษากันเองต่อได้เองครับ

ตัวอย่าง Video แนะนำการเล่นครับ

ดาวน์โหลดที่นี่: http://bit.ly/DAYDEVKIT

หมายเหตุ: Code ที่ปรากฏ อาจจะมี Pattern ที่มาจาก Document ของ Unity บ้าง หรือในเว็บไซต์บ้าง หากมีคนที่บอกว่า ก็แค่ไปเอา Code มายำๆก็เสร็จ คือมันก็ถูกครับ แค่เชิง Pattern นะครับ แต่ Logic ของเกมผมคิดเองและพัฒนาเองครับ คงไม่ลอกใครมาแน่นอน หากใครจะดราม่าก็รบกวนดราม่าอย่างฉลาดด้วยนะครับ

สำหรับเวอร์ชัน 2: เป็นโครงการในอนาคตครับ หาทุนก่อน ใครอยากบริจาคกี่บาทก็ได้ก็กระซิบมาที่ http://www.facebook.com/daydevthailand เป็นการระดมทุนครับไม่บังคับ จะใช้ฟรีก็ไม่ว่ากันแค่ เครดิตผู้พัฒนาด้วยนะครับ ขอบคุณครับ

Tags

Asst. Prof. Banyapon Poolsawas

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

Related Articles

Back to top button
Close
Close

Adblock Detected

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