Raycast未命中鼠标正确位置问题求助
问题:SelectionManager触发UI偏移,仅鼠标在特定偏移位置生效
我觉得这是个简单问题,但需要帮忙排查——我的SelectionManager触发UI元素显示的事件,只有鼠标放在略微偏移的位置时才生效。
图片说明:蓝色的Rock5是要触发UI的目标对象,但实际UI在Rock6处显示;另一张图展示了需要把鼠标放在哪里才能激活UI,蓝色为目标对象
已尝试但无效的修复方法
- 调整鼠标灵敏度
- 将碰撞体从Mesh改为Box,无效果
- 修改RayCast距离,无变化
SelectionManager代码
public GameObject interaction_Info_UI; public GameObject interaction_item_origin; public GameObject interaction_item_classification; public GameObject interaction_item_description; public GameObject interaction_item_closerlook; public GameObject interaction_item_minerals; public float distanceToHit = 5000; Text interaction_text_name; Text interaction_text_origin; private void Start() { interaction_text_name = interaction_Info_UI.GetComponent<Text>(); interaction_text_origin = interaction_item_origin.GetComponent<Text>(); } void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { var selectionTransform = hit.transform; if (selectionTransform.GetComponent<InteractableObject>()) { interaction_text_name.text = selectionTransform.GetComponent<InteractableObject>().GetItemName(); interaction_Info_UI.SetActive(true); interaction_text_origin.text = selectionTransform.GetComponent<InteractableObject>().GetItemOrigin(); interaction_item_origin.SetActive(true); } else { interaction_Info_UI.SetActive(false); interaction_item_origin.SetActive(false); } } }
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

