欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity 如何获取鼠标停留位置下的物体

程序员文章站 2022-03-10 08:36:18
根据ugui的射线检测机制获取当前鼠标下的ui:其中,results为鼠标下ui的列表。不仅适用于ugui,可以在摄像机上添加physicsraycaster组件,传参为摄像机,这样就可以获取3d物体...

根据ugui的射线检测机制获取当前鼠标下的ui:

其中,results为鼠标下ui的列表。

不仅适用于ugui,可以在摄像机上添加physicsraycaster组件,传参为摄像机,这样就可以获取3d物体。

刚遇到一个问题,我的ui点击包括3d物体点击都是用的eventsystem,也就是上面的方法,这时用

unityengine.eventsystems.eventsystem.current.ispointerovergameobject()这个方法去判断鼠标是否在ui上,就会出现鼠标在3d物体上也会拿到返回值,(没有去研究传参index的用法),直接选择了上面获取ui的获取方法。

脚本:

补充:unity中鼠标经过一个物体时出现提示

首先被检测的物体要有collider

补充:unity中ugui中获取鼠标点击位置以及ui物体的屏幕坐标

鼠标点击位置:

直接访问input.mouseposition属性,返回一个三维屏幕坐标,即鼠标的坐标。

ui物体的屏幕坐标:

recttransformutility.wordtoscreenpoint(camera.main, recttransform.position),返回的是二维屏幕坐标。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。