I'm currently following Erindale's tutorial on motion capture in blender, but I'm having a weird issue where colour is not showing through the viewer node.

I was pulling my hair out trying to figure out the issue and found, to my amazement, that if I use Crtl+Shift+LMB to connect the vector node to the viewer instead of just dragging the noodle, it suddenly works???!?!

enter image description here

Is this a bug? I can't find the sense in it.

Before someone asks, here's the full node setup: enter image description here

ALSO: The viewer node allows me to plug a vector directly into the colour of the object, but there's no value output socket on the group output node. At the end of Erindale's video, he mentions that he hasn't yet found a way to actually get the colour rendered. Is there a solution to this?

  • $\begingroup$ For the main question, I've explained how the Viewer node works. About the additional question: it's quite a long video, I do not know where he says you cannot get the colors rendered. Maybe you should ask this as a new question. In general you can say, whatever the Viewer node shows can be stored in a named attribute and then it can be used in a material shader through the Attribute node there, so I'm not sure what is meant by not finding a way to get the color rendered... $\endgroup$ Mar 24 at 11:21

1 Answer 1


This is not a bug. I do not know how you got the Viewer into your nodetree, either adding it manually or by previously using Ctrl+Shift+LMB shortcut on a different node.

When you add a Viewer node into the scene manually, it has by default a grey Value socket, meaning by default it expects float values. It also has a grey socket when you used the shortcut on a float output before and got the node into your nodetree like this.

The thing is, when it expects a float value, the thing you plug in there manually will be converted into a float value, so when you drag a connection from the Vector output to the grey Value input, the Viewer node converts the vector into a float (by using the average value of XYZ). Imagine this as the Viewer node being passively fed some value to output.

But when you use the Ctrl+Shift+LMB shortcut on a Vector output, you actively tell Blender you want to see the output of this socket - and then you'll get a Viewer node which is capable of showing the vector as a 3-channel color, because in this case the Viewer node is specifically added to show a vector - or it would be added if you had none. Since there already is one, Blender uses this - because a mesh can always only show the output of one Viewer node, therefore no new one is added by the shortcut (to have multiple ones you would have to add them manually from the Add menu).

So the difference is, when using the shortcut you actively say, I want to see this. Just dragging something in there from somewhere is just a float input waiting for some value to display. And since it does not matter to the Viewer node what kind of values to display, it changes only when "told" so by the shortcut.

For example, the grey shortcut switches to dark blue when using the shortcut on the vector output, because you tell the node you want to see a vector. If you just plug it in, the color stays grey. But after using the shortcut and turning it blue, you can now drag a float value in it and it will stay blue, because it does not need to change. It simply outputs the float value on all three channels. But using the shortcut on a float value will make it switch to grey again.

  • $\begingroup$ In addition to this very extensive explanation, you can explicitly change the data type of the Value input socket of the already existing Viewer node by opening the side bar (pressing "n"), then by choosing the Node tab. The data type is defined in the Properties sub-panel. $\endgroup$ Mar 24 at 10:57
  • $\begingroup$ @StefLAncien Yep, sure. This was more an explanation about his use of the Viewer node which seemed to be a bug in his opinion. When I would explicitly switch the data type in the properties and it would still show the wrong result, then I would suspect a bug as well. But the question was about why the Viewer node apparently gives different results while the OP thought he was seemingly doing the same, which he didn't. $\endgroup$ Mar 24 at 11:03

You must log in to answer this question.

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