PolygonShader
- 300 JPY
PolygonShader 正○○形を描画するシェーダ―です。 私の作成したPARTICLELIVE ECHOで使用しています。 パーティクルライブが終了した後ギャラリーが出てくるのでそこで実際の動きをご覧ください。 https://www.vrchat.com/home/world/wrld_afd31ae6-cc60-4de8-b27c-bff1e8243e87
【利用規約】
本ソフトウェアをダウンロードした時点で本利用規約に同意したものとします。 ・本シェーダ―はVRChat内での利用の上を想定しています。 ・本シェーダ―を利用するにあたり生じたいかなるトラブル、データ破損について製作者は一切責任を負いません。 ・本ソフトウェアを再配布、販売することを禁止します。 ・本利用規約は予告なく変更・改定されることがあります。
【使い方】
マテリアルにシェーダ―を指定して使用します。 ・パラメータ Color = ベース色 Second Color = 2色補完モードを使用する場合に使用する二色目です。 Size = 描画する図形のサイズ Smooth = 外側の淵のスムージング距離 LineSize = 辺を描画するサイズ CenterSmooth = 内側の淵のスムージング距離 θ = 1で全描画、1->0 にかけて角度でクリッピングされます。 Start θ = クリッピングを開始する角度を0~1で指定します。 BocClip = 描画領域を指定します。 Polygon = 多角形の角数を指定します。 ClipAlpha = くり抜く際の閾値を指定します。 Use SecondColor = 2色の補完で図形を表現します。Colorで指定した色が図形の色、それ以外の場所はSecond Colorで塗りつぶされます。Smooth等を設定している場合中間はグラデーションとなります。 アルファブレンドで使用する場合はColorとSecond Colorを同色にし、Second ColorのAを0にしてください。アンチエイリアス等を意識せず図形を表示させたい場合はチェックを外してください。 Use Discard = Use SecondColor が有効の場合に、くり抜きを有効にする場合チェックを入れてください。 Circle Mode = 完全な円を描画する場合有効にしてください。Polygonを1000とかにするより軽く、綺麗に円が描画できます。 Blend Src = シェーダ―のブレンドモード Src。 アルファブレンドを使用する場合 SrcAlpha Blend Dst = シェーダ―のブレンドモード Dst。 アルファブレンドを使用する場合 OneMinusSrcAlpha ZWrite = アルファブレンドを使用する場合はチェックを外すことをおすすめします。 Render Queue = Use Discardにチェックが入っている場合、From Shaderでも動きますが Geometry か AplhaTestにすることをお勧めします。 それ以外のパラメータは特殊なことをしない場合は得に触る必要はありません。 ・パーティクルで使用する場合 色はマテリアルカラーの色とパーティクルシステムの色が乗算されます。 パーティクルシステムの色をそのまま出したい場合はマテリアルカラーを白にしてください。 RendererモジュールのCustomVertexStreamsを有効にし、 Position(POSITION.xyz) Color(COLOR.xyzw) UV(TEXCOORD0.xy) Custom1.xy(TEXCOORD0.zw) Custom2.xy(TEXCOORD1.xy) とした上で、 CustomDataモジュールの Custom1のXの値でθの値を調整することができます。これはマテリアルの値に乗算されます。 Custom1のYの値でStart θの値を調整することができます。これはマテリアルの値に加算されます。 Custom2のXの値でSize調整ができます。これはマテリアルの値に乗算されます。 Custom2のYの値でLineSizeの調整ができます。これはマテリアルの値に乗算されます。
【注意】
本シェーダ―は平面での利用を想定しています。 Unity標準のQuadなどにつけて使用してください。
更新情報
v1.2 パラメーターを変更しました。影が床などに落ちるようになりました。