17 comments

[ 5.1 ms ] story [ 61.0 ms ] thread
I just got an Oculus Rift and am dying to try my hand at making something of my own to experience with it.

Is A-Frame a tool I could use for this purpose?

This is a really amazing use of Web Components.
Austin McDaniel just gave an interesting talk at ng-conf where he demoed a visualization of an Angular4 app's architecture and component parts as a series of gardens populated with trees using A-Frame.

While not perhaps a very useful visualization, seeing A-Frame in use was great and now I need a VR capable rig!

(comment deleted)
Is this just a modern VRML?
Yes. Personally, I think VRML's biggest flaw was that it was ahead of its time.
So VRML's a 3D file format, and A-Frame's an entity-component JavaScript framework. Check out https://github.com/aframevr/aframe and you should be able to discern.
VRML both had node definitions and a scripting part, it's not just a 3D file format in the sense that it's not just describing 3d meshes but also how to interact with it.
True, but the interaction pieces were still part of the format, and probably limited in power. Though I'm a bit too young to have been experienced that era, so I don't fully understand the comparisons.

But I know today A-Frame has full access to JavaScript, DOM APIs, three.js, and Web so it's looking more towards building full stateful applications.

Can anyone comment on how this compares to Unity? I want to believe.
Surprisingly capable in terms of what you can do -- if you're willing to get your hands dirty and debug your way out THREE.js corners. Nonetheless surprising considering it's all JS running in the browser, and it definitely works.

Unsurprisingly immature in terms of ecosystem and support you should expect. Unsurprising considering WebVR isn't even a standard (yet), and browser support isn't mainline.

If you want to ship an app, it's not in the same ballpark as Unity at this point. But if you want to explore what Unity might look like if it was written in JS in the browser, give it a try.

This coming from someone who vehemently does believe.

Much younger obviously, but same entity-component architecture and dedicated to WebVR. A lot of components just like there are on the Unity Asset Store.
Unity is currently far more mature than A-Frame and WebVR. Products vs very small tech demos.

A-Frame integrates with webdev tooling - eg https://github.com/aframevr/aframe-react . Think HTML5 vs Flash.

A-Frame is pioneering, making architectural choices which may or may not pan out. Think Angular 1.

Neither WebVR nor UnityVR are currently usable on Linux. Think "I got my simple test scene to not core dump!". MacOS has almost nothing. Android has some support from both, and iOS less, but I'm unfamiliar with them. There's a lot of Windows-centrism in the current VR community - if someone says something "works", they likely mean on Windows, with android a distant second. Once upon a time, Microsoft would write MS-only non-standard web extensions... now Google and Mozilla are doing the writing for them.

So, I generally recommend: Unity on Windows for VR beginners and exploration; Unity or https://www.unrealengine.com/ (better Linux support) for more serious work. But there are other options. And for WebVR, Windows (or Android?), A-Frame for beginners, direct three.js for more serious work, and perhaps aframe-react for exploratory VR webdev.

Aside: And for a hypothetical never-met person who wishes to run a Vive with WebVR on Linux, there's also my https://github.com/mncharity/node-webvr-alt-stack ... but I didn't finish WebVR 1.1 and A-Frame support.