GithubHelp home page GithubHelp logo

zee2 / stereoflit Goto Github PK

View Code? Open in Web Editor NEW
28.0 2.0 0.0 807 KB

StereoFlit is an experimental Flutter embedder for StereoKit, the code-first Mixed Reality engine.

CMake 6.16% C++ 53.99% Dart 32.73% PowerShell 1.34% HTML 5.78%
dart flutter openxr stereokit

stereoflit's Introduction

StereoFlit

StereoFlit is an experimental Flutter embedder for StereoKit, the code-first Mixed Reality engine. StereoFlit allows you to run and embed a pre-bundled Dart+Flutter application as a worldspace UI layer within your StereoKit app.

Reqs

  • Flutter must be installed on your system in order to build Flutter bundles.
  • Build scripts are hardcoded to windows-x64-embedder. Hypothetically, this could run on any platform that the Flutter embedder can run on.

Setup

Run setup.ps1. It should build the flutter bundle, build the StereoKit app, and launch. If you're unfamiliar with how StereoKit's simulator controls work, check the docs here.

com.oculus.xrstreamingclient-20230205-200627_Trim.mp4

Status

There are some big lingering issues. Primarily...

  • Only the right hand is supported right now. Nick added some features to a recent preview build that will allow both hands to function correctly, but I haven't had time to add them yet. (Basically, it's tricky to keep track of individual pointers interacting with a single UI behavior, and the presence of the left hand can squash events from the right hand and get Flutter into a broken state!)
  • Ideally, the Flutter surface would animate and be pressed in/out by the finger. This requires some vertex shader magic I haven't had time to do yet
  • Obviously this workflow is terrible (separate Flutter project for every UI view, every UI view is its own engine, gross!)
  • ui_button_behavior seems to not like being offset from the UI surface. This makes having the Flutter view float in the air in front of the window break the button behavior
  • Ideally we'd have the window body not be there. However, in the current verison of StereoKit, the "empty" window visuals option breaks grabbing/manipulation.

stereoflit's People

Contributors

zee2 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

Watchers

 avatar  avatar

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.