Alembic export data type

Post here anything related to RealFlow that doesn't specifically belong in any of the forums below
Orlando Esponda
Posts: 17
Joined: Sat Dec 30, 2017 4:07 pm

Alembic export data type

Post by Orlando Esponda » Wed Jan 24, 2018 5:16 pm

Hello,

I was wondering if there's a way to change the data type when exporting alembic files. For instance, velocity is exported as vector which totally makes sense, but Maya's alembic reader doesn't read it correctly. Maya's workflow allows to select a color set as motion source, so it would be very helpful to write the velocity attribute as color set (vertex map). But on the other hand, Houdini can read the velocity attribute perfectly, so I think a way to let the user choose the data type written to the alembic files would be the best solution.

On this same topic, I would like to ask if the velocity data is per frame or per second. I think it's per second but I'm not entirely sure. For instance, I simulated at 240 fps but was rendering at 24 fps. The velocity values were totally off until I did some math on the velocity attributes (v/(240/24)). Is there a way to change this parameter also before exporting the alembic files?.

I'm asking these questions because different DCCs and different renderers have different workflows for interpreting this data, and not everyone has a Houdini license around to change the data types. Also, if you search for RealFlow motion blur, you'll find lots of people asking about this and suggesting workarounds. For Maya for instance, an extra (paid) plugin is needed just to change the data type. So having the ability of set the data type would be very useful for every user, regardless of the DCC.



What do you think?

Orlando.
Last edited by Orlando Esponda on Thu Jan 25, 2018 1:36 pm, edited 1 time in total.

Thomas Schlick
Posts: 178
Joined: Tue Aug 29, 2017 12:35 pm

Re: Alembic export data type

Post by Thomas Schlick » Thu Jan 25, 2018 12:04 pm

Thanks for sharing your thoughts Orlando.

The data type cannot be be changed with a one-click action, and is fixed for each channel. Giving users the possibility of defining a custom data type is certainly something to think about, but I don't expect such a feature to come in the near future. Anyway, I agree that it could make things easier in terms of data exchange on different platforms. I'll pass your idea to our developers as a feature request.

With regards the speed values there's a tip from our RealFlow Xpert Daniel Moreno in our blog http://blog.realflow.com/tips/realflow- ... ts-part-1/ that might address your issue:

When collating Alembic files of a simulation created in SLOW MOTION, always remember to turn the simulation rate back to 24 or 30 FPS. This way the alembic file speed will be correctly created and not messed up.

Orlando Esponda
Posts: 17
Joined: Sat Dec 30, 2017 4:07 pm

Re: Alembic export data type

Post by Orlando Esponda » Fri Jan 26, 2018 11:45 am

Thanks Thomas,

I really hope the developers see this request a a good suggestion because it will help a lot of people, really :)

About the speed tip, I'm going to test it soon, but just to be sure... so, the fps of the scene have a direct relation on how the speed values are stored in the alembic files, right? These values are "scaled" if I simulate at a higher fps but before generating the meshes, I switch to a lower fps. Is this correct?



Thanks again.

duke3d
Posts: 18
Joined: Wed Aug 24, 2016 12:15 am

Re: Alembic export data type

Post by duke3d » Tue Jan 30, 2018 6:35 am

I found that after merging all alembic files into one file, all channels they are messed up. When imported to 3D MAX mesh looks normal accept that it has some black spots located in one small area, not entire object. It's impossible to find any channel information in MAX. If I import alembic file of a particular frame, everything is fine, all channels can be found and used. I was even able to create blending effect... for one frame only. Unfortunately, MAX doesn't work with sequence of alembic files.

Thomas Schlick
Posts: 178
Joined: Tue Aug 29, 2017 12:35 pm

Re: Alembic export data type

Post by Thomas Schlick » Tue Jan 30, 2018 9:18 am

@ Orlando
These values are "scaled" if I simulate at a higher fps but before generating the meshes, I switch to a lower fps. Is this correct?
Yes, this is how I read it, but to be sure we'll contact the guy who shared this tip.

@ duke3d
Unfortunately, MAX doesn't work with sequence of alembic files.
Most 3D apps expect a single Alembic file. When we introduced Alembic in RF we were thinking about this issue for a long time, but finally decided to go the sequence route. The reason is that RF might create Alembic files with hundreds of Gigabytes in the worst case. There's a chance that these huge files go corrupt and they also slow down RF when writing simulation files. So it was a bit like choosing between the devil and the deep blue sea. For the sake of reliability and speed we decided to store sequences.

