fix: 边框扩展20%贴合模型+隐藏所有子级Renderer

- ChanraoTuibuHandler/PingClickHandler: bounds.extents*1.2扩展边框
- OnEnable: 遍历所有子级Renderer全部enabled=false
- OnMouseDown: 遍历所有子级Renderer全部enabled=true
- 使用GetComponentInChildren<Renderer>()兜底
- 新增Debug.Log打印bounds信息
This commit is contained in:
yangbear
2026-07-03 14:37:00 +08:00
parent 643084682a
commit 1ee3a9a48c
3 changed files with 36 additions and 6 deletions
@@ -30,6 +30,9 @@ public class PingClickHandler : MonoBehaviour
_meshRenderer = GetComponent<MeshRenderer>();
if (_meshRenderer == null) _meshRenderer = GetComponentInChildren<MeshRenderer>();
if (_meshRenderer != null) _meshRenderer.enabled = false;
// 隐藏所有子级 Renderer(确保模型不可见)
var allRends = GetComponentsInChildren<Renderer>();
foreach (var r in allRends) r.enabled = false;
CreateBlueOutline();
_clickedOnce = false;
StopAllCoroutines();
@@ -105,6 +108,8 @@ public class PingClickHandler : MonoBehaviour
_firstClickCount++;
StopAllCoroutines();
if (_meshRenderer != null) _meshRenderer.enabled = true;
var allRends2 = GetComponentsInChildren<Renderer>();
foreach (var r in allRends2) r.enabled = true;
if (_outlineRenderer != null) _outlineRenderer.enabled = true;
if (nextPing != null) { nextPing.SetActive(true); Debug.Log($"[PingClick] {name} → {nextPing.name} 激活"); }
Debug.Log($"[PingClick] {name} 第1击 (model显示, {_firstClickCount}/4)");
@@ -118,6 +123,9 @@ public class PingClickHandler : MonoBehaviour
if (chanraoObject != null) { chanraoObject.SetActive(true); Debug.Log($"[PingClick] {chanraoObject.name} 已显示"); }
StopAllCoroutines();
if (_meshRenderer != null) _meshRenderer.enabled = false;
// 隐藏所有子级 Renderer(确保模型不可见)
var allRends = GetComponentsInChildren<Renderer>();
foreach (var r in allRends) r.enabled = false;
if (_outlineRenderer != null) _outlineRenderer.enabled = false;
gameObject.SetActive(false);
Debug.Log($"[PingClick] {name} 第2击 (chanrao显示)");
@@ -133,6 +141,9 @@ public class PingClickHandler : MonoBehaviour
_firstClickCount--;
gameObject.SetActive(true);
if (_meshRenderer != null) _meshRenderer.enabled = false;
// 隐藏所有子级 Renderer(确保模型不可见)
var allRends = GetComponentsInChildren<Renderer>();
foreach (var r in allRends) r.enabled = false;
StopAllCoroutines();
StartCoroutine(BlinkOutline());
}