From 6d7ae4f916d4e050920bdf8988706654c2147ad6 Mon Sep 17 00:00:00 2001 From: swrring Date: Tue, 15 Sep 2026 19:06:52 +0900 Subject: [PATCH] =?UTF-8?q?[WL-816ze]=20=EB=AC=BC=C2=B7=ED=92=80=C2=B7?= =?UTF-8?q?=EB=B0=94=EB=8B=A5=20=3D=20=EB=8D=B0=EB=AA=A8=20=EA=B0=92=20?= =?UTF-8?q?=EC=A0=84=EC=82=AC=20(#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 물 — 데모 Water.mat 전사본 Farm_Water_Demo3.mat (색·톤 0 변경). UV 밀도만 스케일비 보정: 우리 물 = Level01.unity Water scale 100 x 빌트인 Plane 10 m = 1000 m, 데모 = Demo.unity:4651 Water_Plane scale 4.39/4.18 x 10 m = 43.9/41.8 m (양쪽 부모 scale 1). 비 = sqrt((1000/43.9)*(1000/41.8)) = 23.3442. _DistortionTiling 1 -> 23.3442 (RawDistortion: DistortionTiling -> TilingAndOffset.Tiling) _FoamScale 50 -> 1167.212 (Foam: FoamScale -> GradientNoise.Scale) _FoamSpeed 0.01 -> 0.00042837 (Offset 는 Tiling 뒤가 아니라 앞이라 비로 나눠야 월드 속도가 같다) _DistortionSpeed 0.06 유지 — Tiling 이 나누므로 월드 속도 2.63 -> 2.57 m/s 로 자동 일치. URP-Balanced m_RequireDepthTexture/m_RequireOpaqueTexture 둘 다 1 = 깊이 거품 동작 (차단 없음). 풀 — 데모 Instanced_Grass.mat 전사본 Farm_Grass_Demo3.mat (값 0 변경). scatter[0].material Farm_Grass_Arena -> Farm_Grass_Demo3 · scale 0.7 -> 0.35 (Demo.unity:1287). 816q 가 _ShadowDiffuseColor 를 0.25/0.33/0.24 -> 0.58/0.83/0.59 로 올려 음영이 사라졌던 것이 원복된다. 꽃·자갈은 메시·머티리얼·확률·스케일·오프셋이 데모와 이미 동일 = 무변경. variance 0.5/0.2 도 동일. 바닥 — Farm_IslandTop_Demo3.mat (셰이더 유지 · 데모 Terrain.mat 값 전사). _Shades 7 · _Brightness 0.25 · _MinimumDarkness 0.2 는 이미 동일. _DiffuseColor -> _RedHighlight 0.7752982/0.9528302/0.5977661 _ShadowDiffuseColor -> _RedShadow 0.2517783/0.3254902/0.23529412 (데모 잔디 지면 = Red 채널. _GreenHighlight 0.84/0.83/0.65 는 모래·흙 채널이다 — _RedHighlight 가 Instanced_Grass._DiffuseColor 와 소수 4자리까지 일치하는 것이 근거.) _OUTLINESENABLED 1 -> 0 + m_ValidKeywords 에서 제거 (데모 Terrain.mat 에 외곽선 프로퍼티 없음). 스위치 — applyReferenceLook 1 -> 0 (814t 대비 보정 + WL/HullOutline inverted hull. 기존 필드라 신설 없음), islandOutlineEnabled 0 신설 (1 일 때만 타일 셰이더 외곽선을 런타임 복구 = 기본 경로 무동작). shoreFoamEnabled 0 유지. materialRemap 2행 to 도 같은 전사본으로 (islandTopMaterial 과 동일 유지). 되돌리기: waterTo -> 3979675f9f9bd5d4b9191aad8f2091e1 · islandTopMaterial/remap 2행 -> eba171966111423bbabd5fc93575b339 · scatter[0] -> dc21f047088dee14f9b080798ebe8560 / scale 0.7 · applyReferenceLook 1. 원본 0줄: Assets/3DPixelArtEnvironment/** · Assets/FarmingIsland/** 무변경(복사본만). 유니티 사용 0회 (파일 읽기·쓰기 + git 만). Co-Authored-By: Claude Opus 5 (1M context) --- .../Look/Farm/Materials/Farm_Grass_Demo3.mat | 158 ++++++++++++++ .../Farm/Materials/Farm_Grass_Demo3.mat.meta | 8 + .../Farm/Materials/Farm_IslandTop_Demo3.mat | 102 +++++++++ .../Materials/Farm_IslandTop_Demo3.mat.meta | 8 + .../Look/Farm/Materials/Farm_Water_Demo3.mat | 196 ++++++++++++++++++ .../Farm/Materials/Farm_Water_Demo3.mat.meta | 8 + .../Resources/WL/WLIslandLookSettings.asset | 13 +- Assets/WL/Look/Farm/WLIslandLook.cs | 19 ++ Assets/WL/Look/Farm/WLIslandLookSettings.cs | 10 +- 9 files changed, 514 insertions(+), 8 deletions(-) create mode 100644 Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat create mode 100644 Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat.meta create mode 100644 Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat create mode 100644 Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat.meta create mode 100644 Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat create mode 100644 Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat.meta diff --git a/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat b/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat new file mode 100644 index 000000000..e68a11b0d --- /dev/null +++ b/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat @@ -0,0 +1,158 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Farm_Grass_Demo3 + m_Shader: {fileID: -6465566751694194690, guid: 116bae4840169554085c5aa591d459f5, + type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _MAIN_LIGHT_SHADOWS + - _SHADOWS_SOFT + m_InvalidKeywords: + - _CLOUDSENABLED + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _AmbientStrength: 0.1 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _Brightness: 0.25 + - _BumpScale: 1 + - _CLOUDSENABLED: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cloud_Change: 0.005 + - _Cloud_Cover: 0.5 + - _Cloud_Density: 0.01 + - _Cloud_Strength: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _MAIN_LIGHT: 0 + - _Metallic: 0 + - _MinimumDarkness: 0.2 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _SHADOWS_SOFT: 1 + - _Shades: 7 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _VerticalDifference: 1 + - _WindDensity: 0.2 + - _WindStrength: 0.3 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Cloud_Movement: {r: 1, g: 1, b: 0, a: 0} + - _Cloud_Step: {r: 13, g: 17, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffuseColor: {r: 0.77647066, g: 0.95294124, b: 0.59607846, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _ShadowDiffuseColor: {r: 0.2509804, g: 0.3254902, b: 0.23529413, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - _WindMovement: {r: 6, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &20396327307081721 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 10 diff --git a/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat.meta b/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat.meta new file mode 100644 index 000000000..e505dc1cf --- /dev/null +++ b/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b82f6a1cd074e2f9a15d8e73c40b592 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat b/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat new file mode 100644 index 000000000..90cd85410 --- /dev/null +++ b/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat @@ -0,0 +1,102 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Farm_IslandTop_Demo3 + m_Shader: {fileID: -6465566751694194690, guid: 378227f8a69213e419dfb0d889d8dd2f, + type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _SHADOWS_SOFT + m_InvalidKeywords: + - _CLOUDSENABLED + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 6fd28da5d8014083aed0633dfd21c3a5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ShadowBaseMap: + m_Texture: {fileID: 2800000, guid: 6fd28da5d8014083aed0633dfd21c3a5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _Brightness: 0.25 + - _CastShadows: 1 + - _Cloud_Change: 0.005 + - _Cloud_Cover: 0.5 + - _Cloud_Density: 0.01 + - _Cloud_Strength: 1 + - _Cull: 2 + - _DepthEdgeStrength: 0.5 + - _DepthThreshold: 0.01 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _MinimumDarkness: 0.2 + - _NormalEdgeStrength: 0.3 + - _NormalThreshold: 1 + - _OUTLINESENABLED: 0 + - _QueueControl: 0 + - _QueueOffset: 0 + - _Shades: 7 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _XRMotionVectorsPass: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + m_Colors: + - _Cloud_Movement: {r: 1, g: 1, b: 0, a: 0} + - _Cloud_Step: {r: 13, g: 17, b: 0, a: 0} + - _DiffuseColor: {r: 0.7752982, g: 0.9528302, b: 0.5977661, a: 1} + - _NormalBias: {r: 1, g: 1, b: 1, a: 0} + - _Outline: {r: 0, g: 0, b: 0, a: 0} + - _ShadowDiffuseColor: {r: 0.2517783, g: 0.3254902, b: 0.23529412, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &4831086338097714236 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 diff --git a/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat.meta b/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat.meta new file mode 100644 index 000000000..9fc740488 --- /dev/null +++ b/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e0a75c34d18426b8f2c6d31b57ae804 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat b/Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat new file mode 100644 index 000000000..68041bff4 --- /dev/null +++ b/Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat @@ -0,0 +1,196 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Farm_Water_Demo3 + m_Shader: {fileID: -6465566751694194690, guid: e5f8f434dc0fbdf42ae4fa014c80951e, + type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _MAIN_LIGHT_SHADOWS + - _SHADOWS_SOFT + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionTexture: + m_Texture: {fileID: 2800000, guid: 07612261b3ae0f94a9826a3175a9d605, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainCameraTexture: + m_Texture: {fileID: 8400000, guid: b341653440931de4ba25940d113f4375, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Tex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _WaterReflectionTexture: + m_Texture: {fileID: 2800000, guid: 1de68de6e59ccc84da15225563bd8300, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Bands: 78.52 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _Brightness: 0.25 + - _BumpScale: 1 + - _CHILLFOAM: 0 + - _CLOUDSENABLED: 0 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cloud_Change: 0.005 + - _Cloud_Cover: 0.5 + - _Cloud_Density: 0.01 + - _Cloud_Strength: 1 + - _Cull: 2 + - _Cutoff: 0.5 + - _DepthStrength: 0.5 + - _DepthThreshold: 0.2 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionSpeed: 0.06 + - _DistortionThreshold: 2 + - _DistortionTiling: 23.3442 + - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 + - _Exposure: 1 + - _FoamAmount: 1 + - _FoamScale: 1167.212 + - _FoamSpeed: 0.00042837 + - _FoamStrength: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _MAIN_LIGHT: 0 + - _Metallic: 0 + - _MinimumDarkness: 0.2 + - _MinimumTint: -0.1 + - _MinimumTransparency: 0.1 + - _OcclusionStrength: 1 + - _Opacity: 0.61 + - _OutlineThreshold: 4 + - _Parallax: 0.005 + - _ParticleThreshold: 0.01 + - _QueueControl: 0 + - _QueueOffset: 0 + - _REFLECTIONSON: 0 + - _Ramp: 4 + - _ReceiveShadows: 0 + - _ReflectionStrength: 0.7 + - _Rotation: 0 + - _SHADOWS_SOFT: 1 + - _Shades: 7 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 + - _TintBrightness: 1 + - _TintStrength: 0.13 + - _Transparency: 0.2 + - _WorkflowMode: 1 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Cloud_Movement: {r: 1, g: 1, b: 0, a: 0} + - _Cloud_Step: {r: 13, g: 17, b: 0, a: 0} + - _Color: {r: 0.2980392, g: 0.8000001, b: 1, a: 0.57254905} + - _DistortionDirection: {r: 0.25, g: 0, b: 0, a: 0} + - _DistortionStrength: {r: 0.05, g: 0.05, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0.7264151, g: 0.7264151, b: 0.7264151, a: 1} + - _ReflectionDistortion: {r: 0.03, g: 0.03, b: 0, a: 0} + - _ReflectionTint: {r: 0.13333334, g: 0.5176471, b: 0.74509805, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + - _Tint: {r: 0.13333334, g: 0.5176471, b: 0.74509805, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &4823538533558174045 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 10 diff --git a/Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat.meta b/Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat.meta new file mode 100644 index 000000000..952c571cc --- /dev/null +++ b/Assets/WL/Look/Farm/Materials/Farm_Water_Demo3.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c41d0e5b2a94f6d8e3517c0aa96b41d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset b/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset index 797c37197..bc806261d 100644 --- a/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset +++ b/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset @@ -16,14 +16,15 @@ MonoBehaviour: verboseLog: 1 applyLook: 1 applyLighting: 1 - applyReferenceLook: 1 + applyReferenceLook: 0 + islandOutlineEnabled: 0 materialRemap: - enabled_: 1 from: {fileID: 2100000, guid: 1a0cfabe54dd9ae428d86e71aeec9122, type: 2} to: {fileID: 2100000, guid: 68107aa66ca3855458e2ac55c239d57c, type: 2} - enabled_: 1 from: {fileID: 2100000, guid: 8b9c3fe585ec43742a0e29e3b3c82f6b, type: 2} - to: {fileID: 2100000, guid: eba171966111423bbabd5fc93575b339, type: 2} + to: {fileID: 2100000, guid: 9e0a75c34d18426b8f2c6d31b57ae804, type: 2} - enabled_: 1 from: {fileID: 2100000, guid: ee0c382820516a74ba37852af34ecd11, type: 2} to: {fileID: 2100000, guid: ece3895a184497040812f320d69cb967, type: 2} @@ -36,7 +37,7 @@ MonoBehaviour: - enabled_: 1 from: {fileID: 2100000, guid: ce0f8fd131f36964dbc918b8c63f838b, type: 2} to: {fileID: 2100000, guid: 1c9ce9b7865f6d643ad9601f6fa81ba3, type: 2} - islandTopMaterial: {fileID: 2100000, guid: eba171966111423bbabd5fc93575b339, type: 2} + islandTopMaterial: {fileID: 2100000, guid: 9e0a75c34d18426b8f2c6d31b57ae804, type: 2} skipSoilRenderers: 1 soilToneEnabled: 1 soilTint: {r: 0.84, g: 0.86, b: 0.9, a: 1} @@ -66,7 +67,7 @@ MonoBehaviour: skyReleaseDelaySeconds: 1.5 waterMode: 1 waterFrom: {fileID: 2100000, guid: ce0f8fd131f36964dbc918b8c63f838b, type: 2} - waterTo: {fileID: 2100000, guid: 3979675f9f9bd5d4b9191aad8f2091e1, type: 2} + waterTo: {fileID: 2100000, guid: 7c41d0e5b2a94f6d8e3517c0aa96b41d, type: 2} shoreFoamEnabled: 0 shoreFoamMaterial: {fileID: 2100000, guid: d24a4c5ce16646c409631c112b57f2cf, type: 2} shoreFoamWidth: 1.6 @@ -82,9 +83,9 @@ MonoBehaviour: - enabled_: 1 label: "\uD480" mesh: {fileID: -4413095505993930501, guid: 1f298817fdd2a184480e8af5b21278bc, type: 3} - material: {fileID: 2100000, guid: dc21f047088dee14f9b080798ebe8560, type: 2} + material: {fileID: 2100000, guid: 3b82f6a1cd074e2f9a15d8e73c40b592, type: 2} probability: 100 - scale: 0.7 + scale: 0.35 normalOffset: 0.04 density: 2.5 - enabled_: 1 diff --git a/Assets/WL/Look/Farm/WLIslandLook.cs b/Assets/WL/Look/Farm/WLIslandLook.cs index 90cd2d758..3db43bef8 100644 --- a/Assets/WL/Look/Farm/WLIslandLook.cs +++ b/Assets/WL/Look/Farm/WLIslandLook.cs @@ -125,6 +125,7 @@ namespace WL.Look.Farm if (cfg.applyLook != 0) { SwapMaterials(cfg, scene); + ApplyIslandOutline(cfg); LookApplied = true; } if (cfg.applyLighting != 0) ApplyLighting(cfg, scene); @@ -321,6 +322,24 @@ namespace WL.Look.Farm } } + static readonly int OutlineProp = Shader.PropertyToID("_OUTLINESENABLED"); + + /// + /// 816ze — 섬 타일 셰이더의 외곽선 패스 스위치. + /// 데모 `Terrain.mat` 에는 외곽선 프로퍼티가 없으므로 전사본(`Farm_IslandTop_Demo3`)은 + /// `_OUTLINESENABLED 0` 으로 구워져 있다 = 기본값(0)에서는 **아무 것도 하지 않는다** + /// (공유 에셋을 런타임에 건드리지 않는다 = 에디터에서 에셋이 더러워지지 않는다). + /// 1 로 두었을 때만 되돌리기용으로 키워드를 다시 켠다. + /// + static void ApplyIslandOutline(WLIslandLookSettings cfg) + { + if (cfg.islandOutlineEnabled == 0) return; // 기본 경로 = 무동작 + var m = cfg.islandTopMaterial; + if (m == null || !m.HasProperty(OutlineProp)) return; + m.SetFloat(OutlineProp, 1f); + m.EnableKeyword("_OUTLINESENABLED"); + } + /// /// 🔴 816h — 섬 둘레의 바다(`Water` · 1000×1000 평면)를 **WL 워터 셰이더**로. /// `Assets/FarmingIsland/**` 는 0줄 — 렌더러의 `sharedMaterials` 만 런타임에 바꾼다. diff --git a/Assets/WL/Look/Farm/WLIslandLookSettings.cs b/Assets/WL/Look/Farm/WLIslandLookSettings.cs index f56d69a5b..54cb7627b 100644 --- a/Assets/WL/Look/Farm/WLIslandLookSettings.cs +++ b/Assets/WL/Look/Farm/WLIslandLookSettings.cs @@ -123,8 +123,14 @@ namespace WL.Look.Farm [Tooltip("1 이면 조명·앰비언트·스카이박스도 데모/아레나 값으로 맞춘다.")] public int applyLighting = 1; - [Tooltip("1 이면 아레나와 같은 `WL_ReferenceLook`(외곽선·대비·무드)을 섬에도 얹는다.")] - public int applyReferenceLook = 1; + [Tooltip("1 이면 아레나와 같은 `WL_ReferenceLook`(외곽선·대비·무드)을 섬에도 얹는다. " + + "🔴 816ze — 데모 씬에는 이 보정이 없다. 데모와 같은 룩을 원하면 0.")] + public int applyReferenceLook = 0; + + [Tooltip("섬 타일 셰이더 자체의 외곽선 패스(`_OUTLINESENABLED`). " + + "🔴 816ze — 데모 `Terrain.mat` 에는 외곽선 프로퍼티가 아예 없다 → 기본 0(= 전사본 에셋 상태 그대로). " + + "1 로 두면 `islandTopMaterial` 의 외곽선 키워드를 런타임에 **다시 켠다**(되돌리기용).")] + public int islandOutlineEnabled = 0; [Tooltip("머티리얼 교체 표. 한 줄 = 원본 → 복사본.")] public WLMatRemap[] materialRemap = new WLMatRemap[0];