otto Posted November 26, 2017 Share Posted November 26, 2017 Hi! I have a question about mantra and world position pass. I have followed aRtye's description from this page: https://www.sidefx.com/forum/topic/34302/ and set up a P_world pass that renders in Mantra. The problem is that I get an edge when grids are overlapping each other (see image below). I have tried getting rid of the edge by lowering the opacity limit in the Mantra node, but that gives a black edge in the C pass. Removing the filter from the alpha channel in the shader gives a slightly better result, but nothing I have tried gets rid of the edge completely. Does anyone know a solution to this problem or a better approach to get a world position pass? Example file (using the Houdini butterfly image file): p_world.hip Quote Link to comment Share on other sites More sharing options...
Guest tar Posted November 26, 2017 Share Posted November 26, 2017 (edited) Deep rendering probably fixes it. Deep only has problems when you intersect geometry. EDIT: just use the new CryptoMatte in 16.5, put down a new Mantra node. It works perfectly! Edited November 26, 2017 by tar Quote Link to comment Share on other sites More sharing options...
protozoan Posted November 26, 2017 Share Posted November 26, 2017 I have not looked at your file, but.. are you sure you are using the correct sample filter for your P image plane? P, Pz etc must not be sampled by opacity, but rather closest surface. So you set the sample filter to closest surface, and then use something like "minmax min" for your pixel filter. 1 Quote Link to comment Share on other sites More sharing options...
djiki Posted November 27, 2017 Share Posted November 27, 2017 (edited) @protozoan: you are right. @marty: CryptoMatte use ObjID or MaterialID to generate different layers, but in this specific case both butterflies are generated at geometry level so it is only one object and both butterflies use same shop material. Ok, you can separate those, to two objects, or two materials, but there is new problem which CryptoMatte can not handle. (Ok, it can, but solution you have to apply for CryptoMatte to work properly is based on regular solution which applied to P pass solves problem too without CryptoMatte.) And problem is hidden in fact that those butterflies are not "shaped" by geometry but by alpha channel in image which is projected to plane(s). So in case of P pass (same apply to N, Pz, Pworld etc) pixels around alpha edges really exist on scene (only their opacity differs). In general, you can deal with that on two different ways. One and probably most common solution is to use already prepared presets for pixel filtering as protozoan suggests and second to handle those specific things in shader by yourself. Second approach gives you endless possibilities and you are not limited only to filtering. This is modified scene which works using closest surface filtering p_world_modified.hip And this is custom shader solution which solve your problem in shader. It simply does manual pixel in-shader compositing, for all semitransparent pixels but for full transparent or full opaque pixels it works like your basic shader. p_world_modified2.hip cheers Edited November 27, 2017 by djiki Original butterfly texture is premultiplied so I had to change math for compositing in shader 1 Quote Link to comment Share on other sites More sharing options...
Guest tar Posted November 27, 2017 Share Posted November 27, 2017 I must be missing the point of the position pass - why do you want it? In Nuke using position to points node produces many artefacts with all those methods whilst using a deep or cryptomatte allows for a perfect edge. Quote Link to comment Share on other sites More sharing options...
otto Posted November 27, 2017 Author Share Posted November 27, 2017 Thank you so much guys! I have now tested all approaches, except CryptoMatte . The closest surface setting in the render node gave good result on close ups with a few grids, but when adding a crowd I got egdes around the alphas of the crowd, see screenshot where I have zoomed in a bit (light weight crowd is what I am wanting to use the grids for). Also picking an area from the P_world pass in Nuke was not very accurate. The shader approach looked great in the test frame, but when adding a crowd the render got very slow. Deep seems to be the best option for me now, the rendering is quite quick and the flexibility is great. The only problem is the size of the files, but I think I'll just have to deal with that for now. Thanks for your good advice and your time!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.