Jump to content

Cache only point transform for deformation


Mzigaib

Recommended Posts

I know this must be a really recurrent topic but I could not find anything on this so here is my question:

In SOPs if I have a deforming mesh with no point count change like a character or a water ripple is there a easy way to just save the mesh once and cache only the points positions in different frames like in USD? I thought Alembic could do that but I don't think it does.
I tried to do that with vex trying to store all the positions on a detail attribute but for heavy meshes it is really slow.

Any ideas on that? 

 

Thanks!

Link to comment
Share on other sites

Posted (edited)

This is not correct. Alembic does only store the topoplogy once if you have a deformation without topology changes if you save as one large alembic file. If you need to use abc file sequences, it should be possible to layer alembics one with the topology and one with the changing points. Basically it's the same behaviour as in USD.

Edited by haggi
  • Like 2
Link to comment
Share on other sites

Posted (edited)

Thanks for the response!
Yeah that is what I always thought and I know that with packed primitives you can do that only saving the transforms and applying it when you load it and there is a option for that but for deforming meshes with constant topology is really hard to check that and it is inconsistent with the file size sometimes it gets much bigger than "bgeos" so that is why I am not sure that is doing that sometimes.

Is there a way to check it or a option to enforce that?

Edited by Mzigaib
Link to comment
Share on other sites

Posted (edited)

It is the case by default. You can simply test it by writing a sequence of some frames once as one abc files and then do the same as a sequence of single abc files. If it would save the mesh data every frame, the sizes should be roughly the same but the one single sequence abc file is much smaller than the single file sequence. If the files sizes in your case do not differ much you may have accidently changing topology... just did a simple test with a deforming torus and the single file sequence shows 18mb whereas the one large file has a size of 7mb.

Of course this depends a lot on the point data you have. If you have a some per point data, they will be saved per frame for every point so if there are a lot of them the difference will be quite small.

Edited by haggi
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...