66
คณะวิศวกรรมศาสตร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ รายงานเรื่อง: The Maze Runner ผู้จัดทา นายนฤนาท รัตนา รหัส 5335512011 วันที25 ธันวาคม 2557

ภาควิชาวิศวกรรมคอมพิวเตอร์intranet.coe.phuket.psu.ac.th/pdb/download/2015-01-06-439-U4ZEM.pdf · The concept of the project is

Embed Size (px)

Citation preview

คณะวิศวกรรมศาสตร์

ภาควชิาวิศวกรรมคอมพิวเตอร์

รายงานเรื่อง:

The Maze Runner

ผู้จัดท า นายนฤนาท รัตนา รหัส 5335512011

วันที่ 25 ธันวาคม 2557

ชื่อโครงงาน

The Maze Runner

จัดท าโดย

นายนฤนาท รัตนา รหสันักศึกษา 5335512011

นักศึกษาชั้นปีที่ 5 ภาควิชาวิศวกรรมคอมพวิเตอร ์

คณะวิศวกรรมศาสตร์ มหาวิทยาลยัสงขลานครินทร์

รายงานนีเ้ป็นส่วนหนึ่งของวิชา 241-402 COMPUTER ENGINEERING PROJECT II

____________________________อาจารยท์ี่ปรึกษาโครงงาน

(ดร.นพพณ เลิศชูวงศา)

______________________อาจารยท์ี่ปรึกษาร่วมโครงงาน

(อาจารยพ์ัชรี เทพนิมิตร)

______________________อาจารยท์ี่ปรึกษาร่วมโครงงาน

(อาจารย์กุลวรรธน์ เชาวนวาที)

ชื่อโครงงาน The Maze Runner ผู้จัดท า นายนฤนาท รัตนา 5335512011

ภาควิชา วิศวกรรมคอมพิวเตอร์

ปีการศึกษา 2557

อาจารย์ที่ปรึกษาโครงงาน คณะกรรมการสอบ

.................................................. ..................................................

(ดร.นพพณ เลิศชูวงศา) (อาจารย์พัชรี เทพนิมิตร)

คณะกรรมการสอบ

............................................

(อาจารย์กุลวรรธน์ เชาวนวาที)

โครงงานนี้เป็นส่วนหนึ่งของการศึกษาตามหลักสูตรปริญญาวิศวกรรมศาสตรบัณฑิต

สาขาวิชาวิศวกรรมคอมพิวเตอร์

....................................................

(ดร.วโรดม วีระพันธ์)

รองหัวหน้าภาควิชาวิศวกรรมคอมพิวเตอร์ฝ่ายบริหาร

The Maze Runner i

ชื่อโครงงาน The Maze Runner

ผู้จัดท า นาย นฤนาท รัตนา 5335512011

ภาควิชา วิศวกรรมคอมพิวเตอร์

ปีการศึกษา 2557

บทคัดย่อ

ผู้จัดท าจึงได้มีแนวคิดท่ีจะสร้างโครงงานเกมสามมิติ โดยให้ผู้เล่นรับบทบาทเป็นตัวละครในเกม โดย

สามารถเดินเพ่ือให้ผ่านเขาวงกต ในเขาวงกตก็จะมีอุปสรรคเป็นระเบิด และมีไอเท็มให้เก็บ ในภาคของ Kinect

ตรวจจับภาพการเคลื่อนไหวของผู้เล่นเพื่อควบคุม บังคับตัวละครในเกม ซึ่งจะเพ่ิมความตื่นเต้น ความสนุก

เพลิดเพลินได้มากยิ่งข้ึน

The Maze Runner ii

Project Title The Maze Runner

Author Mr.Narunat Rattana 5335512011

Department Computer Engineering

Academic Year 2557

Abstract

The concept of the project is to produce a 3D game, players assume the role of a

character in the game, and players will need to take the character to through the maze. There

are obstacles in the maze and collect the item. In the sector of Kinect is to capture the

movement of players to control the game characters. That will add excitement and make

players enjoy the game even more.

The Maze Runner iii

หนังสือรับรองความเป็นเอกลักษณ์

ข้าพเจ้าผู้ลงนามข้างท้ายนี้ ขอรับรองว่ารายงานฉบับนี้เป็นรายงานที่มีความเป็นเอกลักษณ์ โดยที่ข้าพเจ้ามิได้คัดลอกมาจากท่ีใดที่หนึ่ง และถ้าหากว่าได้ท าการคัดลอกข้อความใดข้อความหนึ่งมา ข้าพเจ้าก็ได้อ้างอิงถึงเอกสารต้นฉบับอย่างเหมาะสม และขอรับรองว่ารายงานฉบับนี้เป็นรายงานที่ยังมิได้เสนอต่อสถาบันใดมาก่อน

ผู้จัดท า

25 ธันวาคม 2557

ลงช่ือ …………………………………………

( นายนฤนาท รัตนา )

The Maze Runner iv

กิติกรรมประกาศ

ผู้จัดท าขอขอบคุณท่าน อาจารย์นพพณ เลิศชูวงศา ซึ่งเป็นอาจารย์ที่ปรึกษาในการท าโครงงานชิ้นนี้

ท่านได้เสียสละเวลามาให้ค าแนะน า ชี้แนะแนวทาง และขอบคุณ คุณสุชาติ ปากบารา ผู้ที่ให้ค าแนะน าในการ

สร้างเกม และการวางแนวเกม

สุดท้ายนี้ขอขอบคุณ คณาจารย์ บุคลากร และเพ่ือนๆ พ่ีๆภาควิชาวิศวกรรมคอมพิวเตอร์ ที่ได้ให้

ค าปรึกษาช่วยเหลือในการท างานโครงงานชิ้นนี้

นาย นฤนาท รัตนา

ผู้จัดท า

25 ธันวาคม 2557

The Maze Runner v

สารบัญ

เร่ือง หนา้

บทคัดย่อ ………………………………………………………………………………………………………………………………………… i

Abstract ………………………………………………………………………………………………………………………………………… ii

หนังสือรับรองความเป็นเอกลักษณ์ ……………………………………………………………………………………………………. iii

กิติกรรมประกาศ ……………………………………………………………………………………………………………………………. iv

สารบัญ …………………………………………………………………………………………………………………………………………… v

สารบัญรูปภาพ ………………………………………………………………………………………………………………………………. vii

สารบัญตาราง ………………………………………………………………………………………………………………………………..… x

บทที่ 1 บทน า ................................................................................................................................................ 1

1.1 ความเป็นมา ................................................................................................................................... 1

1.2 วัตถุประสงค์ของโครงงาน .............................................................................................................. 1

1.3 ขอบเขตของโครงงาน ..................................................................................................................... 1

1.4 ขั้นตอนในการด าเนินงาน ............................................................................................................... 2

1.5 ประโยชน์ที่คาดว่าจะได้รับ ............................................................................................................. 2

1.6 เครื่องมอืที่ใช้ในการพัฒนา ............................................................................................................. 2

บทที่ 2 ความรู้พื้นฐาน ................................................................................................................................... 3

2.1 Kinect ........................................................................................................................................... 3

2.2 ความรู้เกี่ยวกับเกมและ กระบวนการพัฒนาเกม ............................................................................. 4

2.3 3ds max ....................................................................................................................................... 6

2.4 Unity ............................................................................................................................................. 9

2.5 Blender ...................................................................................................................................... 14

2.2 Visual Studio 2010 ................................................................................................................... 17

The Maze Runner vi

สารบัญ(ต่อ)

เร่ือง หนา้

บทที่ 3 รายละเอียดการท างาน.................................................................................................................... 20

3.1 Software Specification ............................................................................................................ 20

3.2 System Architecture ................................................................................................................ 21

3.3 System Design .......................................................................................................................... 21

3.4 System Implementation ......................................................................................................... 26

3.5 แผนด าเนินงาน ............................................................................................................................. 31

บทที่ 4 ผลการด าเนินงานและสรุปผล ......................................................................................................... 32

4.1 ผลการด าเนินงาน ......................................................................................................................... 32

4.2 ปัญหาและอุปสรรค ...................................................................................................................... 43

4.3 ข้อเสนอแนะ /แนวทางพัฒนาต่อ ................................................................................................... 43

บรรณานุกรม ................................................................................................................................................ 44

ภาคผนวก ..................................................................................................................................................... 46

วิธีติดตั้งโปรแกรม Unity .......................................................................................................................... 46

การติดตั้ง Microsoft Visual Studio 2010 Express .............................................................................. 49

The Maze Runner vii

สารบัญรูปภาพ

รูปที่ – ชื่อรูป หน้า

รูปที่ 2 - 1 KinectSensor ............................................................................................................................ 3

รูปที่ 2 - 2 โปรแกรม 3ds MAX .................................................................................................................... 7

รูปที่ 2 - 3 สร้าง box ใน3ds Max................................................................................................................ 7

รูปที่ 2 - 4 แปลง box ให้เป็นวัตถุแบบ Poly ................................................................................................ 8

รูปที่ 2 - 5 ค าสั่ง MeshSmooth .................................................................................................................. 8

รูปที่ 2 - 6 ค าสั่ง Skin ................................................................................................................................... 9

รูปที่ 2 - 7 โปรแกรม Unity .......................................................................................................................... 9

รูปที่ 2 - 8 ตัวอย่างเกมในรูปแบบต่างๆ ....................................................................................................... 10

รูปที่ 2 - 9 Unity Asset Store ................................................................................................................... 10

รูปที่ 2 - 10 Object Menu ........................................................................................................................ 12

รูปที่ 2 - 11 หน้าต่างท างานของโปรแกรม Blender ................................................................................... 14

รูปที่ 2 - 12 ส่วนประกอบหลักโปรแกรมBlender ...................................................................................... 16

รูปที่ 2 - 13 ส่วน 3D Window หรือวิวพอร์ตส าหรับสร้างชิ้นงาน ............................................................... 17

รูปที่ 2 - 14 ส่วน Buttons Window ที่รวบรวมเครื่องมือส าหรับการท างาน .............................................. 17

รูปที่ 2 - 15 โปรแกรมVisual Studio 2010 ............................................................................................... 17

รูปที่ 3 - 1 โครงสร้างระบบ ......................................................................................................................... 20

รูปที่ 3 - 2 โครงสร้างระบบ ......................................................................................................................... 21

รูปที่ 3 - 3 System Design ........................................................................................................................ 21

รูปที่ 3 - 4 แผนการท างานของ Kinect ....................................................................................................... 22

รูปที่ 3 - 5 การเชื่อมต่อ Kinect Mouse และการท างาน ............................................................................ 23

รูปที่ 3 - 6 แผนการท างานของเกม ............................................................................................................. 24

รูปที่ 3 - 7 การวิ่งของตัวละคร .................................................................................................................... 25

The Maze Runner viii

สารบัญรูปภาพ(ต่อ)

รูปที่ – ชื่อรูป หน้า

รูปที่ 3 - 8 การเปลี่ยนทิศทางตัวละคร ........................................................................................................ 25

รูปที่ 3 - 9 หน้า XAML ของ Kinect ........................................................................................................... 26

รูปที่ 3 - 10 ภาพ deapt จาก Kinect ........................................................................................................ 26

รูปที่ 3 - 11 ภาพ color จาก Kinect ......................................................................................................... 27

รูปที่ 3 - 12 MainMenu Scene , Load Scene ....................................................................................... 28

รูปที่ 3 - 13 Game Scene , Win Scene ................................................................................................. 28

รปูที่ 3 - 14 Lose Scene , Credit Scene ............................................................................................... 29

รูปที่ 3 - 15 ระเบิดในเกม ........................................................................................................................... 29

รูปที่ 3 - 16 ไอเท็มในเกม ............................................................................................................................ 29

รูปที่ 3 - 17 เกมโดยภาพรวม ...................................................................................................................... 30

รูปที่ 4 - 1 การใช้ OpenNI เชื่อมต่อกับ Unity ........................................................................................... 33

รูปที่ 4 - 2 Shape Game ........................................................................................................................... 33

รูปที่ 4 - 3 Shape Game ........................................................................................................................... 34

รูปที่ 4 - 4 การดึงภาพจาก Kinect ............................................................................................................. 34

รูปที่ 4 - 5 โค้ดการดึงค่าพิกัดข้อมือ เพ่ือปรับพิกัดเคอร์เซอร์เมาส์ .............................................................. 35

รูปที่ 4 - 6 โค้ดการน าค่าพิกัดของเมาส์เคอร์เซอร์มาใช้ใน Unity ................................................................ 36

รูปที่ 4 - 7 Component ของ Object ในเกม ............................................................................................ 37

รูปที่ 4 - 8 การตั้งต่าอินพุตใน Unity .......................................................................................................... 38

รูปที่ 4 - 9 การรับอินพุตเมาส์ ..................................................................................................................... 38

รูปที่ 4 - 10 การเปลี่ยน Scene และการปิดเกม ......................................................................................... 39

รูปที่ 4 - 11 การเช็คการเข้าใกล้ของวัตถุ และการเคลื่อนที่ของวัตถุ ............................................................ 40

