This addon adds the Math Controller, an advanced math node extension that performs numerical calculations based on formulas you enter.
The Math Controller is a custom group node that internally generates a network of math nodes.
You can use this node in the Shader Editor, Geometry Node Editor, Compositor and Texture Node Editor (Note: Input/Output sockets currently only appear within sub-node groups witch Math Controller can generates).
[ shader & geometry & compositor ]
Node editor > Add > Utilities > "Math Controller"
[ texture node editor ]
Node editor > Add > Converter > "Math Controller"
[ compositor & geometry ]
Node editor > Add > Utilities > "Math Controller"
[ texture & shader ]
Node editor > Add > Converter > "Math Controller"
+/- ButtonsAdd or remove formula input fields.
You can write formulas by combining real numbers, variables, functions from the list below, and outputs from other fields (e.g., f1, f2).
f1, f2). You can use these as variables in other fields to inherit calculation results.Click the button next to the input field to open the Advanced Formula Editor.
() nesting levels, and browse the function list.The button at the bottom creates a standard Node Group that stays synchronized with the Math Controller.
Like standard Blender nodes, the Math Controller can be duplicated using Shift + D or Ctrl + Shift + D.
| Category | Function | Description |
|---|---|---|
| Functions | add(a, b) |
Addition |
sub(a, b) |
Subtraction | |
mul(a, b) |
Multiplication | |
div(a, b) |
Division | |
madd(a, b, c) |
Multiply Add | |
log(a, b) |
Logarithm | |
sqrt(a) |
Square Root | |
inv_sqrt(a) |
Inverse Square Root | |
abs(a) |
Absolute | |
exp(a) |
Exponent | |
| Comparison | min(a, b) |
Minimum |
max(a, b) |
Maximum | |
less(a, b) |
Less Than | |
greater(a, b) |
Greater Than | |
sign(a) |
Sign | |
compare(a, b, c) |
Compare / Epsilon | |
s_min(a, b, c) |
Smooth Minimum | |
s_max(a, b, c) |
Smooth Maximum | |
| Rounding | round(a) |
Round |
floor(a) |
Floor | |
ceil(a) |
Ceil | |
trunc(a) |
Truncate | |
fract(a) |
Fraction | |
mod_t(a, b) |
Truncated Modulo | |
mod_f(a, b) |
Floored Modulo | |
wrap(a, b, c) |
Wrap | |
snap(a, b) |
Snap | |
pingpong(a, b) |
Ping-Pong | |
| Trigonometric | sin(a) |
Sine |
cos(a) |
Cosine | |
tan(a) |
Tangent | |
asin(a) |
Arcsine | |
acos(a) |
Arccosine | |
atan(a) |
Arctangent | |
atan2(a, b) |
Arctan2 | |
sinh(a) |
Hyperbolic Sine | |
cosh(a) |
Hyperbolic Cosine | |
tanh(a) |
Hyperbolic Tangent | |
| Conversion | rad(a) |
To Radians |
deg(a) |
To Degrees |
This addon is licensed under the GNU General Public License v3.0 or later.
このアドオンは、入力した数式の通りに数値計算を行う拡張ノード「Math Controller」を追加します。 Math Controllerは、内部に数式ノード群を自動生成するカスタムグループノードです。 シェーダーエディター、ジオメトリーノードエディター、コンポジターおよび※テクスチャノードで使用可能です。(注:※では本体に入出力ソケットが作れず、接続はグループノード(二次生産)に依存しています)
基本的な場所
ノードエディター > 追加 (Add) > ユーティリティ> "Math Controller"
texture nodeまたはblender 5.0未満のshader
ノードエディター > 追加 (Add) > コンバーター > "Math Controller"
+/- ボタン入力フォームを増減させます。
実数、変数、関数、および他のフォームの出力(f1, f2 など)を組み合わせて数式を記述できます。
f1, f2 などの名前が割り当てられており、これを他の欄で変数として使うことで計算結果を再利用できます。入力フォーム横のボタンから専用エディタが開きます。
フォーム下部のボタンから、Math Controllerと同期した通常のノードグループを作成できます。
標準ノードと同様に Shift + D や Ctrl + Shift + D で複製可能です。
以下省略
Added
Initial support for Texture Node Editor (Note: Input/Output sockets currently only appear within sub-node groups witch Math Controller can generate).
Compatibility extended down to Blender 4.2.
Changed
Fixed
This extension does not require special permissions.
Thank you for your advice and review!
Thanks to them, I’ve updated the node header colors to "converter" like math nodes!
This will be released in the next update (note: the controller remains red in Blender ≤ 5.0).
Regarding the deletion of arbitrary middle rows, I'm sorry, it’s a bit complex to implement right now and will take more time.
I am planning a future update to increase the flexibility of formula management, including these improvements.
For now, please handle this by moving your formulas up and deleting the empty slots at the bottom. Thank you for your patience.
This addon really helps a lot. Just a little advice. Can you make the internal group color tag be converter by default so that the math controller node will also show converter color tag? And is this possible to delete a arbitrary line instead of the last one(For example, i have f1,f2,f3,f4 and f5 now, but I want to delete f2 and f3)