guillaumeblanc / ozz-animation

Open source c++ skeletal animation library and toolset
http://guillaumeblanc.github.io/ozz-animation/
Other
2.45k stars 301 forks source link

Android support ? #60

Closed Dzhange closed 5 years ago

Dzhange commented 6 years ago

I'm currently requiring a tool to import .fbx or .dae model on android, can ozz be used on android?

kylawl commented 6 years ago

The android NDK uses Clang and Ozz does compile with Clang so I see no reason it wouldn't work. There is no NEON support in the math library so it will fall back to the reference math implementation currently. Android studio seems to have some way of working with cmake projects here https://developer.android.com/ndk/guides/cmake

Dzhange commented 6 years ago

thank you for your help! By the way, does ozz suport blend shape for .fbx or .dae? it's really important function to me

guillaumeblanc commented 6 years ago

Hi,

I wonder though if fbx sdk is available on Android. I actually think it's not: https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2019-0

Are you sure you need to load fbx files from an Android platform? Unless your app requires that explicitely, I would rather go for a cross-compiling approach, as described here:

That would be much (1000x) times faster to load furthermore.

Cheers, Guillaume

Dzhange commented 6 years ago

Well...I just finished reading your Documentation, it seems like that Ozz can only import skeletons and animations from a model.. However I am looking for a tool which can load the whole model to a scene(including mesh and some morph animation).Sorry for put up this issue before read the doc.

By the way, I know it's beyond your responsibility but can you recommend a tool for me to load such model(.dae, .fbx or any format that is able to put on some morph animation)? I've tried assimp, but serious memory leak occured, so i'm looking for its alternative. And I think you guys must be expert in this field.

Any way, thanks a lot for your response!

guillaumeblanc commented 6 years ago

Hi,

Yes ozz is dedicated to skeletal animation and has no support for vertex morphing.

There's still a mesh importer (sample_fbx2mesh) in ozz that's used by the sample framework. Maybe it can be a good start if you wan't to import morphing from meshes, because it already implements a lot of things you'll have to do anyway (change coordinate system, merge/optimize vertices, import skining...). Up to you to judge that.

Maybe @kylawl will have another tool to recommend.

Guillaume

kylawl commented 6 years ago

We don't use the Ozz skeleton/animation importers. We have our own fbx processor that allows us to process and emit skeletons, anims, meshes and anything else we care to pull out of a file. This would include any morph data we might want to use.

As @guillaumeblanc suggests, I would use fbx2mesh as a jump point to add morphable models.

Dzhange commented 6 years ago

We don't use the Ozz skeleton/animation importers. We have our own fbx processor that allows us to process and emit skeletons, anims, meshes and anything else we care to pull out of a file. This would include any morph data we might want to use.

As @guillaumeblanc suggests, I would use fbx2mesh as a jump point to add morphable models.

Hi, what do you mean by "our own fbx processor" ? Can this processor be used on Android? I didn't see these functions in Ozz...

kylawl commented 6 years ago

I mean we have our tools for interpreting fbx scenes. It emits a combination of Ozz data structures and our own custom ones.

It does not work on Android and it still relies on the fbx sdk.

On Mon, Oct 29, 2018 at 10:28 PM zhang-ge notifications@github.com wrote:

We don't use the Ozz skeleton/animation importers. We have our own fbx processor that allows us to process and emit skeletons, anims, meshes and anything else we care to pull out of a file. This would include any morph data we might want to use.

As @guillaumeblanc https://github.com/guillaumeblanc suggests, I would use fbx2mesh as a jump point to add morphable models.

Hi, what do you mean by "our own fbx processor" ? Can this processor be used on Android? I didn't see these functions in Ozz...

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/guillaumeblanc/ozz-animation/issues/60#issuecomment-434176819, or mute the thread https://github.com/notifications/unsubscribe-auth/AEuP1ysNb5o2R39Xjhb0Yd9Kzg50CkSjks5up-OWgaJpZM4Xyvz- .

guillaumeblanc commented 5 years ago

Don't hesitate to reopen if you need help on this topic.