รูปที่ 4 - 12 การเช็คการชนกันของวัตถุ และการลบวัตถุออกจากเกม ......................................................... 41

รูปที่ 4 - 13 การใส่เอฟเฟคระเบิด ............................................................................................................... 42

The Maze Runner ix

สารบัญรูปภาพ(ต่อ)

รูปที่ – ชื่อรูป หน้า

รูปที่ ก - 1 ดาวโหลด Unity ........................................................................................................................ 46

รูปที่ ก - 2 ติดตั้งโปรแกรม Unity ............................................................................................................... 46

รูปที่ ก - 3 ติดตั้งโปรแกรม Unity ............................................................................................................... 47

รูปที่ ก - 4 ติดตั้งโปรแกรม Unity ............................................................................................................... 47

รูปที่ ก - 5 ติดตั้งโปรแกรม Unity ............................................................................................................... 48

รูปที่ ก - 2 ติดตั้งโปรแกรม Unity ............................................................................................................... 48

The Maze Runner x

สารบัญรูปภาพ(ต่อ)

รูปที่ – ชื่อรูป หน้า

รูปที่ ก - 7 เว็บเพจส าหรับการดาวน์โหลดตัวติดตั้ง ..................................................................................... 50

รูปที่ ก - 8 หน้าต่าง AutoPlay ................................................................................................................... 50

รูปที่ ก - 9 เมนูเลือกติดตั้งโปรแกรม ........................................................................................................... 50

รูปที่ ก - 10 Welcome to Setup ............................................................................................................. 51

รูปที่ ก - 11 แสดงลิขสิทธ์และสิทธิ์ในการใช้งาน ......................................................................................... 51

รูปที่ ก - 12 เลือกคิดตั้งโปรแกรมเสริม ....................................................................................................... 51

รูปที่ ก - 13 เลือกต าแหน่งในการติดตั้งโปรแกรม ........................................................................................ 52

รูปที่ ก - 14 แสดงความก้าวหน้าของการติดตั้งโปรแกรม ............................................................................ 52

The Maze Runner xi

สารบัญตาราง

ตารางที่ – ชื่อตาราง หน้า

ตารางที่ 3 - 1 แผนด าเนินงาน งานโครงงาน1 ............................................................................................. 31

ตารางที่ 3 - 2 แผนด าเนินงาน งานโครงงาน 2 ............................................................................................ 31

The Maze Runner 1

บทที ่1 บทน า

1.1 ความเป็นมา

เกมปัจจุบันมีหลากหลายรูปแบบ ช่วยท าให้ผู้เล่นได้ผ่อนคลาย มีความรู้สึกสนุก มีความสุข หรือตื่นเต้น

แตกต่างกันไป เกมในโครงงานนี้จะให้ผู้เล่นสวมบทบาทเป็นตัวละครหลัก เล่นไปตามเนื้อเรื่อง โดยใช้การ

แสดงผลแบบ3D และควบคุมโดย Kinect ซ่ึง Kinect เป็นอุปกรณ์ในการตรวจจับภาพ โดยจะใช้ในการตรวจ

ต าแหน่งต่างๆของร่างกาย ซึ่งจะท าให้ผู้เล่นเพลิดเพลินและได้ขยับร่างกาย ท าให้เกิดความตื่นเต้นในอีกรูปแบบ

1.2 วัตถุประสงค์ของโครงงาน

1. เพ่ือให้ผู้เล่นมีความเพลิดเพลินตอนเล่น

2. เพ่ือศึกษาและพัฒนาในการน า Kinect Sensor มาใช้

3. เพ่ือศึกษาการสร้างเกมและการน า Kinect Sensor มาประยุกต์ใช้ควบคุม

1.3 ขอบเขตของโครงงาน

1.3.1 PROJECT I

1. ตัวละคร พร้อมใส่กระดูกและท่าทาง ในรูปแบบ 3D

2. แผนที่รูปแบบ 3D

3. มีไอเท็มต่างๆในเกม

1.3.2 PROJECT I I

1. ใช้ Kinect sensor ในการควบคุมการวิ่งและหยุดของตัวละครได้

2. สามารถเลี้ยวตัวละครในเกม โดยการโบกมือได้ โดยใช้ Kinect เป็นตัวตรวจจับ

The Maze Runner 2

1.4 ขั้นตอนในการด าเนินงาน

1. ศึกษาหลักการ การสร้างเกมแบบ 3D

2. เขียนโปรแกรมเพ่ือสร้างเกม

3. ศึกษาหลักการ การท างานของ Kinect

4. น าสองส่วนมารวมกัน

1.5 ประโยชน์ที่คาดว่าจะได้รับ

1. เกมมีรูปแบบน่าสนใจ และสามารถเล่นได้ ผู้เล่นสามารถเล่นเกมได้อย่างมีความสุข

2. ผู้เล่นเมื่อเล่นเกมจะรู้สึกสนุกและตื่นเต้น เมื่อมีการขยับร่างกายไปควบคุมตัวละคร

โดย Kinect

1.6 เครื่องมือที่ใช้ในการพัฒนา

1.6.1 Hardware

Notebook Computer Samsung Intel(R) Core i5 @2.40 GHz ,8.00 GB. of RAM

1.6.2 Software

1. ระบบปฏิบัติการ

- Microsoft Windows 7 64bit

2. ภาษาท่ีใช้

-C#

- JavaScript

3. โปรแกรมท่ีใช้

- Unity

- 3dsMax

- Blender

- Visual Studio 2010

The Maze Runner 3

บทที ่2 ความรู้พื้นฐาน

2.1 Kinect

2.1.1 Kinectคืออะไร

Kinect เป็นอุปกรณ์เสริมของเครื่องเล่นเกม Xbox ที่ถูกผลิตมาเพ่ือเพ่ิมความสมจริงและความ

สนุกสนานในการเล่นเกม โดยใช้เทคโนโลยีที่วิจัยและพัฒนาร่วมกับPrimeSensor เป็นตัวขับเคลื่อน การ

พัฒนา Kinect ในช่วงแรกนั้น ทางไมโครซอฟต์ซึ่งเป็นผู้ผลิตได้ใช้ชื่ออย่างไม่เป็นทางการว่าโปรเจคนาทาล

(Project Natal) จนกระท่ังเปลี่ยนมาใช้ชื่อ Kinect ซึ่งมาจากค าว่าไคเนติก (Kinetic)รวมกับค าว่าคอนเนค

(Connect)

2.1.2 ส่วนประกอบของ และการท างานของ Kinect

รูปที่ 2 - 1 KinectSensor

ดังรูปที่ 2-1 ภายใน Kinect ประกอบด้วย อุปกรณ์ฉายแสงอินฟาเรด(Infrared) กล้องวัดความลึกของ

ภาพ (Dept Camera)กล้องวีดีโอ (Video Camera) ไมโครโฟน และเซนเซอร์(Sensor) การประมวลผลมีการ

ท างานเริ่มจากการฉายแสงอินฟาเรดออกจากตัว Kinect ซึ่งไม่สามารถมองเห็นได้ด้วยตาเปล่า แสงที่ถูกฉาย

ออกมาจะมีลักษณะเป็นจุดๆตามแนวตั้งและแนวนอน แต่ละจุดห่างกัน 7มิลลิเมตร (ท่ีระยะสองเมตรจาก

แหล่งก าเนิดแสง) หลังจากนั้น กล้องวัดความลึกจะรับภาพระดับความสว่าง

The Maze Runner 4

ของแสงอินฟาเรดที่ตกกระทบลงบนวัตถุ ส่งไปให้เซนเซอร์เพื่อท าการวัดความลึกตามแนวแกน Z

(Axis-Z)ท าให้สามารถจ าลองสภาพแวดล้อมเป็นสามมิติได้ หากความสว่างมีมากแสดงว่าวัตถุนั้นอยู่ใกล้ ในทาง

ตรงกันข้ามหากมีความสว่างน้อยลงแสดงว่าวัตถุนั้นอยู่ไกลออกไป นอกจากนี้ Kinect ยังท าการบันทึกใบหน้า

ของผู้เล่นและยังสามารถใช้เสียงในการควบคุมการใช้งานได้อีกด้วย

2.1.3 การรับรู้การเคลื่อนไหวของผู้เล่น

Kinect มีระบบการรับรู้การเคลื่อนไหวของผู้เล่นอยู่ภาย ในเซนเซอร์เอง ซึ่งเป็นการน าเทคโนโลยี

ปัญญาประดิษฐ์เข้ามาช่วย โดยจะมีการส่งข้อมูลการเคลื่อนไหวของผู้เล่นในลักษณะต่างๆเข้าไปเป็นจ านวน

มาก ไม่ว่าจะเป็นท่าทางการนั่ง ยืน การเอียงตัว การขว้างลูกบอล การหยิบสิ่งของ หรือแม้แต่กระทั้งการตวัด

มือ ข้อมูลการเคลื่อนไหวเหล่านี้จะถูกประมวลเหลือเพียงการเคลื่อนไหวของโครงกระดูกซ่ึง Kinect จะ

วิเคราะห์ลักษณะการเคลื่อนไหวของข้อต่อแต่ละข้อรวมทั้งสิ้น 20ข้อต่อ เพ่ือน าไปวิเคราะห์อีกครั้งว่าขณะนี้ผู้

เล่นก าลังแสดงท่าทางอะไรอยู่

2.2 ความรู้เกี่ยวกับเกมและ กระบวนการพัฒนาเกม

2.2.1 ประเภทของเกม

ค าว่า เกม (Game) จากความหมายในโปรแกรม Thai soft SO Sethaputra Dictionary 2.0 แล้ว

หมายถึง “การเล่นอย่างสนุกสนาน” ซึ่งเกมแบ่งได้เป็น 8 ประเภท ดังนี้

1. Action, Adventure หมายถึง เกมที่ต้องเข้าไปผจญภัย แก่ปริศนาต่าง ๆ ภายในเกม เช่น Bio

Hazard, Rockman X เป็นต้น

2. Shooting หมายถึง เกมยิงแหลก ภายในกมส่วนมากจะเอาชีวิตรอดด้วยการยิงเป็นส่วนใหญ่ เช่น

Counter Strike เป็นต้น

3. RPG (Role Playing Game) หมายถึงเกมที่ต้องอาศัยการคุย เป็นหลัก เช่น Final Fantasy เป็นต้น

4. Simulation, Strategy หมายถึง เกมที่ต้องใช้การวางแผนเป็นหัวใจหลักในการเล่น

5. Sports หมายถึง เกมกีฬาทั้งหลาย เช่น เกมแข่งฟุตบอล

2. Puzzle หมายถึง เกมลับสมองต่าง ๆ เช่น Terrtis เป็นต้น

7. Racing หมายถึง เกมประเภทแข่งรถต่าง ๆ เช่น Ridge Racing เป็นต้น

8. Fighting หมายถึง เกมต่อสู้ เช่น Street Fighter, Tekken, X-Men เป็นต้น

The Maze Runner 5

2.2.2 การพัฒนาเกม

ในอุตสาหกรรมเกมกระบวนการสร้างเกมใหม่มักจะด าเนินไปตามวงจรชีวิตดังนี้

- การวางคอนเซ็ป

- การท างานในขั้น Preproduction

- การท างานในขั้น Production

- การทดสอบและรับประกันคุณภาพ

- การท างานในขั้น Postproduction

ในขั้นตอนการวางคอนเซ็ป จะเป็นการพยายามนิยามถึงเกมที่ก าลังจะท า-ทั้งในเชิงสร้างสรรค์ และเชิง

เทคนิค ในขั้นตอนนี้จะเกี่ยวข้องกับการเลือกแนวเกมที่ต้องการจะท า – RPG (เกมเล่นบทบาทสมมติ), FPS

(เกมยิงบุคคลที่ 1), MMORPG (เกมเล่นบทบาทสมมติที่มีผู้เล่นจ านวนมาก) และรวมไปถึงแนวอ่ืนๆ; ก าหนด

จุดเด่นของเกม อารมณ์ของเกม (สยองขวัญ, ผจญภัย หรืออ่ืนๆ) เลือก platform ที่เกมจะลง ในขั้นตอนนี้จะ

เป็นความรับผิดชอบร่วมกันของ producer, หัวหน้าทีมออกแบบ และ ผู้ก ากับสร้างสรรค์ของเกม

ในขั้นตอน Preproduction จะคล้ายคลึงกับของอุตสาหกรรมภาพยนตร์ นี่เป็นขั้นตอนที่เนื้อเรื่องถูก

เขียนขึ้น และภาพรวมของตัวเกมถูกสร้างออกมาด้วยภาพวาดและการใช้ story board ในอุตสาหกรรมเกม

,Preproduction ยังรวมไปถึงการก าหนดความต้องการทางเทคนิค (technical requirement) ของตัวเกม

(เช่น การออกแบบ, งานศิลป์ และความสามารถของเกม), เรียงล าดับความส าคัญของความสามารถต่างๆ และ

ก าหนดข้อจ ากัดทางด้านงบประมาณและตารางเวลา และสร้างเอกสารการออกแบบเกมข้ันต้น (basic game

design document) ในหลายๆครั้ง จะรวมไปถึงการสร้างตัว Prototype ของเกมด้วย Prototype ที่เสร็จแล้ว

