Search Unity

Feature Request [Mesh] Extend the supported platforms of alembic

Discussion in 'Graphics Dev Blitz Day 2023 - Q&A' started by wwWwwwW1, May 24, 2023.

  1. wwWwwwW1

    wwWwwwW1

    Joined:
    Oct 31, 2021
    Posts:
    766
    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.
     
    ABNV09 likes this.
  2. linosia97

    linosia97

    Joined:
    Jul 8, 2018
    Posts:
    34
    Second it at least for a Grooming alembic assets for strand-based hair...
     
    wwWwwwW1 likes this.
  3. wwWwwwW1

    wwWwwwW1

    Joined:
    Oct 31, 2021
    Posts:
    766
    I suppose this also makes the new hair system more useful on other (mobile) platforms.
     
    linosia97 likes this.
  4. SebLagarde

    SebLagarde

    Unity Technologies

    Joined:
    Dec 30, 2015
    Posts:
    934
    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.
     
    wwWwwwW1 likes this.
  5. wwWwwwW1

    wwWwwwW1

    Joined:
    Oct 31, 2021
    Posts:
    766
    linosia97 likes this.
  6. Matjio

    Matjio

    Unity Technologies

    Joined:
    Dec 1, 2014
    Posts:
    108
    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.
     
    wwWwwwW1 and linosia97 like this.