PDA

View Full Version : LW 2018 Motion buffers issue



Axis3d
02-24-2018, 05:23 PM
I am having an issue in 2018 with motion buffers.

I have the motion buffer enabled and have it to save. I have tried saving it as part of a multi-layered .exr, and also as a file of its own. When I'm in after effects using the Extractor to separate them out, it shows that there are X and Y buffers in the multi-layered .exr, but it doesn't seem like there is any data. Has anyone else had this issue? Is this a bug?

Same workflow works fine in 2015 using the compositing buffer export.

gar26lw
02-24-2018, 06:06 PM
i’ve had an issue with the depth buffer and no data. don’t know if it’s related.

do you have exr trader? could try that. i can’t say if it works as i haven’t upgraded.

i do get the feeling that there are some bugs in there.

Ryan Roye
02-24-2018, 07:07 PM
I recently reported a bug about motion buffers; they currently completely ignore deforming objects and only operate off of direct translate/rotate/scale (keyframed) movements.

Jarno
02-24-2018, 09:02 PM
There is an issue with the motion buffer creation. It will only work if Motion Blur is on in the camera, and the deformations have actuallly moved some vertices at the current scene time.

---JvdL---

Ryan Roye
02-24-2018, 10:28 PM
There is an issue with the motion buffer creation. It will only work if Motion Blur is on in the camera, and the deformations have actuallly moved some vertices at the current scene time.

---JvdL---

The info is greatly appreciated, that'll tide me over until any changes are put in place.

jwiede
02-25-2018, 11:46 AM
There is an issue with the motion buffer creation. It will only work if Motion Blur is on in the camera, and the deformations have actuallly moved some vertices at the current scene time.

Jarno, please clarify: Presuming camera Motion Blur is enabled, are you saying deformation motion only gets recorded to motion buffer if there's actual deformation delta for vertices at the current scene time, or that no motion gets recorded to motion buffer unless there's deformation delta for vertices at the current scene time?

Axis3d
02-25-2018, 04:53 PM
Well, Jarno is right, in the sense that the Motion buffer data saves only when Motion Blur is checked. But that kind of defeats the purpose. Now the beauty pass and alpha channel have a rendered blur on them. I even tried turning on camera motion blur and setting the blur length to zero, but then no motion vector data records at all.

Jarno
02-25-2018, 06:05 PM
It is a bug in determining whether or not motion vectors should be calculated from deformation. Motion vectors are used for the motion buffer, and also for motion blur. However, it only checks for the motion blur being active. Probably because the motion vector code was originally written for motion blur purposes only, and then the motion buffer was just seen as a way of capturing that blur in a buffer.
It wasn't realised that the needs of the motion buffer was independent of rendering motion blur.

A second bug in the same code attempts to do an optimization by only calculating the motion vectors from deformation if there is any actual deformation going on. It does that by checking a flag, assuming that flag means that the mesh has deformations applied. But it actually means "this mesh was deformed the last time the mesh was evaluated". Typically the last time the mesh was evaluated is at the scene time at the start of the frame.
So if a mesh switches from non-deforming to deforming over the duration of the frame, it still thinks the mesh isn't deforming at all and no motion vectors from deformation are calculated.

All this is a long-winded way of saying that a fix is in testing.

---JvdL---

jwiede
02-25-2018, 06:40 PM
All this is a long-winded way of saying that a fix is in testing.

The additional info helps us work around the situation, though, so thanks!

Can you clarify whether the fix will address both the incorrect interpretation of whether mesh deformation needs tracking and that motion blur needs to be active? Requiring motion blur be active, as Axis3d mentions, somewhat defeats the purpose -- hopefully the fix addresses both issues, and not just the deformation flag issue.

Jarno
02-25-2018, 08:16 PM
The intention is that the buffer will work with motion blur turned off.

---JvdL---

jwiede
02-25-2018, 11:19 PM
The intention is that the buffer will work with motion blur turned off.

Great to hear, thanks for the clarification!