จะเป็นตัวอย่างฉากของเกมที่สามารถเล่นได้ เมื่อ Prototype เสร็จแล้ว จะถูกพัฒนาต่อไปเป็น Demo ของเกม

ขั้น Production ของการพัฒนาเกมจะประกอบด้วยการ สร้างส่วนประกอบต่างๆเข้าไปยังตัวเกม รวม

ไปถึงจะมีการปรับรายละเอียดของเอกสารออกแบบเกมเพ่ิมเติมด้วย แล้วก็เป็นขั้นตอนนี้เช่นกันที่งานแอนิ

เมชั่น, การพากย์เสียง, การท า Motion Capture, ดนตรี และทุกสิ่งทุกอย่างที่เกี่ยวข้องกับการท าให้ตัวเกม

สมบูรณ์ นี่คือขั้นที่ยาวนานที่สุดของการพัฒนาเกม และเป็นขั้นที่จะทดสอบความเข้มแข็งของแผนการพัฒนา

เกม การให้ทีมพัฒนาท างานให้ตรงจุดโดยไม่ท าให้การประชุมกลายเป็นงานหนักเกินไปอาจเป็นความท้าทายที่

ใหญ่ที่สุดของ Producer

จะมีหลายครั้งที่ทีมพัฒนาจะใช้เวลาค่อนข้างมากไปกับการเพ่ิมเติมความสามารถต่างๆลงไปในเกม สิ่ง

นี้เรียกว่า “Feature Creep” และท าให้ทีมต้องใช้เงินและเวลาของการพัฒนาเกินไปจากท่ีก าหนด มันเป็นสิ่ง

The Maze Runner 6

ส าคัญที่จะติดตาม และประเมินความคืบหน้าของการพัฒนาเกมโดยเสมอ การตั้งจุดมุ่งหมายย่อย

(milestones) ส าหรับงานแต่ละชิ้นส่วนเป็นทางที่ยอดเยี่ยมส าหรับการประเมินว่างานส่วนใดเสร็จไปแล้ว

เท่าไร และเป็นมาตรฐานอุตสาหกรรมส าหรับการติดตามความคืบหน้า

ขั้นตอนต่อไปของวงจรชีวิตการพัฒนาเกม คือ การทดสอบและการรับประกันคุณภาพ ถึงแม้ว่า

ขั้นตอนนี้จะอยู่หลัง Production แต่ความเป็นจริงแล้วการทดสอบเกมจะเกิดข้ึนตลอดวงจรชีวิตของการ

พัฒนาเกม หากแต่ข้ันนี้จะเป็นขั้นที่ทีมทดสอบและรับประกันคุณภาพภายนอกเข้ามาทดสอบผลิตภัณฑ์ในช่วง

Postproduction จะเก่ียวข้องกับการจัดเก็บทรัพยากรที่จะท าให้ท าเกมต่อๆไปได้สะดวกขึ้น สรุปผลว่า สิ่งใดที่

ท าได้ถูกต้อง และสิ่งใดที่ผิดพลาด ในเอกสาร Postmortem และสร้างเอกสารให้สามารถท าเกมต่อๆไปได้

ราบรื่น

2.3 3ds max

โปรแกรม 3ds Max ดังรูปที่ 2-2 พัฒนาโดยบริษัท AutoDesk Inc. โดยลักษณะพิเศษของ 3ds

Max ช่วยให้สามารถสร้างโมเดลได้ง่าย และใส่พื้นผิวให้โมเดลได้อย่างสมจริง ในส่วนของ 3D Animationจะ

สามารถควบคุมการเคลื่อนที่ของตัวละครเหมือนดังมีชีวิตจริง จึงนิยมน างาน 3D ไปใช้ในงานโฆษณา และ

ภาพยนตร์

ลักษณะพิเศษในการสร้างโมเดล 3D สามารถควบคุมมุมมองของวัตถุได้อย่างอิสระโดยการหมุนโมเดล

ให้เห็นต าแหน่งของวัตถุทุกๆ ด้านส าหรับปรับแต่งโครงสร้างโมเดล และเม่ือสร้างโมเดลแล้วให้ใส่พื้นผิว และจัด

แสงให้แก่โมเดลให้เป็นธรรมชาติ

2.3.1 ความสามารถของ3ds Max

การออกแบบ Computer Graphic จากโปรแกรม 3ds Max นั้นมีความส าคัญต่อวงการธุรกิจอย่าง

มาก เพราะในปัจจุบันงานทางด้านสื่อโฆษณาได้มีการประยุกต์น าภาพ 3 มิติไปใช้อยู่ด้วยเสมอ ซึ่งเราสามารถ

แบ่งประเภทของงานที่สร้างจาก 3ds Max ได้ดังนี้

งานภาพยนตร์ และสื่อโฆษณาทางโทรทัศน์ เป็นงานที่ได้รับความนิยมในปัจจุบันทั่วโลกเพราะว่าตัว

ละครที่สร้างจาก 3ds Max นั้นจะสวยงาม และสามารถใส่เอ็ฟเฟ็กต์ลงในภาพยนตร์ได้

งานด้านสถาปัตยกรรม 3ds Max สามารถรองรับการท างานในด้าสถาปัตยกรรม และถึงแม้ว่าปัจจุบัน

มีโปรแกรมที่รองรับงานด้านสถาปัตยกรรมจ านวนมาก แต่ใน 3ds Max ก็ยังคงได้รับความนิยมเพราะมีการข้ึน

The Maze Runner 7

รูปโมเดลที่ง่าย และรวดเร็ว แถมยังมีโมเดลแบบส าเร็จรูปให้เลือกใช้งาน เช่น บานหน้าต่าง ประตู และต้นไม้

เป็นต้น ซึ่งจะเหมาะกับการสร้างภาพแบบ Perspective และงานออกแบบตกแต่งภายใน

งานด้านสถาปัตยกรรม 3ds Max สามารถรองรับการท างานในด้าสถาปัตยกรรม และถึงแม้ว่าปัจจุบัน

มีโปรแกรมที่รองรับงานด้านสถาปัตยกรรมจ านวนมาก แต่ใน 3ds Max ก็ยังคงได้รับความนิยมเพราะมีการข้ึน

รูปโมเดลที่ง่าย และรวดเร็ว แถมยังมีโมเดลแบบส าเร็จรูปให้เลือกใช้งาน เช่น บานหน้าต่าง ประตู และต้นไม้

เป็นต้น ซึ่งจะเหมาะกับการสร้างภาพแบบ Perspective และงานออกแบบตกแต่งภายใน

งานด้านวิทยาศาสตร์ เป็นการสร้างหุ่นจ าลองโมเดลของมนุษย์หรืออวัยวะต่างๆ ส าหรับใช้ในการ

ทดลอง

รูปที่ 2 - 2 โปรแกรม 3ds MAX

2.3.2 พืน้ฐานการสร้างโมเดล

ในการสร้างโมเดลนั้น สิ่งที่ส าคัญมาก ก็คือ ผู้ใช้ต้องมีความรู้พ้ืนฐานเกี่ยวกับการใช้เครื่องมือในการ

สร้างโมเดลพอสมควร

สร้างวัตถุเริ่มต้นในการสร้างโมเดล ในรูปที่ 2 - 3 จะเป็นการสร้าง box ขึ้นมา

รูปที่ 2 - 3 สร้าง box ใน3ds Max

ท าการคลิกขวาที่ Box แล้วเลอืกค าสั่ง Convert to Editable Poly เพ่ือแปลง box ให้เป็นวัตถุแบบ

Poly เพ่ือให้สามารถน า box ไปแก้ไขดัดแปลงให้เป็นโมเดล ตามที่ต้องการได้ดังรูปที่ 2 – 4

The Maze Runner 8

รูปที่ 2 - 4 แปลง box ใหเ้ป็นวัตถุแบบ Poly

2.3.3 โหมดแก้ไขวัตถุ Modifier List ใน 3ds max

ใน Modifier List จะมีตัวช่วยที่ท าให้การท างานเป็นไปได้โดยง่าย เช่น

ค าสั่ง MeshSmoothท าหน้าที่ในการเปลี่ยนแปลงรูปทรงวัตถุ จากวัตถุรูปทรงหยาบหลายเหลี่ยม ให้

เป็นรูปทรงที่โค้งมนสวยงามดังรูปที่ 2 - 5

รูปที่ 2 - 5 ค าสั่ง MeshSmooth

ค าสั่ง Skin เป็น Modifier ส าหรับก าหนดให้พื้นผิววัตถุไปยึดติดกับวัตถุกระดูก โดยเมื่อกระดูกเกิดการ

เปลี่ยนแปลงการเคลื่อนไหว พ้ืนผิวของวัตถุนั้นก็จะโค้งงอไปตามกระดูกดังรูปที่ 2 - 6

The Maze Runner 9

รูปที่ 2 - 6 ค าสั่ง Skin

ค าสั่ง Morpher เป็น Modifier เป็นตัวควบคุมการเคลื่อนไหว หลักการท างานของ Morpher คือ จะ

แบ่งวัตถุออกเป็น 2 ด้าน ด้านแรก คือ Morpher ซึ่งก็คือวัตถุท่ีจะเปลี่ยนแปลงรูปทรง ด้านที่สอง คือ วัตถุ

Target หรือวัตถุเป้าหมาย ซึ่งจะมีกี่ชิ้นก็ได้ โดยวัตถุที่เป็น Morpher จะเปลี่ยนแปลงรูปทรงไปตามวัตถุ

เป้าหมายที่เราก าหนดการเปลี่ยนแปลงรูปทรงที่เกิดข้ึน วัตถุ Morpher จะสามารถหยับยืมรูปทรงจากวัตถุ

เป้าหมายได้ครั้งละมากกว่าหนึ่งเป้าหมายในเวลาเดียวกัน

2.4 Unity

Unity คือเกมเอนจิ้นส าหรับการสร้างเกมสามมิติ ที่ถูกพัฒนาขึ้นมาอย่างต่อเนื่อง ตั้งแต่ในช่วงแรกๆที่

รองรับการพอร์ทเกมลงบน Windows, OS X และเวบเท่านั้น แต่ปัจจุบันได้เพ่ิมความสามารถในการพอร์ทลง

บน iOS, Android และล่าสุดบน Flash Player อีกด้วยรูปที่ 2 - 7 เป็นรูปของตัวโปรกรมUnity

รูปที่ 2 - 7 โปรแกรม Unity

The Maze Runner 10

ซึ่งนี่ก็เป็นจุดเด่นของ Unity ที่ท าให้นักพัฒนาเกม ที่แม้พัฒนาเกมเกมเดียวก็สามารถมีช่องทางในการ

น าเสนอได้หลายช่องทางรูปที่ 2 - 8

รูปที่ 2 - 8 ตัวอย่างเกมในรูปแบบต่างๆ

เนื่องจาก Unity มีฟรีเวอร์ชั่นที่ทุกคนสามารถใช้ได้ ท าให้เป็นที่นิยมและมีผู้ใช้งานเป็นจ านวนมาก มี

สังคมออนไลน์และวิดีโอให้ความรู้เกี่ยวกับการใช้งานเป็นจ านวนมาก

นอกจากนี้ Unity ยังมี Asset Store รูปที่ 2 - 9 ซึ่งเปรียบเสมือนร้านค้าที่ขายตัวช่วยต่างๆในการ

สร้างเกม ถ้าเราไม่มีความช านาญทางด้านกราฟิก เราก็สามารถหาโมเดลหรือภาพประกอบต่างๆจากที่นี่ได้ หรือ

หากเราไม่มีความช านาญด้านการเขียนโปรแกรม ใน Store ก็จะมีสคริปต์หรือโปรแกรมช่วยเหลือต่างๆขาย

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

คุณภาพ

รูปที่ 2 - 9 Unity Asset Store

2.4.1 คอนเซปท์การใช้งาน

Unity นั้นเป็นเครื่องมือช่วยสร้างเกมสามมิติ ซึ่งข้อแตกต่างระหว่างโลกสองมิติและสามมิติก็คือแกน Z

Unity มองทุกอย่างเป็น GameObject โดย GameObject จะท างานร่วมกับ Component

The Maze Runner 11

GameObject ที่ปราศจาก Component ก็เหมือนฝุ่นผง ขยับไม่ได้ มองไม่เห็นด้วยตาเปล่า ซึ่ง

Component นี่แหละ ที่จะเข้ามาเพ่ิมคุณสมบัติและพฤติกรรมให้กับ GameObject ให้สามารถเคลื่อนที่ได้

เปล่งเสียงได้ เป็นต้น

GameObject หนึ่งตัวมี Component มาประกอบได้หลายอัน GameObject ของตัวละครมาริโอ้ ก็

จะมี Component ชื่อ Controller ท าให้ผู้เล่นสามารถบังคับได้ มี Component ชื่อ AudioSource เพ่ือให้

เปล่งเสียงตอนเดินหรือกระโดด

