【Unity3D日常开发】Unity3D中让物体跟随鼠标移动
开发 移动 鼠标 Unity3D 日常 物体 跟随
2023-09-11 14:19:57 时间
推荐阅读
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
在开发中,会遇到让物体跟随鼠标移动的情况。
下面,就分享一下如何让物体跟随鼠标移动。
效果图:
二、实现
让物体跟随鼠标移动是很简单的,只需要两行代码:
using UnityEngine;
public class FollowMouse : MonoBehaviour
{
void Update()
{
Vector3 m_MousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10);
transform.position = Camera.main.ScreenToWorldPoint(m_MousePos);
}
}
我们用了一个固定的参数:
这个参数是摄像机到物体的距离,这个距离如果你没有动摄像机和物体的话(也就是两个都是默认值)就相距10单位:
但是!如果两个对象的距离位置变化了呢,这怎么办呢?
我们的代码就可以优化一下:
using UnityEngine;
public class FollowMouse : MonoBehaviour
{
void Update()
{
//首先获取到当前物体的屏幕坐标
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
//让鼠标的屏幕坐标的Z轴等于当前物体的屏幕坐标的Z轴,也就是相隔的距离
Vector3 m_MousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, pos.z);
//将正确的鼠标屏幕坐标换成世界坐标交给物体
transform.position = Camera.main.ScreenToWorldPoint(m_MousePos);
}
}
我们先获取到距离,然后转化为世界坐标就搞定了。
效果图:
相关文章
- ios开发之-计算器的改进
- Navicat Premium v16.2 大有不同 | 一个工具将轻松搞定Mysql+Redis等混合部署的管理开发需求
- 《Unity着色器和屏幕特效开发秘笈(原书第2版)》一1.5 在表面着色器中使用属性
- nodejs的npm安装模块时候报错:npm ERR! Error: CERT_NOT_YET_VALID的解决方法 - 包子博客 _ 关注互联网前端、开发、SEO、移动互联网应用技术
- 《移动安全》(1)Android开发基础:安卓操作系统架构与应用程序组件
- 《精通移动App测试实战:技术、工具和案例》一1.5 搭建Android开发环境
- 《Android游戏开发详解》——第2章,第2.2节设置开发机器
- 《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 第1章 Web交互开发相关技术概述
- 《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 2.9 总结
- 《Swift开发实战》——第2章,第2.6节枚举和结构体
- 《jQuery移动开发》—— 2.1 语义HTML5
- 《jQuery移动开发》—— 2.3 理解data-属性
- 《HTML5移动Web开发实战》—— 导读
- 《HTML5移动应用开发入门经典》—— 2.4 HTML5中的HTML语法变化
- 《PhoneGap移动应用开发手册》——1.3节调整加速计传感器更新时间间隔
- Linux驱动开发(硬件基础知识)——存储器
- 《OpenGL ES应用开发实践指南:Android卷》—— 2.6 OpenGL颜色模型
- LwIP应用开发笔记之七:LwIP无操作系统HTTP服务器
- Modbus库开发笔记之八:CRC循环冗余校验的研究与实现
- 移动端开发网页时,有部分字体无故变大或变小
- 【Unity3D日常开发】时间类Time和DateTime的使用
- JAVA 开发实例 一 移动的小球
- Android之项目推荐使用的第三方库,有助于快速开发,欢迎各位网【转】
- 校园外卖点餐系统——Day06【移动端业务开发】
- 【嵌入式Linux驱动入门】二、上手Hello驱动,了解驱动开发流程
- 【正点原子FPGA连载】 第二十二章 HDMI方块移动实验 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
- 【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- 【React Native开发】React Native移植原生Android项目(4)
- 漫谈测试工具的开发实践
- iOS开发-使用ShareSDK做分享如何让新浪分享后是可点击蓝色文字
- 利用Android与iOS系统进行移动应用开发:浅析开发过程及人员招募
- C#快速开发移动应用了
- Java Web开发之Servlet、JSP基础
- VUE.JS组件化开发实践