docs.unity3d.com
    目次を表示する/隠す

    Polygon ノード

    説明

    入力 UV に基づいて、入力 Width および Height に指定されたサイズの通常のポリゴン形状を生成します。ポリゴンの辺の数は入力 Sides で指定します。Tiling And Offset ノード を接続すると、生成した形状のオフセットやタイル化が可能です。UV 空間内での形状のオフセット機能を維持するため、タイル化の際に形状は自動的には反復されません。ポリゴンを繰り返す効果を作り出すには、まず Fraction ノード を使って入力を接続してください。

    注意: このノード は、Fragment (フラグメント) シェーダーステージ でのみ使用可能です。

    ポート

    Name Direction タイプ バインディング 説明
    UV 入力 Vector 2 UV 入力 UV 値
    Sides 入力 Vector 1 なし 辺の数
    Width 入力 Vector 1 なし ポリゴンの幅
    Height 入力 Vector 1 なし ポリゴンの高さ
    Out 出力 Vector 1 なし 出力値

    生成されるコードの例

    以下のサンプルコードは、このノードの出力の一例を示したものです。

    void Unity_Polygon_float(float2 UV, float Sides, float Width, float Height, out float Out)
    {
        float pi = 3.14159265359;
        float aWidth = Width * cos(pi / Sides);
        float aHeight = Height * cos(pi / Sides);
        float2 uv = (UV * 2 - 1) / float2(aWidth, aHeight);
        uv.y *= -1;
        float pCoord = atan2(uv.x, uv.y);
        float r = 2 * pi / Sides;
        float distance = cos(floor(0.5 + pCoord / r) * r - pCoord) * length(uv);
        Out = saturate((1 - distance) / fwidth(distance));
    }
    
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)