Giter VIP home page Giter VIP logo

mrtk3-iet-tutorials's Introduction

Mixed Reality Toolkit 3 in-editor tutorials

MRTK3 in-editor tutorials banner that showcases the Bounds Control, Buttons, Hand Menu, and Object Manipulator features in four corners of the image, starting from top left to top right.

The MRTK3 in-editor tutorials guide you through each step of the way to build your first MRTK3 application in a beautiful aquarium.

Getting Started with the MRTK3 in-editor tutorials

  1. Install Unity 2021.3.4f1
  2. Clone this repository to your computer.
  3. Open the cloned project "MRTK3-iet-tutorials" with Unity 2021.3.4f1.
  4. You should see a Tutorials window on the right side of your screen that contains a list of seven tutorials. If not, on the menu bar, select Tutorial > Show Tutorials.
  5. In the Tutorials window, select the tutorial you want to proceed with.

Tutorials

Preview the Project

An aquarium scene that consists of sea coral, sea grass, and rocks surrounding the environment. A boat is placed into the sand in the back right corner. A treasure chest is placed in the middle of the aquarium. A hide toggle button is to the right of the treasure chest.

Learn about the various solutions for previewing scenes without compiling and deploying projects to a XR device.

How to use MRTK Input Simulation

A pair of simulated hands displayed next to one another. A ray is placed in front of each hand.

Learn how to simulate input directly into the Unity editor with MRTK In-Editor Input Simulation.

Object Manipulator

An aquarium scene with coral, rocks, and sea grass. In the middle of the aquarium is a simulated hand that is grabbing a treasure chest.

Move and manipulate objects with one or two hands with a wide variety of input modalities.

Bounds Control

An aquarium scene with coral, rocks, and sea grass spread around the tank. A coral is in the middle with a bounding box surrounding it's shape.

Intent feedback and precision manipulation affordances.

Canvas Button

An aquarium scene with coral, rocks, and sea grass around the tank. A Seahorse is in the middle of the tank. To the right of the sea horse is a toggle button that has a seahorse icon.

A volumetric button optimized for a wide range of input modalities.

Canvas Button bar

An aquarium scene with sand and a boat sticking straight up in the middle of the tank. At the front of the tank is a button bar that says coral, sea grass, rock, and boat.

A volumetric button bar optimized for a wide range of input modalities.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

mrtk3-iet-tutorials's People

Contributors

aprilspeight avatar cheles avatar maxwang-ms avatar microsoftopensource avatar vtieto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mrtk3-iet-tutorials's Issues

Documentation: Link to a referenced "module" in Get Started is missing

The tutorial's Get Started final step has a reference to Preview Scenes module. This module is not linked. The documentation needs to provide a link if this is a supported feature.
UPDATE:
The documentation is not clear. In fact, the Preview Scenes is a step in the second tutorial of this project. This should be made clear in the tutorial documentation.

Prioritize the tutorials we ship

Currently there are 7 tutorials we have:

  • Input Sim
  • Object Manipulator
  • Bounds Control
  • Button
  • Volumetric UI
  • Dialog
  • Theming

