Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Lcrs

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
  1. mantra velocity pass

    Hmmmmm I'm guessing but I would try increasing volume step rate on the mantra ROP - try 1.0 - and then increase the stochastic samples, maybe 16 or just disable stochastic transparency altogether. If it's still not enough you could carefully increase volume filter width on the object's render/shading tab, or last resort mantra's pixel samples (if you have to go higher than 8x8 it usually means something else is wrong). Try disabling "Allow image motion blur" at the bottom of the mantra options too...
  2. mantra velocity pass

    Here's with the same thing as nodes - the workaround for raytrace mode is more nodes than it has any right to be, if you can render in micropoly mode you can ignore the second branch going into the switch VOP. Remember to disable preview/gradual refinement with the button above the render view when testing, it forces raytrace mode even if you select micropoly on the ROP... Ls_volumemotionvectorsnodes.hipnc
  3. mantra velocity pass

    Hi! Attached a .hipnc showing motion vectors from a shelf fireball. Your example pic has the values adjusted to be between 0 and 1, where naturally the motion vectors will have a lot of negatives... might be an idea to do that after the render, you have to choose a min and max value and if you do it in the shader it's too easy to forget what you chose :-[ It looks like the vectors there have also been spread out past the edges of the object - you can't really do that in the shader either, it's more a comp thing. In the file I cranked the density hella up because semi-transparent volumes will average the motion vectors out otherwise, between the close to camera and far from camera voxels along each ray. Hope that makes sense! Ls_volumemotionvectors.hipnc
  4. mantra velocity pass

    Always seemed odd that there's no simple way to do this. It's quite tricky to handle all cases but below is what I've been doing... // 2D motion vector output in absolute pixels, lewis@lewissaunders.com July 2018 // Paste this in an Inline Code VOP, enable "Expand Expressions in Code" // Connect a Bind set to "vel", type Vector, to the first input // Set Output 1 Name to "mv", type Vector // Connect the output to a Bind Export set to the name used in Mantra's image planes // Make sure motion blur is enabled on the ROP, even if "Allow Image Motion Blur" is not vector ndcv = toNDC(getblurP(1.0)) - toNDC(getblurP(0.0)); string engine; renderstate("renderer:renderengine", engine); if((engine == "raytrace" || engine == "pbrraytrace") && isbound("vel")) { // When rendering volumes in raytrace mode the getblurP() method doesn't work, but we do the best we can // It's correct for a static camera but there's no way to incorporate camera motion. For simple camera moves // the camera motion vectors can be added to this in comp before the blur is done... to get solid vectors // from a volume the density normally needs to be increased a lot anyway, and rendered as another pass, so // it might be better to just do that pass in micropoly mode :) vector p0 = getblurP(0.0); vector framev = vel / $FPS; vector camerav = vtransform("space:object", "space:camera", framev); ndcv = toNDC(p0 + camerav) - toNDC(p0); } vector res; renderstate("image:resolution", res); ndcv *= set(res.x, res.y, 0.0); \$mv = ndcv; http://lewisinthelandofmachines.tumblr.com/post/159532447318/houdini-2d-motion-vectors-from-mantra