4
$\begingroup$

In the Shader Editor I have created A Node Group and within this group I want to get an angle from the group input and do something with it.

If I simply create a new node input I am only allowed to have as input type Vector, Shader, Float or Color, if I choose Float I can then set Min and Max value to 0 and 360 and connect that to Combine Vector and use the vector in a Mapping node like so:

current setup

This will not work as the input node value is in Degrees and the Combine + Mapping expect Radians.

I could add two Math nodes and covert from degrees to Radians x*Pi/180 or I could just temporarily connect an angle input from an Vector Rotate node like this:

vector rotate node

For the group input to create a Degree input for me, like so:

result group input

So my question is: How to make an input accept angle Degrees ° ?

I have tried to input things like:

  • 45d
  • 45r
  • 45°
  • "45r"

But none worked.

$\endgroup$
1

1 Answer 1

5
$\begingroup$

You can use Math node to convert degrees to radians:

enter image description here

Even Rotation input displays Degrees, but actually it uses Radians. That design flaw is considered as known issue:

https://developer.blender.org/T81389

It is like you can enable metric system to view distance in meters, radians are viewed in degrees by default:

enter image description here

$\endgroup$
4
  • $\begingroup$ If you connect the ANGLE node from a VECTOR Rotate node into the GROUP Input node you will see that MAGICALLY an degrees input is created $\endgroup$
    – Zald
    Aug 8, 2022 at 13:25
  • $\begingroup$ Oh, that's fun. So I've learned that it has an internal property bl_socketname 'NodeSocketFloat' and 'NodeSocketFloatAngle'. Then I try to change that, Blender crashes. So it is not supposed to be changed, I guess. So at least for now, this question seems to duplicate of this one: blender.stackexchange.com/questions/258623/… $\endgroup$
    – Crantisz
    Aug 8, 2022 at 13:50
  • $\begingroup$ Thanks for that! so there is actually a property for an input to be either Float or Float Angle, very interestingm, but how come I can change any input socket from Float to FloatAngle just by attaching the Angle input of a Vector Rotate? this puzzles me $\endgroup$
    – Zald
    Aug 9, 2022 at 7:24
  • $\begingroup$ Once created, it can't be changed. Only in properties panel. But where is no units there. So it is design flaw $\endgroup$
    – Crantisz
    Aug 9, 2022 at 7:30

You must log in to answer this question.

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