Home Forums Discussions General "How on earth can I do this?" Thread

14 replies, 9 voices Last updated by Profile photo of Leonardo Giovanni Scur Leonardo Giovanni Scur 3 months ago
Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #1622
    Profile photo of ewetcr
    ewetcr
    Participant
    • 3D Generalist
    1 pt
    @ewetcr

    This is an attempt to start a topic where to ask, help and discuss on how to make a specific look. I work with Maya and Arnold, but feel free to ask and suggest solutions for any software you think of, always respecting the area of interest of the forums.

    My question for kicking off:

    how on earth can I replicate this dusty effect on any surface? I bet this can take use of the normals to say where to put dust and where not to,  aka, on the completely vertical sides there’s barely any dust, so there has to be a way to automatize it rather than making maps by hand. Thing is I’m a learner and I can’t imagine how to do it.
    dust on the curved surfaces
    Shoot your questions, and post anything you consider helpful.

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

    Fantastic thread idea!

     

    @ewetcr, just use the snow node in Maya! Just use it like a mask, then I’d pipe it into an alLayerColor node and make it more organic using various sizes of fractals. The calculations behind the snow node are very easy, if i’m not mistaken it just does the dot product of the Y-axis vector (0, 1, 0) with the normal vector .

     

    snow_node_maya_defaultmaya_snow_node_02maya_snow_node_03

    #1642 Score: 0
    Profile photo of Pim Hendriks
    Pim Hendriks
    Participant
    1 pt
    @pimhendriks

    The snow node will indeed help you to achieve this, but I guess the difficulty is getting the volume (silhoutte offset) of the dust. This is something that would really interest me. Semi-transparant duplicate mesh manipulated by a displacement? I’m not sure.

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

    @pimhendriks dude, i think that’s an amazing idea for a custom c++ shader. Just testing if the ray is intersected when going in the up Y axis (0, 1, 0). I’ll try that during downtime at work this week.

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

    @pimhendriks – Prototype using 10 lines of code! Now to figure out how to control it artistically, would be great to have control over the blur radius at the borders to make it more organic, and choose between what angle range I want the dust. The code can be found here: https://github.com/zpelgrims/dust

     

     

     

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

    Looks like I completely got the concept wrong, I thought you were talking about the dust not falling on surfaces that are occluded from the top. Not sure where I misread your post so badly, but it’s an interesting concept never the less.

     

    When there needs to be a silhouette offset, I think i’d not do this in shader, but rather a ton of dust curves and render those. It’ll just be easier and better looking

    #1666 Score: 0
    Profile photo of Pim Hendriks
    Pim Hendriks
    Participant
    1 pt
    @pimhendriks

    @admin It’s an interesting concept regardless! But yeah haha, I meant the silhoutte offset. I hadn’t though of dust curves, but that makes more sense than approaching it in a shader.

    #1677 Score: 0
    Profile photo of Caio Pimentel
    Caio Pimentel
    Participant
    • VFX Artist
    15 pts
    @caiopimentel

    @ewetcr, how on earth is a awesome thread idea!

    @admin, even misreading that’s a nice shader, I’m really interested to try some shader development. Maybe a could help if you’re interested!

    #1687 Score: 2
    Profile photo of Shane Simms
    Shane Simms
    Participant
    • Model / Texture Artist @ Iloura VFX
    2 pts
    @shanesimmsart

    @admin this reminds me of a very interesting paper: link here.

    They model the effects of the dust particles scattering light and building up on top of the surface over time (as well as other things) with an analytic BRDF that fits measured data of objects as they collect dust. They also include a version which has built-in occlusion.

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

    I found some time at work today to implement this properly. Here’s a (pretty bad) comparison image of the default snow node, and the snow node used in combination with my dust shader. Just a bit of extra raytracing to check for occluded top areas. It was fun to dig into Arnolds raytracing API for this. Check out the documentation over here: http://zenopelgrims.com/dusty-arnold-shader/

     

    The difference is subtle, but y’know, I think we’re in that era of CG right now.

     

    zeno_pelgrims_dusty_arnold_shader

     

    A comparison of a spread of 0.0 and 1.0. Note the dust shadowing along the Y axis.

    zeno_pelgrims_arnold_shader_dusty_spread_comparison

    #3442 Score: 0
    Profile photo of ibo tpl
    ibo tpl
    Participant
    @ibotpl

    I don’t know if this is the right thread to post this, but I’m a little desperate. I’m trying to built the material for sugar cubes but struggle to have that photo-realistic touch. i would love to have some tips from you guys on “how on earth” i could make the material/shader for a sugar-cube. I’m using Arnold for C4D.

    This is what i want:

     

    .. and these are my WIPs:

    Thanks in advance.

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

    @ibotpl, you’re in the right direction for sure I think. I’m commenting on the last image, since I think that one is closest. The obvious ones I immediately see is that you’re missing the sharp highlights, right now it feels pretty matte. Maybe add a secondary displacement map to break up the flat faces a bit? I also think the light could scatter through waaaaaay more, I cant see any shadow terminator in the reference due to the scattering.

     

    I love the variation you already have, it looks really cool!

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

    You can actually see, that your sss depth is not deep enough. in the reference its clear that they light penetrate through the whole block of sugar.

    As a matter of fact.. I dont think it should be done with SSS, rather try transmission, with slight rough refractions…and and insane amount of transmission ray depth.

    #4976 Score: 0
    Profile photo of Thomas Newlands
    Thomas Newlands
    Participant
    • 3D Generalist / Small game developer
    @thnewlands

    I’m surprised by how little smooth cellular automata work I’ve seen in CG. Right now I’m interested in taking a simulation of water and smoothing it out in shadercode using a distance field function. Is this even possible?

    My end goal is to come up with a rain on glass effect that’s driven by mushy automata.

    I’d like to emulate the rain in Drive Club: https://www.youtube.com/watch?v=hViwrRGfuHU

    #4979 Score: 0
    Profile photo of Leonardo Giovanni Scur
    Leonardo Giovanni Scur
    Participant
    • Developer
    @kroltan

    A tad different from the usual type of questions around here. This is about realtime, NPR rendering:

    I’ve been playing the latest Legend of Zelda installment recently, and found myself mesmerized by this incredibly novel way of drawing toon outlines.

    To be clear, I’m talking about the light brightness transmitting through the edges of the object on all orientations, not the complete cel-shaded look. Reference images below.

    Not even able to classify how this effect is achieved. Almost tempted to call it NPR subsurface scattering, but it doesn’t really look like SSS. Screenspace width rim shading?

    It appears most proeminently in the (substantially more cel-shaded) characters, but is also apparent in the terrain and object, which uses a relatively more traditional PBR look.

    Argh, this is frustratingly complicated.

    https://cdn.gamerant.com/wp-content/uploads/breath-of-the-wild-snowboarding-700x389.jpg.optimal.jpghttps://metrouk2.files.wordpress.com/2016/06/legend-zelda-breath-of-wild-link.jpg?quality=80&strip=all&strip=all

    https://assets.vg247.com/current/2017/01/the_legend_of_zelda_breath_of_the_wild_switch-34.jpg

    And here is my (paltry half-assed) attempt at approximating the effect in Unity: (old video, using too much of the default PBR shader. Observe the outline, not the general shading)

    It uses basically a combination of rim-shading with a cutoff, mixed with the dot of the camera and light directions, essentially making the effect stronger the more the camera is pointed at a light.

    The most obvious problem with this approach is that it looks horrible on almost-flat surfaces seen at a grazing angle; and also depends a lot on the relative curvature of the object. In the end it looks simply “wet”.

    This is an old video, here’s a screenshot of the latest updates, with annotations where it behaves correctly and where it behaves weirdly (green=good, red=bad):

    In the game, the outline width is mostly constant, varying globally per object, and camera distance.

    With the rim-based approach, the cutoff is constant, but the proportionality depends on the surface curvature.

    You can see it clearly on the last two screenshots, where a slight turn of the camera makes a whole erroneous section of the outline appear.

    Maybe the rim approach if we can scale it by some factor that negates its curvature dependency, but that doesn’t make much sense since that’s the whole point of a rim.

    I tried using Sobel, but it has way too many false-positives and isn’t really suited for this task, since not all edges are actually highligted, mostly those bordering the model or overlapping other parts of the model.

    Initially I won’t post code since it’s not a debugging question, but how to do it conceptually.

     

Viewing 15 posts - 1 through 15 (of 15 total)

You must be logged in to reply to this topic.