Design and Develop an Interactive Virtual Aquarium

Design and Develop an Interactive Virtual Aquarium


การวาดภาพละเลงสีเป็นหนึ่งในกิจกรรมศิลปะที่ส่งเสริมความคิดสร้างสรรค์

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

ฝึกความคิดสร้างสรรค์
ได้แสดงออกทางความคิดในหลาย ๆ ด้าน

สมาชิกผู้จัดทำ

นางสาวณัฏฐณิชา ศรสุวรรณรังสี สถาบันวิทยาการหุ่นยนต์ภาคสนาม มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี ปีการศึกษา 2564

วัตถุประสงค์

  1. เพื่อศึกษาออกแบบและพัฒนาระบบ Interactive Virtual Aquarium
  2. เพื่อประเมินผลการใช้งานระบบ Interactive Virtual Aquarium ที่จะช่วยเติมเต็มจินตนาการและสร้างความบันเทิงของผู้เล่น

ภาพรวมของการทำงาน

วิธีการเล่น

  1. ผู้เล่นเลือกภาพสัตว์ทะเลที่ชอบตามที่ได้เตรียมไว้มา 1 ชนิดจากทั้งหมด 3 ชนิดแล้วให้ผู้เล่นระบายสี
  2. เมื่อผู้เล่นระบายสีเสร็จแล้ว ให้นำภาพนั้นเข้าสแกนเนอร์หรือจะใช้มือถือสแกนภาพด้วย CamScanner แล้วส่งเข้า google form
  3. หลังจากนั้นชมสัตว์ทะเล 3 มิติเคลื่อนไหวอย่างมีชีวิตบน Interactive Virtual Aquarium นอกจากนี้ผูเ้ล่นยังสามารถมีปฏิสัมพันธ์ภายนอกกับสัตว์ทะเลของตัวเอง และของผู้อื่นได้ โดยการยกมือไปแตะสัตว์ทะเลบน Interactive Virtual Aquarium

แผนการดำเนินงาน

การนำเสนอผลการออกแบบ

ส่วนประกอบของ Interactive Virtual Aquarium จะประกอบไปด้วย 2 ส่วนหลัก คือ

  • ส่วนทะเลเสมือน คือ การฉายภาพบนผนังด้วย short-throw projector
  • ส่วนปฏิสัมพันธ์ จะใช้กล้องสามมิติ (Kinect V2) ในการตรวจจับการเคลื่อนไหวของผู้เล่นเมื่อผู้เล่นระบายสีภาพเสร็จเรียบร้อย แล้วนำภาพไปเข้าสแกนเนอร์หรือส่งภาพเข้ามาผ่าน google form จากนั้นโปรเจคเตอร์จะฉายภาพสัตว์ทะเล 3 มิติที่ผู้เล่นระบายสีเคลื่อนไหวบนผนังเรียบหรือฉากรับภาพ ซึ่งกล้องสามมิติจะตั้งอยู่ด้านบนโปรเจคเตอร์เพื่อตรวจจับว่าผู้เล่นได้โต้ตอบกับ Interactive Virtual Aquarium ในพื้นที่ส่วนปฏิสัมพันธ์หรือไม่ โดยผู้เล่นสามารถเคลื่อนไหวไปมาได้ภายในพื้นที่นี้

การเตรียมภาพสัตว์ทะเลสำหรับระบายสี โดยจะนำโมเดล 3 มิติเข้าโปรแกรม MAYA หรือ Blender เพื่อสร้าง UV mapping ของโมเดล 3 มิตินั้น ๆ จากนั้นนำ UV mapping ที่ได้เข้าโปรแกรม Photoshop เพื่อจัดตำแหน่ง Aruco เฉพาะของโมเดลนั้น ๆ จะได้เป็นภาพสำหรับระบายสีพร้อมนำไปพิมพ์บนกระดาษ A4 ซึ่งสัตว์ทะเลแต่ละชนิดจะมี Aruco ไม่เหมือนกัน เพื่อให้ตัวระบบสามารถจำแนกได้ว่ารูปภาพนั้นคือของสัตว์ทะเลชนิดอะไร

การออกแบบการทำงานของระบบ

