google-ar / sceneform-android-sdk

Sceneform SDK for Android
https://developers.google.com/sceneform/develop/
Apache License 2.0
1.23k stars 604 forks source link

Please allow .obj or some other format. #122

Open arifullahjan opened 6 years ago

arifullahjan commented 6 years ago

Hi I need to display 3d model downloaded from server. It may be possible with the RenderableDefination to create a Renderable from an obj file but I just wanted to know if widely used 3d model formats such as obj etc. are going to be supported in sceneform anytime? Would appreciate that very much..

Or is it possible to generate sfb files ourselves. on server or in the app.

Thanks :)

malik-at-work commented 6 years ago

Yes you can create sfb files yourself via the plugin. Docs are at https://developers.google.com/ar/develop/java/sceneform/import-assets

arifullahjan commented 6 years ago

I mean... for example I let the users upload obj etc.. I can't use the plugin then?

malik-at-work commented 6 years ago

This is possible. The plugin just runs an executable via gradle to do the conversion, so you could run the same executable on your server. You would have to wrap this in a script yourself however. There was some discussion of this at https://github.com/google-ar/sceneform-android-sdk/issues/8

Marunizer commented 5 years ago

The reason I support this is in case you have an IKEA like app where you need to download many models at a time. It would be pretty nice downloading a bunch of small .drc files that decompress to .obj , rather than downloading a bunch of heavy .sfb files

ivstka95 commented 5 years ago

@arifullahjan @Marunizer have you found a solution? can you show me how to create RenderableDefinition from .obj file? I can't find any example or tutorial

sr1k3sh commented 5 years ago

Did any one solve it??

MrCsabaToth commented 5 years ago

Maybe this helps someone: you can perform the obj -> sfa + sfb conversion command line yourself. You just need to get hold of the convert and matc executables. You can find those in the SDK, or in the Sceneform Plugin installed for Android Studio, or if you have an app in hand and you perform a conversion and app build, you'll find the two named executables inside the app/build/sceneform_sdk/${yourplatform}/ directory within your app where yourplatform = linux | mac | windows. You can integrate these into your own pipeline, but reading the issues here you have to realize you must keep those in-sync with the SDK you use and the Sceneform library your app use, because binary formats can become incompatible. Mass conversion could be achieved with the same command line tools.