Hololens spawn cube + debug screen

กลับมาแตะ hololensอีกรอบ แบบหลงๆลืมๆ

1. new project on Unity5.6.5f1

2. import holotoolkit

https://github.com/Microsoft/MixedRealityToolkit-Unity/blob/master/External/Unitypackages/HoloToolkit-Unity-v1.5.6.0.unitypackage

3. Drag-drop HololensCamera,InputManager,Cursor

4.Code for spawn cube when airtap

ตรง inherit IInputClickHander, กับ เรียก PushFallbackInputHandler นี่สำคัญ ถ้าไม่ใส่  จะ airtab ไม่ติด

5. Create UI Image เพื่อสร้างขอบกำหนดระยะที่ hololensจะแสดงผล
ถ้าลองRemote Hololens แล้ว Run ดู จะเห็นว่า Display=1280*720

ตรง Canvas > Render mode = Screen space – camera แล้ว canvas จะ lock ติดจอ

ลองกำหนด ขนาด image หลายๆค่า สรุปว่า ขอบที่ width = 50 ตอน remote ดูแล้วจะมองไม่เห็น หรือเห็นเป็นเส้นลางๆ
(ถ้าcaptureมา มันจะเห็นครึ่งนึง แต่จริงๆแล้วมองด้วยตาไม่เห็นเยอะขนาดนั้น)

เลยใช้ width=55 เพื่อตอนเล่นจะได้เห็นระยะว่า กล้องมันจับภาพ/แสดงผล ช่วงระยะไหน

** พอลอง deploy ดู เห็นขอบเต็มๆเลยอ่า..เลยใช้ค่าที่ 25

6. Create UI Text อันนี้เอาไว้ แสดงผล ตอนเราใช้ Debug.Log();

7. Code for show DebugLog

อย่าลืมลาก textbox UI มาใส่ที่โค๊ดนี้ใน hierarchy

8. ก็จะได้ output ประมาณนี้

โค๊ดนี้ พอเรายกนิ้วขึ้น cursor จะไม่ขึ้น, cursor จะโชว์ตอนที่ gazeเราไปชนกับ cube เท่านั้น
คิดว่าเป็นเพราะไม่ได้ใส่ SpatialMapping prefab ไปใน hierarchy ก็เลย ไม่รู้ตำแหน่งที่gazeไปชนกับ object(mesh) ก็เลยแสดง cursor กลางอากาศไม่ได่