using UnityEngine; public class TzqController : MonoBehaviour { [Header("核心设置")] // 1. 拖入隐藏的物体 tzq public GameObject tzq; [Header("挂载点设置 (手动拖入)")] // 2. 在这里把所有可能的点都拖进来 public Transform[] points; /// /// 根据名称移动 tzq 到指定的点并显示 /// /// 点的名称 (必须与Hierarchy中的子物体名称一致) public void SetPos(string pointName) { // 检查 tzq 是否绑定 if (tzq == null) { Debug.LogWarning("错误:未绑定 tzq 物体!"); return; } if (points == null || points.Length == 0) { Debug.LogError("错误:Points 数组为空,请在 Inspector 中拖入点!"); return; } // 1. 遍历数组,查找名字匹配的物体 Transform targetPoint = null; foreach (var point in points) { if (point != null && point.name == pointName) { targetPoint = point; break; // 找到了就跳出循环 } } // 2. 如果找到了对应的点 if (targetPoint != null) { // 匹配位置 tzq.transform.position = targetPoint.position; // 匹配旋转 tzq.transform.rotation = targetPoint.rotation; // 显示物体 tzq.SetActive(true); // Debug.Log($"成功移动 tzq 到点: {pointName}"); } else { // 如果遍历完了还没找到 Debug.LogError($"错误:在 points 数组中未找到名为 '{pointName}' 的点!"); } } /// /// 隐藏物体 tzq /// public void Hide() { if (tzq != null) { tzq.SetActive(false); } } }