3
$\begingroup$

I'm dealing with a Nodegroup that receives the output of several Texture Map nodes. One of those nodes needs to receive the result of some calculations as vector mapping data.

I could have such calculations dangling at the left side of the involved Texture Map node, connected to its Vector input, but I intend to distribute this material among friends, so, I want something a little simpler and tidier to reduce the chance of mistakes on their part. What I'm doing is including such calculations inside the Nodegroup, too, as a sub-block that doesn't contribute to anything other than this auxiliary output to feed that Texture Map node (the attached image is a simplification. The actual Nodegroup is rather large, complex, and full of inputs).

Node arrangement approximation

It does work, and the results are correct.

But I don't know if it is a good idea. That kind of thick orange link looks like some kind of warning (for the life of me I can't find what it means in Blender's manual), and I'm noticing that sometimes I'm having to force a recalculation of the material by tweaking some other input field to make Blender react (I'm on Mac, so, I don't know if it's a Mac issue or a Blender-level one). The alternative is to put the mapping calculations back outside the Nodegroup, but I'd really want to spare my friends the hassle they would mean (they re-use data from a normal map, meaning more links criss-crossing the node tree).

So, my questions are:

  1. Is this kind of arrangement "legal" or valid?
  2. Is that thicker orange link a warning of some sort?

(I'm on Blender 3.2.1)

$\endgroup$
6
  • 4
    $\begingroup$ Hi :). RED noodles signal invalid connections. In this case probably circular dependency, since you're feeding the output into one of the input textures. This might cause those other problems :) $\endgroup$ Commented Jul 21, 2022 at 14:16
  • 1
    $\begingroup$ Correct or you might have the vector output (blue) going into a shader input (green). Something like that. $\endgroup$
    – Jakemoyo
    Commented Jul 21, 2022 at 14:31
  • $\begingroup$ In regards to your question I'd say "Ask forgiveness not permission". Send it to one of your friends, see if it works, if they have any issues fix it and resend it to them. $\endgroup$
    – Jakemoyo
    Commented Jul 21, 2022 at 14:32
  • 1
    $\begingroup$ I don't want to make a chat here, but ... Your both Q seems to be answered by Jachym's comment ... it sounds like "What was the first - an egg or a chicken?" ... Anyway if it works for you keep it :) I assume - disconnecting red noodle stops it working, right? If it really works I'm interested what kind of circular dependency is working in blender if you can elaborate more or direct me to this topic. Thanks $\endgroup$
    – vklidu
    Commented Jul 21, 2022 at 19:51
  • $\begingroup$ It's no trouble at all. :) I'm updating the attached image to better reflect what's going on with the dependencies in my node arrangement. And my thanks to Jachym and Jakemoyo. $\endgroup$ Commented Jul 22, 2022 at 11:48

1 Answer 1

2
$\begingroup$

Nodegroup output connected back into the same nodegroup is an invalid connection.
Even if there's no circular dependency.
Such connections will not properly update, or work at all.

(It's probably just developers being extra paranoid :))

Two identical setups, but one of them goes through a nodegroup enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ In the case I'm dealing with, it does work, but seems to require at certain times that one updates something else in the nodegroup for it to fully recalculate things. I'd kill for Blender to offer an image node that one would be able to subject to a mapping action downstream instead of only an integrated mapped texture node. None of this would be needed. Well, I guess that's all. Thank's everyone :) $\endgroup$ Commented Jul 22, 2022 at 15:40
  • $\begingroup$ Yeah i noticed it acts a bit unpredictably at times :). Anyways, good luck with your project :) $\endgroup$ Commented Jul 22, 2022 at 16:59

You must log in to answer this question.

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