Given Dialog will go through a major refactor soon and theming is still in its early preview stage, I would propose we postpone releasing those two modules. I suggest we add a module that is even more basic than the input sim one (mentioned in #11) as well as add modules for in editor remoting and deploying the app to device.

We don't need to get the remoting and deploying modules ready for the first release, but I hope we do one for #11, whether as its own module or as a part of the input sim module.

Incorrect Unity Editor Version in README.MD

When cloning and opening the project in the unity hub, you are prompted to install version 2021.3.28f1 of Unity, even if you have 2021.3.4f1 installed. README.MD should likely be updated to reflect this.

image

MRTK3 welcome popup text is outdated/MRTKv2

image

We should refer to this as MRTK3, not MRTK-Unity. In addition, OpenVR doesn't exist anymore, Ultraleap is misspelled (but also is not really an XR platform?)

This popup should be updated to be more relevant to MRTK3 and its focus on OpenXR.

Simulated hands are not a "pattern of cubes shaped to indicate a hand"

image

The cubes seen are actually the hand joints, and they are not unique to input simulation. They are the actual hand joint data that is provided to the interaction system.

Also, the cubes will not be visible in-editor in the next/upcoming MRTK3 release, so this will need to be removed/edited, along with the image.

Input simulation tutorial uses MRTKv2 terminology

image

Pointers do not exist in MRTK3. Some terminology:

  • Ray interactor: the interactor that shoots a ray out into the scene to provide far interaction
  • Reticle: the visual indicator at the end of the ray
  • Select: the generic term for the primary action from an interactor used to manipulate an object or click a button

Bounds Control Tutorial Step 4 Next Button Issue

Bounds Control Tutorial Step 4 Next button is still disable after completing the instruction.

image

I completed the instruction as described. Select Coral game object then add BoundsControl component but the Next button is still disabled.

NOTE: the Play Mode is not running

Coral is way too far away from the user to be useful with BoundsControl

image

BoundsControl is intended to be used at near-to-medium distances (with the current sizing/prefab setup). At very far distances like this tutorial (4 meters away) it doesn't work well. Recommendation; move corals much closer to user (and make smaller!)

Normal appearance with smaller objects + closer distances:

image

Start the tutorial with non-input-sim mouse-based interaction module

MRTK3 ships with the CanvasProxyInteractor which allows users to interact with buttons, bounds controls etc. in the scene without using a simulated hand/controller. I think demonstrating that would be a great starting point. We can order the existing input sim tutorial as the second one in the list. Or we can add this to the existing input sim tutorial.

Optimize content for AR and VR

Currently the content seems to be designed more for VR than AR (the dome ceiling, the shadow, etc.). We need to make sure the tutorial is deployable to AR and VR devices while achieving a 60fps framerate.

Scene not visible in Play Mode

Scene preview looks fine.
In tutorial: Mouse-Based Interaction, Step 2, when pressing play the Game view just turns black. WASD does not do anything either.
Unity 2021.3.22f1 Personal DX11.

None of the example programs work on the quest

I just want to use the old demo from mixed reality demo but even that is broken. Why was the import examples removed from the Mixed Reality Feature tool in favor of this tutorial for MRTK3??

Assets\Scripts\TutorialCallbacks.cs(3,28): error CS0234: The type or namespace name 'Editor' does not exist in the namespace 'Unity.Tutorials.Core' (are you missing an assembly reference?)

BoundsControl handles aren't supposed to be only enabled through the inspector

image

This part of the tutorial seems to imply that the developer has to check the box to enable handles on the BoundsControl. Instead, it's designed so that the user can quickly pinch/click/select/etc the object during runtime and it will enable/disable the handles without any editor tooling.

The checkbox is only meant for developers to be able to control the handles either from some external script or just to specify that the handles should start active, rather than needing the pinch action.

Aquarium Tutorial : Coral Instantiate seems to return Null : no objects spawned

Hi,

Testing the aquarium tutorial (Unity 2021.3.25f1, VS 2019) with Hololens2, when I try to experiment the "CanvasButtonBar" adding Spawner to the Coral button, nothing happens in the play mode. No error in unity. Button is well configured as described in the tutorial
Capture d’écran 2023-12-11 201628

I tried to debug through VS and saw that the Instantiate method

 public void SpawnCoral()
    {
        Vector3 position = new Vector3(.19f, 0, .7f);
        Instantiate(coral, position, Quaternion.Euler(0, 180, 0), parent);
    }

is doing nothing. Did I miss something?

Build gradle failed when deploying to Quest 2?

image

I tried using OpenXR and Oculus in the XR plugin management to build this project as is with no luck. I then tried downloading the Oculus integration and generating an Android manifest with no luck in a successful build.

image
Those are the OpenXR settings for android, which are missing the Motion Controller Model option for some reason?

image
And also the MRTK utilities don't show an option to integrate oculus?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.