Realflow 2014 .ass files: motion blur, additional attributes

Post Reply
ben.fox@framestore.com
Posts: 41
Joined: Thu Aug 29, 2013 4:12 pm

Realflow 2014 .ass files: motion blur, additional attributes

Post by ben.fox@framestore.com » Tue Jun 24, 2014 9:23 pm

Hey all, Congrats on the latest release. There is some great stuff in there.
We are really impressed.

Just doing some tests with .ass files and wanted to get your tips on workflow.
What is the workflow for getting motion blur and maybe even additional point data of a mesh into Arnold for Maya?
I can't find any export options at all for .ass format, which could be tricky as we will need to change the motion blur settings at export.
The mesh comes in great, and it looks like there is a velocity attribute in the ass file.
However, we get no motion blur and can't visualize the velocity attribute using aiUserDataVector (or Color)
Any thoughts?

Again, really great stuff...just kicking the tires a bit.
Any updates would be greatly appreciated.
~Ben

User avatar
enrique
Site Admin
Posts: 42
Joined: Fri Jun 17, 2011 9:44 am

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by enrique » Wed Jun 25, 2014 12:06 am

Hi Ben, we export velocities whenever they are available in the simulation (always I think in the case of .ass), one vector for each vertex (or particle). I will have a look into it, because once inside the .ass file, I don't really know how to use them in Arnold to get motion blur. I will let you know what I find.

Thanks for your feedback.
Enrique Turegano
RealFlow | Cinema4D developer

ben.fox@framestore.com
Posts: 41
Joined: Thu Aug 29, 2013 4:12 pm

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by ben.fox@framestore.com » Wed Jun 25, 2014 7:13 pm

Yeah, drop me a line with any questions about this...Gus contacted me a little while back to test some initial ass files that were written out from Realflow.
The tricky thing about .ass files is that the motion blur is baked into the geometry based on current motion blur settings.
As far as I know, velocity is not enough.
In theory we would need the motion blur options for exporting from Realflow: Shutter Length, Position, Start/End (Those are not the exact names, but something like that.)
We did a bit more testing here to try to nail down just what is needed for your ass files. It seems that the velocityPV attribute affects the data stored in the vlist section of an ass file written out from Maya. I have attached an ass file for you to check out. We created a poly sphere in Maya and added an RGB color set called velocityPV. Finally we set the color to r=0, g=888, b=0 and exported an ass file with motion blur enabled and set to a length of 1. If you take a look at the vlist section of the ass file you will see about half way through there are 887. numbers. If out motion blur length is set to .5 then this number is 443.

Not sure if this is of any use to you. But we will need some motion blur options for exporting from Realflow.
There is no way that we know of to change motion blur on an ass file after it is exported...like you can do with the Realflow bin meshes.

Drop a line if you have any questions.
~Ben

FYI: Just rename the attached .zip file to .ass. It isn't actually zipped
You do not have the required permissions to view the files attached to this post.

User avatar
enrique
Site Admin
Posts: 42
Joined: Fri Jun 17, 2011 9:44 am

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by enrique » Wed Jul 09, 2014 3:18 pm

Hi Ben.
Sorry but I do not quite understand what you said. Based on the file you attached I have found it has:

