บทเรียนสำหรับการพัฒนาเทคโนโลยีโลกเสมือน VR หรือ Virtual Reality ด้วย Unity 3D เพื่อใช้งานร่วมกับ Google Cardboard แว่น VR Handmade ของ Google กับ SDK ของมัน
สำหรับบทเรียนนี้คือการทำ VR หรือสภาพแวดล้อมบนโลกเสมือน แปลตามตัวคือ Virtual Reality ใกล้เคียงกับ Augmented Reality (AR) เพียงแค่ VR ไม่ต้องมีการ Connect กันเท่านั้นเอง ไม่ว่าจะเป็น VR หรือ AR ภาษาอังกฤษนั้นใช้คำว่า Reality แปลว่า “เสมือน” หรือการจำลอง ดังนั้นฐานศัพท์ “โลกเสมือน” กับ “โลกของความเป็นจริง” นั้นอธิบายก็คงจะเข้าใจกัน คงไม่มีมนุษย์คนไหนไม่เข้าใจคำนี้
(ก่อนหน้านี้เคยอยู่ บริษัทเอกชนแห่งหนึ่ง อธิบายคำนี้ไป บอกไม่ชอบเลยไปเปลี่ยนเป็นว่า “ชั้นข้อมูล” ซึ่งศัพท์คือ Data Layer ครับเถียงก็โดนด่า – สะท้อนวิสัยทัศน์คนได้ดีเลย)
สำหรับบทเรียนนี้ เราจำเป็นต้องมี อุปกรณ์มาช่วยเหลือเล็กน้อย สำหรับผมก็ใช้วิธีการแบบ Low Cost ครับ
เมื่อเราได้แว่นตามาละ (กี่วันก็รอไปนะ) ก็เปิดโปรแกรม Unity 3D ขึ้นมาครับสร้าง New Project มาใหม่เลย
ไปดาวน์โหลดชุดพัฒนา Google Cardboard สำหรับ Unity กันครับที่เว็บไซต์
ดาวน์โหลดมาไว้ในเครื่องคอมพิวเตอร์ของเราครับ กลับไปที่โปรแกรม Unity ให้ไปเลือกเมนู Asset -> Import Package -> Custom Package
เลือกที่อยู่ไฟล์ Unity Package ของเราได้เลย
ทำการ Import ถ้าเสร็จแล้วให้เราลองเปิด DemoScene ใน Cardbard -> DemoScene -> DemoScene ทดสอบดู โดยการ Build ลงในสมาร์ทโฟน Android นะครับ
(อันที่จริงเทสในเครื่องคอมพิวเตอร์ก็ได้)
ทีนี้ลอง New Scene ใหม่ขึ้นมาครับ หา Asset Store พวก Terrain Asset ใส่ลงไปประกอบฉาก
หา Prefabs ใน Cardboard ที่ชื่อว่า CardboardMain ใส่ลงไปครับ
เอา Prefabs ที่ชื่อว่า CardboardMain ไปวางลงที่ Hierarchy ได้เลยครับ เมื่อวางได้ตำแหน่งแล้วให้ทำการทดสอบกันหน่อย กด Play เกมของเราครับ ที่ Game Scene ให้กดปุ่ม Alt ค้างไว้ แล้วเอา Mouse คลิกแล้วเลื่อนมุมมองได้เลยครับ
เป็นอันเรียบร้อยครับ ทีนี้ก็น่าจะได้การเริ่มต้นที่ดีสำหรับการพัฒนาเทคโนโลยี VR หรือ Virtual Reality แล้ว อยู่ที่ว่าจะใช้งานยังไงต่อไป อาจจะเอาไปเป็นบทเรียนเทอมที่สอง ของ สาขาการออกแบบเชิงโต้ตอบและพัฒนาเกม ที่มหาวิทยาลัยธุรกิจบัณฑิตย์ ครับ เพราะต้นทุนต่อ Labs ไม่แพงมาก
ของเล่นเยอะนะเด็กสมัยนี้เนี่ย!
บทความต่อไปการเขียนฟังก์ชันเดินในโลก VR
ฟังก์ชัน Walk() การเดินหน้าใน VR บน Unity 3D และ CardBoard