docs.unity3d.com
    显示 / 隐藏目录

    Rounded Rectangle 节点

    描述

    以输入 Width 和 Height 指定的大小基于输入 UV 生成圆角矩形。每个角的半径由输入 Radius 定义。通过连接 Tiling And Offset 节点可以偏移或平铺生成的形状。请注意,为了保留在 UV 空间内偏移形状的能力,如果经过平铺,形状将不会自动重复。要实现重复圆角矩形效果,应首先通过 Fraction 节点连接输入。

    注意:此节点只能在片元着色器阶段中使用。

    端口

    名称 方向 类型 绑定 描述
    UV 输入 矢量 2 UV 输入 UV 值
    Width 输入 Float 无 圆角矩形宽度
    Height 输入 Float 无 圆角矩形高度
    Radius 输入 Float 无 圆角半径
    Out 输出 Float 无 输出值

    生成的代码示例

    以下示例代码表示此节点的一种可能结果。

    void Unity_RoundedRectangle_float(float2 UV, float Width, float Height, float Radius, out float Out)
    {
        Radius = max(min(min(abs(Radius * 2), abs(Width)), abs(Height)), 1e-5);
        float2 uv = abs(UV * 2 - 1) - float2(Width, Height) + Radius;
        float d = length(max(0, uv)) / Radius;
        Out = saturate((1 - d) / fwidth(d));
    }
    
    返回到顶部
    Copyright © 2023 Unity Technologies — 商标和使用条款
    • 法律条款
    • 隐私政策
    • Cookie
    • 不要出售或分享我的个人信息
    • Your Privacy Choices (Cookie Settings)