Polar Coordinates Node | Shader Graph | 7.1.8
docs.unity3d.com
    Show / Hide Table of Contents

    Polar Coordinates Node

    Description

    Converts the value of input UV to polar coordinates. In mathematics, the polar coordinate system is a two-dimensional coordinate system in which each point on a plane is determined by a distance from a reference point and an angle from a reference direction.

    The resulting effect is that the x channel of the input to UV is converted to a distance value from the point specified by the value of input Center and the y channel of same input is converted to the value of an angle of rotation around that point.

    These values can be scaled by the values of inputs Radial Scale and Length Scale respectively.

    Ports

    Name Direction Type Binding Description
    UV Input Vector 2 UV Input UV value
    Center Input Vector 2 None Center reference point
    Radial Scale Input Vector 1 None Scale of distance value
    Length Scale Input Vector 1 None Scale of angle value
    Out Output Vector 2 None Output value

    Generated Code Example

    The following example code represents one possible outcome of this node.

    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);
    }
    
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023