Polar Coordinates ノード
説明
入力 UV の値を極座標に変換します。数学では、極座標系は 2 次元座標系であり、平面上の各点が "基準点からの距離" と "基準方向からの角度" によって決定されます。
結果として、UV への入力の x チャンネルが入力 Center の値で指定される点からの距離値に変換され、同入力の y チャンネルが、その点を中心にした回転の角度値に変換されます。
これらの値はそれぞれ、入力 Radial Scale と入力 Length Scale によってスケール可能です。
ポート
Name | Direction | タイプ | バインディング | 説明 |
---|---|---|---|---|
UV | 入力 | Vector 2 | UV | 入力 UV 値 |
Center | 入力 | Vector 2 | なし | 中心の基準点 |
Radial Scale | 入力 | Vector 1 | なし | 距離値のスケール |
Length Scale | 入力 | Vector 1 | なし | 角度値のスケール |
Out | 出力 | Vector 2 | なし | 出力値 |
生成されるコードの例
以下のサンプルコードは、このノードの出力の一例を示したものです。
void Unity_PolarCoordinates_float(float2 UV, float2 Center, float RadialScale, float LengthScale, out float2 Out)
{
float2 delta = UV - Center;
float radius = length(delta) * 2 * RadialScale;
float angle = atan2(delta.x, delta.y) * 1.0/6.28 * LengthScale;
Out = float2(radius, angle);
}