Home / Developer  / Game Development  / Unity 3D การสร้าง Dialogue System โดยอ่านจากไฟล์ Text

Unity 3D การสร้าง Dialogue System โดยอ่านจากไฟล์ Text

ตัวอย่างการสร้าง Dialogue system หรือ ระบบสนทนาอย่างง่ายให้เกมของเรา บน Unity 3D โดยใช้วิธีการเรียกอ่านทีละบรรทัดจากไฟล์ Text นามสกุล .txt

รอบนี้เอาตัวอย่างแบบง่ายๆ มาให้ลองทำกันดูครับ เป็นวิธีการเรียกไฟล์ txt มาทีละบรรทัดโดยใช้การเคาะ Space Bar ของเราให้เปลี่ยนบรรทัดเพื่อแสดงบทสนทนาครับ

ขอนำโมเดล 3D ของนักศึกษาสาขาการออกแบบเชิงโต้ตอบและการพัฒนาเกม มหาวิทยาลัยธุรกิจบัณฑิตย์เกม Waveup ที่แข่ง Game Jam 2017 มาใช้ประกอบตัวอย่างการเรียนนะครับ ให้เปิดโปรแกรม Unity 3D ขึ้นมา ทำการ Rigged สร้างแอนิเมชันเคลื่อนไหวให้เรียบร้อย หลังจากนั้นให้สร้างไฟล์ .txt หรือ Text File ไว้ใน Folder ชื่อ Assets ของ Project เราครับใส่บทสนทนาทีละบบรรทัดตามตัวอย่าง

ตำแหน่งที่ไฟล์จะวางอยู่จะอยู่ในตำแหน่งนี้ครับดังรูป

ต่อมาให้เราออกแบบ Scene ของเราโดยนำตัวละครไปวางจัดแสง ท่าทางให้เรียบร้อย

เมื่อเราได้ท่าทางที่ต้องการแล้วให้เราสร้าง UI Group ขึ้นมาประกอบไปด้วย Canvas, Panel และ Text ครับโดยเฉพาะ Text ให้ปรับขนาดตัวอักษรเป็นสีขาว และตัวใหญ่ประมาณหนึ่งเพื่ออ่านได้ง่าย

ปรับส่วนของ Canvas Scaler ให้เป็น “Scale With Screen Size” เพื่อปรับให้เป็น Responsive View สำหรับทุกหน้าจอโดยอ้างอิงตามขนาดของหน้าจอ

เมื่อเสร็จแล้วให้ไปที่ “MainCamera” สร้างไฟล์ C# ขึ้นมาว่าอะไรก็ได้ในตัวอย่างใช้ “dialogToggle.cs”

ทำการประกาศตัวแปร ดังนี้เพื่อ ทำงานร่วมกับ UI ที่ตำแหน่ง Header

ประกาศ TextAsset ไว้ในตัวแปร TextFile สำหรับลาก Text File ที่เราสร้างไว้มาวาง กำหนด Panel ให้เก็บในตัวแปร panel_msg กำหนดตัวแปร Dialog_1 เป็น Text สำหรับ Display

สร้างการอ่าน บรรทัดของไฟล์ Text ถ้าเป็นค่าว่างให้ไม่แสดงผลใน เมธอด Start()

ในฟังก์ชันเมธอด Update ทำงานดังนี้

ให้ Delay ระยะเวลา 1 วินาทีเพื่อเรียกบรรทัดใหม่ เมื่อเกิดการกดปุ่ม Space Bar หลังจากนั้นแทนค่าของ “//ทำงาน” ด้วย

เพิ่มเมธอดทำงานส่วนของการเรียกบรรทัดใหม่ดังนี้

ไฟล์ dialogToggle.cs จะเป็นดังนี้

ทำงานง่ายๆคือ ลากทุกสิ่งใน Hierarchy ไปวางใน MainCamera ตามภาพ

ทำการทดสอบแล้วกด Space Bar

เมื่อจบบรรทัดไม่มีต่อ ก็จะลบ Panel และ Text ออกไปจากจอ

 

แค่นี้แหละครับเทคนิคการสร้าง ระบบ Dialogue system แบบง่ายๆ

Comments

daydevthailand@gmail.com

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

Review overview
NO COMMENTS

Sorry, the comment form is closed at this time.