I could see where alembic may be good for things like cut-scenes... but as it's essentially storing permutations of entire scenes I'm not sure how it would work with things like animation retargeting.
Also... I'm not 100% how it would fit in with Unity's architecture. The use of prefabs, game objects, etc. all seems to be based around an object-graph structure that Alembic is not meant to handle.
Alembic's good in VFX for data transport and lazy rendering. It's *not* good for realtime applications. You can get similar results by exporting baked keyframes from your favourite 3D app - we've done this more than a few times ourselves, but it's only suitable for niché special case scenarios, and I certainly don't recommend it if you have limited RAM or are in any way file size concious.
Of note... it's also likely to be superceded by (or at least integrated with) Pixar USD (no, not the currency)... http://graphics.pixar.com/usd/
The Alembic GPU cache real time response time is phenomenal, even within 3D asset creation softwares (Houdini,Maya,etc) colouring limitations which can be overstepped with intuitive overlays are there but getting super high detail geometry to animate in real time is quite plausible using Alembic if the cache is configured aptly.
Late to this party but: Alembic is a very generic data container file that grew out of GTO and the limitations VFX people found there. It's used essentially a caching file format for animation data, typically geometry files and deforming geometry sequences. It handles vertex delta frame offsets, de-duplication (transform instancing), particles, cameras, lights, etc. But it's not really meant as an animation scene file exchange format with key frame curves, etc. USD from Pixar - is their Universal Scene Description - a noSQL-ish database that attempts to represent all scene assets in a show in a way that can be used to by pipeline transport mechanisms to feed things like Katana render sessions. It is also not a scene file exchange format. Basically Alembic would be used to describe the cached, deformed geometry that would be referenced in a USD database which would then drive a Katana session to create the render data to send to the render farm. I think the biggest thing Alembic would bring to Unity is a way to describe arbitrarily complex geometry in a time referenceable way - blend shapes on steroids, and geometry caches that change topology.
Alembic was used in the recent Adam demo. It's currently in alpha, not sure if it's no the roadmap or not but it should be coming sooner or later since it will make their sequencer functions much more robust.
Here, there is an importer/exporter, from I-Saint. Untested. https://github.com/unity3d-jp/AlembicImporter
Hey all, new to unity but have a moderate experience with 3d apps in general. I've used this AlembicImporter and it works perfect, but the only problem is that the UV data seems to be missing! So I cant texture. Has anyone had any experience with the extension, or know any other file caching extensions for unity? EDIT: I ran some tests, it was actually a problem with my exporting process rather than the extension. Works very well, highly recommended! Cheers
johngemstone could you please explain your setup unity 5.4 crashes when i import an alembic file here thanks
Make sure you are putting your .abc files into "Assets\StreamingAssets\AlembicData" before going to Assets>UTJ>Import Alembic to import the file. >>> Would anyone know why the abc wont animate once compiled into an android app? Works perfect in the editor..
johngemstone thanks so much !!! it works have not tested on a device yet, I will post results when i do
I can't get it to run on android either. It seems to be missing a .dll file. This is the error I get: Code (CSharp): DllNotFoundException: usdiRT UTJ.usdi.InitializePluginPass1() UTJ.UsdStream.Awake() This error is for his latest plugin here (Supports both USD and Alembic): https://github.com/unity3d-jp/USDForUnity
In the AlembicStreamPlayer Script attached to your GameObject, under Playback Settings > Cycle > Loop (option)
Hi, on Android platform the animation is not working. I get the errors below: 06-15 00:28:12.586: E/Unity(24197): (Filename: Line: -1) 06-15 00:28:12.587: E/Unity(24197): DllNotFoundException: abci 06-15 00:28:12.587: E/Unity(24197): at (wrapper managed-to-native) UTJ.Alembic.aiContext:aiContextCreate (int) 06-15 00:28:12.587: E/Unity(24197): at UTJ.Alembic.aiContext.Create (Int32 uid) [0x00000] in <filename unknown>:0 06-15 00:28:12.587: E/Unity(24197): at UTJ.Alembic.AlembicStream.AbcLoad (Boolean createMissingNodes) [0x00000] in <filename unknown>:0 06-15 00:28:12.587: E/Unity(24197): at UTJ.Alembic.AlembicStreamPlayer.LoadStream (Boolean createMissingNodes) [0x00000] in <filename unknown>:0 06-15 00:28:12.587: E/Unity(24197): at UTJ.Alembic.AlembicStreamPlayer.Update () [0x00000] in <filename unknown>:0 06-15 00:28:12.587: E/Unity(24197): at UTJ.Alembic.AlembicStreamPlayer.LateUpdate () [0x00000] in <filename unknown>:0 06-15 00:28:12.587: E/Unity(24197): 06-15 00:28:12.587: E/Unity(24197): (Filename: Line: -1) 06-15 00:28:12.628: E/Unity(24197): DllNotFoundException: abci 06-15 00:28:12.628: E/Unity(24197): at (wrapper managed-to-native) UTJ.Alembic.aiContext:aiContextCreate (int) All works fine inside the Unity Editor. Where am I doing wrong? Thanks for your help
Please dont bump every single thread regarding the issue, if needs be make a new thread as your is specifically about Oculus quest. You already bumped a thread from july 2019, no need to also bump this one from 2 years ago. They are all regarding different things and platforms. Being specific, helps you also get specific and timely support.