จากรูปจะเห็นว่า Component บางตัวมีการใช้ Asset มาประกอบ เจ้า Asset นี้ก็คือไฟล์ภายนอก

เช่น Component ชื่อ AudioSource ต้องการไฟล์ jump.mp3 มาประกอบ เพ่ือบอกว่าตอนกระโดดให้เล่น

เสียงอะไรนั่นเอง

ใน Unity เราจะแบ่งย่อยเกมออกเป็นซีน (Scene) ในหนึ่งซีนจะประกอบด้วย GameObject หลาย

ตัว เช่นซีนหมู่บ้านเห็ดจะมี GameObject มาริโอ้ เต่าเขียว เต่าแดง ท่อน้ า เส้นชัย เป็นต้น นอกจากซีนหมู่บ้าน

เห็ด เราอาจจะมีซีนปราสาทคุปปะ ซีนฉากไตเติ้ล ซีนแผนที่เลือกด่าน เมื่อน าซีนเหล่านี้มาประกอบกันก็จะ

กลายเป็นเกมที่สมบูรณ์

2.4.2 เครื่องมือในการใช้งาน

Main Menu

- Assets หลักๆจะใช้เพ่ือ Import Assets เช่น พวก 3DModel, Texture, Package(ที่ติดมากับ

โปรแกรม) ส่วนเรื่องอ่ืนๆก็สร้างโฟลเดอร์ เรียกใช้ภาษาท่ีจะเขียนควบคุม เป็นต้น

- GameObjectใช้บ่อยมากครับ เพราะเวลาจะสร้างพวก Particle, Light และ Primitives Object

-Component เรียกใช้คอมโพเน้นท์ ที่ใช้บ่อยๆจะเป็น Effects, Physics, Audio

- Terrain เป็นการสร้างพ้ืนผิวดิน ภูเขา เป็นหลุม เป็นบ่อ เพื่อประกอบท าเป็นฉากของเกมส์

- Move scene view ย้าย

- Scene View คือขยับทั้งฉาก และObject

- Move the selected objects ย้าย Object ใน Scene View

- Rotate the selected objectsหมุน Object

- Scales the selected objects ขยายขนาด Object

The Maze Runner 12

รูปที่ 2 - 10 Object Menu

Scene tab ฉากเอาไว้มองภาพรวมของเกมส์ทั้งหมด จะเป็นที่วาง Object ต่างๆในเกมส์ อย่างเช่น

ตัวละครต่างๆ, ฉาก ,แสง, กล้องทุกอย่างจะวางเป็น Mockup และเม่ือกดปุ่ม Play Animation ต่างๆก็จะ

เคลื่อนที่่เช่นเดียวกับ Game tab แต่มุมมองมันเป็นภาพรวม จะไม่เห็นรายละเอียดการแสดงผลของเกมส์

Game tab หน้าต่างนี้จะแสดงผล Animation ต่างๆของเกมส์

Hieracrchy Tabส าหรับ Instance

Project Tabส าหรับ Import Asset ต่างๆที่จะใช้ในเกมส์มาพักไว้ที่นี่

Inspector ส าหรับการก าหนด Valueให้กับ Asset ต่างๆครับ

2.4.3 การรับค่า Input ใน Unity

Unity จะแบ่งเป็นสองภาคส่วนได้แก่ PC (จะรองรับอินพุต keyboard, mouse, joystick and

gamepad input.) และ Mobile (จะรองรับอินพุต touchscreen, accelerometer and

geographical/location input.) ในที่นี้จะกล่าวถึง ส่วนที่ใช้งานในโปรเจกต์นี้ คือแบบPC

Unity จะรองรับอินพุต keyboard, mouse, joystick and gamepad input. โดยส่วนการเชื่อมต่อ

และฟังก์ชั่นพื้นฐานทั้งหมด ในUnity จะมีมาให้แล้ว การน ามาใช้งานผู้จะน าเอา การอินพุตมาใช้โดยผ่านการ

เขียนโค้ด

ทุกโครงการที่ใช้งานใน Unity จะมีรูปแบบพ้ืนฐานมา ดังต่อไปนี้

- Horizontal and Vertical จะเป็นในลักษณะแนวนอนและแนวตั้ง โดยจะเชื่อต่อกับปุ่ม W, A, S,

D และปุ่มลูกศร

- Fire1, Fire2, Fire3 จะเป็นปุ่มฟังก์ชั่นการใช้งานเสริม เช่นการยิงของตัวละคร โดยจะเชื่อต่อกับปุ่ม

Control, Option (Alt), and Command, respectively.

- Mouse X and Mouse Y คือฟังก์ชั่นการใช้งานของเมาส์ ก็จะเชื่อมโยงเข้ากับการเคลื่อนที่ และ

การคลิกของเมาส์

- Window Shake X and Window Shake Y จะสัมพันธ์ไปกับการเคลื่อนไหวของหน้าต่าง

The Maze Runner 13

การเขียนโค้ดน าไปใช้

- Input.GetAxis () เป็นการรับค่าในแนวนอนและแนวตั้ง

- Input.GetKeyDown() เป็นการรับค่าปุ่ม โดยจะให้ค่าเป็น true ขณะกดลงเท่านั้น แค่เสี้ยววินาที

- Input.GetKey() เป็นการรับค่าปุ่ม โดยจะให้ค่าเป็น true ขณะกดจนกว่าจะปล่อย

- Input.GetKeyUp() เป็นการรับค่าปุ่ม โดยจะให้ค่าเป็น true ขณะปล่อยเท่านั้น แค่เสี้ยววินาที

- Input.GetMouseButton()เป็นการรับค่าการคลิกเมาส์ลงเท่านั้น และขณะลงจะเป็นค่า true แค่

เสี้ยววินาที

- Input.GetMouseButton() เป็นการรับค่าการคลิกเมาส์ลงจนกว่าจะปล่อย ตลอดการคลิกจะเป็นค่า

true

- Input.GetMouseButtonUp() เป็นการรับค่าการคลิกเมาส์ลง และขณะปล่อยจะเป็นค่า true แค่

เสี้ยววินาที

ตัวอย่างการใช้งาน กดปุ่ม space bar ลง

if(Input.GetKeyDown("space")){

//work

}

ตัวอย่างการใช้งาน คลิกเมาส์ ซ้าย

if(Input.GetMouseButton(“mouse 0”)){

//work

}

ชื่อปุ่มกดต่างๆ

- Normal keys: “a”, “b”, “c” …

- Number keys: “1”, “2”, “3”, …

- Arrow keys: “up”, “down”, “left”, “right”

- Keypad keys: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]”

- Modifier keys: “right shift”, “left shift”, “right ctrl”, “left ctrl”, “right alt”, “left alt”,

“right cmd”, “left cmd”

The Maze Runner 14

- Mouse Buttons: “mouse 0”, “mouse 1”, “mouse 2”, …

- Joystick Buttons (from any joystick): “joystick button 0”, “joystick button 1”,

“joystick button 2”, …

- Joystick Buttons (from a specific joystick): “joystick 1 button 0”, “joystick 1

button 1”, “joystick 2 button 0”, …

- Special keys: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”,

“insert”, “home”, “end”, “page up”, “page down”

- Function keys: “f1”, “f2”, “f3”, …

2.5 Blender

โปรแกรม Blender เป็นโปรแกรมสร้างงาน 3 มิติที่มีความสามารถในการสร้างโมเดลรูปทรงต่างๆ ทั้งยัง

ก าหนดพ้ืนผิวหรือลวดลายให้กับวัตถุได้ สามารถจัดแสง ก าหนดมุมมอง สร้างชิ้นงานให้เป็นแอนิเมชั่น พร้อมทั้ง

ใส่เอ็ฟเฟ็กต์สร้างความเหมือนจริงและชวนติดตาม จนกระทั่งประมวลผลงานทั้งหมดออกมาเป็นงาน 3 มิติที่

สมบูรณ์แบบ นอกจากนั้น ยังเป็นโปรแกรมท่ีรองรับการสร้างเกม เนื่องจากมีเครื่องมือที่ช่วยในการท าโมเดล

ส าหรับเกมและการท างานอ่ืนๆ ที่เก่ียวกับเกม ดังในรูปที่ 2 - 11 จะเป็นหน้าต่างเริ่มต้นของโปรแกรม Blender

รูปที่ 2 - 11 หน้าต่างท างานของโปรแกรม Blender

The Maze Runner 15

2.5.1 จุดเด่นของโปรแกรม Blender

โปรแกรม Blender เป็นโปรแกรม Open Source ที่สามารถดาวน์โหลดมาใช้งานได้ฟรี และยังมีความสามารถทัดเทียมกับโปรแกรมสร้างงาน 3 มิติโปรแกรมอ่ืนๆ โดยจุดเด่นที่น่าสนใจของโปรแกรม Blender มีดังนี้

- เป็นโปรแกรมท่ีใช้ทรัพยากรระบบและพ้ืนที่ในการติดตั้งโปรแกรมน้อย

- มีความสามารถในการสร้างงานได้หลายรูปแบบ เช่น การสร้างการ์ตูนแอนิเมชั่น งานดีไซน์ งาน

สถาปัตยกรรมและตกแต่งภายใน การสร้างสเปเชียลเอ็ฟเฟ็กต์ และการสร้างเกม เป็นต้น

- ท างานได้หลายแพลตฟอร์ม เช่น Windows, Mac, Linux และอ่ืนๆ

- เป็นโปรแกรมท่ีมีกลุ่มผู้ใช้งานมากกว่า 250,000 คนทั่วโลก รวมทั้งมีกลุ่มศิลปินที่นิยมใช้ Blender

และเปิดเว็บไซต์ให้ความรู้พร้อมเว็บบอร์ดให้สอบถามปัญหาเกี่ยวกับการใช้งานได้ตลอดเวลา เช่น

www.blender.org, www.blendernation.com, http://blenderartists.org เป็นต้น

โปรแกรม Blender สามารถใช้เป็นโปรแกรมพ้ืนฐานส าหรับผู้ที่ต้องการศึกษาการสร้างงาน 3 มิติ

รวมทั้งบริษัทขนาดเล็กและขนาดกลาง ก็สามารถน าโปรแกรมไปใช้สร้างชิ้นงานตามวัตถุประสงค์ของบริษัทได้

เช่นกนั เนื่องจากไม่ต้องจ่ายงบประมาณในการซื้อโปรแกรมมาใช้นั่นเอง

2.5.2 ท างานบนโปรแกรม Blender

ส าหรับหน้าต่างการท างานของโปรแกรมBlenderนั้น จะมีส่วนประกอบหลักที่ส าคัญ 3 ส่วนด้วยกัน คือ

ส่วนที่ 1: Information Window หรือ Main Window จะประกอบด้วยเมนูหลักท่ีเก็บค าสั่งต่างๆ ส าหรับใช้ในการท างานในโปรแกรม Blender

ส่วนที่ 2: 3D Window หรือ Viewport เป็นส่วนที่แสดงผลวัตถุท่ีเราท างานอยู่ โดยอ้างอิงตามแกน X Y และ Z ผู้ใช้สามารถจัดการกับมุมมองต่างๆ ได้ เช่น เลื่อนมุมมอง ขยายมุมมองเข้าออก เพ่ือช่วยปรับแต่งมุมมองให้ท างานได้ง่ายขึ้น

ส่วนที่ 3: Buttons Window เป็นส่วนที่เก็บรวบรวมเครื่องมือในการสร้างงานไว้ เช่น การปรับแต่ง แก้ไขรูปทรงวัตถุ การใส่ลวดลายให้กับวัตถุ การก าหนดแสงไฟ เป็นต้น โดยทั้ง 3 ส่วนดังกล่าว ยังมีส่วนประกอบย่อยๆ ส าหรับท างานในรายละเอียดทั้งหมด ดังนี้

The Maze Runner 16

รูปที่ 2 - 12 ส่วนประกอบหลักโปรแกรมBlender

ส่วนที่ 1: Information Window หรือ Main Window เป็นส่วนของเมนูหลักที่ประกอบด้วยค าสั่งต่างๆ ส าหรับใช้ในการท างานในโปรแกรม Blender ได้แก่

- File ส าหรับท างานกับไฟล์งานในรูปแบบต่างๆ

- Add ส าหรับเพิ่มหรือสร้างวัตถุในงาน 3 มิต ิ

- Timeline ส าหรับใช้สร้างการเคลื่อนไหว

- Game ส าหรับใช้สร้างเกมและการท างานของเกม

- Render ส าหรับควบคุมการประมวลผลชิ้นงานหรือที่เรียกว่า “เรนเดอร์”

- Help รวบรวมวิธีการใช้งานโปรแกรม การใช้งานคีย์ลัดต่างๆ เป็นต้น

ส่วนที่ 2: 3D Window หรือวิวพอร์ต ในส่วนนี้เป็นส่วนส าคัญท่ีเราใช้สร้างชิ้นงาน ทั้งการสร้างโมเดล การท าแอนิเมชั่น การใส่พื้นผิว และ

การท างานทุกๆ อย่าง โดยมากเราจะเรียกพ้ืนที่การท างานนี้อีกอย่างว่า “วิวพอร์ต” โดยในวิวพอร์ตนี้สามารถควบคุมการแสดงชิ้นงานได้หลายรูปแบบ

