Jump to content

Reflection distance cut off


Recommended Posts

I'm looking for a way to tell reflection rays to stop going after a certain distance of a bounce... Like say, anything that is past a certain distance from a surface won't contribute to the reflection at all.

I found this parameter, editing the interface of the mantra node, called Contribution Limit, and seems like I can get away with it, although it still gives me reflection of objects that are far far away from the reflective surface. If anyone has a better idea, even a better idea of how does this parameter works really, please let me know!

Cheers

Rafael

Link to comment
Share on other sites

I'm looking for a way to tell reflection rays to stop going after a certain distance of a bounce... Like say, anything that is past a certain distance from a surface won't contribute to the reflection at all.

I found this parameter, editing the interface of the mantra node, called Contribution Limit, and seems like I can get away with it, although it still gives me reflection of objects that are far far away from the reflective surface. If anyone has a better idea, even a better idea of how does this parameter works really, please let me know!

Cheers

Rafael

Use the reflection Linking under the light linking tab, you can bundle/group/categorize/naming convention your objects into areas of distance away so they do not reflection link.

I believe the falloff distance may only work with the non-pbr render engines too, not 100% sure on that though

Edited by LaidlawFX
Link to comment
Share on other sites

Hey, thanks a lot for your reply! I'm still a bit confused though...

Is the reflection link a per-object parameter? If so I can create an expression to do what you suggested, but my scene is composed of thousands of spheres with a reflective material, copied into a 3D lattice inside one Geo container... can I still use this parameter?

Edited by rafaelfs
Link to comment
Share on other sites

Hey, thanks a lot for your reply! I'm still a bit confused though...

Is the reflection link a per-object parameter? If so I can create an expression to do what you suggested, but my scene is composed of thousands of spheres with a reflective material, copied into a 3D lattice inside one Geo container... can I still use this parameter?

It is a per object/bundle/group/category parameter the easiest to think of it is an geometry object to geometry object link. You can make scripts to combine them, too. Play with it in a scene with two sphere objects to test.

As for the thousand objects in one geo node you can probably find a creative work around to it(by adding the reflection mask parameter perhaps), but the easiest is to have separate objects. So by default it is not designed to work within one node. I don't know how your scene is setup, but you could try and rewire it for the ability to use the tool. Depending on how important the reflection control is for you there may be other options to use, there are always more options, just the first one I can think of is to separate them. Just think of using object level parameters like you could with sops.

Maybe you can find another solution(this can be relatively messe logic in 5 secs), but inside a subnet you can use a modified instance node with the reflection, shadow, and light added to it, then create a thousand instance nodes named after numbers _1, _2, etc.. by code(check opscript out to list how the nodes is built, plus opcreate??? to duplicate it) with an object merge pulled from one null node with them all pulling for a group based on each individual point that has it's own group, _01, so you `opname("../../")` will pull ther group number, plus they are all separately controllable instance for shading and lighting, and you could make your objects delayed load to for kicks at that rate.

A simpler way above is to just separate the thousand nodes into a figurative octree of sort and do the above on a simpler scale based on quadrants.

It really depends on what your doing per scene, maybe this method might not suit your current problem as best, but in lieu of an alternative or in addition to an alternative you can make this work.

Link to comment
Share on other sites

Thanks a lot for this long answer, it makes my head spin with the possibilities, but it's really cool! :)

Maybe I can create a sort algorithm using a vex SOP... Will give it a try.

In my scene, I created a point could and fed it to a pop network, simulated some forces and stuff... then I instanced spheres into the points at render time.

D you think this workflow you suggested will work then?

Cheers

Link to comment
Share on other sites

Thanks a lot for this long answer, it makes my head spin with the possibilities, but it's really cool! :)

Maybe I can create a sort algorithm using a vex SOP... Will give it a try.

In my scene, I created a point could and fed it to a pop network, simulated some forces and stuff... then I instanced spheres into the points at render time.

D you think this workflow you suggested will work then?

Cheers

yeah... I believe you need to add the reflection/light/shadow mask parameters if you use the instance node itself they are not on their by default like the geometry node

Link to comment
Share on other sites

i wonder if there is a way to tell a point instance from a pointcloud not to reflect a other instance of the same pointcloud. I guess not, cause what name would you assign in the reflection mask, but splitting point clouds is not always a option, when it comes to 10000 of instances. or is there a way to tell instances not to reflect others?

Martin

Link to comment
Share on other sites

i wonder if there is a way to tell a point instance from a pointcloud not to reflect a other instance of the same pointcloud. I guess not, cause what name would you assign in the reflection mask, but splitting point clouds is not always a option, when it comes to 10000 of instances. or is there a way to tell instances not to reflect others?

Martin

You can try using Categories not sure how well they will work I haven't done them myself. I think you can assign them on a per point attribute for instancing. If you can figure them out I would love to see a successful example.

Link to comment
Share on other sites

I'm looking for a way to tell reflection rays to stop going after a certain distance of a bounce... Like say, anything that is past a certain distance from a surface won't contribute to the reflection at all.

I found this parameter, editing the interface of the mantra node, called Contribution Limit, and seems like I can get away with it, although it still gives me reflection of objects that are far far away from the reflective surface. If anyone has a better idea, even a better idea of how does this parameter works really, please let me know!

Cheers

Rafael

Working on some documents for a class in two weeks and saw this again I was confused when you said contribution limit were you talking about the Max Ray Distance on the Surface Model? I'm not sure if that was still the same issue or not.

from docs

Max Ray Distance- For reflections and refractions in non-PBR renders, treat rays that travel farther than this distance (in Houdini world space units) without intersecting any geometry as missed rays.

Also there was this article by Petz and Mzigaib a while back Reflection Falloff

<h3 class="rounded_top">

</h3>

Link to comment
Share on other sites

  • 1 year later...

Working on some documents for a class in two weeks and saw this again I was confused when you said contribution limit were you talking about the Max Ray Distance on the Surface Model? I'm not sure if that was still the same issue or not.

from docs

Max Ray Distance- For reflections and refractions in non-PBR renders, treat rays that travel farther than this distance (in Houdini world space units) without intersecting any geometry as missed rays.

Also there was this article by Petz and Mzigaib a while back Reflection Falloff

<h3 class="rounded_top">

</h3>

Hey, I haven't revisited this issue in a long time, but this last reference you sent seems to be exactly what I want! :) Will give it a try.

Thanks man!

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...