坐标系 unity 鼠标 位置
来源:互联网 发布:gotv源码是什么 编辑:程序博客网 时间:2024/04/29 03:15
鼠标拖拽功能
transform.position 获取世界坐标 ,物体在世界坐标,无论怎样的UI,怎样的层级关系,代码里输出Debug.log(go.transform.position),输出的总是相对于场景中心(0,0)的距离,也是获取世界坐标的方法。transform.position都是以场景中心(0,0)的位置开始计算,单位长度也都是一样的
鼠标:获取的是2维坐标 ,鼠标位置Input.mousePosition获取的是屏幕坐标。
屏幕坐标:屏幕空间以像素定义,屏幕左下为(0,0),右上是(pixelWidth,pixelHeight),Z的位置是以世界单位衡量的到相机的距离。
或者说:以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的。
逻辑:
首先鼠标是2维的,第一步:把鼠标转成3维的屏幕坐标,z轴就是物体屏幕坐标的z轴,保证2者在同一个平面
// 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点Vector3 Pos = Camera.main.WorldToScreenPoint(transform.position); // 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标与目标对象坐标处于同一层面上Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Pos.z)第二步 直接使用 transform.position 赋值,注意这个是世界坐标,所以先要把鼠标的屏幕坐标转成世界坐标transform.position = Camera.main.ScreenToWorldPoint(mousePos)yield return new WaitForFixedUpdate(); // 使用协程每一帧刷新一次总结:把鼠标的世界位置赋值给物体-------鼠标是平面-----转成屏幕坐标-------z轴需要是物体的屏幕坐标-------把物体转成屏幕坐标-------------鼠标的世界坐标
0 0
- 坐标系 unity 鼠标 位置
- unity 2d 四大坐标系问题 鼠标点击位置问题 详细入门解析
- Unity 鼠标跟随点击位置
- 解决Unity鼠标坐标点转成世界坐标系坐标点
- unity 在鼠标点击位置生成物体
- unity获取ugui上鼠标位置
- Unity移动物体到鼠标点击位置
- Unity中从鼠标位置发射射线
- Unity SceneView 鼠标所在网格位置
- unity 坐标系
- Unity坐标系
- 【Unity】Unity中物体跟随鼠标的位置
- unity实现鼠标点击位置小脚印标志
- Unity NGUI实现 点击弹窗跟随鼠标点击位置
- Unity 鼠标点击位置转换成UI坐标
- Unity中让UI界面根据鼠标位置摇晃代码
- Unity物体跟随鼠标点的位置自动寻路
- Unity中物体如何移动到鼠标点击位置
- java导出excel
- git rebase -i HEAD~2 将提交合并到上一次未审核的提交
- Vim 添加删除多行注释
- Android SDK Content Loader 0%的问题
- C语言运算符优先级(超详细)
- 坐标系 unity 鼠标 位置
- (译)openURL 在 iOS10中已弃用
- java解析excel2003以及2007 版本
- 第十三周项目5 拓扑排序算法验证
- GIAC全球互联网架构大会
- 基于WheelView自定义的DatePickerDialog
- Linux查看CPU和内存使用情况
- linux虚拟机安装后查不到IPV4地址的解决办法
- 学习Android的一本好书