Question is if the problems you see with stitched files are caused by the Alembic importer in MAX? From my experience I can tell that many Alembic importers don't work correctly and have issues: they don't support certain things, rotate/flip imported elements, expect Xform nodes, and so on.

Are you familiar with MAXScript? If yes, I recommend writing a short sequence importer script. I've written such a script for Clarisse and it's definitely the most economic and hazzle-free way to use RF's Alembics.

Orlando Esponda
Posts: 17
Joined: Sat Dec 30, 2017 4:07 pm

Re: Alembic export data type

Post by Orlando Esponda » Tue Jan 30, 2018 9:32 am

Thomas Schlick wrote:
Tue Jan 30, 2018 9:18 am
@ Orlando
These values are "scaled" if I simulate at a higher fps but before generating the meshes, I switch to a lower fps. Is this correct?
Yes, this is how I read it, but to be sure we'll contact the guy who shared this tip.
Strange… I tested this and nothing changed: before creating the mesh, I changed my scene fps from 240 to 24 expecting to get normalized velocity values but the results were the same as before. Is not a big deal when working with Houdini, but a big issue for other DCCs I think.

Thanks anyway :)

Thomas Schlick
Posts: 178
Joined: Tue Aug 29, 2017 12:35 pm

Re: Alembic export data type

Post by Thomas Schlick » Tue Jan 30, 2018 10:54 am

I've just tested a stitched ABC with meshes in Clarisse and it turned out correctly. I've been using a frame rate of 125 for the simulation, and 25 for meshing. I think that Clarisse works very similar to Houdini here.

I also don't see any black spots or other glitches with my meshes, and all channels are visible in Clarisse. So, I assume it's really an issue with the MAX Alembic importer. Anyway, I'll get in touch with our MAX user to see if he's able to reproduce your observations. Maybe he can share more information on this topic.

Thanks for all of your reports! They're really helpful for us to sort out things. And sorry for the inconveniences :(

duke3d
Posts: 18
Joined: Wed Aug 24, 2016 12:15 am

Re: Alembic export data type

Post by duke3d » Tue Jan 30, 2018 11:40 am

here is more information.

I checked my old project. It was done in previous version of Realflow. I also used MAX 2016. Today, I've imported mesh to MAX 2017 and got this:
old.jpg
I was wrong about channels. I was able to get all of them, but couldn't use them because of that weird black spots. The same thing as in MAX 2016.

Then I stitched my old Alembic mesh in current version of Realflow. Imported to MAX 2017 and got this:
new.jpg
mesh looks good now, but quantity of channels is not that large any more O.o. I tried newer project. Mesh looked good. I also got not so many channels as it was in past.

I also got a error every time I want to render with Standard MAX rendering engine. I thnk this particular issue is MAX problem only, because I was able to use VRay and RedShift without any errors.
error.jpg
So! Old version of stitched alembic mesh still have that ugly spots. Newly generated (from the same old mesh sequence) in the latest Version of Realflow has no black artifacts, but has less channels in MAX.

Hope it will help somehow.

My respect,
Andrey
You do not have the required permissions to view the files attached to this post.

Thomas Schlick
Posts: 178
Joined: Tue Aug 29, 2017 12:35 pm

Re: Alembic export data type

Post by Thomas Schlick » Tue Jan 30, 2018 12:04 pm

Thanks again for the additional information. Unfortunately, I can't say very much here since I'm not on 3DS, but I'll pass it to our developers. Did you think about a scripted import solution? Could this be an option for you?

duke3d
Posts: 18
Joined: Wed Aug 24, 2016 12:15 am

Re: Alembic export data type

Post by duke3d » Wed Jan 31, 2018 5:18 am

Thomas Schlick wrote:
Tue Jan 30, 2018 12:04 pm
Thanks again for the additional information. Unfortunately, I can't say very much here since I'm not on 3DS, but I'll pass it to our developers. Did you think about a scripted import solution? Could this be an option for you?
I din't think about it. For now, I can use alembic files without any problem in MAX 2017. The quantity of the channels is not a big problem for me. I usually use only velocity channel for storing different data I need :)))

Thank you for responding ;)
Andrey

Post Reply