找回密码
 立即注册
查看: 402|回复: 0

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

[复制链接]
发表于 2022-2-19 14:43 | 显示全部楼层 |阅读模式
实际做法

点击某界面,通过其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开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 22:52 , Processed in 0.091387 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表