บันทึกการปฎิบัติงานประจำวัน โครงการ 2B-KMUTT รุ่นที่ 18 โดย กวิสรา ชาตะมีนา

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 เนื่องจากต้องการรับภาพ

สรุปการทำงาน