Arcore-android-sdk: Could Google create a standard SceneGraph like the iOS SceneKit as an alternative to 3rd party libs or enormous envirnonments like Unity and Unreal

Created on 12 Oct 2017  ·  15Comments  ·  Source: google-ar/arcore-android-sdk

It seems like either you have to do either
1) low level openGl stuff, (Huge effort to learn)
2) use a third party OpenGL Scene graph or (Big effort to learn the api of a random third party lib)
3) you have to use the huge Unity or Unreal game enginge environments. (huge cumbersome environments with a million things you need to learn)

After having experimented with ArKit togeather with SceneKit on IOS i must say the developer ergonomics for doing basic to medium level things is far far better on the IOS platform than on the Tango or ArCore platform.

A default SceneGraph library for Android similar to SceneKit would be very helpful.

feature request

Most helpful comment

It would be really helpful if Google would shed some light and some clarity on their direction here.

Yes, it seems clear that they've "washed their hands" of Sceneform. They open sourced it but without any real attempt to foster a community or get it rolling -- so it's effectively dead unless/until this happens.

What's not clear is why and where they're going from here.

  1. What's the future of Filament? It looks like Google put some serious effort into this renderer (and is still making lots of commits to it) and covered all the important bases except DirectX/D3D (which unless I'm missing something isn't _really_ covered by Filanment covering Vulkan for Windows/UWP devices that are locked down such that you can't install Vulkan drivers, e.g. it doesn't seem to address a locked down Hololens).
  2. What's the vision for a higher-level Java/Kotlin scene graph API if it's not Sceneform? Is there one? Or is it that everyone should just give up on any path other than using Unity or Unreal?

This is doubly confusing to me as Sceneform was the "easy button" wrapper API on top of Filament. Now that's dead. So does Google intend to deliver no easy button API? Or is Filament the wrong base technology? Or...?

All 15 comments

Thanks for the feedback. We've heard this feedback from several other sources. Are there aspects of SceneKit that you find especially valuable in the context of AR? Is there anything that you wish was part of that package but isn't?

@nathanmartz except for the annoying SceneKit-prefix "SCN" in front of everything it has a very intuitive way to set up a tree of nodes, textures, lights, and animation. You can program a moving solar systems in a few lines of code. This means you can do a whole lot of basic to medium level 3d-graphics with a very small investment and no third party stuff. Sure if you are going to create a huge game environment with tons of game assets and very high end effects, then Unity or Unreal environment will be worth the hassle and be more convenient in the end. But for the typical case it is really overkill and a cumbersome development setup.

Hi @janerivi, my company Viro just launched ViroCore, a SceneKit for Android. If you peruse our documentation (or Javadoc) I think you'll find it suits your needs -- you describe scenes at a high level in Java, without having to learn the ins and outs of a game engine or fuss around with rendering algorithms directly in OpenGL.

Give it a try if you're still looking. It has built-in integration with ARCore, GVR, and Resonance audio, and its rendering feature-set is equivalent to SceneKit (with the exception of PBR, which is coming by year end).

Hi, @radvani, thanks for your answer, i think, you saved my day (or life) :)

The Tango examples used the Rajawali library (https://github.com/Rajawali/Rajawali), which works quite well for most basic features.

I strongly agree it. I think many developers aren't familiar with OpenGL, if they have to use the Android SDK, it's horrible to render the 3D model and other operations.

Rajawali is no match for Scenekit in iOS, tons of efforts need to be done.

Take a look at http://gearvrf.org and https://github.com/Samsung/GearVRf. Loads many file formats, resonance audio extension, bullet physics extension, open-source and royalty fee. We'll add an example with ARCore in the coming weeks.

Sceneform to the rescue... #Closed

@fxsalazar You beat me to it 🙂.

@inio Months waiting for this................!!!!!! 🤓

Okay, so SceneForm to the rescue, but...

What does one use on Android devices that don't support ARCore? What about VR usages? Where's the grand-unified-theory easy-button that works on all recent Android devices, e.g. Android 5 and up for both VR and AR?

Or am I missing something and sceneform is that?

Ah, it seems that the SceneView class now solves this for Android 7+ as long as the device supports OpenGL 3.1.

Sceneform to the rescue... #Closed

And it's gone!
Well, technically Google only discontinued support and made it open source, but that's a euphemism for it's dead, imho.

ViroCore also looks kind of low on support with the last commit mid of May.

It would be really helpful if Google would shed some light and some clarity on their direction here.

Yes, it seems clear that they've "washed their hands" of Sceneform. They open sourced it but without any real attempt to foster a community or get it rolling -- so it's effectively dead unless/until this happens.

What's not clear is why and where they're going from here.

  1. What's the future of Filament? It looks like Google put some serious effort into this renderer (and is still making lots of commits to it) and covered all the important bases except DirectX/D3D (which unless I'm missing something isn't _really_ covered by Filanment covering Vulkan for Windows/UWP devices that are locked down such that you can't install Vulkan drivers, e.g. it doesn't seem to address a locked down Hololens).
  2. What's the vision for a higher-level Java/Kotlin scene graph API if it's not Sceneform? Is there one? Or is it that everyone should just give up on any path other than using Unity or Unreal?

This is doubly confusing to me as Sceneform was the "easy button" wrapper API on top of Filament. Now that's dead. So does Google intend to deliver no easy button API? Or is Filament the wrong base technology? Or...?

Was this page helpful?
0 / 5 - 0 ratings