26/03/2024
วางแผนปรึกษาเรื่องโครงงาน ว่าใครมีหน้าที่อะไรบ้างเเละเเบ่งเป็นทีม ในส่วนของงานที่ได้รับมอบหมายคือ ส่วนของ Unity ฝั่งซอฟต์แวร์
แผนผังเเบบไม่ละเอียด ของหลักการทำงานของตัวระบบที่เราจะทำ (version 1)
และได้มีการไปช่วยออกแบบตัวหุ่นยนต์เพิ่มเติมโดยได้เป็นรูปแบบดังนี้
27/03/2024
วันนี้เป็นวันที่มีการวางแผนการทำงานที่ชัดเจนลงรายละเอียดหลักการทำงานมากขึ้น โดยทำเป็นแผนผังดังนี้ (version 2)
โดยมีการเปลี่ยนการส่งรูปภาพเป็น Video รวมถึง WebRTC
ได้มองเห็นภาพหน้าที่ของตัวเราในแผนผังที่ชัดเจนมากขึ้น โดยเป็นในส่วนของ การรับภาพจาก Webcam ให้ทำการโชว์ใน Unity
โดยในช่วงวันแรกจะศึกษาข้อมูลโปรแกรม Unity เป็นหลัก เนื่องจากไม่เคยใช้งาน Unity เลยทำให้ใช้เวลาในการศึกษาค่อนข้างนานโดยกินเวลาทั้งวัน
เว็บไซต์เกี่ยวกับพื้นฐานของ Unity : https://unity3d-thailand.blogspot.com/p/blog-page_63.html
และมีการได้ศึกษาเกี่ยวกับเครื่องมือ Quest 2 ว่ามีการเชื่อมต่อ setting ตัวเครื่องอย่างไรบ้าง ? โดยศึกษาจากเว็บไซต์และคลิปใน YouTube ที่สามารถเข้าใจง่าย
How to connect Quest 2 : https://youtu.be/kz33-7z_fM4?si=UtnEcn4u6ec3mwTq
28//03/2024
เริ่มมีการลงมือปฏิบัติในส่วนของการเชื่อมต่อ Quest2
โดยขั้นตอนแรกต้องมีการดาวน์โหลดแอพพลิเคชั่น Oculus : https://securecdn.oculus.com/binaries/download/?id=3552425908372122&access_token=OC%7C1196467420370658%7C
เมื่อดาวน์โหลดสำเร็จ ให้เลือกLinkโดยใช้สายและต่อสายเสียบกับซีพียูและอีกด้านเสียบกับส่วนหัวของQuest 2
หากเชื่อมต่อกันสำเร็จจะขึ้นว่า connected ในแอพพลิเคชั่น Oculus ( * หากยังไม่สามารถเชื่อมได้ให้ลองถอดสายแล้วเสียบใหม่พร้อมทั้งปิดแอพพลิเคชั่น Oculus)
ศึกษาเกี่ยวกับ WebRTC เบื้องต้น
เว็บไซต์เกี่ยวกับพื้นฐานของ WebRTC : https://webrtc.org/getting-started/firebase-rtc-codelab?hl=th
29/03/2024
เชื่อมต่อ quest2 เข้ากับ unity โดยขั้นตอนเเรกเริ่มจากการดาว์นโหลด Steam
Link for download Steam : https://store.steampowered.com/tags/en/Download?l=thai
ดาว์นโหลด Steam เรียบร้อยเเล้วให้โหลด Steam VR บนเเอป Steam
Link for download Stream VR :https://store.steampowered.com/app/250820/SteamVR/
ดาว์นโหลด Steam VR เรียบร้อยเเล้วให้โหลด Steam VR plugin บนเเอป เเละกดเปิดบน Unity
Link for download Stream VR Plugin : SteamVR Plugin | Integration | Unity Asset Store
การเชื่อมต่อ quest2 เข้ากับ unity เป็นผลสำเร็จ
1/04/2024
ศึกษาเพิ่มเติมเกี่ยวกับ WebRTC : https://riverside.fm/blog/webrtc-video-streaming
ศึกษาเพิ่มเติมเกี่ยวกับ FastAPI :https://fastapi.tiangolo.com/
2/04/2024
หลังจากการสืบค้นข้อมูลเเบะลองทำเกี่ยวกับ WebRTC เป็นเวลานานเเต่ไม่เป็นผลสำเร็จเนื่องจากองค์ความรู้ที่ไม่เพียงพอทำให้ไม่สามารถเข้าใจการทำงานได้จึง
ได้เปลี่ยนวิธีมาเป็น WebView เเต่เนื่องจากงบประมาณที่มีอยู่อย่างจำกัดจึงไม่สามารถซื้อได้
Link for download WebView : https://assetstore.unity.com/packages/tools/gui/3d-webview-for-android-and-ios-web-browser-135383
ทำให้เกิดการเปลี่ยนวิธีอีกครั้ง เป็นโชคดีที่มีการจัดงาน Project จบของรุ่นพี่ปี4พอดีจึงได้มีโอกาสเดินดูงานเเละสอบถามผู้รู้ (รุ่นพี่FIBOปี4) เเนะนำให้ใช้ OBS studio เเละ Spout ซึ่งส่วนตัวมีเพื่อนที่เคยใช้ OBS Studio จึงสามารถอธิบายเข้าใจได้ง่ายทำให้เลือกเปลี่ยนวิธีมาเป็นการใช้ OBS Studio เเละ Spout
เริ่มศึกษาเกี่ยวกับ Spout
เว็บไซต์เกี่ยวกับพื้นฐานของ Spout : https://spout.zeal.co
เริ่มศึกษาเกี่ยวกับ OBS Studio
เว็บไซต์เกี่ยวกับพื้นฐานของ OBS studio : https://obsproject.com/
3/04/2024
GitHub for KlakSpout : https://github.com/keijiro/KlakSpout?tab=readme-ov-file
Unity version 2022 มีปัญหา(TextureของตัวRecieverมีปัญหา) จึงต้อง Downgrade เวอร์ชั่นลงไปเป็น Unity version 2020
โดยขั้นตอนเเรกควรลง Steam VR plugin บนเเอป เเละกดเปิดบน Unityก่อน
Link for download Stream VR Plugin : SteamVR Plugin | Integration | Unity Asset Store
จึงค่อยมีการ install package เพิ่มเติมลงไปในไฟล์ manifest.json ของไฟล์หลักเรา ตาม Pattern
{
“scopedRegistries”: [
{
“name”: “General”,
“url”: “https://example.com/registry”,
“scopes”: [
“com.example”, “com.example.tools.physics”
]
},
{
“name”: “Tools”,
“url”: “https://mycompany.example.com/tools-registry”,
“scopes”: [
“com.example.mycompany.tools”
]
}
],
“dependencies”: {
“com.unity.animation”: “1.0.0”,
“com.example.mycompany.tools.animation”: “1.0.0”,
“com.example.tools.physics”: “1.0.0”,
“com.example.animation”: “1.0.0”
}
}
Pattern for install package : https://docs.unity3d.com/Manual/upm-scoped.html
เมื่อทำตามขั้นตอนบน GitHub ก็จะสามารถ install package ได้สำเร็จ จะมี2ตัวเลือกที่สามารถใช้ได้นั่นก็คือ Spout receiver เเละ Spout sender
ให้เลือกใช้ Spout receiver เนื่องจากต้องการรับภาพ
สรุปการทำงาน