5
$\begingroup$

I'm currently following CG Geek's mountain tutorial and he uses the "Vector Math" node and sets the type to "Average". But with blender 2.8, they removed the "Average" setting so, is the "Average" setting in a different node or is there a new setting in the "Vector Math" node that replaces "Average"?

$\endgroup$
8
$\begingroup$

Blender automatically converts old nodes when copied into newer versions.
So Average becomes Add + Normalize

enter image description here

$\endgroup$
5
  • 5
    $\begingroup$ Well, that's very interesting. ... If that was what Average was doing, it wasn't very well named.. I've always thought of averaging two (arbitrary length) vectors as producing the vector which would take you to the midpoint between them, given all vector origins at 0. ((V1 + V2) / 2).This substitute produces a vector in the same direction, but of unit length. $\endgroup$ Jul 22 '20 at 22:38
  • 1
    $\begingroup$ I've made a kit to help you view the vectors, and the functions of the vectors, produced by shader trees. Perhaps you could use it to see whether Average is the same as the automatic substitution. $\endgroup$ Jul 23 '20 at 10:19
  • 1
    $\begingroup$ First, that's a great illustration, thanks :). Second, I couldn't make it work in 2.8 (crashes instantly), but from my tests, the automatic conversion and the solution by Chris Bennett give the exact same results as the original Average node. $\endgroup$ Jul 23 '20 at 13:26
  • 1
    $\begingroup$ Ahh.. Sorry about that, I wonder why that is? Works for me in 2.83, I even downloaded it back to check.. On the answer, I was put off by the divisions by 2 in CB's answer, so didn't notice the Normalize at the end of his tree. (Because of the Normalize, the division is redundant, it makes no difference to the result) So yes, the old 'Average' wasn't Average(A,B), it was Normalize(A+B), (which is a rotational, angular average of 2 unit vectors) $\endgroup$ Jul 23 '20 at 13:45
  • $\begingroup$ ... which presumably explains why they renamed it ;) $\endgroup$ Jul 23 '20 at 20:09
5
$\begingroup$

I think it's gone for good, but this is what it looked like under the hood. I used two texture coordinates as proxies for the input vectors that are to be averaged. You can make this into a node group if you wish, so it's always there.

VectorAverage

$\endgroup$
1
  • 2
    $\begingroup$ Do you need to split? Vector Math Add and Divide are still available.. but I guess this helps show what those are doing $\endgroup$ Jul 22 '20 at 21:36

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.