Unity鼠标位置转世界坐标

 1 using UnityEngine;
 2 using System.Collections;
 3 /// <summary>
 4 /// 鼠标位置控制世界空间对象坐标
 5 /// 因为只能控制2维坐标,所以要注意相机所看向的方向,及移动对象的坐标轴
 6 /// </summary>
 7 public class MyTest : MonoBehaviour {
 8
 9     public Transform Obj;//参考对象
10     private float posX, posY;//获取鼠标2维坐标
11     private Vector3 world;//转换的世界坐标
12
13     void Update()
14     {
15         if (Input.GetMouseButton(0))
16         {
17             posX = Input.mousePosition.x;
18             posY = Input.mousePosition.y;
19
20             world = Camera.main.ScreenToWorldPoint(new Vector3(posX, posY, 10));
21             Debug.Log(world);
22
23             Obj.position = world;
24         }
25     }
26 }
时间: 2024-11-09 00:48:08

Unity鼠标位置转世界坐标的相关文章

【Unity笔记】物体朝着鼠标位置移动

其实思路也很简单,就是先获取到鼠标的坐标,然后赋值给目标物体即可. void Update(){ // 物体跟随鼠标移动 Vector2 mousePos = Input.mousePosition; gameObject.transform.position = mousePos; } 这是物体即时改变位置的做法,如果想要物体朝鼠标位置缓慢移动(有过程时间),可以尝试用Vector2.Lerp().

Unity UGUI在鼠标位置不同时 图片浮动效果

1 /// <summary> 2 /// 在鼠标位置不同时 图片浮动效果 3 /// </summary> 4 public class TiltWindow : MonoBehaviour 5 { 6 public Vector2 range = new Vector2(5f, 3f); 7 8 Transform mTrans; 9 Quaternion mStart; 10 Vector2 mRot = Vector2.zero; 11 12 void Start () 1

如何获取鼠标位置

获取鼠标位置,首先需要加载js文件: 然后设置一个div,给定大小: 最后进行具体操作: //首先要先设置一个div,给定大小 <div id="m"></div> //进行操作 <script type="text/javascript"> var x,y,T,L; T=$("#m").offset().top;//div离开左端的距离 L=$("#m").offset().left;//

C++获取鼠标位置及全局检测鼠标行为

1.获取鼠标位置(在屏幕的位置)  CPoint m_mouse; GetCursorPos(&m_mouse); 2. 屏幕转化为客户端(控件的相对位置)& 客户端位置转化为屏幕位置 ClientToScreen(this->m_hwnd,m_mouse);  //客户端位置转化为屏幕位置 ScreenToClient(this->m_hwnd,m_mouse) ;  //屏幕转化为客户端 3.获取控件关于在屏幕的位置 CRect  rc GetWindowRect(&

鼠标位置(跨浏览器)

一.鼠标事件属性 1.clientX,clientY 相对于可见视点(visual viewport)的鼠标位置,即当前浏览器显示区域(窗口)的位置,点击客户端矿口的左上角时 clientX 和 clientY 都为0,即使用户拖动了水平或垂直滚动条 document.onclick=function(e){ var event=e||window.event; console.log(event.clientX+","+ event.clientY); } 2.screenX,scr

JS魔法堂:关于元素位置和鼠标位置的属性

一.关于鼠标位置的属性   1. 触发鼠标事件的区域 盒子模型中的border,padding,content区域会触发鼠标事件,点击margin区域将不触发鼠标事件.   2. 鼠标事件对象MouseEvent下的属性 [a].  evt.pageX/Y :以页面左上角为参考点,表示当前触发点离页面左上角的水平和垂直距离. 注意:1. IE5.5~8不支持该属性,polyfill方法pageX = clientX + scrollLeft 2. 页面左上角并不是指html或body标签的盒子模

unity 鼠标拖拽物体实现任意角度自旋转

主要涉及函数 Input.GetAxis(“Mouse x”) 可取得鼠标横向(x轴)移动增量 Input.GetAxis(“Mouse y”) 可取得鼠标竖向(y轴)移动增量 通过勾股定理获取拖拽长度,长度越长旋转越快 在project setting--Input 可以设置 直接上代码,看了就明白了 1 using UnityEngine; 2 using System.Collections; 3 4 public class startRoate : MonoBehaviour 5 {

js获取浏览器宽高、网页宽高、屏幕宽高、鼠标位置等(带图片说明)

网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;(点击查看大图) 网页可见区域宽: document.body.offsetWidth (包括边线的宽);网页可见区域高: document.body.offsetHeight (包括边线的宽);(点击查看大图)有没有发现,offsetWidth和clientWidth的区别,offsetWidt是连滚动条一起包含在内的. 网页正文全文宽: documen

[Unity菜鸟] Unity鼠标双击,鼠标函数整理(未完)

1. 鼠标双击 ? 1 2 3 4 5 6 7 8 9 void OnGUI()    {        Event Mouse = Event.current;        if (Mouse.isMouse && Mouse.type == EventType.MouseDown && Mouse.clickCount == 2)        {            // 调用你的函数            print("Double Click&quo