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$
  • 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 Jul 31 '15 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 Aug 1 '15 at 23:55
  • 1
    $\begingroup$ developer.blender.org/T45696 now tracks this bug. $\endgroup$ – Mutant Bob Aug 5 '15 at 21:15
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$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.