All Projects → maluoi → StereoKit-PaintTutorial

maluoi / StereoKit-PaintTutorial

Licence: MIT license
Source for a Mixed Reality inking tutorial using StereoKit and C#!

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to StereoKit-PaintTutorial

prismatic
Prismatic is a declarative JS library for creating 3D content for the Helio browser.
Stars: ✭ 35 (+75%)
Mutual labels:  vr, ar, mr
YUXI-Mixed-Reality-Hardware-Toolkit
YUXI: The Mixed Reality Hardware Toolkit makes it easier to get started bridging the physical and digital using sensors and actuators to create interactions with VR/AR/MR content.
Stars: ✭ 21 (+5%)
Mutual labels:  vr, ar, mr
Dxr
DXR is a Unity package for rapid prototyping of immersive data visualizations in augmented, mixed, and virtual reality (AR, MR, VR) or XR for short.
Stars: ✭ 134 (+570%)
Mutual labels:  hololens, vr, ar
Openbrushvr
Unity VR & AR Painting in 3d space for the Vive and Tango and ARKit
Stars: ✭ 180 (+800%)
Mutual labels:  vr, ar, painting
Stereokit
An easy-to-use mixed reality library for building HoloLens and VR applications with C# and OpenXR!
Stars: ✭ 195 (+875%)
Mutual labels:  hololens, vr, ar
awesome-3d
Awesome list of 3D resources. AR/MR/VR is the future, and 3D model is the basics of all of them.
Stars: ✭ 42 (+110%)
Mutual labels:  vr, ar, mr
Spatial Computing
Samples showing how to use Azure and AI services in Mixed Reality projects
Stars: ✭ 63 (+215%)
Mutual labels:  hololens, vr
Ecere Sdk
Ecere SDK (eC Language, Ecere IDE, Cross platform GUI, graphics, and more) — http://ec-lang.org —
Stars: ✭ 244 (+1120%)
Mutual labels:  hololens, vr
awesome-webxr
All things WebXR.
Stars: ✭ 117 (+485%)
Mutual labels:  vr, ar
lvr
👓 Augmented Reality for everyone - Out of the world experiences
Stars: ✭ 92 (+360%)
Mutual labels:  vr, ar
UnityPlugin
Ultraleap SDK for Unity.
Stars: ✭ 447 (+2135%)
Mutual labels:  vr, mr
StyleSight
Browser based 'real-time' AR 'fast' neural style transfer using tensorflowjs
Stars: ✭ 15 (-25%)
Mutual labels:  vr, ar
WebSight
Aiding the visually impaired through real time augmented reality, AI object detection, WebGL shaders effects such as edge detection, and colour adjustments.
Stars: ✭ 26 (+30%)
Mutual labels:  vr, ar
V2R
Code for our IJCAI 2020 paper: "Keep It Real: a Window to Real Reality in Virtual Reality".
Stars: ✭ 20 (+0%)
Mutual labels:  vr, ar
Ar Vrcourse
VR,AR,MR 开发入门教程
Stars: ✭ 298 (+1390%)
Mutual labels:  hololens, vr
VR-for-VLC
VR for VLC base on HoloLens ,3D video player ,VR on Hololens
Stars: ✭ 21 (+5%)
Mutual labels:  hololens, vr
scenery
Flexible VR Visualisation for Volumetric and Geometric Data on the Java VM, powered by Kotlin and Vulkan
Stars: ✭ 107 (+435%)
Mutual labels:  vr, ar
emscripten-webxr
WebXR library for use with Emscripten.
Stars: ✭ 21 (+5%)
Mutual labels:  vr, ar
Three.ar.js
A helper three.js library for building AR web experiences that run in WebARonARKit and WebARonARCore
Stars: ✭ 2,702 (+13410%)
Mutual labels:  vr, ar
Polymer
🎨 graphics + interaction engine
Stars: ✭ 243 (+1115%)
Mutual labels:  vr, ar

This is a demo application, and introductory tutorial for StereoKit aimed at introducing people to the basics of how to draw and interact with Mixed Reality content! It just so happens that "inking" is a relatively straightforward thing to code, and is pretty fun at the same time.

You'll find out how to create a core application loop, radial hand menus, easy window menus with automatic layout, object-based menus with more explicit layouts, and file pickers. You'll also see how easy it is to draw models, lines, and interact directly with your fingers!

While I could have gone wild on adding features, this project is intended as a readable, easy to understand learning resource! It's an example of how to do things, and a good starting point for those that might be interested in creating a similar feature for themselves. It's not meant to be an exhaustive or fully featured product.

Pre-requisites

This project uses:

This project uses StereoKit to render and drive this as a Mixed Reality application, which allows us to run on HoloLens 2 and VR headsets! That's all that's in here besides the tutorial code :)

Project Layout

Since this is a pretty simple tutorial, there's not a lot of files here! But there are some things to make note of. This solution uses a 2 project setup: one is .Net Core, and one is UWP. Different projects support different features and targets, and I often switch between them based on what I'm working on.

  • .Net Core Project
    • WMR VR Desktop
    • Flatscreen Desktop
    • Leap Motion articulated hands
    • No compile time
  • UWP Project
    • HoloLens 2 + articulated hands
    • WMR VR Desktop
    • Flatscreen Desktop
    • Controller simulated hands
    • Some compile time

The project consists of only 3 code files, and a few art assets! The code aims to be very readable, and is also rich with comments to explain less intuitive items.

  • Program.cs
    • This contains the application logic, the hand menu, and the application menu! It's a great place to start, since the application menu ties everything together.
  • PaletteMenu.cs
    • This is a menu that controls painting options. It's mostly composed of a built-in UI elements, but also illustrates how to use StereoKit's layout and interaction tools to create your own.
  • Painting.cs
    • This class encapsulates the idea of the finger painting itself! It manages hand input, and converts it into 3D lines. It also is responsible for saving and loading painting files. You can find use of StereoKit's Hierarchy system here as well.

Questions or problems?

If you've got questions about how this works, or how to get it running, let me know over in the Issues tab! Alternatively, you can find me online over on Twitter - @koujaku, feel free to send me a note there too!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].