microsoft / MixedRealityToolkit-Unity

This repository is for the legacy Mixed Reality Toolkit (MRTK) v2. For the latest version of the MRTK please visit https://github.com/MixedRealityToolkit/MixedRealityToolkit-Unity
https://aka.ms/mrtkdocs
MIT License
6k stars 2.12k forks source link

Example Scene "Hub" #5348

Closed Cameron-Micka closed 5 years ago

Cameron-Micka commented 5 years ago

Describe the problem

When speaking with partners, ISVs, hackers, etc I've noticed the discover-ability of MRTK example scenes is pretty low. Many developers just want to build a single binary of the MRTK and experience all of the example scenes and functionality available to them.

Describe the solution you'd like

I propose that we build a MRTK "hub scene" that exposes users to all the available examples and launches them into the example (there should also be UI that can bring the user back to the "hub"). Unreal Engine 4 does a great job of this with their content examples: https://docs.unrealengine.com/en-US/Resources/ContentExamples/ExampleLevelOverview/index.html

We could even get fancy and load in the example scenes additively using @Railboy's new multi-scene tools, or just load singles in single mode.

Describe alternatives you've considered

We could use the scene launcher built by @ForrestTrepte: https://github.com/microsoft/MixedRealityToolkit-Unity/pull/689

cre8ivepark commented 5 years ago

Let's use Lars' Scene System. https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/SceneSystem/SceneSystemGettingStarted.html For the entry point design, we can use Playground's concept. (launcher objects on a table)

cre8ivepark commented 5 years ago

@Cameron-Micka I created a branch and added a new scene 'MRTKExamplesHub.unity' https://github.com/cre8ivepark/MixedRealityToolkit-Unity/tree/mrtk_development_ExamplesHub

It is a simple scene that contains touchable cubes. We can use MRTK Scene System to load/unload scenes. To reduce the cost for creating 3D model/icons for many example scenes, it would be better to use text only in the cubes. (currently placed dummy geometry). @Railboy Could you please help with setting up the Scene System? (e.g. OnTouchCompleted() of Hand Interaction Examples cube, load HandInteractionExamples scene. I guess each example scene also needs a back/home button)

2019-07-19 00_45_12-Unity 2018 4 2f1 Personal - MRTKExamplesHub unity - MRTK-GitHub - Universal Wind 2019-07-19 00_46_02-Unity 2018 4 2f1 Personal - MRTKExamplesHub unity - MRTK-GitHub - Universal Wind

We can use this HandInteractionTouch script's OnTouchCompleted() event to load other scene. 2019-07-19 00_52_33-Unity 2018 4 2f1 Personal - MRTKExamplesHub unity - MRTK-GitHub - Universal Wind

Railboy commented 5 years ago

@cre8ivepark Committed.

cre8ivepark commented 5 years ago

Work-in-progress. MRTKExampleHub1 2019-07-24 17_03_42-Unity 2018 4 2f1 Personal - MRTKExamplesHub unity - MRTK-Public-Microsoft - Univ

jwittner commented 5 years ago

Ping! Our sellers are getting hands onto HL2 devices and are wanting to show off the power of the device and the MRTK to customers. Our current plan is to crack a build of just the Hand Interaction demo, but would love if we had a version of the example HUB into MRTK proper and built off of GA.

Hoping for a status on if this is on the back burner or if it's still in progress?

Cameron-Micka commented 5 years ago

This is still in progress, but @cre8ivepark has an appx to share internally if you need a build asap.

cre8ivepark commented 5 years ago

Added to 2.1.0 release