Home Forums Challenges Challenge 03: Retroreflector

67 replies, 22 voices Last updated by Profile photo of fred_lc fred_lc 3 months, 3 weeks ago
Viewing 20 posts - 21 through 40 (of 68 total)
  • Author
    Posts
  • #2812 Score: 3
    Profile photo of Kent Skorstad
    Kent Skorstad
    Participant
    • Art Director and 3D generalist
    13 pts
    @shallowrenders

    Here’s another animation test. This is a high poly version. The previous one’s reflection was miscalculated and had only 33,3% reflection. This one has 100% which looks more realistic to me. Still have not figured out a solution without making this geometry pattern. Displacement gets to heavy to render, and normal and bump don’t work like it should….yet 🙂 Here’s the animated version on vimeo.

     

     

     

    This post has received 3 votes up.
    #2824 Score: 0
    Profile photo of Arvid Schneider
    Arvid Schneider
    Participant
    • Sn. Lighting TD ILM
    11 pts
    @arvid

    Hi @anthonypilon

    I like your approach! Could you elaborate a bit more what you did with the rgb normal breakup. Would be interesting to understand fully.

    Thanks

    #2827 Score: 1
    Profile photo of Kent Skorstad
    Kent Skorstad
    Participant
    • Art Director and 3D generalist
    13 pts
    @shallowrenders

    Hi @arvidschneider. Hopefully this could help you. Thank you @anthonypilon for sharing this technique. Im using Redshift for C4D.

    This post has received 1 vote up.
    #2833 Score: 1
    Profile photo of Arvid Schneider
    Arvid Schneider
    Participant
    • Sn. Lighting TD ILM
    11 pts
    @arvid

    @shallowrenders Ah now I see what you are doing! Very cool idea.

    This post has received 1 vote up.
    #2838 Score: 1
    Profile photo of Anthony Pilon
    Anthony Pilon
    Participant
    • 3D Generalist
    20 pts
    @anthonypilon

    @arvidschneider Sure. Since both texture coordinates and shading normals are treated as float3 vectors in a lot of engines, I can use mapping techniques (designed to translate texture coords) to change the shading normal and effectively rotate the environment around the object. I take three glossy or anisotropic BSDFs and multiply their base colors by FF0000, 00FF00, and 0000FF respectively, then add them together. That lets me rotate R, G, and B independently, and get a sort of dispersion effect. Like most hacks, it’s very un-physical, but it looks good in a lot of cases.

    One thing to be aware of is that rotating the normals too much can cause black artifacts, like so:

    There’s only so much wiggle room for hacking it before the camera simply can’t see the part of the object you’re trying to rotate into view, so it just returns null. On this test sphere, I was getting about 3-5° of offset before the borders got too bad, which is more than enough to make an extreme dispersion effect. The fourth image has RGB rotated ~2° each in three different directions.

    This post has received 1 vote up.
    #2842 Score: 2
    Profile photo of Anthony Pilon
    Anthony Pilon
    Participant
    • 3D Generalist
    20 pts
    @anthonypilon

    Did a bit more work on the reflections and clearcoat, and started adding some grunge layers:

    Animated version here (vimeo)

    I rendered 20 frames out, then time-remapped them in AE. With a little bit of sample clamping, each frame was cleared up in 100 samples and ~70 seconds. I think I’ll definitely be able to do a slightly longer animation for the final at full res, just by leaving it to render overnight.

    This post has received 2 votes up.
    #2863 Score: 0
    Profile photo of Zeno Pelgrims
    Zeno Pelgrims
    Keymaster
    • Probably waiting for uncompleted render buckets
    26 pts
    @admin

    Fantastic work everyone, this is exciting work!

    ______________________________________________

    _NOTE_ : Doesn’t work if object gets rotated!

     

    For everyone using Arnold, to get the diffraction effect described by @anthonypilon, I use the following setup:

     

    nodegraph

     

    arnold5_diffraction_cheat

     

    If anyone knows a better way, please correct me. It’s weird that I output the aiNormalMap to tangent space and then have to interpret it in object space for it to work.

    #2872 Score: 0
    Profile photo of Zeno Pelgrims
    Zeno Pelgrims
    Keymaster
    • Probably waiting for uncompleted render buckets
    26 pts
    @admin

    @anthonypilon, could you please give a bit more info on the shader-only retroreflection? It looks super straightforward but I can’t get it working in Arnold.

     

    Right now I’m subtracting the shadingpoint position from the camera position to get the vector between the two points, I thought this would give me the object space normals and could just feed this, normalized, into an object space normal node, but that doesn’t work.

     

    The geometry>incoming vectors are in object space, right? Are you feeding them into the bump node as object space vectors?

    #2893 Score: 0
    Profile photo of Gobgob
    Gobgob
    Participant
    • 3D generalist
    1 pt
    @gobgob

    Hello there! Really interesting challenge and lots of things to learn, thanks for sharing.

    @anthonypilon, great highlight colors technique!

    I’m wondering if there is any way to be able to drive/map a ramp with a shader reflection? I wanted to drive a rainbow ramp with a reflection-only shader to get the nice reflection colors but it seems that it’s not supported in Redshift or Vray.

    Is this something that we can’t do? Any ideas?

    #2900 Score: 0
    Profile photo of Anthony Pilon
    Anthony Pilon
    Participant
    • 3D Generalist
    20 pts
    @anthonypilon

    @admin The geomotry node returns all its vectors in world space, not object space. The setup you describe should work perfectly, as long as you do it in world space:

    Manual version
    The two groups above give me identical results.

    The bump node is also in world space, AFAIK it can accept either world or object normals. I’m using the MixRGB node to bring the bump-mapped normals back in instead of a vector average, since color mix gives me control over the weight of the averages.

    #2904 Score: 0
    Profile photo of Anthony Pilon
    Anthony Pilon
    Participant
    • 3D Generalist
    20 pts
    @anthonypilon

    @gobgob Unfortunately, I don’t think there’s a good way to drive a ramp with the output of a shader in most renderers. The next closest thing might be to try thin film interference, though that’s more of a rainbow across the entire surface rather than breaking up the highlights. Some more un-physical engines might let you apply a ramp to the specular component, but your best bet is probably the roughness or normal approach.

    #2915 Score: 0
    Profile photo of JC
    JC
    Participant
    @joca

    @admin I replicated your network but it breaks apart if you rotate the sphere, it seems like the RGB specular channels rotate in opposite directions…doesn´t matter if in object or tangent space.

    I´m not participating in this challenge but all this diffraction stuff is driving me crazy (I´m sure it´s Maya´s fault…XDDD).

    You all guys are like astrophysicists to me >:(

    #2918 Score: 0
    Profile photo of Zeno Pelgrims
    Zeno Pelgrims
    Keymaster
    • Probably waiting for uncompleted render buckets
    26 pts
    @admin

    Haha, damn – I didn’t try to rotate the object at all. I’ll have to figure out something better in that case. Scrap da netwoooooork! :—-)

    #2926 Score: 0
    Profile photo of Gobgob
    Gobgob
    Participant
    • 3D generalist
    1 pt
    @gobgob

    @anthonypilon, thanks for the infos! Being able to apply a ramp to the specular would be really nice for this.

    #2942 Score: 0
    Profile photo of Arvid Schneider
    Arvid Schneider
    Participant
    • Sn. Lighting TD ILM
    11 pts
    @arvid

    I have used thin film too and a really tight facing ratio to only get the color shifts on angles greater than 10 degrees, which looks like its working too.

     

    #2950 Score: 0
    Profile photo of Jonathan Belas
    Jonathan Belas
    Participant
    • 3D Material Designer at Nike
    @thebeals

    +bump
    I am super curious to see how this diffraction effect can be accomplished in Maya.  Can’t wait to see what you come up with, @admin. I run into the same problems as you when I rotate the object.

    Technically speaking, is the phenomenon diffraction or dispersion?

    #2994 Score: 0
    Profile photo of Anthony Pilon
    Anthony Pilon
    Participant
    • 3D Generalist
    20 pts
    @anthonypilon

    @admin @joca Do you run into the same problem when you apply the effect in world space? I get the problem when I use object space, but everything works fine in world space.

    #2997 Score: 0
    Profile photo of JC
    JC
    Participant
    @joca

    I don´t know much about spaces, maya´s bump2d node gives these three options, object and tangent breaks the specular when rotated but tangent and bump modes don´t give any diffraction from the beginning…

    http://help.autodesk.com/cloudhelp/2016/ENU/Maya/images/GUID-E5DFFA89-0C1F-433E-B420-B5F9CF641C53.png

    #3015 Score: 0
    Profile photo of Zeno Pelgrims
    Zeno Pelgrims
    Keymaster
    • Probably waiting for uncompleted render buckets
    26 pts
    @admin

    I’ve been trying with the bsdf approach, rather than geometry. I get nice results with the geometry approach, but I get into problems when I want to fit my pattern to the cone shape. When the pattern gets stretched in areas, the retroreflecting properties break. Then I tried to scatter half spheres all over the cone using xgen, but I think that didn’t work well since I didn’t take into account the refractive hemisphere. Then I tried to do the same with the cube shape, which works perfectly, but it’s just too noisy and long to render to be practical.

     

    Still need to improve this quite a lot, still figuring out the dispersion/diffraction effects (this was a good question – I’m not sure what it is). After that it’ll be all the small details, such as the dirt etc.

     

    There’s a bit of comp on top since we’re not there yet with lens effects at rendertime.

     

    In this version I am still using facingratio’s related to the camera position, I still need to calculate them relative to the light position instead.

     

    zeno_pelgrims_retroreflector_shader

    zeno_pelgrims_retroreflector_nodegraph

    #3052 Score: 0
    Profile photo of Zeno Pelgrims
    Zeno Pelgrims
    Keymaster
    • Probably waiting for uncompleted render buckets
    26 pts
    @admin

    Bit more work on it, dispersion using @anthonypilon ‘s technique. It’s a bit overkill now. Doesn’t work on my fake reflections lines, still need to figure out a way to do this.

     

    zeno_pelgrims_retroreflector_shader_02

Viewing 20 posts - 21 through 40 (of 68 total)

You must be logged in to reply to this topic.