The Maze Runner 17

รูปที่ 2 - 13 ส่วน 3D Window หรือวิวพอร์ตส าหรับสร้างชิ้นงาน

ส่วนที่ 3: Buttons Window ส่วน Buttons Window จะรวบรวมเครื่องมือส าหรับการท างานไว้ โดยอ้างอิงกับวัตถุท่ีเราเลือก

ขณะนั้น เช่นถ้าเราเลือกท างานกับพ้ืนผิว กลุ่มเครื่องมือส าหรับสร้างพ้ืนผิวก็จะปรากฏ แต่ถ้าเราเลือกท างานกับการก าหนดแสง กลุ่มเครื่องมือส าหรับการจัดแสดงก็จะปรากฏขึ้นมา เป็นต้น

รูปที่ 2 - 14 ส่วน Buttons Window ที่รวบรวมเคร่ืองมือส าหรับการท างาน

2.6 Visual Studio 2010

Visual Studio คือ ซอฟต์แวร์ประเภท IDE (Integrated Development Environment) ช่วยให้

ผู้พัฒนาโปรแกรมสามารถเขียนโปรแกรมด้วยความสะดวกสบายขึ้น สามารถแก้ไขข้อผิดพลาดในการเขียน

โปรแกรมได้ง่าย รวดเร็ว

รูปที่ 2 - 15 โปรแกรมVisual Studio 2010

The Maze Runner 18

ในโปรแกรมวิชวลสตูดิโอมีภาษา C# ซ่ึงใช้ในการพัฒนาโปรแกรมอยู่ เหมาะใช้พัฒนาแอพพลิเคชัน

บนระบบปฏิบัติการวินโดวส์หรือไลบรารี นอกจากนี้ยังมี WPF ซึ่งใช้ในการสร้างหน้าอินเตอร์เฟสของซอฟร์

พร้อมกับใช้ในการเขียนโค๊ตไปพร้อมๆกันได้อีกด้วย

2.6.1 ภาษา C#

ภาษา C# เป็นภาษาโปรแกรมเชิงวัตถุ (object-oriented programming language) ที่ถูกพัฒนาขึ้น

มาโดยบริษัทไมโครซอฟต์ การพัฒนาโปรแกรมคอมพิวเตอร์ด้วยภาษา C# นั้นจะประกอบด้วยขั้นตอนดังนี้

• วิเคราะห์ปัญหาและความต้องการในการพัฒนาโปรแกรม เช่น โปรแกรมจะติดต่อกับผู้ใช้อย่างไร ข้อมูลที่ผู้ใช้

จะป้อนให้กับโปรแกรมเป็นอย่างไร และผลลัพธ์จะถูกแสดงผลอย่างไร

• ออกแบบขั้นตอนวิธี โดยแสดงการท างานของโปรแกรมในภาพรวมออกมาเป็นล าดับขั้นตอน แต่ละข้ันตอนมี

ความชัดเจนและสามารถเปลี่ยนให้อยู่ในรูปค าสั่งภาษา C# ได้โดยง่าย

• น าขั้นตอนวิธีที่ออกแบบไว้มาสร้างเป็นไฟล์โปรแกรมรหัสต้นฉบับ (source code) ที่ถูกต้องตามโครงสร้าง

และไวยกรณ์ของตัวภาษา C# ทั้งนี้ไฟล์รหัสต้นฉบับต้องมีนามสกุล .cs เสมอ เช่น prog1.cs

• แปลงรหัสต้นฉบับให้อยู่ในรูปรหัสภาษาเครื่องที่คอมพิวเตอร์เข้าใจและท างานตามค าสั่งได้ข้ันตอนนี้ต้องใช้

โปรแกรมท่ีเรียกว่า คอมไพเลอร์ (compiler) ไฟล์รหัสภาษาเครื่องที่ถูกสร้างขึ้นจากคอมไพเลอร์จะมีนามสกุล

.exe ซึ่งย่อมาจาก executable หมายถึงไฟล์ที่ถูกเรียกท างานได้

• ทดสอบการท างานของโปรแกรม หากพบข้อผิดพลาดให้ตรวจสอบความถูกต้องในขั้นตอนที่ผ่านมา ซึ่งอาจ

หมายถึงการแก้ไขโปรแกรม ขั้นตอนวิธี หรือแม้กระทั่งวิเคราะห์ปัญหาและความต้องการใหม่

2.6.2 WPF

WPF คือเทคโนโลยีหนึ่งของ Microsoft ในการสร้างซอฟท์แวร์ออกมาได้อย่างสวยงาม WPF ย่อมาจาก Windows Presentation Foundation เป็นแนวคิดการพัฒนา UI (User Interface) อีกแนวหนึ่งซึ่งมีความยืดหยุ่นสูงมากๆ มีกระบวนการ Data Binding ที่ยืดหยุ่นสูง ท าให้สามารถเขียน UI ที่ซับซ้อนได้สะดวก โดย Programmer สามารถออกแบบในมุมมองเสมือนว่ามันเป็น Projection ของ Data ได้ ข้อดีที่เด่นๆของมันก็คือ สามารถเขียน View Model Object เพ่ือควบคุมการไหลเวียนของ Data ครั้งเดียว เป็นการเชื่อมต่อของ UI และObject ข้อมลู โดยเมื่อมีการเชื่อต่อแล้ว ไม่ว่า UI จะเปลี่ยนแปลงการเชื่อมต่อของ Objectข้อมูล และ UI ก็ยังคงอยู่ โดยที่ UI จะเป็นเหมือนหน้ากากครอบ โดยที่มันจะเปลี่ยนไปเป็นแบบไหนก็ได้ ตราบเท่าที่มัน Bind กับ View Model Object อย่างถูกต้อง ท าให้สามารถท่ีจะ Unit Test ตัว UI ของได้โดยผ่าน ViewModelObjectทีอ่อกแบบมาเป็นอย่างดีแล้ว

The Maze Runner 19

นอกจากนี้ WPF ยังจะสนับสนุน UI ที่สร้างสรรค์ มี Animation Framework และอนุญาตให้คุณท าแทบทุกอย่างที่ Graphic Designer ออกแบบมาได้ โดยผ่าน XAML ซึ่งสะดวก ง่ายมากถึงมากที่สุดในการที่จะท าให้โปรแกรมมีหน้าตาดีๆ มีลูกเล่น Animation ดังที่คุณอาจจะเคยเห็นใน Mac OSX หรือโปรแกรมสมัยใหม่เช่นบน Microsoft Surface สามารถสร้างสรรสิ่งเหล่านั้นได้ผ่าน WPF Visual Studio เป็นเครื่องมือในการพัฒนา WPF โดยที่สามารถใช้ส าหรับเขียน Code ต้ังแต่ View (XAML) ไปจนถึง ViewModel ไปจนถึงระดับของ Database เพียงแต่มันจะไม่มีเครื่องมือ Visual เพ่ืออ านวยความสะดวกในการออกแบบมากนัก ในขณะที่ Expression Blend ใช้ส าหรับเป็นตัวช่วยสร้าง XAML เพ่ือสร้าง Graphic ของ UI ไปจนถึงการท า Animation Storyboard และออกแบบ Flow ของ UI

2.6.3 XAML

XAML ( Extensible Application Markup Language ) เป็นเทคโนโลยีที่ถูกพัฒนาขึ้นบนพื้นฐานของ XML เพ่ือใช้อธิบายออบเจ็ก คุณสมบัติ ความสัมพันธ์ และการมีปฏิสัมพันธ์XAML เป็นส่วนเพิ่มเติมมาใน Windows Presentation Foundation จะอยู่ใน .NET Framework 3.0 เพ่ือใช้สร้าง User Interface โดยหลังจากสร้าง User Interface ตัวโปรแกรมจะ Generate Code ออกมาเป็นไฟล์ Text ซึ่งก็คือ .XAML ที่ง่ายต่อการมองและแก้ไขอย่างยิ่ง โดยไฟล์ XAML นั้นจะใช้อธิบาย User Interface ที่เราสร้างข้ึนได้ทั้งหมดทุกอย่างไม่ว่าจะเป็น สี ต าแหน่งการวาง ขนาด Animation หรือ Feature ต่างๆ ทั้งหมดจะเก็บอยู่ในนี้ และไฟล์ต่างๆที่ถูกสร้างหรืออยู่บนมาตรฐาน XAML นั้นสามารถใช้ภาษาต่างๆใน .NET สร้างได้เลย ในแง่ของเทคโนโลยี XAML ยินยอมให้ Designer และ Developer สามารถแชร์ข้อมูลกันได้โดยตรงผ่าน XAML ซ่ึงท าให้ง่ายในการพัฒนาเป็นอย่างยิ่ง

The Maze Runner 20

บทที ่3 รายละเอียดการท างาน

บทนี้จะกล่าวถึงลักษณะของ Software ที่ใช้ในการพัฒนา, โครงสร้างของระบบ, การออกแบบระบบ

และผลที่ได้จากการด าเนินงาน

3.1 Software Specification

โครงงานนี้เป็นการสร้างเกมสามมิติ โดยใช้เกมเอนจิ้นเป็นโปรแกรม Unity 3D โดยตัวเกมเป็นลักษณะ

เขาวงกต เป็นการเดินเก็บคะแนน หลบหลีกกับระเบิดและหาทางออก ภายในเวลาที่ก าหนด การควบคุมเป็น

ลักษณะสองทิศทาง โดยสามารถ ควบคุมผ่านเมาส์และคีย์บอร์ดปกติได้ และสามารถควบคุมผ่าน Kinect ได้

ด้วย

Kinect พัฒนาโดยโปรแกรม Microsoft Visual C# 2010 Express โดยสามารถควบคุมเมาส์ และเปิด

เป็นแบล็คกราวน์ แล้วให้โปรแกรม Unity 3D ดึงค่าจากการท างานของเมาส์ Kinectไปประมวลผลต่อ ในการ

ควบคุมเกม

โดยแอพพลิเคชั่นมีความสามารถดังนี้

1. สามารถดึงค่าจาก Kinect แล้วน าไปประยุกต์ใช้กับเมาส์ได้

2. ตัวเกมดึงค่าจากผลการท างานของ Kinect มาประมวลผลต่อ เพื่อควบคุมตัวละครในเกมได้

ในรูปที่ 3-1 เป็นโครงสร้างระบบ โดยKinect จะท างานโดยใช้โปรแกรม Microsoft Visual C# 2010

Express เป็นตัวพัฒนา ในการควบคุม และ Game จะใช้โปรแกรม Unity 3D เป็นเกมเอนจิ้น

User

Kinect

Input

Computer

Mouse

Control

Game

Mouse

Input

Game

Output

Output

รูปที่ 3 - 1 โครงสร้างระบบ

The Maze Runner 21

3.2 System Architecture

ในระบบการท างาน มีส่วนประกอบหลักสามส่วน ได้แก่ผู้เล่น Kinect และ Computer โดยComputer

จะท าหน้าที่ประมวลผลหลัก เวลาเล่นเกม โดยผู้เล่นจะควบคุมเกมผ่านอุปกรณ์ Kinect และอุปกรณ์ Kinect

จะส่งค่าไปไห้ Computer เพ่ือท าการประมวลผล ดังในรูปที่ 3-2

รูปที ่3 - 2 โครงสร้างระบบ

3.3 System Design

3.3.1 ภาพรวม

รูปที่ 3 - 3 System Design

The Maze Runner 22

จากรูปที่ 3 – 3 แสดงถึงการท างานของระบบ โดยKinect จะตรวจจับต าแหน่งของมืออยู่ตลอด โดยใช้

มือซ้ายเป็นตัวควบคุมต าแหน่งเคอร์เซอร์ และถ้าหากว่ามือขวามีต าแหน่งสูงกว่ามือซ้าย ก็จะเป็นการคลิกซ้าย

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

คลิกเป็นการท าให้ตัวละครเคลื่อนที่

3.3.1 Kinect

จากรูปที่ 3 – 4 แสดงถึงภาพรวมการท างานของKinect โดย Kinect จะรับอินพุตจากผู้ใช้ แล้วส่งไป

ประมวลผล เพ่ือควบคุมเมาส์

รูปที่ 3 - 4 แผนการท างานของ Kinect

The Maze Runner 23

3.3.2 Kinect Mouse

รูปที่ 3 - 5 การเชื่อมต่อ Kinect Mouse และการท างาน

จากรูปที่ 3 – 5 เป็นการเชื่อมต่อ เมาส์กับ Kinect และการใช้งานบนระบบวินโดวส์ โดยจะตรวจสอบ

มือซ้ายและมือขวา มือซ้ายจะเป็นตัวควบคุมเคอเซอร์เมาส์ และมือขวาจะเป็นการควบคุมการคลิก ถ้าหากจะ

คลิกก็ยกมือขวาขึ้นในต าแหน่งที่สูงกว่ามือซ้าย

The Maze Runner 24

3.3.3 เกม

จากรูปที่ 3 – 6 แสดงถึงภาพรวมการท างานของเกม เกมจะเริ่มต้นที่หน้า MainMenu มีการเชื่อโยงฉาก

