5
$\begingroup$

I have a spherical gradient texture in one of my materials, and I would like to make it concave, kinda like a banana or boomerang shape:

enter image description here

However, I couldn't find a solution, the vector curves node doesn't allow for this:

enter image description here

Volumetrics:

The result I'd like to reach is a sort of upside down bowl shape. Currently the shape in 3D space looks like this:

enter image description here

But that's kinda hard to see, so here it is in mesh form, it's like a disk with 2 opposite points on its circumference pushed down:

enter image description here

This is the shape I'd like to get:

enter image description here

See the difference between them for more clarity:

enter image description here

Updated .blend:

$\endgroup$
2
  • $\begingroup$ Do you want a hard cut-off as in your geometric illustrations, or a fuzzy one? $\endgroup$
    – Robin Betts
    Commented Aug 19, 2021 at 18:38
  • $\begingroup$ A fuzzy one, it's needed for combining it with other procedural textures. $\endgroup$
    – Geri
    Commented Aug 19, 2021 at 18:44

3 Answers 3

3
$\begingroup$

You could 'model' your bowl as the difference between two spheres:

enter image description here

The origins and Z-scale of the spheres can be adjusted to make them more or less ellipsoid, and cut into one another at different levels. This is what the internal Mapping nodes do. The Less Than and Greater Than nodes determine the overall diameter of the spheres. The whole lot can be shifted and/or scaled using the Mapping node before those groups. It's just for convenience.

This is the result:

enter image description here

To soften this, you would swap out the Less Than and Greater Than nodes for a Range Mapping of the absolute difference between the Lengths and the current Threshold values, to a range from 0 to 1, clamped.

To make a fuzzy version, use Map Range nodes to make fuzzy spheres, and subtract one fuzzy sphere from the other fuzzy sphere.

enter image description here

It's harder to see that it's bowl-shaped.. but it is...

enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ It's got a bit late for me, here, to make the fuzzy version.. I'll get to it if you haven't. As I'm sure you've figured, it's pretty difficult to light / illustrate the soft version... $\endgroup$
    – Robin Betts
    Commented Aug 19, 2021 at 20:56
  • 1
    $\begingroup$ Great stuff! And very elegant as well. Thanks! And yeah I think I need help with the fuzzy version when you have time :) $\endgroup$
    – Geri
    Commented Aug 19, 2021 at 21:07
  • 1
    $\begingroup$ @Geri.. see edit. Blend file replaced. $\endgroup$
    – Robin Betts
    Commented Aug 20, 2021 at 7:38
  • $\begingroup$ Perfect, thanks! $\endgroup$
    – Geri
    Commented Aug 20, 2021 at 8:44
4
$\begingroup$

Create a circle using gradient texture node set to spherical. Then, insert a sep xyz node. We need to make two lines. Equation of first line is y-x=0. Put it like this:

enter image description here

Now, create second line using equation y+x = 0 like this:

enter image description here

Make sure you do it the correct order otherwise it may be wrong.

Now, insert math node and set it to "smooth maximum". And insert both outputs of the lines to the smooth maximum like this:

enter image description here

Set the distance to 0.6:

enter image description here

Now, add another math node and set it to smooth minimum. Then connect the output of the gradient texture node to the first socket and the smooth maximum node output to the second socket. Then after the smooth minium , add a map range node and just set it to smoother step for smooth gradient.

End result after tweaking things:

enter image description here

Please see the blend file attached. I have marked the tweaks I did in blue color. Thanks!

$\endgroup$
13
  • 1
    $\begingroup$ Awesome! This is exactly what I wanted and it has all the controls to fine-tune its shape to my exact needs. Thanks a lot! (not gonna mark as answer just yet, curious to see if there'll be other answers, but this is already perfect) $\endgroup$
    – Geri
    Commented Aug 19, 2021 at 12:29
  • 1
    $\begingroup$ No problem dude! Thanks for such kind words! You are an awesome guy $\endgroup$ Commented Aug 19, 2021 at 12:47
  • $\begingroup$ Well, I've been trying to implement it to my material, but I've seem to have run into a bit of an issue. See, I actually wanted this as a 3D volumetric material, as a sort of upside-down bowl. But I've been struggling with it. Can you also help with that? $\endgroup$
    – Geri
    Commented Aug 19, 2021 at 14:25
  • $\begingroup$ I haven't played with volumes so I don't think I can help with that but I will try and let you know ok $\endgroup$ Commented Aug 19, 2021 at 15:43
  • $\begingroup$ Are you talking about displacement? I am very familiar with displacement $\endgroup$ Commented Aug 19, 2021 at 15:46
2
$\begingroup$

Well, I kinda found a solution:

enter image description here

Iterated on @Kifayat's node tree, but it's really messy now, and not very elegant.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .