I have a simple cube, moving only in the x-direction, camera looking at it from top.
Having Vector pass enabled in the View Layer Properties, I am getting the speed vectors as exr files. Then loading them in my python code at looking at the speed (motion) vectors. Everything is fine except for the object boundaries. All the pixels of the object are moving with the same speed, but speed vectors are different for all boundary pixels. When the object is round or it has texture, things get worse. I need to make sure that these speed vectors are exact, could anyone help me with this?
PS: This is a simplified example. I am working with several complex objects with different textures, so I am sure that the general structure of my code and project is right, but there must be something about blender settings that I am missing. I am a newbie in the Blender and only using its scripting to generate some data.
Vector Pass
does not provide subpixel motion vector info. It may be doing some average of which object is encountered on that pixel... which may explain the weird results. You may be able to do your own subsampling by rendering a higher res but less samples version of your scene to get finer motion vector info. $\endgroup$CYCLES
we are able to animate complex phenomena like water and smoke, shouldn't it be able to measure exact speed vectors? $\endgroup$