- From: Leonard Daly <web3d@realism.com>
- Date: Thu, 24 Aug 2017 16:02:38 -0700
- To: public-decwebvr@w3.org
- Message-ID: <37f07426-8702-d42a-7239-86935abd3785@realism.com>
Forwarded from web-vr-discuss with permission.
It's funny that you sent this email now. I was just doing a summary on
what is the best way to get started with WebVR
<http://lensreality.com/how-to-get-started-with-webvr/> with an overview
of the different frameworks, so it was cool to read the opinions of so
many people in the community at once!
I do not think that one solution fits all, the choice of a framework
should be based on someone's experience and project. As I mention in the
article:find the framework that feels most comfortable to work with.
A-frame - if you are not very experienced with JS, it is a great place
to start with as it hides a lot of the complex logic of three.js. Once
you start building more complex experiments, though, you will need to
start using three.js. They have a great responsive community on slack
and twitter
React VR - perfect place to start if you have experience with React,
otherwise maybe go with the other options
Three.js - if you have significant experience working with JS libraries,
start with it as it will allow you to do more stuff and better
understand the logic behind what you are doing. Also, it has a great
community, extensive documentation, and many helpful examples
Babylon.js - similar to three.js but the main difference is that it was
specifically created for games. As they just recently added WebVR
support, there might be less WebVR developers currently using it (I
don't know any)
WebGL - Learning WebGL is hard but also a very rewarding job. It takes
years to perfect it, so if you want to get a VR prototype up and running
in the next few weeks, it's better to go with some of the already
mentioned frameworks.
Hope, it was helpful!
Have a great day!
Billy
Product Manager Creator Experience
www.coherent-labs.com <http://www.coherent-labs.com>
<http://t.signauxdix.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XZs7fcFhRW3LrccW5vwml6W1p7Y5W56dRvDf1RJsxC02?t=http%3A%2F%2Fcoherent-labs.com%2F&si=5323868319252480&pi=1ee05a1a-0601-4858-af06-f624a93676d4>
On Wed, Aug 23, 2017 at 10:41 AM, Chris Van Wiemeersch <cvan@mozilla.com
<mailto:cvan@mozilla.com>> wrote:
I'd recommend the following frameworks for building WebVR experiences:
• A-Frame – https://aframe.io/ (entity-component WebVR framework,
built atop three.js)
• LÖVR – http://lovr.org/docs/WebVR (scenes can be written in Lua
and executed natively, and packaged to WebVR using emscripten +
asm.js: http://lovr.org/share)
• Primrose – https://www.primrosevr.com/ (built atop three.js)
• three.js – https://threejs.org/examples/?q=webvr
<https://threejs.org/examples/?q=webvr> (underlying and here's a
good example of an open-source experience:
https://github.com/stewdio/day-and-night-webvr
<https://github.com/stewdio/day-and-night-webvr>)
• Babylon.js –
https://docs.microsoft.com/en-us/windows/uwp/get-started/adding-webvr-to-a-babylonjs-game
<https://docs.microsoft.com/en-us/windows/uwp/get-started/adding-webvr-to-a-babylonjs-game>
(WebGL engine, alternative to three.js)
• Vizor – https://vizor.io/ (easy WebVR content-creation tool +
hosting service)
• PlayCanvas – https://developer.playcanvas.com/user-manual/vr/
<https://developer.playcanvas.com/user-manual/vr/> (powerful WebGL
3D game engine with a custom WebGL engine, entity-component
framework, and hosting service)
• Hologram – https://hologram.cool/ (easy-to-use macOS native
application, built atop A-Frame)
IYCMI: Here's a case study of a recent experiment by Shopify built
using PlayCanvas:
https://medium.com/shopify-vr/building-a-vr-shopping-experience-for-the-web-tips-and-takeaways-shopify-4a8017d5f6f5
<https://medium.com/shopify-vr/building-a-vr-shopping-experience-for-the-web-tips-and-takeaways-shopify-4a8017d5f6f5>
On Tue, Aug 22, 2017 at 5:03 PM, John Carlson <yottzumm@gmail.com
<mailto:yottzumm@gmail.com>> wrote:
I don’t have a framework! Convince me to use yours instead of
THREE.js!
John
Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986>
for Windows 10
*From: *Sean McBeth <mailto:sean.mcbeth@gmail.com>
*Sent: *Tuesday, August 22, 2017 8:00 PM
*To: *James Baicoianu <mailto:james_mozilla@baicoianu.com>
*Cc: *web-vr-discuss@mozilla.org <mailto:web-vr-discuss@mozilla.org>
*Subject: *Re: [webvr] Choosing a graphics library/framework
Well, if we're naming off our own frameworks, then Primrose
<https://www.primrosevr.com>!
On Tue, Aug 22, 2017 at 7:28 PM, James Baicoianu
<james_mozilla@baicoianu.com
<mailto:james_mozilla@baicoianu.com>> wrote:
Don't forget JanusVR as well! Our JanusWeb client is also
built on top of Three.js, provides a declarative layer
similar to A-Frame, and like Babylon provides more entity
management and game engine functionality that's useful for
building larger interactive interconnected worlds.
https://web.janusvr.com/
-- James Baicoianu
On 8/22/2017 1:06 PM, Michael Chang wrote:
There's also ReactVR now which I haven't heard anyone
mention (or use).
On Tue, Aug 22, 2017 at 11:53 AM, Leonard Daly
<web3d@realism.com <mailto:web3d@realism.com>> wrote:
Hi John,
As others have pointed out, you are mixing different
technologies/layers here. The closest two being
THREE and Babylon.
From my perspective, you are trying to build a
Metaverse. That is a lot of content. As long as it
works, people (as in users) are not going impressed
with your underlying technology. So choose the
technology that males your work (and that of
user/developers) easy -- as long as it works.
WebGL is when you absolutely need it to run fast.
Unless you are going to write your own bower, this
is about as low as you can go. BTW, I put shaders
here. You probably want to have a decent library of
them so people don't have to write one.
THREE/Babylon are programmatic interfaces to WebGL
(there more than that, but it's a good first start).
Writing code at this level is much easier to manage
and maintain that WebGL code. If this is your
choice, all metaverse developers will need to use
one of these APIs -- meaning they will need to write
JavaScript code.
A-Frame is a semi-declarative language. It abstracts
some of the features of THREE into a declarative
language. If this is your choice, developers will
need to write HTML-like code (tags and attributes),
unless the particular desired feature is not
available. Then the developer will need to write
using the A-Frame API to THREE. (This is what makes
it semi-declarative.) Carefully check the A-Frame
documentation to make sure that it provides the
features you are looking for. Also note that A-Frame
is still in pre-release development (V0.6). Things
will probably change.
The W3C has a community group for Declarative VR
(https://www.w3.org/community/decwebvr/
<https://www.w3.org/community/decwebvr/>).
Membership is open to everyone. (I am co-chair). The
group is working on a fully declarative language. We
would like your inputs as you work through the
issues of what is needed for a declarative language
that will fully integrate with HTML, DOM, CSS, and
other W3C technologies. If you are interested, I can
provide further information as to my findings and
preliminary development.
Leonard Daly
On 8/22/2017 12:08 AM, John wrote:
Hi all!
I'm a recent CS grad who is convinced that WebVR
is going to play a major part in the development
of the Metaverse.
I've spent some time dabbling with three.js, but
I feel that it's time for me to choose to choose
between WebGL, three.js, and A-Frame; could
anyone give me a quick breakdown of the pros and
cons of each? I don't want to invest too much
time in learning something only to have it
superseded like Vulkan has with OpenGL.
Any tips would be greatly appreciated.
Cheers,
John Reynolds
--
*Leonard Daly*
3D Systems Architect & Cloud Consultant
President, Daly Realism - /Creating the Future/
_______________________________________________
web-vr-discuss mailing list
web-vr-discuss@mozilla.org
<mailto:web-vr-discuss@mozilla.org>
https://mail.mozilla.org/listinfo/web-vr-discuss
<https://mail.mozilla.org/listinfo/web-vr-discuss>
_______________________________________________
web-vr-discuss mailing list
web-vr-discuss@mozilla.org
<mailto:web-vr-discuss@mozilla.org>
https://mail.mozilla.org/listinfo/web-vr-discuss
<https://mail.mozilla.org/listinfo/web-vr-discuss>
_______________________________________________
web-vr-discuss mailing list
web-vr-discuss@mozilla.org <mailto:web-vr-discuss@mozilla.org>
https://mail.mozilla.org/listinfo/web-vr-discuss
<https://mail.mozilla.org/listinfo/web-vr-discuss>
--
*Sean T. McBeth*
Principal
www.primrosevr.com <https://www.primrosevr.com/>
_______________________________________________
web-vr-discuss mailing list
web-vr-discuss@mozilla.org <mailto:web-vr-discuss@mozilla.org>
https://mail.mozilla.org/listinfo/web-vr-discuss
<https://mail.mozilla.org/listinfo/web-vr-discuss>
_______________________________________________
web-vr-discuss mailing list
web-vr-discuss@mozilla.org <mailto:web-vr-discuss@mozilla.org>
https://mail.mozilla.org/listinfo/web-vr-discuss
<https://mail.mozilla.org/listinfo/web-vr-discuss>
--
*Leonard Daly*
3D Systems Architect & Cloud Consultant
President, Daly Realism - /Creating the Future/
Received on Thursday, 24 August 2017 23:02:59 UTC