1
$\begingroup$

I have a procedural texture that uses the UV coordinates in some math. In order to get access to the X and Y coordinates, I use a Split RGBA node.

If that Split RGBA node is outside of a group, the values that come out of it appear to range from 0 to 1. If I group that Split RGBA node then the coordinate values seem to range from -1 to 1.

If you use the attached .blend file and ungroup (Alt-g) the NodeGroup.007 you will see the pattern of circles change from a red quarter-circle and green centered circle into a yellow quarter circle.

How do I make these nodes work properly whether grouped or ungrouped?

texture nodes

$\endgroup$
3
  • 1
    $\begingroup$ If the nodegroup input socket is changed to a purple socket, it works. (related: blender.stackexchange.com/q/34724/599). Not too sure why this is, as purple > yellow sockets are supposed to be interchangeable. Perhaps this is a corner case/bug? $\endgroup$
    – gandalf3
    Commented Jul 31, 2015 at 20:14
  • $\begingroup$ After some further testing, it appears that this setup works in Cycles material nodes. Perhaps this some quirk of texture nodes? Though the fact that the ungrouped purple -> yellow conversion works as expected leads me to think this is a bug. You might want to consider reporting this to the tracker. $\endgroup$
    – gandalf3
    Commented Aug 1, 2015 at 23:55
  • 1
    $\begingroup$ developer.blender.org/T45696 now tracks this bug. $\endgroup$
    – Mutant Bob
    Commented Aug 5, 2015 at 21:15

1 Answer 1

1
$\begingroup$

Based on Gandalf3's comment I have to change the socket to blue to work around this bug. Unfortunately, based on Setting Group Node Socket Type I conclude there is no procedure to change the type of an existing socket in 2.74.

We must add a node to the group that has a blue (vector) input. The texture Output node is suited to the task. Connect that input to the blank input on the Group Input and a vector input is created to match it. Wire the blue input into the various places that the yellow goes, and then delete the yellow input from the node group. You can delete the Output node now. Shift-tab out to the rest of the nodes and connect the coordinates to the now-blue input of the group.

When constructing groups in the future, a solution is to shift-drag across the connection between the vector output and the Separate RGBA node's input. This creates a blue Reroute node. Including the reroute node during the creation of the group codes the input as blue (vector).

$\endgroup$

You must log in to answer this question.

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