前提
Unity、Shader初心者です・・・。
UnityのParticleSystemでエフェクトを作成しております。
実現したいこと
ParticleSystemで使用するShaderを作成したいです。
発生している問題・エラーメッセージ
現在、リムライトの要素を含んだShaderになっております。
ただ、現在のShaderの情報ですと、
ParticleSystemで入力したStartColorやColor Over Lifetimeでの
不透明度の情報がマテリアルに反映されず、困っております。。
普段デザイナー業務がメインのため、
コードの知識が大変浅く、サイトで集めたコードの情報を切り貼りして
シェーダー作成したため、だいぶ読みづらい状態かもしれません・・。
大変お恥ずかしいですが、ご教授してくださると幸いです。。。
参考にしたリムライトのシェーダーサイト様
https://www.wwwmaplesyrup-cs6.work/entry/2020/08/07/001046
該当のソースコード
Shader "Custom/RimLight" { Properties { _MainTex ("Texture", 2D) = "white" {} _Color ("Color", Color) = (1,1,1,1) _RimColor ("RimColor", Color) = (1,1,1,1) _RimPower("RimPower", float) = 0.0 } SubShader { Tags {"Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } Blend SrcAlpha One Cull Off Lighting Off ZWrite Off Fog { Mode Off } Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_particles #pragma multi_compile_fog #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float3 normal : NORMAL; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; float3 viewDir : TEXCOORD1; float3 normalDir : TEXCOORD2; fixed4 color: COLOR; UNITY_FOG_COORDS(1) }; sampler2D _MainTex; fixed4 _MainTex_ST; fixed4 _Color; fixed4 _RimColor; half _RimPower; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); float4x4 modelMatrix = unity_ObjectToWorld; o.normalDir = normalize(UnityObjectToWorldNormal(v.normal)); o.viewDir = normalize(_WorldSpaceCameraPos - mul(modelMatrix, v.vertex).xyz); return o; } fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(_MainTex, i.uv) * _Color; UNITY_APPLY_FOG_COLOR(i.fogCoord, col, (fixed4)0); half rim = 1.0 - abs(dot(i.viewDir, i.normalDir)); fixed3 emission = _RimColor.rgb * pow(rim, _RimPower) * _RimPower; col.rgb += emission; col = fixed4(col.rgb, 1.0); return col; } ENDCG } } Fallback off }
補足情報(FW/ツールのバージョンなど)
Unity2019.4.28f1
Unlit Shader

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/10/10 02:46