这篇文章主要介绍了unity3D如何实现三维物体跟随鼠标,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
本文实例为大家分享了unity3D实现三维物体跟随鼠标的具体代码,供大家参考,具体内容如下
效果图:
1.创建一个三维物体Cylinder圆柱体 Target
2.创建词汇表Yellow材质球
3.将材质球挂载到Target物体上
4.创建脚本MouseMove.cs
MouseMove.cs代码
using UnityEngine;
/*
让物体完全跟随鼠标
*/
public class MouseMove : MonoBehaviour
{
[Header("主相机")]
[Tooltip("主相机")]
/// <summary>
/// 主相机
/// </summary>
public Camera m_mainCamera;
[Header("目标物体")]
[Tooltip("目标物体")]
/// <summary>
/// 目标物体
/// </summary>
public Transform m_target;
void Start()
{
isDown = false;
targetWTSP = m_mainCamera.WorldToScreenPoint(m_target.position);
}
/// <summary>
/// 是否按下
/// </summary>
private bool isDown;
/// <summary>
/// 记录初始化时候target世界坐标转屏幕坐标时候的位置 WTSP==WorldToScreenPoint
/// </summary>
private Vector3 targetWTSP;
void Update()
{
if (Input.GetMouseButtonDown(0)) {
isDown = true;
}
if (Input.GetMouseButtonUp(0))
{
isDown = false;
}
}
private void LateUpdate()
{
if (isDown)
{
Vector3 mouseVec3 = m_mainCamera.ScreenToWorldPoint(
new Vector3(Input.mousePosition.x, Input.mousePosition.y, targetWTSP.z)
);
m_target.position = mouseVec3;
}
}
}
5.新建一个空物体Script,并将MouseMove.cs脚本挂载上去,再将相机和Target物体拖拽到脚本上
感谢你能够认真阅读完这篇文章,希望小编分享的“unity3D如何实现三维物体跟随鼠标”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。