美文网首页unity常用方法
Unity中,点击屏幕,判断是否点击到了场景中的物件

Unity中,点击屏幕,判断是否点击到了场景中的物件

作者: 全新的饭 | 来源:发表于2022-02-18 17:50 被阅读0次

实际做法

点击某界面,通过其OnPointerDown(IPointerDownHandler)获得的eventData.position,生成射线进行检测。

 Ray ray = Camera.main.ScreenPointToRay(eventData.position);
 Physics.Raycast(ray, out RaycastHit hit)

完整代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;

public class ClickObjTest : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
    public void OnPointerDown(PointerEventData eventData)
    {
        Ray ray = Camera.main.ScreenPointToRay(eventData.position);
        if (Physics.Raycast(ray, out RaycastHit hit))
        {
            // TODO:针对hit提供的信息做相应处理
        }
    }

    public void OnPointerUp(PointerEventData eventData)
    {
       
    }
}

相关文章

网友评论

    本文标题:Unity中,点击屏幕,判断是否点击到了场景中的物件

    本文链接:https://www.haomeiwen.com/subject/nvmylrtx.html