ちょっと自信に乏しいのですが、もし葉のマテリアルのColorが完全透明(ボックス底辺のバーが真っ黒)でしたらアルファを最大に変えて、完全不透明(バー全体が白)にしてからベイクしてみるとどうでしょうか?
ご質問者さんのご提示いただいた設定をまねて試してみたところ、確かに私の場合もリアルタイムシャドウはちゃんと葉の形になるのに、ライトマップでは葉が消えて枝だけの影になってしまいました。
下図は葉のマテリアルに前述の処置を加えたうえでライトマップをベイクした様子ですが(左の市松模様の地面はTerrain、右の白い地面はPlaneです)、どうやらちゃんと葉の形の影が生じるようになったようでした。
葉のシェーダーは下記のように記述されており...
ShaderLab
1 // Made with Amplify Shader Editor
2 // Available at the Unity Asset Store - http://u3d.as/y3X
3 Shader "Fantasy Forest/StandardNoCulling"
4 {
5 Properties
6 {
7 _Cutoff( "Mask Clip Value", Float ) = 0.5
8 _MainTex("Main Texture", 2D) = "white" {}
9 _Color("Color", Color) = (1,1,1,0)
10 [HideInInspector] _texcoord( "", 2D ) = "white" {}
11 [HideInInspector] __dirty( "", Int ) = 1
12 }
13
14 SubShader
15 {
16 Tags{ "RenderType" = "TransparentCutout" "Queue" = "Geometry+0" }
17 Cull Off
18 CGPROGRAM
19 #pragma target 3.0
20 #pragma surface surf StandardSpecular keepalpha addshadow fullforwardshadows
21 struct Input
22 {
23 float2 uv_texcoord;
24 };
25
26 uniform float4 _Color;
27 uniform sampler2D _MainTex;
28 uniform float4 _MainTex_ST;
29 uniform float _Cutoff = 0.5;
30
31 void surf( Input i , inout SurfaceOutputStandardSpecular o )
32 {
33 float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
34 float4 tex2DNode3 = tex2D( _MainTex, uv_MainTex );
35 o.Albedo = ( _Color * tex2DNode3 ).rgb;
36 float temp_output_1_0 = 0.0;
37 float3 temp_cast_1 = (temp_output_1_0).xxx;
38 o.Specular = temp_cast_1;
39 o.Smoothness = temp_output_1_0;
40 o.Alpha = 1;
41 clip( tex2DNode3.a - _Cutoff );
42 }
43
44 ENDCG
45 }
46 Fallback "Diffuse"
47 CustomEditor "ASEMaterialInspector"
48 }
49 /*ASEBEGIN
50 Version=16800
51 217;288;1468;745;955;272.5;1;True;True
52 Node;AmplifyShaderEditor.ColorNode;4;-658,-203.5;Float;False;Property;_Color;Color;2;0;Create;True;0;0;False;0;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
53 Node;AmplifyShaderEditor.SamplerNode;3;-756,-24.5;Float;True;Property;_MainTex;Main Texture;1;0;Create;False;0;0;False;0;None;1d49d1e2d8a2b97478e3e0355dbf3a07;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
54 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;5;-314,-117.5;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
55 Node;AmplifyShaderEditor.RangedFloatNode;1;-201,73.5;Float;False;Constant;_Float0;Float 0;0;0;Create;True;0;0;False;0;0;0;0;0;0;1;FLOAT;0
56 Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;2;Float;ASEMaterialInspector;0;0;StandardSpecular;Fantasy Forest/StandardNoCulling;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.5;True;True;0;True;TransparentCutout;;Geometry;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;0;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
57 WireConnection;5;0;4;0
58 WireConnection;5;1;3;0
59 WireConnection;0;0;5;0
60 WireConnection;0;3;1;0
61 WireConnection;0;4;1;0
62 WireConnection;0;10;3;4
63 ASEEND*/
64 //CHKSM=F70C883D7D45C9986ACD48D59A3121065840E57F
このコードを見た限りではColorのアルファは計算過程で捨てられていますので、透明だろうが不透明だろうが描画結果には影響しそうにないと思ったのですが、おそらくライトマップの生成過程のどこかではメインカラーとメインテクスチャが計算に組み込まれているんだろうと思います。
Colorを勝手に見ているのはどこなのか探してみたものの、いまいち情報は見つからず、サーフェスシェーダーから生成されたシェーダーコードも長すぎて挫折し、結局根本的な原因は不明のままです。すみません...
なお、Terrain上の影がぼやけて見える件については、思い当たる可能性としてはTerrainのインスペクター上にある「Lightmapping」の「Scale In Lightmap」が小さい...などがあるかと思います。もし木やPlaneなどの設定値と比べて相対的に小さすぎるようでしたら、ここを大きくしてやるとライトマップ中でTerrainが占める面積が増え、影が精密になるかもしれません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/25 11:23