Open austinchambers opened 8 years ago
Calibration Notes. Xiaonan and Liu on 5/15:
Calibration Question 1: we know that hololens have the drag to move holograms that we can shove on things, can we program app as that? Answer: No. A hand built unity solution is required.
We'll consult Galaxy Explorer (https://github.com/Microsoft/GalaxyExplorer) for more information.
Further analysis of Galaxy Explore shows the following:
Assets\Scripts\Input\
has the folowing useful classes: Button.cs
, GazeSelection.cs
, InputRouter.cs
, Tool.cs
(tools such as zoom/flip/place etc.)The conclusion is that the placement methodology should be used for the entire project after it is completed, not before any objects are on screen. However, there should be efforts to design space for a control locking solution like PlacementControl.cs to allow for arbitrary interfaces to temporarily hold the attention of the entire app.
Further Readings: https://developer.microsoft.com/en-us/windows/holographic/world_anchor_in_unity (world anchor can allow us to remember where the piano is and anchor it's position in relation to all of this)
This post is somewhat relevant to all the other issues as well that contain input. #7 #2 #4
Sample layout of Galaxy Explorer. Interesting insights:
we know that hololens have the drag to move holograms that we can shove on things, can we program app as that
Maybe I misunderstand the above, but the 101E tutorial covers placement as the first step. You can click and drag holograms dynamically, so that seems very possible for us. Or are you referring to automatic placement onto a detected piano?
It's a terminology issue. "holograms" are refering to static Hologram app on the Windows Holographic OS where you can shove things like planes and whales into random places. The Unity app (our app) however runs as a standalone that blows away all other holographic apps. It cannot be a hologram.
OK, so terminology aside. The present solution in the repository (in master) allows us to place a custom object in a spatially fixed location, then to move it again, if desired. So it looks like we're on the right track.
Goal: Ensure that the virtual piano is mapped accurately onto the spatial piano. This ensures accurate placement of supporting objects and accurate key highlighting. Useful reference: https://developer.microsoft.com/en-us/windows/holographic/spatial_mapping
Approach: Whatever it takes to ensure the above. We expect, at a minimum, (1) key width specification and (2) piano designation is required.