5
$\begingroup$

Does anyone have any suggestions for recreating this rainbow stripe effect with shader nodes? (image below)

I've been trying to control a wave texture and color ramp with the object coordinates of a sphere. The result was pretty good but I couldn't precisely control how the bands were shaped around the body and legs so I tried to mix-shader together 2 wave textures with a color ramp but the overlap between the 2 is too abrupt.

Below is the original image, my closest render, where I'm at now and my node tree.

Any suggestions would be greatly appreciated! I feel like I'm going about it the wrong way.

thanks! enter image description here

enter image description here

enter image description here

enter image description here

$\endgroup$
6
  • 2
    $\begingroup$ i am not totally sure but i would go with uv - coordinates.... $\endgroup$
    – Chris
    Commented Nov 29, 2022 at 5:43
  • $\begingroup$ Thanks for the suggestion @Chris . The shader is applied to particles on the surface of the animal object and when I use UV coordinates it makes the rainbow local on each particle instead of across the entire model, which isnt the effect im going for. $\endgroup$
    – Daniel
    Commented Nov 29, 2022 at 5:55
  • 1
    $\begingroup$ @Daniel UV should be the answer here, see if this helps - blender.stackexchange.com/questions/245871/… $\endgroup$ Commented Nov 29, 2022 at 6:17
  • $\begingroup$ but I mean, goodness, you came very close :) $\endgroup$ Commented Nov 29, 2022 at 6:18
  • 1
    $\begingroup$ As Chris says you shoudl try UVs but you need to correctly unwrap so that it works on the entire model $\endgroup$
    – moonboots
    Commented Nov 29, 2022 at 8:02

3 Answers 3

6
$\begingroup$

You can select half of your cat and assign it to a vertex group:

Blur it with a lot of iterations to get a gradient across the entire mesh:

(menu Weights → Smooth in Weight Paint mode)

Normalize the color to be in 0..1 range (menu Weights → Normalize)

Convert the vertex group to something the shader can see, e.g. go to Vertex Paint mode, and in menu Paint → Vertex Color from Weight. Now go to Shading, and use this information:

You could use geonodes to snap the colors to nearest Voronoi tile:

And use that, with some primitive AO to hide artifacts:

Credits for the mesh: Bronze Cheetah by artbox-ir

$\endgroup$
2
  • 1
    $\begingroup$ Wow that's a smart use of Smooth Vertex Weights ! It requires a dense input geometry though $\endgroup$
    – Gorgious
    Commented Nov 29, 2022 at 15:00
  • $\begingroup$ This is also genius, you smart Markus! I'll see if I can get this going as well, looks like it might be less intense on my processor then all the particles I'm using but I'm not sure if the hair particles will look the same as when they're applied to all the individual sphere particles... if that makes sense lol $\endgroup$
    – Daniel
    Commented Nov 29, 2022 at 23:43
4
$\begingroup$

Here's something that uses mesh topology:

Geonodes

Shader

Result

Credits for the mesh: White Tiger by mssaldamli

$\endgroup$
1
  • $\begingroup$ Man this is genius and exactly what I wanted to do. I'll see if I'm smart enough to execute it today lol $\endgroup$
    – Daniel
    Commented Nov 29, 2022 at 23:32
1
$\begingroup$

Have you tried using a empty a the "source"? Here is the result I got with it

enter image description here

https://i.sstatic.net/sd56e.jpg

And here is the node setup. Really simple but I think it works

enter image description here

Hope it helps

$\endgroup$

You must log in to answer this question.

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