オブジェクトごとにUVをずらして描画するシェーダー
- ダウンロード商品¥ 0

・商品説明 オブジェクトに模様や傷を描画したい、それらを大量に並べたときに模様や傷が違ったパターンで描かれてほしい、バッチは増やしたくない、そんなときに使えるシェーダーです。 パターンテクスチャをオブジェクトごとにランダムにずらして描画します。 GPU Instancing対応です。 staticオブジェクトに対しても有効です。 似たようなものは他にたくさん上がっていると思いますがちょうど現在制作中の物で使用したので切り出して配布します。 ・内容物 .unitypackage Samples.prefab 使用例が分かるプレハブです。 RandomPatternマテリアルを設定してシーンのどこかにRandomPattern.csのUdonがアタッチされたオブジェクトを設置、そのインスペクタにてRandomPatternマテリアルを設定したオブジェクトを登録します。 Udonを使用したくない場合はdynamicオブジェクトに限られますがRandomPatternDynamicマテリアルを使用できます。 ただしオブジェクトが動くとパターンも動きます。 RandomPattern.shader 付属のUdonScriptとの併用が必要です。 Base: メインテクスチャを設定します Pattern: 設定したいパターンのテクスチャを設定します SubColor: 模様の色を指定します SubRate:メインのテクスチャと混ぜる割合です(0~10が0~100%に対応) SubOffsetX、SubOffsetY: Udonが変更する値です RandomPatternAlpha.shader パターンテクスチャにアルファ画像を指定するタイプです。 付属のUdonScriptとの併用が必要です。 Base: メインテクスチャを設定します SubOffsetX、SubOffsetY: Udonが変更する値です RandomPattern.cs 初期化時にオブジェクトごとにランダムなUVオフセットをシェーダパラメータに送ります。 スクリプトをアタッチしたオブジェクトのInspectorからパラメータを変更する対象オブジェクトの設定が必要です。 Targets: ここに指定されたオブジェクトはパラメータが変更されます。 Target Roots, Target Names: Target Rootsのi番目に指定されたオブジェクトの子の中で、名前にTarget Namesのi番目の文字を含むオブジェクトはパラメータが変更されます。 RandomUV.shader メインに設定したテクスチャのUV位置をずらします。 RandomPatternDynamic.shader dynamicオブジェクトにのみ対応したシェーダーです。 シェーダー内でオブジェクト座標に基づいてUV位置をずらします。 単体で使用できます。 https://swishf.booth.pm VRChat: Swishf ・利用規約 (Terms of Use) 再配布禁止 (Redistribution prohibited)