ต่างๆเข้าด้วยกัน ในหน้า หากStart Game ก็จะไปยังหน้า Load เพ่ือท าการเซ็ตค่าเริ่มต้นให้เกม จากนั้นก็จะ

เข้าสู่หน้าเกม ในเกมจะมีเวลาให้ 180วินาที มีคะแนนเป็น 0 และจะเพ่ิมข้ึนทีละ100 เมื่อเดินชนไอเท็มคะแนน

มีชีวิตให้ 10 ถ้าหากบังคับตัวละครให้เดินชนกับระเบิด ชีวิตก็จะลดลงที่ละ1 หากชีวิตหรือ เวลาหมด ก็จะไปยัง

หน้า lose แต่ถ้าหากรักษาชีวิตและค้นหาทางออกได้ ก็จะไปยังหน้า Win ซึ่งจะสรุปคะแนน และเวลาที่ใช้

จากนั้นก็จะลิงค์กลับไปยังหน้า MainMenu

รูปที่ 3 - 6 แผนการท างานของเกม

The Maze Runner 25

3.3.4 Event Game And Kinect Event

- ว่ิง

รูปที่ 3 - 7 การวิ่งของตัวละคร

จากรูปที่ 3 - 7 เป็นการตรวจจับการท างานของ Kinect และการสั่งงานในการเคลื่อนที่ของตัว

ละคร

- การเปลี่ยนทิศทางตัวละคร

รูปที่ 3 - 8 การเปลี่ยนทิศทางตัวละคร

จากรูปที่ 3 - 8 เป็นการตรวจจับการท างานของ Kinect และการสั่งงานในการหมุนของมุม

กล้อง และเปลี่ยนทิษทางการเคลื่อนที่ของตัวละคร

The Maze Runner 26

3.4 System Implementation

3.4.1 Kinect

รูปที่ 3 - 9 หน้า XAML ของ Kinect

จากรูปที่ 3-9 เป็นหน้าออกแบบเอาต์พุต การท างานของ Kinect ซ่ึงเป็นหน้า XAML ในโปรแกรม

Visual C# ซึ่งเป็น UI ส่วนที่ใช้แสดงผลเอาต์พุต ดังในรูปที่ 3 – 10 และรูปที่ 3 – 11 ซึ่งการท างานของหน้า

XAML จะอยู่ในไลบรารี่พ้ืนฐานของ XAML ในโปรแกรม Visual C# อยู่แล้ว ไลบรารี่ที่ใช้ควบคุมการท างานใน

การดึงภาพจาก Kinect คือ Coding4Fun.Kinect และ Microsoft.Kinect

รูปที่ 3 - 10 ภาพ dept จาก Kinect

The Maze Runner 27

จากรูปที่ 3-10 เป็นหน้าออกแบบเอาต์พุต การท างานของ Kinect เป็นภาพ dept ที่ดึงจาก Kinect

มาประมวลผล โดยถ้าหากเป็นภาพชนิด dept ก็จะแสดงว่าจับต าแหน่งผู้ใช้ ไม่ได้ทั้งตัว และยังไม่สามารถ

ควบคุมเมาส์ได้ ในขณะนั้น

รูปที่ 3 - 11 ภาพ color จาก Kinect

จากรูปที่ 3-11 เป็นหน้าออกแบบเอาต์พุต การท างานของ Kinect เป็นภาพ Color ที่ดึงจาก Kinect

มาประมวลผล โดยจะสามรถควบคุมเมาส์ได้ โดยการขยับมือซ้าย ต าแหน่งของเคอเซอร์เมาส์ก็จะขยับตาม และ

คลิกได้ในเมื่อมือขวา อยู่ในต าแหน่งสูงกว่ามือซ้าย

The Maze Runner 28

3.4.2 Game

ในเกมจะเป็นเขาวงกต ที่จะต้องวิ่งผ่าหาทางออกในเลาที่จ ากัดแค่ 180วินาที โดยจะต้องพยายามเก็บ

ไอเท็มคะแนน เงื่อนไขก็คือ วิ่งไปตามห้องต่างๆ เมื่อเจอไอเท็มก็จะต้องวิ่งไปชน คะแนนก็จะเพ่ิมมา100คะแนน

ต่อไอเท็ม1 อัน โดยไอเท็ม และที่ทางออกจะมีไอเท็มอีก1อัน มีคะแนนที่ 1000 จะต้องชน ไอเท็มอันดังกล่าว

ภายในเวลาที่ก าหนดถึงจะจบเกม และในเกมก็ยังมีระเบิด ซ่อนตามที่ต่างๆ ถ้าหากวิ่งชนระเบิด ค่าชีวิตก็จะ

ลดลงไป1 จากทั้งหมดคือ 10 ถ้าหากกลายเป็น 0 หรือเวลาหมด ก็จะแพ้

รูปที่ 3 - 12 MainMenu Scene , Load Scene

จากรูปที่ 3-12 แสดงถึงหน้า MainMenu Scene (ซ้าย) และหน้า Load Scene (ขวา)

รูปที่ 3 - 13 Game Scene , Win Scene

จากรูปที่ 3-13 แสดงถึงหน้า Game Scene (ซ้าย) และหน้า Win Scene (ขวา)

The Maze Runner 29

รูปที่ 3 - 14 Lose Scene , Credit Scene

จากรูปที่ 3-14 แสดงถึงหน้า Lose Scene (ซ้าย) และหน้า Credit Scene (ขวา)

รูปที่ 3 - 15 ระเบิดในเกม

จากรูปที่ 3-15 แสดงถึงระเบิดในเกม เมื่อตัวละครชนก็จะเกิดระเบิดขึ้น ชีวิตก็จะลดไป 1

รูปที่ 3 - 16 ไอเท็มในเกม

The Maze Runner 30

จากรูปที่ 3-16 แสดงถึงไอเท็มในเกม เมื่อตัวละครไปชน คะแนนก็จะเพ่ิมมา100 และอันที่อยู่ประตู

ทางออก (ในรูปขวามือสุด) เมื่อชนก็จะจบเกมและชนะ จะได้คะแนนเพ่ิมอีก 1,000

รูปที่ 3 - 17 เกมโดยภาพรวม

จากรูปที่ 3-17 แสดงภาพโดยรวมของเกม

- สีด า : ตัวละคร

- สีเขียว : ไอเท็ม

- สีเหลือง : แถบสถานะ บน คะแนน ,กลาง เวลา และ ล่าง ระดับชวีิต

- แดง : ระเบดิ

The Maze Runner 31

3.5 แผนด าเนินงาน

การด าเนินงาน / ระยะเวลา

ปี พ.ศ.2556

มิ.ย ก.ค ส.ค ก.ย ต.ค

ออกแบบเกม

ออกแบบโมเดล และแผนที ่

ออกแบบไอเท็ม

สร้างโมเดล และแผนท่ี

ใส่กระดูก ท่าทาง

ศึกษาโค้ดพื้นฐาน และทดสอบการ

ใช้งานโมเดล

ตารางที่ 3 - 1 แผนด าเนินงาน งานโครงงาน1

ตารางที่ 3 - 2 แผนด าเนินงาน งานโครงงาน 2

การด าเนินงาน / ระยะเวลา

ปี พ.ศ.2557

ส.ค. ก.ย. ต.ค. พ.ย. ธ.ค.

ตัวละคร กระดูก และท่าทาง

โมเดลแผนที ่

แผนที่ใน Unity

ไอเท็มเสริม

ประกอบทุกส่วน

The Maze Runner 32

บทที่ 4 ผลการด าเนินงานและสรุปผล

4.1 ผลการด าเนินงาน

เกมและkinect สามารถท างานร่วมกันได้ โดยใช้ Kinect เปิดเป็นเบื้องหลัง เพ่ือการบังคับตัวละครในเกม จากการศึกษาส่วนประกอบต่างๆ ในการท าเกมพบว่า เกมแต่ละเกมที่จะสร้างขึ้นมาได้ต้องใช้เวลา ความคิดสร้างสรรค์ ผสมผสานกับฝีมือในการสร้างโมเดล และการน ามาใส่เกม ว่าจะไห้ท าอะไร อย่างไรในส่วนที่ก าลังด าเนินงานก็จะเป็นส่วนของฉากหลักๆและการใช้งานโปรแกรม Unity ให้ Import โมเดลมาจาก 3D maxและเขียน Scripts เบื้องต้นใน Unity สามารถใช้ scenes ของ Unity เพ่ือเปลี่ยนฉากได้

4.1.1 การใช้ OpenNI

ในการใช้ OpenNI มาเชื่อมต่อ Kinect และเกม (เป็นการทดลอง แต่ไม่ส าเร็จ) โดยจะสามารถท างาน

ได้ไม่ผ่าน SDK ของ Kinect แต่จะใช้ไลบรารี่ของ OpenNI เองที่จะเชื่อมต่อ กับตัว Kinectโดยตรง และจะ

ท างานร่วมกับซอฟแวร์ ที่มีชื่อว่า Zigfu

โดยทั่วไป โปรแกรม Unity จะสามารถรับอินพุตได้แค่ เมาส์ คีย์บอร์ด จอยสติก และคีย์แพดเท่านั้น

แต่การที่จะน า Kinect มาใช้ก็จะต้องมีการน าข้อมูลมาดัดแปลง และท าให้ Unity เข้าใจว่าเป็นอินพุตพ้ืนฐานให้

ได้ จากการทดลองน า OpenNI และ ZigFu มาเชื่อมต่อ Kinectและเกม สิ่งที่ได้พบก็คือ ไม่สามารถใช้

ระบบปฏิบัติการ Window8และ Window8.1 ได้ จะต้องใช้ระบบปฏิบัติการ Window7 เท่านั้น การเชื่อมต่อ

ไม่ค่อยจะเสถียร เชื่อมได้บ้างและไม่ได้บ้าง ถ้าไม่ได้ก็จะต้อง รีสตาทเครื่องคอมพิวเตอร์ที่ใช้พัฒนาใหม่ แต่

ปัญหาหลักในการทดลองคือ ไม่ภาพที่เปิดออกมาจาก Kinect เมื่อเข้าสู่ตัวเกม ไม่สามารถดึงมาได้ ในทุกครั้ง

การใช้งานจึงเป็นอุปสรรค์ในการพัฒนาต่อ ผู้จัดท าเลยเปลี่ยนวิธีการมาใช้ SDK ของKinect แทนแล้วควมคุม

อินพุตพ้ืนฐาน เปิดเป็นแบบเบื้องหลัง

The Maze Runner 33

รูปที่ 4 - 1 การใช้ OpenNI เชื่อมต่อกับ Unity

จากรูปที่ 4-1 เป็นการน าซอฟแวร์ OpenNI และ ZigFu มาเชื่อมต่อ กับUnity เพ่ือให้ใช้งาน Kinect

ได้ โดยการท างาน จะต้องมีโมเดล(โมเดลจากรูป เป็นเพียงโมเดลที่ใช้ในการทดลอง)ท่ีใส่กระดูกเรียบร้อยแล้ว

และเชื่อมต่อกระดูกเข้าในเครื่องมือ แอนนิเมชั่นของUnity เรียบร้อยแล้ว จากในช่องสี่เหลี่ยมสีแดง จะเห็นว่า

จะต้องเอากระดูกของโมเดล เชื่อมต่อกับUnity และจะต้องเชื่อมต่อกับ Kinect อีกครั้งหนึ่งด้วย ในรูปแบบที่

สัมพันธ์กัน ตามจุด เช่นกระดูกแขนท่อนบนของโมเดล จะต้องก าหนดเป็นกระดูกแขนท่อนบนใน Unity และ

Kinectด้วย

4.1.2 การเชื่อมต่อ Kinect

รูปที่ 4 - 2 Shape Game

จากรูปที่ 4-2 เป็นการทดลองเชื่อมต่อกับ Kinect โดยผ่านโปรแกรม SDK Sample Browser ( ภาพ

ด้านซ้าย ) เมื่อกดเข้าไปที่ Run Sample ของเกม Shape Game ก็จะปรากฎหน้าต่างเกมเกิดข้ึน( ภาพด้านขวา

) แต่ถ้าหากเชื่อมต่อไม่ส าเร็จก็จะเป็นดังรูปที่ 4-3

The Maze Runner 34

รูปที่ 4 - 3 Shape Game

จากรูปที่ 4-3 เป็นการทดลองเชื่อมต่อกับ Kinect โดยผ่านโปรแกรม SDK Sample Browser ( ภาพ

ด้านซ้าย ) เมื่อกดเข้าไปที่ Run Sample ของเกม Shape Game ก็จะปรากฎหน้าต่างเกมเกิดข้ึน( ภาพด้านขวา

) แต่เชื่อมต่อไม่ส าเร็จ

4.1.3 การดึงภาพจาก Kinect

เป็นการน าภาพจาก Kinect แสดงผล

รูปที่ 4 - 4 การดึงภาพจาก Kinect

จากรูปที่ 4-4 เป็นการทดลองเชื่อมต่อกับ Kinect และดึงภาพออกมาแสดงผลบนหน้าต่าง โดยจะใช้

ฟังก์ชั่น depthFreme.TobItmapSource() มาเก็บไว้ในตัวแปร video.source เพ่ือที่จะน าไปแสดงผลภาพ

แบบ depth โดยมีเงื่อนไขคือ depthFrame ต้องไม่เป็น null จึงจะสามารถดึงค่ามาแสดงได้

The Maze Runner 35

4.1.4 ดึงค่าพิกัดของข้อมือซ้าย จาก Kinect เพื่อเชื่อมต่อเมาส์

โค้ดการท างาน

รูปที่ 4 - 5 โค้ดการดึงค่าพิกัดข้อมือ เพ่ือปรับพิกัดเคอร์เซอร์เมาส์

จากรูปที่ 4-5 จะเป็นการดึงค่าพิกัดของข้อมือซ้าย เพ่ือไปปรับพิกัดของเคอร์เซอร์เมาส์ โดยจะเริ่มจาก

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

เคลื่อนไหวของเคอร์เซอร์เมาส์ต่อไป หลังจากนั้นก็จะเป็นการรับค่าพิดัก ข้อมือ x และ y และจะส่งไปปรับเซอร์

เซอร์เมาส์ต่อไป

The Maze Runner 36

4.1.5 การน าค่าพิกัดของเมาส์เคอร์เซอร์มาใช้ใน Unity

โค้ดการท างาน

รูปที่ 4 - 6 โค้ดการน าค่าพิกัดของเมาส์เคอร์เซอร์มาใช้ใน Unity

จากรูป 4-6 เป็นการน าอินพุตมาประยุกต์ เนื่องจากUnity ไม่สามารถรับอินพุตจาก Kinect โดยตรงได้

จึงจะต้องใช้วิธิการอ้างอิง ก็คือKinect ควบคุมเมาส์เป็นเบื้องหลัง และUnity น าค่าเมาส์มาประยุกต์ใช้ต่อ ซึ่ง

เมาส์ก็จะเป็นอินพุตพ้ืนฐาน จะท างานในฟังก์ชั่น Update ก็คือท างานตลอดเวลาวนไปเรื่อยๆ

- การใช้งานฟังก์ชั่น Update ฟังก์ชั่น Updateg เป็นฟังก์ชั่นที่ท างานตลอดตั้งแต่บรรทัดแรกไปจน

บรรทัดสุดท้าย และจะวนมาบรรทัดแรกใหม่ เรื่อยๆจนกว่าจะปิดโปรแกรม

- mPos เป็นตัวแปรที่รับพิกัดเคอร์เซอร์เมาส์ โดยค่าจะรับมาจาก Input.mousePosition.x

- Input.mousePosition.x ค่าต าแหน่งเคอร์เซร์เมาส์ตามแนวแกน x ซึ่งเป็นค่าอินพุตพ้ืนฐานใน

Unity (กล่าวไว้ในบทที่ 2)

- mDelta = mPos – oldPos ซึ่งผลต่างระหว่างเวลาในฟังก์ชั่น Update ซึ่งการท างานตลอดเวลา

นี่เอง เป็นเป็นการประมวลผลที่รวดเร็วกว่าสายตามนุษย์มาก จึงได้อาศัยส่วนต่างของเวลาในการเพิ่มความนุ่ม

ลื่นในการปรับเคอร์เซอร์เมาส์ ถ้าเมาส์มีการเคลื่อนที่ ค่า oldPos คือต าแหน่งก่อนเคลื่อนที่ และ mPos ค่า

ปัจจุบัน เมื่อลบกันก็จะได้ผลต่างสามารถ บอกได้ว่าจะเคลื่อนไปทางซ้ายหรือขวา ถ้าค่าเป็นบวก แสดงว่า

เคอร์เซอร์เมาส์เคลื่อนที่จากซ้ายไปขวา แต่ถ้าหากเป็นลบก็แสดงว่าเคอร์เซอร์เมาส์เคลื่อนที่ขวาไปซ้าย และค่า

mPos ก็จะกลายเป็น oldPos ในรอบการประมวลผลถัดไป

- transform.Rotate (0, mDelta * sensitivityX, 0) การหมุนของมุมกล้องในเกมตามแนวแกน y

transform.Rotate เป็นฟังก์ชั่นของการเคลื่อนที่ในลักษณะของการหมุนตามแนวแกนต่างๆ พารามิเตอร์ 0 ตัว

แรกก็คือแนวแกน x ในที่นี้ไม่ต้องการไห้หมุน และ 0 ตัวหลัง ก็คือแนวแกน z ซึ่งไม่ต้องการให้หมุนเช่นกัน ซึ่ง

จะหมุนได้แค่ตามแนวแกน y โดย mDelta คือทิศทางในการหมุนไปทางซ้ายหรือขวา ถ้าค่าเป็นบวกก็จะไป

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

หมุน

The Maze Runner 37

4.1.6 การใส่ Component ให้กับ Object ในเกม

โดยเกม จะแบ่งเป็นฉาก(Scene) ซึ่งโดยแต่ละฉากจะไม่เกียวข้องกันกันในส่วนของการท างาน ในแต่

ละฉากจะมีการท างานภายใน และออฟเจกต์ที่ท างานภายในที่สัมพันธ์กัน โดยแต่ละออฟเจกต์จะมีคอม

โพเนนท์ ที่จะช่วยเสริมในการท างาน เช่น สคริป, เสียง, แอพเฟกต่างๆ เป็นต้น

รูปที่ 4 - 7 Component ของ Object ในเกม

จากรูปที่ 4-7 จะเห็นได้ว่าแบ่งเป็นสี่ส่วน

- ส่วนที1่ สีแดง เป็นส่วนของ Assets ของเกม โดยแต่ละฉากสามารถน าไปใช้ได้

- ส่วนที2่ สีม่วง เป็นหน้าต่างที่ใช้จัดวาง ปรับต าแหน่ง และดูมุมมองของเกม

- ส่วนที3่ สีเขียว เป็นส่วนที่บ่งบอกว่าในฉากนั้นๆ มีออฟเจกต์อะไรประกอบอยู่บ้าง

- ส่วนที4่ สีน้ าตาล จะเป็นส่วนอธิบาย และบอกส่วนประกอบ

การเพ่ิม Component ของออฟเจกต์ ก็จะต้องเลือกออฟเจกต์ในส่วนที่3 ที่ต้องการจะเพ่ิม Component

, ดูว่าต้องการจะเพ่ิมอะไรเข้าไปจากส่วนที่1 และสุดท้ายคลิกลากจากส่วนที่1 ไปวางในส่วนที่4 หรือจะกดปุ่ม

Add Component แล้วเลือกเอาก็ได้เช่นกัน

The Maze Runner 38

4.1.7 การตั้งค่าอินพุตใน Unity

เลือกที่ Edit -> Project Settings -> Input

รูปที่ 4 - 8 การต้ังต่าอินพุตใน Unity

จากรูปที่ 4-8 เป็นการตั้งค่าอินพุตใน Unity ซึ่งจะมีปุ่มพ้ืนฐานมาให้(กล่าวในบทที่2) และยังสามารถ

เพ่ิมใหม่หรือปรับปรุงแก้ไขก็ได้ แต่ล่ะปุ่มก็จะมีส่วนประกอบต่างๆ แต่ในการรับอินพุตจะไปดูในหัวข้อ Type

ซึ่งจะรับได้แค่อินพุตพ้ืนฐาน เมาส์ คีย์บอร์ดและจอยสติ๊ก

รูปที่ 4 - 9 การรับอินพุตเมาส์

จากโค้ดในรูปที่ 4-9

- Input.GetMouseButton (value or name) รับค่าการคลิกจากเมาส์ โดยพารามิเตอร์จะเป็นชื่อก็

ได้เช่น “mouse 0”, “mouse 1”, “mouse 2” หรือตัวเลข 0,1,2 ซ่ึง 0 จะเป็นซ้าย , 1 ขวา และ 2 กลาง

- anim.SetFloat (name, value) เป็นการสั่งให้แอนนิเมชั่นปรับค่า anim เป็นออฟเจกแทนโมเดล

โดย name ก็คือชื่อตัวแปร จากโค้ดก็คือ “Speed” ,value คือค่าที่จะปรับ จากโค้ดก็คือ 1.0f (fที่ต่อท้าย คือ

การบ่งบอกว่าเป็นทศนิยม)

The Maze Runner 39

4.1.8 การเปลี่ยน Scene Game และการปิดเกม

Scene ก็คือก็เป็นตัวเกม แต่ล่ะอันโดยแต่ละ Scene จะเป็นอิสระต่อกัน การเปลี่ยน Scene มีความจ า

เป็นมากในการท าเกม เช่นตัวอย่าง มีการกด START GAME ก็จะเปลี่ยน Scene ไปยังหน้า LOADIND ดังรูปที่

4-10 โค้ดท่ีใช้ในการเปลี่ยน Scene คือ Application.LoadLevel(name scene) โดยจะเป็นไปตามเงื่อนไข

ต่างๆ เช่นในรูป จะท างานเมื่อมีการคลิกเมาส์ ไปโดนที่ต าแหน่งต่างๆ ตามเงื่อนไข ว่าจะเปลี่ยนไปหน้าไหนและ

การปิดเกม จะใช้ค าสั่ง Application.Quit()

รูปที่ 4 - 10 การเปลี่ยน Scene และการปิดเกม

The Maze Runner 40

4.1.9 การเช็คการเข้าใกล้ของวัตถุ และการเคลื่อนที่ของวัตถุ

รูปที่ 4 - 11 การเช็คการเข้าใกล้ของวัตถุ และการเคลื่อนที่ของวัตถุ

จากรูปที่ 4-11 เป็นการเช็ค ตัวละครเข้าใกล้ประตูในระยะที่ก าหนดไว้ โดยเมื่อเข้าใกล้ ประตูก็จะเปิด

- Vector3.Distance (point1,point2) จะคืนค่ามาเป็นระทางระหว่าง point1 และ point2 จากโค้ด

point1 คือต าแหน่งตัวละครและ pint2 คือต าแหน่งประตู เมื่อเข้าใกล้ในระยะน้อยกว่า 6หน่วย ก็จะท าให้

ประตูเปิด โดยการเคลื่อนที่ไปยังข้างๆ

- transform.Tranlate (vector3) เป็นการท าให้ประตูเคลื่อนที่ ไประยะ10 หน่วย โดยvector3 ก็คือ

ทิศทางตามแนวแกน x, y และ z นั้นเอง

ฟังก์ชั่นที่ใช้บ่อย การเคลื่อนที่โดย transform

- transform .position คือต าแหน่งของจุด ตัวอย่างเช่น transform.position.x คือต าแหน่งพิกัดตาม

แกน x

- transform.Tranlate (vector3) เป็นการเคลื่อนที่ไปตรงๆ

- transform.Rotate (vector3) เป็นการเคลื่อนในลักษณะของการหมุน

The Maze Runner 41

4.1.10 การเช็คการชนกันของวัตถุ และการลบวัตถุออกจากเกม

เป็นการเช็คการชนกันของวัตถุสองอย่าง จากรูปที่ 4-12 เป็นการวิ่งของตัวละคร ไปชนกับไอเท็มใน

เกม เมื่อชนไอเท็มก็จะหายไป คะแนนก็จะเพ่ิมมา 100 โค้ดการเช็คการชน โดยตัวละครจะมีสิ่งสมมติหุ้มล้อม

อยู่ ก็คือ Collider โดย Collider จะมีฟังก์ชั่นมาให้ก็คือ OnCollisionEnter(Collision) จะเอาไว้เช็คการชน

name โดย Collision พารามิเตอร์ที่รับค่าของวัตถุทีช่น จากโค้ดวัตถุท่ีชนก็คือไอเท็ม

รูปที่ 4 - 12 การเช็คการชนกนัของวัตถุ และการลบวัตถุออกจากเกม

จากโค้ดในรูปที่ 4-12

- Collision.gameObject.tag เป็นการเช็คค่า tag (ค่าพ้ืนฐานที่จะมีในออฟเจกต์ทุก ออฟเจกตเ์ป็น

การก าหนดค่ากลุ่ม,ชนิด)

- Destroy(Object) ใช้ในการลบวัตถุ โดย Object ก็จะเป็นวัตถุท่ีต้องการลบ

- GUI.text = string เป็นการตั้งค่าข้อความที่แสดงออกมา GUI คือ ออฟเจกต์ที่แสดงผลข้อความ และ

string คือข้อความที่จะใช้แสดง

- audio.PlayOneShot(AudioObject) เป็นการเล่นเสียงหนึ่งครั้ง โดย AudioObject คือ เสียงที่จะ

ใช้เล่น

The Maze Runner 42

รูปที่ 4 - 13 การใส่เอฟเฟคระเบิด

4.1.11 การใส่เอฟเฟคระเบิด

จากรูปที่ 4-13 ก็จะใช้ฟังชั่น OnCollisionEnter() เป็นการเช็คการชน เมื่อมีการชน ระเบิดก็จะหายไป

