Unity 如何获取鼠标停留位置下的物体
程序员文章站
2022-06-22 14:56:46
根据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),返回的是二维屏幕坐标。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。