nsides 400 elements (360 of them 4 sided and 40 triangles)
vidxs 1560 (360*4 + 40 *3)
nidxs 1560 (360*4 + 40 *3)
uvidxs 1560 (360*4 + 40 *3)
vlist 382 (the real number of vertices, all of them are in different faces (4 o 3 sidedeach ) )
nlist 382
uvlist (439 at first I thought it should be 1560, but I guess they are repeated somehow and this is optimized, it doesn't really matter as the important number is uvidxs: one for each vertex in each face)

What we do is exporting one velocity array (composed of 3 float numbers) for each vertex in the original geometry. In this case with your sphere we would export 3*382=1146 float numbers.
If you look at the output of the command "kick -info polymesh" you will see this:

Code: Select all

node:         polymesh
type:         shape
output:       (null)
parameters:   41
filename:     <built-in>
version:      4.1.3.3

Type          Name                              Default
------------  --------------------------------  --------------------------------
UINT[]        nsides                            (empty)
UINT[]        vidxs                             (empty)
UINT[]        nidxs                             (empty)
UINT[]        uvidxs                            (empty)
UINT[]        crease_idxs                       (empty)
BYTE[]        shidxs                            (empty)
POINT[]       vlist                             (empty)
VECTOR[]      nlist                             (empty)
POINT2[]      uvlist                            (empty)
BOOL          smoothing                         false
ENUM          subdiv_type                       none
BYTE          subdiv_iterations                 1
FLOAT         subdiv_pixel_error                0
NODE          subdiv_dicing_camera              (null)
ENUM          subdiv_adaptive_metric            auto
ENUM          subdiv_uv_smoothing               pin_corners
BOOL          subdiv_smooth_derivs              false
NODE[]        disp_map                          (empty)
FLOAT         disp_padding                      0
FLOAT         disp_height                       1
FLOAT         disp_zero_value                   0
BOOL          disp_autobump                     false
BYTE          autobump_visibility               159
BYTE          visibility                        255
BYTE          sidedness                         255
BOOL          receive_shadows                   true
BOOL          self_shadows                      true
BOOL          invert_normals                    false
FLOAT         ray_bias                          1e-06
MATRIX[]      matrix                            (empty)
NODE[]        shader                            (empty)
BOOL          opaque                            true
BOOL          use_light_group                   false
NODE[]        light_group                       (empty)
BOOL          use_shadow_group                  false
NODE[]        shadow_group                      (empty)
STRING[]      trace_sets                        (empty)
FLOAT[]       transform_time_samples            (2 elements)
FLOAT[]       deform_time_samples               (2 elements)
INT           id                                0
STRING        name
As you can see, there is no velocity attribute there, and the best way to export the motion blur is creating an array of velocities (x, y and z components) per vertex. I don't really know how to load that up in maya, but the information needed to create motion blur is there, I think this is your main point. We are going to test this feature through to see if we can find something easier for our users. Any extra information per vertex is going to be stored in this way.

About the shutter and the extra options of motion blur: In RealFlow you don't have that option (at least now) you only get the physical parameters (geometry, velocity, vorticity for particles, etc.) and then you do what you wish with them. Up to now we have considered that that is a render configuration parameter, but we will discuss it soon and decide whether we add all this configuration options or not.
Enrique Turegano
RealFlow | Cinema4D developer

ben.fox@framestore.com
Posts: 41
Joined: Thu Aug 29, 2013 4:12 pm

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by ben.fox@framestore.com » Thu Jul 10, 2014 10:12 pm

Enrique,
Yeah, my post was definitely a bit convoluted.
The gist of it was to state that exporting velocity to an ass file is not enough to render motion-blur with Arnold as far as I have ever seen.
My example was to show where I believe the motion-blur data is being stored in the ass file. It isn't in a velocity array.
The only way I know of to get MtoA to reference an arbitrary vector for motion blur is to create a RGB colorSet called velocityPV.
So I set this up to run that test to show how the render settings affect the output of the ass file.
Once you load in that ass file, changing your render settings in Maya will have no effect on the motion blur.
Therefore I believe you need a way to set your motion blur settings on export from Realflow.

I started looking into this because the ass files I have written out from Realflow are not rendering with motion blur at all.
So I am obviously doing something wrong. Of course I am far from an expert on these things, so I would love to know how to get this to work.
I am rendering with Arnold in Maya, so this could be part of the problem as Houdini has a bit more support for Arnold motion blur stuff.
From your post I have no doubts that you have a much better grasp of these things than I do, so it would be awesome to get some info on rendering the Realflow ass files with motion blur in MtoA.
Its is killer new feature and it will be awesome to take full advantage of it!

Thanks so much for the help!
~Ben

User avatar
enrique
Site Admin
Posts: 42
Joined: Fri Jun 17, 2011 9:44 am

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by enrique » Thu Jul 10, 2014 11:08 pm

Thanks Ben, now I get it. I know how to export information out of RealFlow using arnold SDK, but this is clearly not enough for our problem here, as I don't know either how to get that motion blur working with arnold. I figured it was an easy task to do for a maya/houdini user, but as I see now, it is not such an easy task.

I expect this to be fixed for the next RF patch coming by the end of June.

Thanks again
Enrique Turegano
RealFlow | Cinema4D developer

User avatar
enrique
Site Admin
Posts: 42
Joined: Fri Jun 17, 2011 9:44 am

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by enrique » Thu Aug 07, 2014 10:31 am

Good news Ben,

Motion blur in Arnold is now working with the latest patch we released yesterday. Velocity arrays have been removed as they were basically useless, and a new set of points has been added for each object to tell Arnold the second position.

In commandline you will be able to render any scene like this: "kick -sh 0 0.1 scene.ass" if you want more motion blur, just increase the shutter parameter: "kick -sh 0 0.5 scene.ass"

Enrique.
Enrique Turegano
RealFlow | Cinema4D developer

ben.fox@framestore.com
Posts: 41
Joined: Thu Aug 29, 2013 4:12 pm

Re: Realflow 2014 .ass files: motion blur, additional attrib

Post by ben.fox@framestore.com » Sun Aug 10, 2014 7:17 pm

That's great news Enrique!
Thanks so much for the update.
I saw the announcement about the update and was looking forward to checking it out...now even more so!
Thanks also for the tip about the shutter flag. I will do some testing with that as it could help out in other cases as well.
Keep up the great work.
~Ben

Post Reply