[Mesh] Extend the supported platforms of alembic

I’m not sure if this is (technically) easy, but it’d be nice to allow using alembic on more platforms (mobiles).

A common way is to use textures (VATs) to store vertex information and recover it in vertex shader. This workflow is complex and only supports constant numbers of vertex.

As for the file size, I think we users will limit the mesh complexity based on the target devices. The MICH-L (HDRP Cinematic Sample) uses alembic for small VFX and the size of the largest one is 3.22MB.

1 Like

Second it at least for a Grooming alembic assets for strand-based hair…

1 Like

I suppose this also makes the new hair system more useful on other (mobile) platforms.

1 Like

Hi, we are aware currently that Alembic package wasn’t aiming mobile platform, thus why it is not simple to build it on those platofrms. In addiction alembic is very slow and may really not be a good fit for those platforms. That said, it is still a topic under consideration, but we don’t have any short term plan.

1 Like

Thanks for the clarification. At least we’ve confirmed that the new hair system doesn’t require alembic support in build .

Maybe this can be reconsidered in the future.

1 Like

Indeed, Alembic is mostly used as an interop format for hair, as it would be too expensive for the runtime.

Alembic contains a lot of third party C++ native libs not compatible by default with mobile, and porting+maintaining on every platform needs work.

Moreover, in our experience (internal and external studios), even on PC, Alembic’s cost is prohibitive and very often ends up being replaced with a more dedicated system when it comes to production. The top requirement is for interop and offline cinematics, and this is why we added to Mich-L to showcase that usage (mostly for learning purpose), while keeping it small because we wanted to Mich-L to still run in real-time but we would have not used this for an interactive content on mobile.

Note that if you have a specific usage in mind with specific target hardware, you could try building Alembic for your target platform since you have access to the package. We did some tests internally, and for iOS it was quite fast to get a first version up and running.

2 Likes

VATs are cool, before I knew of this I ended up converting the alembic to seperate meshes, which worked fine on a Quest2. GitHub - snorulf/FlipBookMeshBaker: Tool to bake Alembic data to mesh assets

1 Like