From 488149e8d484fb9a773583d0905e5dce9ac46a5b Mon Sep 17 00:00:00 2001 From: bottlefish <781230111@qq.com> Date: Tue, 30 Jun 2026 13:55:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(peipei-eye):=20=E7=BC=96=E8=BE=91=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E6=94=B9=E7=94=A8=20sharedMaterial=20?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E6=9D=90=E8=B4=A8=E6=B3=84=E6=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- .../Scripts/MiniGame/Peipei/Eye/EyeTarget.cs | 18 +++++++++++++++--- .../MiniGame/Peipei/Eye/EyeTargetVisual.cs | 4 +++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/Assets/Scripts/MiniGame/Peipei/Eye/EyeTarget.cs b/Assets/Scripts/MiniGame/Peipei/Eye/EyeTarget.cs index 50ea55d0f..53e3f7a3c 100644 --- a/Assets/Scripts/MiniGame/Peipei/Eye/EyeTarget.cs +++ b/Assets/Scripts/MiniGame/Peipei/Eye/EyeTarget.cs @@ -225,7 +225,10 @@ public class EyeTarget : MonoBehaviour return; } - Material currentMaterial = spriteRenderer.material; + Material currentMaterial = Application.isPlaying + ? spriteRenderer.material + : spriteRenderer.sharedMaterial; + bool usesUnifiedShader = currentMaterial != null && currentMaterial.shader != null && currentMaterial.shader.name == shader.name; @@ -234,13 +237,22 @@ public class EyeTarget : MonoBehaviour Texture mainTex = currentMaterial != null && currentMaterial.HasProperty("_MainTex") ? currentMaterial.GetTexture("_MainTex") : null; - spriteRenderer.material = new Material(shader) + var runtimeMaterial = new Material(shader) { name = $"{gameObject.name}_EyeUnified_Runtime" }; if (mainTex != null) { - spriteRenderer.material.SetTexture("_MainTex", mainTex); + runtimeMaterial.SetTexture("_MainTex", mainTex); + } + + if (Application.isPlaying) + { + spriteRenderer.material = runtimeMaterial; + } + else + { + spriteRenderer.sharedMaterial = runtimeMaterial; } } diff --git a/Assets/Scripts/MiniGame/Peipei/Eye/EyeTargetVisual.cs b/Assets/Scripts/MiniGame/Peipei/Eye/EyeTargetVisual.cs index 015227ad0..f6235bb40 100644 --- a/Assets/Scripts/MiniGame/Peipei/Eye/EyeTargetVisual.cs +++ b/Assets/Scripts/MiniGame/Peipei/Eye/EyeTargetVisual.cs @@ -58,7 +58,9 @@ namespace AibisDream return false; } - material = spriteRenderer.material; + material = Application.isPlaying + ? spriteRenderer.material + : spriteRenderer.sharedMaterial; return IsReady; }