Replace TownSquare with HomeCamp art and land humanoid bots, LittleBear, and LmGirl review assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-11-03 20:33:08 +08:00
co-authored by Cursor
parent 45e62132c8
commit 9eec364f30
838 changed files with 57978 additions and 12225 deletions
@@ -10,9 +10,13 @@ Shader "Test/HomeCampXPbr"
[Toggle(_ALPHATEST_ON)] _AlphaTest("Alpha As Transparency (Clip)", Float) = 0
_Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
_Metallic("Metallic", Range(0.0, 1.0)) = 0.8
_Roughness("Roughness", Range(0.0, 1.0)) = 0.6
_Metallic("Metallic", Range(0.0, 1.0)) = 0.15
_Roughness("Roughness", Range(0.0, 1.0)) = 1.0
// Caps PBR smoothness so candy/plaster props stay matte; fountain bake A~0.2 would otherwise be 0.8 shiny.
_SmoothnessScale("Smoothness Scale", Range(0.0, 1.0)) = 0.4
_AO("AO", Range(0.0, 1.0)) = 1.0
// <1 lifts baked shade (opens crushed blacks toward PBR bounce).
_LightmapShadeGamma("Lightmap Shade Gamma", Range(0.3, 1.5)) = 1.0
[HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
[HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
@@ -47,6 +51,8 @@ Shader "Test/HomeCampXPbr"
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
#pragma multi_compile_fog
#pragma multi_compile_instancing
#pragma shader_feature_local_fragment _ALPHATEST_ON
@@ -54,6 +60,8 @@ Shader "Test/HomeCampXPbr"
#pragma fragment frag
#include "XPbr_Base.hlsl"
half _SmoothnessScale;
half _LightmapShadeGamma;
Varyings vert(Attributes input)
{
@@ -131,7 +139,7 @@ Shader "Test/HomeCampXPbr"
SurfaceData surfaceData = (SurfaceData)0;
surfaceData.albedo = albedoAlpha.rgb * _BaseColor.rgb;
surfaceData.metallic = saturate(mixTex.b * _Metallic);
surfaceData.smoothness = 1.0 - saturate(mixTex.a * _Roughness);
surfaceData.smoothness = (1.0 - saturate(mixTex.a * _Roughness)) * _SmoothnessScale;
surfaceData.alpha = alpha;
surfaceData.normalTS = normalTS;
surfaceData.specular = half3(0.0, 0.0, 0.0);
@@ -143,6 +151,15 @@ Shader "Test/HomeCampXPbr"
InputData inputData;
input.normalWS.rgb = normalWS;//法线需要传入
InitializeInputData(input, surfaceData.normalTS, inputData);
#if defined(LIGHTMAP_ON)
{
half3 gi = pow(max(inputData.bakedGI, half3(0, 0, 0)), max(_LightmapShadeGamma, half(0.05)));
half lum = saturate(dot(gi, half3(0.2126h, 0.7152h, 0.0722h)));
// Soft sky fill into crushed shade (~half the blackness vs raw lightmap).
gi += half3(0.18h, 0.21h, 0.26h) * (half(1) - lum);
inputData.bakedGI = gi;
}
#endif
half4 color = UniversalFragmentPBR(inputData, surfaceData);
@@ -287,6 +304,7 @@ Shader "Test/HomeCampXPbr"
half _Cutoff;
half _Metallic;
half _Roughness;
half _SmoothnessScale;
half _AO;
CBUFFER_END
TEXTURE2D(_MainTex); SAMPLER(sampler_MainTex);
@@ -332,7 +350,7 @@ Shader "Test/HomeCampXPbr"
half4 mixTex = SAMPLE_TEXTURE2D(_MixTex, sampler_MixTex, input.uv);
half3 albedo = albedoAlpha.rgb * _BaseColor.rgb;
half metallic = saturate(mixTex.b * _Metallic);
half smoothness = 1.0 - saturate(mixTex.a * _Roughness);
half smoothness = (1.0 - saturate(mixTex.a * _Roughness)) * _SmoothnessScale;
half alpha = 1.0;
BRDFData brdfData;