1

First, I'd like to provide some context. I have a low resolution 3d map. I made this map by subdividing a hexagon and applying a Displace modifier to it. A little color-ramp magic in the shader, and I have something that's conceivably usable for my purposes:

An island render

However, switching between the displacement texture and the rendering shader is inconvenient for painting changes onto the model. Before, it was the only way to do things, but now, I thought I'd try to use the Geometry Nodes system to displace my vertices with Vertex Paint as the input instead of a texture.

The problem is, the Displace node uses the texture's HSV value at each vertex directly, which is different from the color values visible in the spreadsheet editor. For instance, while a color with an HSV value of 0.0 has an internal value of 0.0, and a color with an HSV value of 1.0 has an internal value of 1.0, a color with an HSV value of 0.5 is stored with a value of 0.216 per the spreadsheet editor.

How do I convert the stored value into something approximating the HSV value?

1 Answers1

1

In Blender 3.3+ you can solve this as follows:

enter image description here

In this version the node Separate Color offers you the possibility to choose between RGB, HSV or HSL.

The value for the vertex color is stored in the attribute Col, which you can query with the node Named Attribute.

quellenform
  • 35,177
  • 10
  • 50
  • 133