-
Notifications
You must be signed in to change notification settings - Fork 342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alembic export not working in 2.8 on defroming mesh #1018
Comments
Can you tell me what was the working old workflow? Do I just export alembic? |
for example, if you create a mesh object from Animation nodes with moving vertices, you could export this mesh with animation as alembic file if "Ensure Animation Data" checked in 'Mesh Object Output' node's advanced settings. https://github.com/JacquesLucke/animation_nodes/search?q=alembic&unscoped_q=alembic |
Do they get imported as shape keys then? Like MDD files? |
alembic stores all mesh vertices animation in .abc file, I don't know if it can be imported as shape key. Mdd file has a lot of limitations like vertices count has to be the same. As far as I know, it has changed in blender 2.8. like if you have verticles level animation it applies as "Modifier" but if it has normal transformation animation then it applies as "Constraint". |
Sybren A. Stüvel (sybren) is module owner of Alembic |
I see, thanks ! |
you are welcome! |
It seems this is still a problem in b2.8, really frustrating. |
Any update on this? Seems to still be broken :/ |
Unfortunately, I am not really familiar with the Alembic workflow, and I am not sure what the origin of the problem is. I guess the best thing we can do now is to try to replicate it outside of Animation Nodes and report it as a bug. |
The thing is it works perfectly fine outside of Animation Nodes though. So it must be somehow related to Animation Nodes i'm guessing? In my case im trying to export geo generated in a curve/spline object, however the problem exists even if i use mesh geo as well. |
It seems this may be getting resolved https://developer.blender.org/T51351 waiting on the frame handling/update to get fixed. Highlighted in these two bug reports: I guess its just wait now... :( good news is its likely not an issue for AN to fix. |
@AbhaySharma-tp Can you please test this again with the latest build? |
I did try a few days ago, it wasn't working. I will try it again when I get
home.
Thanks.
…On Sat, Oct 5, 2019, 4:41 PM Omar Emara ***@***.***> wrote:
@AbhaySharma-tp <https://github.com/AbhaySharma-tp> Can you please test
this again with the latest build?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1018?email_source=notifications&email_token=AJYITVXMEYN2J3YMIDK2YPDQNBY5TA5CNFSM4GSEGF2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEANQA4A#issuecomment-538640496>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJYITVWPSPXTVZCH6GE7AKDQNBY5TANCNFSM4GSEGF2A>
.
|
Using the latest build of Blender 2.81 (f61a8a2abd07) and a build I compiled of the branch (blender2.8) updated 2 days ago (Latest commit d139750), an alembic export of a mesh being deformed by AN isn't animated when imported into a scene. The Mesh Sequence Cache modifier has to be added manually, but with even when this modifier is using the correct .abc file and Object Path the mesh still doesn't deform. |
I just tried this, the deformed mesh is not exported at all, I cannot get an animated mesh to be exported to Alembic |
It seems related to animation nodes not being "played" when Alembic is exporting, can that be the case? |
@juangea I will take a look right now. Does Alembic export work with other addons or methods? |
@OmarEmaraDev I created this script to try to export manually a sequence of ABC's, if I do it manually I have no trouble, but if I use the script the result is the same, I even tried to do a depsgraph update (even when I'm not sure what it does hehehe ):
|
@juangea Ok, I can confirm. You are right. It seems the export operator blocks application timers, so Animation Nodes don't execute. But application handlers seem to execute properly, so maybe we can implement a workaround here. |
Oh, that would be awesome please! |
The exporter doesn't block anything. It tries to be as efficient as possible, and to only export static meshes once. It's about detecting the fact that something is animated, and exporting on every frame if that is the case. You can find the detection code in
Similar logic can be found in the USD exporter. I'm thinking of adding some custom properties that you can use to influence the exporters, such as a flag "Export on Every Frame", which would cause it to show animation. This has to wait until I've restructured the Alembic exporter to use the new code I created for USD, though. For now, just add any animated property to the mesh, or any non-subsurf modifier, and it will be exported on each frame. |
This problem was solved before in AN. It looks like the is-animated-detection changed slightly. Previously, it was enough to ensure that the mesh has animation data (it did not have to have an animated property). See https://github.com/JacquesLucke/animation_nodes/blob/master/animation_nodes/nodes/mesh/mesh_object_output.py#L162. Just adding some animated property should be easy to do. |
Yes, it uses |
Thanks @sybrenstuvel for the information! But this is not the only issue at play here. The node tree does not execute at all even if we have an animated property. I suspected that this is because we use an infinite timer to perform the automatic execution. Using a |
I pushed a fix for the Ensure Mesh Data option. But this is not enough to fix the issue. For now, as a workaround, downloaded the latest build and before exporting:
|
Hello @OmarEmaraDev , |
I'm afraid it's not working yet. |
@LSka There are two reasons why your example doesn't work. The first reason is that your Node Tree Global Scene is set to @juangea Can you provide a minimal file that reproduces the issue? |
Yes :) Here you go: |
don't hate yourself! :) And do you know what's the culptrip? |
@juangea Still trying to figure this out. Bur here is what I think is going on.
In conclusion, I think the best thing to do here is to completely rewrite the event handling and auto execution system in Animation Nodes. With careful consideration of all the limitations introduced by Blender. I will talk to Jacques about this and discuss possible course of actions. |
@juangea If you want a workaround on top of the workaround for now, you can just cache the result before exporting. See Once Per Frame Caching mechanism. |
Interesting, also BlendSushi recommended to use a displacement modifier at 0, it seems it triggers the export, I'll try both things, maybe the Once Per Frame Caching is enough :) I'll tell you the outcome. |
I tried both things, the displace trick it's not working. The Once Per Frame Caching seems not work either I'm afraid :S Once I allow the timeline to play once than the playback is fully stopped, no matter if I use that script line or not, nothing plays, so nothing exports either :S |
@juangea The Group Input node have a button to add a corresponding Group Output node. Your Mesh Output node shouldn't be inside the group, if it is cached as well, the scene won't update. Note that Bmesh is not storable and can't be cached, so you should convert to Mesh first. For installation issues, see #1240. |
ok, awesome, I'll try that, thanks for all the help :) |
YES! It works! Both, the install problem was due to Visual Studio install, and it installed without trouble. And the bake works perfectly! Could be great to have a button to bake in a way that can be exported, with that I mean... something that automates all this haha. A good idea would be to have a button that does the scriptline, and another good idea would be a button that automatically enscansuplate a bunch of nodes inside a group instead of having to do it manually. Or... don't waste time on this and just focus on the proper fix :) Thanks a lot! |
@OmarEmaraDev thanks for your input. alembicParticlesTest.blend.zip Thank you very much! |
Alembic exports static mesh even after 'Ensure Animation Data' is checked.
Seems like something changed in alembic workflow in 2.8. couldn't find any reference on internet yet.
The text was updated successfully, but these errors were encountered: