Home / Developer  / Game Development  / Unity 3D  / สร้างเทคนิคเกมตามหนังสยองขวัญ Lights Out ด้วย Unity 3D

สร้างเทคนิคเกมตามหนังสยองขวัญ Lights Out ด้วย Unity 3D

ไอเดียจากหนังสยองขวัญ Lights Out (2016) เกี่ยวกับวิญญาณร้าย ที่จะปรากฏกายเวลาที่ไฟดับลงเพราะอยู่ในแสงไฟไม่ได้ บทความนี้เราจะมาทำเทคนิคเกมแนวนี้กันบน Unity 3D

หากใครนึกไม่ออกว่าเกมหรือหนังเรื่องนี้เป็นยังไง แนะนำให้ไปดูหนังสั้นเรื่องนี้ก่อน

และพอมันดึงมากมันก็ถูกสร้างเป็นหนังใหญ่ปี 2016 ครับ ชื่อ Lights Out เหมือนกัน

ไอเดียเกมก็คงทำตามหนังเลย คือกดปิดไฟผีก็จะปรากฏตัว เปิดไฟก็จะหายไป พอปิดอีกทีผีก็จะใกล้เข้ามา เหมาะกับการทำเกม VR เลยทีเดียว (ทำบุญปิดทองหลังพระมาบ่อยละ)

เริ่มพัฒนาเกมครับเปิด Unity 3D ขึ้นมาสร้าง Project ใหม่

screen-shot-2016-10-10-at-10-55-31-pm

สร้างฉากของเราอย่าใช้เวลามากนะครับ แค่ฉากเป็นห้องใส่ cube กันตำแหน่งหลังคาและพื้นเล็กน้อย

ออกแบบห้องตัวบ้าน

ออกแบบห้องตัวบ้าน

โมเดลตัวบ้าน และห้อง

โมเดลตัวบ้าน และห้อง

สร้าง Cube มากันตำแหน่งหลังคา และพื้น

สร้าง Cube มากันตำแหน่งหลังคา และพื้น

สร้าง Cube มากันตำแหน่งหลังคา และพื้น

สร้าง Cube มากันตำแหน่งหลังคา และพื้น

ไปที่เมนู Assets เลือก Import Package เลือก Characters เพื่อนำตัวละครสำเร็จรูปของ Unity นั่นคือ First Person เข้ามาใช้งาน

screen-shot-2016-10-10-at-11-07-58-pm

นำมาแค่ First Person นะครับ Ball และ Third Person ไม่จำเป็นเท่าไร ก็ไม่ต้องเอาเข้ามา

screen-shot-2016-10-10-at-11-08-18-pm

ลบ Main Camera ออกนำ First Person ลงไปวางในฉากให้เรียบร้อย

screen-shot-2016-10-10-at-11-03-59-pm

screen-shot-2016-10-10-at-11-21-51-pm

ไปที่ Inspector ส่วนของ Direction Lights ให้ Rotate แกน x เป็น -190 หรือเท่าไรก็ได้เพื่อให้ฉากมันมืดครับ

screen-shot-2016-10-10-at-11-09-53-pm

สร้าง Empty GameObject ขึ้นมาตั้งชื่อว่า “GameSystem” สร้าง C# ขึ้นมาชื่อว่า Lightout.cs ยังไม่ต้องเขียน Code

screen-shot-2016-10-10-at-11-11-47-pm

นำโมเดลผีจากที่ไหนก็ได้ลงไป ถ้าจะให้สมจริงทำ Animator Controller ท่ายืน Idle ให้น่ากลัวจะดีมากวางลงไปในฉากของเกมของเราครับ

screen-shot-2016-10-10-at-11-38-26-pm

มุมกล้องของตัวละครเราจะเห็นดังนี้

screen-shot-2016-10-10-at-11-38-33-pm

ต่อมาสร้าง PointLight ขึ้นมาวางตำแหน่งเป็นดวงไฟ นีออน บนเพดานให้สว่างทั่วห้องประมาณหนึ่ง

screen-shot-2016-10-11-at-12-01-35-am

เขียนโปรแกรมครับเปิดไฟล์ Lightout.cs ขึ้นมาเขียนคำสั่ง ชิลๆ สบายๆ ตามนี้เลย

ส่วนของการประกาศ GameObject คือเราจะควบคุม GameObject ของแสง และผีในบรรทัดนี้

screen-shot-2016-10-11-at-12-09-49-am

ลาก PointLight ไปวางที่ the Light ได้เลย และลาก Model ผี ของเราไปวางที่ Ghost ทีนี้มาดูคำสั่งควบคุมครับ เปิดเกมมากำหนดให้ผีมองไม่เห็นก่อน

เมื่อเริ่มเกม คลิกเมาส์ซ้ายค้างจะปิดไฟ การทำงานคือ

ผีจะปรากฏ

พร้อมการเคลื่อนที่เข้ามาเรื่อยๆ ตาม objectSpeed กำหนดไว้แล้วคือ

ไฟจะดับโดยการ SetActive ของ Point Light ให้เป็น False

และถ้ายกนิ้วออกจากเมาส์ไฟจะเปิด ผีจะหายไป และกำหนดให้มันไม่เคลื่อนที่ตามคำสั่ง

ทดสอบดูสิ

ไฟเปิดไม่มีผี

ไฟเปิดไม่มีผี

ไฟดับผีก็เดินเข้ามา

ไฟดับผีก็เดินเข้ามา

เดินเข้ามาเรื่อยๆ แบบในหนัง

เดินเข้ามาเรื่อยๆ แบบในหนัง

Script ขำๆ นั่งดูหนังเสร็จก็ลองเอามาเขียนดู 15 นาทีเสร็จ สบายๆ ให้เด็กๆ เอาไปทำโปรเจ็คเกม VR สบายๆ ได้เลยครับ ตัวอย่าง Video นะครับ

Source Code ดาวน์โหลดที่นี่เลย: https://drive.google.com/file/d/0B08PZSOd4UmObmQ4NXZxVWoxZWM/view?usp=sharing

Comments

daydevthailand@gmail.com

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

Review overview
NO COMMENTS

Sorry, the comment form is closed at this time.