UnityのParticleSystemで使用するMatCapShaderに発光表現(HDR)を追加したい

前提

Shader初心者です。
UnityのParticleSystemでエフェクトを作成しております。

実現したいこと

ParticleSystemで使用するShaderを作成したいです。

発生している問題・エラーメッセージ

UnityのParticleSystemで使用できるMatCapシェーダー
を作成しております。
ParticleSystemで入力したStartColorやColor Over Lifetimeの情報は反映できたのですが
発光表現も使用したく、HDRを追加したいのですが、シーン上でうまく反映されません。
(Paticleが発光せず、bloomが効かない状態です・・)
お手数ですが、ご教授してくださると幸いです。

該当のソースコード

Shader "Custom/MatCap" { Properties { _MainTex ("BaseTexture", 2D) = "white" {} _MatcapTex ("MatcapTexture",2D) = "white" {} [HDR] _Color ("HDR COLOR",color) = (1,1,1,1) } SubShader { Tags {"Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } Blend SrcAlpha OneMinusSrcAlpha Cull Off Lighting Off ZWrite Off Fog { Mode Off } Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float3 normal : NORMAL; float2 uv : TEXCOORD0; fixed4 color : COLOR; }; struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; float3 viewNormal : TEXCOORD1; fixed4 color : COLOR; }; sampler2D _MainTex; sampler2D _MatcapTex; float4 _MainTex_ST; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); o.viewNormal = mul((float3x3)UNITY_MATRIX_V, UnityObjectToWorldNormal(v.normal)); o.color = v.color; return o; } fixed4 frag (v2f i) : SV_Target { fixed4 col = i.color * tex2D(_MainTex, i.uv); float3 matCap = tex2D(_MatcapTex, i.viewNormal.xy * 0.5 + 0.5).rgb; col.rgb = matCap; col = fixed4(col.rgb, 1.0); col *= i.color; return col; } ENDCG } } }

補足情報(FW/ツールのバージョンなど)

Unity2019.4.28f1
Unlit Shader

コメントを投稿

0 コメント