1.ส่วนการเตรียมรูปภาพด้วยภาษา python

  • เขียนโปรแกรมเพื่อรับรูปภาพที่ได้จากเครื่องสแกน เตรียมโฟลเดอร์สำหรับเก็บรูปภาพที่ได้มาจากเครื่องสแกน และเขียนโปรแกรมให้วนดูว่ามีไฟล์ภาพ(.jpg) เข้ามาใหม่ในโฟลเดอร์นั้นหรือไม่
  • เมื่อตรวจสอบว่ามีรูปเข้ามาแล้ว นำรูปภาพมาตรวจสัญลักษณ์ Aruco ทั้งสี่มุม เพื่อจำแนกประเภทของปลา
  • การปรับขนาดของรูปภาพเพื่อให้เหมาะสมกับโมเดลปลาสามมิติ

2.ส่วนการสื่อสารระหว่างภาษาโปรแกรม (ภาษา python และ C#)

  • การที่จะทำให้การส่งข้อมูลรูปภาพระหว่างฝั่ง python และ Unity เป็นไปได้อย่างราบรื่นโดยใช้คอมพิวเตอร์เครื่องเดียวจึงใช้ UDP socket ในการส่งและรับข้อมูลรูปภาพระหว่างกันซึ่งฝั่ง python จะเป็นฝ่ายส่งข้อมูล ส่วนฝั่ง Unity จะเป็นฝ่ายรับข้อมูล เมื่อฝั่ง python ส่งข้อมูล แล้วทางฝั่ง Unity ได้รับข้อมูลเรียบร้อยแล้ว ฝั่ง Unity จึงค่อยส่งสัญญาณไปบอกฝั่ง python ว่าได้รับข้อมูลเรียบร้อยแล้วซึ่งฝั่ง python จะไม่ส่งข้อมูลชุดใหม่จนกว่าฝั่ง Unity จะส่งสัญญาณมาว่าได้รับข้อมูล

3.ส่วนปฏิสัมพันธ์ภายใน

  • การเขียนโปรแกรมการว่ายน้ำของฝูงปลาด้วกฎของ boids [13]
  • การใช้ทฤษฎีสำหรับสร้างการเคลื่อนไหวของปลาด้วย shaders
  • การเขียนโปรแกรมเพื่อให้ปลาหลบสิ่งกีดขวาง
  • การสร้าง physics สำหรับจำลองการว่ายของปลา

4.ส่วนปฏิสัมพันธ์ภายนอก

  • ในส่วนนี้จะใช้กล้อง 3 มิติ ตรวจจับมือของผู้เล่นว่าสัมผัสตำแหน่งไหนในโลกจริง แล้วนำตำแหน่งนั้นไปประมาณเป็นตำแหน่งจุดสามมิติใน Interactive Virtual Aquarium เพื่อส่งสัญญาณให้สัตว์ทะเลในน้ันมีการปฏิสัมพันธ์กับผู้เล่น

ผลการทดลอง

วิดีโอการเล่น Interactive Virtual Aquarium

0:00
0:00

กิจกรรมพิเศษที่ อ.บ้านฉาง จ.ระยอง

สรุปผลการทดลอง

การประเมินประสิทธิภาพของระบบ การประเมินความสามารถของการใช้งานระบบ และการประเมินคุณค่าของงานเฉพาะทาง เก็บข้อมูลจากการที่ผู้เข้าร่วมการทดลองแก้ไขปัญหาตามโจทย์ที่ผู้วิจัยกำหนดไว้ให้ โดยผู้เข้าร่วมการทดลองมีจำนวนทั้งหมด 22 คน อายุ 16 – 37 ปี ผู้ร่วมทำการทดลองให้ความเห็นเกี่ยวกับการใช้งานระบบว่าระบบนี้สนุกและใช้งานงานง่าย รวมถึงส่วนใหญ่เห็นด้วยว่าระบบช่วยให้เติมเต็มจินตนาการของภาพที่ระบายสีได้มากขึ้น และช่วยสร้างความบันเทิงแก่ผู้เล่นมากขึ้น

ข้อเสนอแนะ

  • การแสดงผลจากที่ฉายภาพผ่านโปรเจคเตอร์พัฒนาเป็นแบบ stereoscopic หรือระบบ VR ให้ผู้เล่นได้เข้าถึงและดื่มด่ำกับภาพที่ตัวเองสร้างขึ้น
  • พัฒนาให้สามารถวาดรูปภาพหรือระบายสีโดยไม่ต้องกำหนดรูปแบบของภาพเพื่อให้ผู้เล่นได้รู้สึกสนุกและเติมเต็มจินตนาการมากขึ้น
  • เพิ่มพื้นที่ในการเล่นรวมถึงลูกเล่นของระบบที่มากขึ้น