estrasnick / Augmented-Reality-Piano-Interface

Project for Stanford's CS 377M course. Augmented Reality Piano Interface.
4 stars 3 forks source link

Calibration and Spatial Accuracy (13SP) #1

Open austinchambers opened 8 years ago

austinchambers commented 8 years ago

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.

Xrave commented 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:

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

Xrave commented 8 years ago

image Sample layout of Galaxy Explorer. Interesting insights:

austinchambers commented 8 years ago

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?

Xrave commented 8 years ago

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.

austinchambers commented 8 years ago

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.