- Destroy(Object) ใช้ในการลบวัตถุ โดย Object ก็จะเป็นวัตถุท่ีต้องการลบในที่นี้ก็คือระเบิด

- Instantiate(Object, Position, Rotation) เรียกวัตถุ Object ออกมาแสดง ในทีนี้ก็คือแอฟแฟกการ

ระเบิด , Position คือต าแหน่งที่จะแสดง , Rotation ลักษณะการหมุน ในการแสดง

- AudioSource.PlayClipAtPoint ( AudioObject, Position) คือการเล่นเสียง ณ จุดที่ต้องการ ถ้า

ตัวละครอยู่ห่างจะได้ยินเสียงเบา ถ้าอยู่ใกล้ๆ เสียงจะดัง โดย AudioObject คือ เสียงที่จะใช้เล่น, Position คือ

ต าแหน่งที่จะเล่นเสียง

The Maze Runner 43

4.1.12 การใช้ตัวแปรตัวGlobal

โดยทั่วไปตัวแปรในโปรแกรม Unity จะเป็น Local คือจะใช้ได้ในเฉพาะ Object นั้นๆ แต่บางครั้งก็

จ าเป็นจะต้องใช้ ตัวแปรแบบ Global ในกรณีจะต้องใช้ค่าข้าม Object และ ข้าม Scene เช่นการแสดงค่า

คะแนนในหน้าต่างเกมปกติ เมื่อเกมจบ ก็จะต้องมีการสรุปคะแนน ก็จะต้องใช้เป็นตัวแปรชนิดนี้ ดังเช่น รูปที ่

4-13 การท างานจะมีของแบบคือการก าหนด,เปลี่ยนแปลงค่า และการอ่านค่า

- การก าหนด,เปลี่ยนแปลงค่า

PlayerPrefs.SetInt(name,value) โดย name ก็จะเป็นชื่อตัวแปร ชนิดสตริง จากโค้ดก็คือ”LIFE”

,value คือ ค่าที่ใส่ไปในตัวแปร

- การอ่านค่า

value =PlayerPrefs.GetInt(name)

จากโค้ด จะเป็นการอ่านค่า ก าหนดค่าแบบ int โดย สามารถท ากับตัวแปรชนิดอ่ืนได้ในแบบเดียวกัน

โดยชนิดตัวแปรต่างๆ จะเหมือนกันในภาษา C#

4.2 ปัญหาและอุปสรรค

- การเชื่อมต่อ Kinect และ Unity ต้องมีโปรแกรมเสริมหลายตัว การเชื่อมต่อไม่ค่อยเสถียร ได้ทดลอง

ใช้ การท างานโดยผ่านตัวกลางคือ openNI แต่ผลการทดลองก็คือ เมื่อเชื่อต่อได้ส าเร็จ แต่ไม่สามารถเปิดกล้อง

ขึ้นมาได้ และการท างานของเครื่องคอมพิวเตอร์ที่ใช้ทดลอง ก็เกิดภาระงานขึ้นอย่างหนัก

- SDK ของ Kinect แต่ละเวอร์ชั่น ค าสั่งและฟังก์ชั่นการใช้งานก็เปลี่ยนไป

- เกมที่เล่นได้บางครั้งมีการกระตุก เมื่อใช้มีแอฟเฟกหลายๆอันซ้อนกัน

4.3 ข้อเสนอแนะ/แนวทางพัฒนาต่อ

- เมื่อมีการพัฒนาต่อควรมีการเพิ่มฟังก์ชันการท างานให้เกมยากขึ้น , เพ่ิมอุปสรรค์

- พัฒนาเกมในลักษณะผ่านด่าน

- Kinect มีการใช้ท่าทางที่มากข้ึน เพ่ือเพ่ิมความสนุกนานและความสมจริง

The Maze Runner 44

บรรณานุกรม

[1] 3D Game Unity , ค้นเมื่อ 8 พฤศจิกายน 2555, จาก

http://mygame3dproject.blogspot.com/search/label/CODE

[2] สอน Unity , ค้นเมื่อ 8 พฤศจิกายน 2555, จาก

http://unity3dtutorial.blogspot.com/

[3] การใช้งาน photoshop , ค้นเมื่อ 12 พฤศจิกายน 2555, จาก

http://www.edu-mine.com/photoshop/lesson1_IntroPhotoshop.html

[4] kinectasia. ค้นเมื่อ 18 พฤศจิกายน 2555, จาก

http://kinectasia.wordpress.com/page/3/

[5] นราวฒุ พัฒโนทัย ,การค้นหาต าแหน่ง Kinect, ค้นเมื่อ 14 พฤศจิกายน 2555 ,จาก

thttp://dlab.sit.kmutt.ac.th/event/InterConfer/Naravut/ICSEC%202011.pdf

[6] โครงสร้างของ Kinect,ค้นเมื่อ 21 พฤศจิกายน 2555, จาก

http://kinectasia.wordpress.com/2012/04/09/%E0%B9%80%E0%B8%88%E0%

B8%B2%E0%B8%B0%E0%B8%A5%E0%B8%B6%E0%B8%81%E0%B9%82%E0%B8%84%E0%B

8%A3%E0%B8%87%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87%E0%B8

%82%E0%B8%AD%E0%B8%87-kinect-%E0%B8%AA%E0%B8%B3/

[7] ณัฐพงศ์ ส่งเนียม,รู้จักและใช้งาน Microsoft Visual Studio 2010,ค้นเมื่อ 28พฤศจิกายน 2555 ,

จาก

http://www.siam2dev.com/E_Learning/Algorithm/vb_net2010_intro.pdf

[8] โอ๊ค,ฝึกเขียนโปรแกรมพ้ืนฐานด้วย Visual C#,ค้นเมื่อ 2 ธันวาคม 2555 , จาก

http://dc140.4shared.com/doc/LW2ueEbz/preview.html

[9] Skeletal tracking Fundamentals, ค้นเมื่อ 21 มิถุนายน 2556, จาก

The Maze Runner 45

http://channel9.msdn.com/Series/KinectQuickstart/Skeletal-Tracking-

Fundamentals

[10] unity training, ค้นเมื่อ 23 มิถุนายน 2556, จาก

http://walkerboystudio.com/html/unity_training___free__.html

[11] unity example, ค้นเมื่อ 23 มิถุนายน 2556, จาก

http://www.unity3dstudent.com/

[12] SDK ของ Kinect Sensor ,ค้นเมื่อ 13 กุมภาพันธ์ 2557 จาก

http://kinectasia.wordpress.com/

[13] การใช้งานBlender ,ค้นเมื่อ 3 กันยายน 2557 จาก

http://alaska.reru.ac.th/4125016/blend.pdf

[14] Kinect ctrl input computer , ค้นเมื่อ 22 กันยายน 2557 จาก

http://dihana.cps.unizar.es/~eduardo/trabhci/doc/2013/Kinect_SalopuroPrese

ntation_2013.pdf

[15] Kinect cursor ,ค้นเมื่อ 3 กันยายน 2557 จาก

http://kinectmouse.codeplex.com/SourceControl/latest#C

The Maze Runner 46

ภาคผนวก

วิธีติดตั้งโปรแกรม Unity

1. ดาวโหลดโปรแกรมท่ี http://unity3d.com/unity/download/

2. เปิดตัดตั้งโปรแกรม

3. กด Next

รูปที่ ก - 2 ติดต้ังโปรแกรม Unity

รูปที่ 5 - 1 รูปที่ ก - 1 ดาวโหลด Unity

The Maze Runner 47

4. กด I Agree

5. เลือกว่าจะจะติดตั้งส่วนประกอบใดบ้าง แล้วกด Next

2. เลือกโฟเดอร์ที่จะติดตั้งโปรแกรม แล้วกด Install

รูปที่ 5 - 2

รูปที่ ก - 3 ติดต้ังโปรแกรม Unity

รูปที่ ก - 4 ติดต้ังโปรแกรม Unity

The Maze Runner 48

รูปที่ ก - 5 ติดต้ังโปรแกรม Unity

7. Finish

รูปที่ 5 - 3 รูปที่ ก - 6 ติดต้ังโปรแกรม Unity

The Maze Runner 49

การติดตั้ง Microsoft Visual Studio 2010 Express

สิ่งท่ีควรรู้ก่อนการติดตั้งโปรแกรม

1. โปรแกรมติดตัง้ Visual Studio มี 2 แบบ

แบบที่ 1. Offline ใช้เนื้อที่บนดิสก์ส าหรับการดาวน์โหลดประมาณ 693 MB มีข้อดีคือจะได้

ตัวติดตั้งโปรแกรม Visual Basic, Visual C#, Visual C++ และ Visual Web Developer ครบทั้ง 4

โปรแกรม และใช้เวลาติดตั้งโปรแกรมน้อยกว่าแบบที่ 2 แต่ข้อเสียคืออาจจะเสียเวลาในการดาวน์

โหลดนาน

แบบที่ 2. Online ใช้เนื้อที่บนดิสก์ส าหรับการดาวน์โหลดเพียง 3.1 MB แต่เมื่อท าการ

ติดตั้งจะต้องเชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดส่วนโปรแกรมเพ่ิมเติม ข้อดีคือดาวน์โหลดโปรแกรม

ติดตั้งได้เร็ว แต่ข้อเสียคือไม่สะดวก เพราะต้องเชื่อมต่ออินเทอร์เน็ตตลอดเวลาในการติดตั้งโปรแกรม

2. ถ้าคอมพิวเตอร์มีการติดตั้ง Visual Studio เวอร์ชันก่อนหน้า ไม่ต้องต้องลบเวอร์ชันก่อนหน้าทิ้ง เพราะไลบรารีและส่วนประกอบ (Component) ของ .NET Framework นั้นจะถูกจัดเก็บแยกกันตามเวอร์ชัน และถ้าเป็นเวอร์ชันเดียวกันจะไม่ติดตั้งเพ่ิม แต่จะใช้งานร่วมกันเลย กรณีเคยลงVisual Studio 2010 Beta แล้วจะต้องถอนการติดตั้งก่อน

ขั้นตอนการติดตั้งโปรแกรม

1. ดาวน์โหลดโปรแกรมติดตั้งได้ที่ URL: http://www.microsoft.com/Express/Downloads ที่รายการดาวน์โหลด Visual Studio 2010 Express กดท่ี link: ALL – Offline Install ISO image file (เป็นตัวติดตั้งแบบที่ 1 Offline) จากนั้นเลือกโปรแกรมติดตั้งแบบภาษาอังกฤษจากรายการ Select Language… ดังรูปที่แสดงด้านล่าง

The Maze Runner 50

2.เมื่อดาวน์โหลดโปรแกรมติดตั้งเสร็จแล้ว ให้เปิดไฟล์ VS2010Express.iso ด้วยโปรแกรมจ าลองไดร์ฟ เช่น DAEMON Tools หรือจะ Burn ลงแผ่น DVD เลยก็ได้ครับ จากนั้นเรียกโปรแกรม Setup.hta โดยเลือกติดตั้งโปรแกรม Visual C# 2010 Express ดังรูป

รูปที่ ก - 8 หน้าต่าง AutoPlay

3.เลือกเมนูติดตั้งโปรแกรม ในตัวอย่างนี้เลือก Visual C# 2010 Express

รูปที่ ก - 9 เมนูเลือกติดต้ังโปรแกรม

รูปที ่ก - 7 เว็บเพจส าหรับการดาวน์โหลดตัวติดต้ัง

The Maze Runner 51

4.โปรแกรมติดตั้งจะแสดงหน้าต่าง Welcome to Setup ขั้นนี้กดปุ่ม Next >

รูปที่ ก - 10 Welcome to Setup

5.อ่านข้อความแสดงลิขสิทธิ์ และการอนุญาตให้ใช้งานโปรแกรม โดยผู้ติดตั้งต้องแสดงการยอมรับ License

Terms โดยเลือกท่ี I have read and accept the license terms จากนั้นกดปุ่ม

รูปที่ ก - 11 แสดงลิขสิทธ์และสทิธิ์ในการใช้งาน

2.เลือกติดตั้งโปรแกรมเสริม โดยเลือกติดตั้ง Microsoft SQL Server 2008 Express Service Pack 1 (x82)

ดังรูป จากนั้นกดปุ่ม Next >

รูปที่ ก - 12 เลือกคิดต้ังโปรแกรมเสริม

The Maze Runner 52

7.ก าหนดต าแหน่งติดตั้งโปรแกรม โดยระบุท่ีช่อง Install in folder หรือกดปุ่ม Browse เพ่ือเลือกต าแหน่ง

ติดตั้งโปรแกรมด้วยตนเอง จากนั้นกดปุ่ม Install>

รูปที่ ก - 13 เลือกต าแหน่งในการติดต้ังโปรแกรม

8.หน้าต่างแสดงความก้าวหน้าในการติดตั้งโปรแกรม ในขณะติดตั้งหรือเมื่อติดตั้งโปรแกรมเสร็จแล้วอาจจะ

ต้องมีการรีสตาร์ทคอมพิวเตอร์

รูปที่ ก - 14 แสดงความก้าวหน้าของการติดต้ังโปรแกรม