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物体拖拽到脚本上

完毕!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • unity实现鼠标拖住3D物体

    本文实例为大家分享了unity实现鼠标拖住3D物体的具体代码,供大家参考,具体内容如下 把该脚本直接挂在要拖拽的物体上即可 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ModelDrages : MonoBehaviour { //发射射线的摄像机 private Camera cam; //射线碰撞的物体 private GameObject go; //

  • Unity3D实现鼠标控制旋转转盘

    在培训模拟考试软件中,我们经常会遇到类似用鼠标旋转转盘打开开关的需求.让用户更加真实的操作设备仪器.接下来说下我的解决方案. 因为鼠标操作是在UI平面上,所以我们要先将被操作的模型的世界坐标转换到屏幕坐标上.代码如下: ModelScreenPos = camera.WorldToScreenPoint(Model.transform.position); 这里有个声明,这个模型代表的是转盘,而且要保证模型的中心点在转盘中心.然后我们就要计算鼠标以模型在屏幕坐标为中心点的旋转偏移量.我们开始以鼠

  • Unity3D实现鼠标控制视角转动

    前面,学了物体的移动功能,现在来学一下C#实现鼠标控制摄像机(视角)移动. 代码如下: C#脚本(在Unity 5.5.1 下能运行): using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseView : MonoBehaviour { public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY

  • unity3D实现三维物体跟随鼠标

    本文实例为大家分享了unity3D实现三维物体跟随鼠标的具体代码,供大家参考,具体内容如下 效果图: 1.创建一个三维物体Cylinder圆柱体 Target 2.创建词汇表Yellow材质球 3.将材质球挂载到Target物体上 4.创建脚本MouseMove.cs MouseMove.cs代码 using UnityEngine; /* 让物体完全跟随鼠标 */ public class MouseMove : MonoBehaviour { [Header("主相机")] [To

  • Unity3D实现相机跟随控制

    本文实例为大家分享了Unity3D实现相机跟随控制的具体代码,供大家参考,具体内容如下 跟随算法 要实现3D摄像机的控制第一步就是先实现摄像机跟随物体移动. 要想让相机跟随物体移动,就要明白在一定角度下相机与物体的位置关系. 首先设置相机与物体之间的距离distance,相机与xz平面的角度为roll 所以根据三角关系可以求得映射在xz平面的距离d为distancecos(rool),相机高度为distancesin(roll). 如下图 现在就可以确定相机的高度了即y轴的坐标相机的y轴坐标应该

  • jquery实现图片跟随鼠标的实例

    jquery实现图片跟随鼠标的实例 开发后台写页面困难的一比啊,想写个鼠标移动某连接右侧显示二维码,并跟随鼠标移动的功能,各种查资料,花了一小天终于搞出来了,代码的记下来,浪费了我这么多时间,记你一辈子,这个可以直接在W3School直接运行,可以根据某行显示某个特定的图片,自己定义就行 实现代码: <html> <head> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"><

  • jquery背景跟随鼠标滑动导航

    本文实例讲述了支持背景图片上下滑动的竖向jQuery菜单导航特效代码,分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="gb2312"> <title>左边跟随鼠标滑动导航</title> <meta name="keywords"

  • 使用JS实现气泡跟随鼠标移动的动画效果

    气泡跟随鼠标移动,并在每次点击时产生不同的变化 效果如下 <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> 简单的气泡效果 </title> <style type="text

  • JS实现跟随鼠标闪烁转动色块的方法

    本文实例讲述了JS实现跟随鼠标闪烁转动色块的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>JS跟随鼠标闪烁转动的色块</title> </head> <body> <script language="JavaScript"> <!-- if (document.all){ colours=new Array('ff0000','00

  • JS实现跟随鼠标立体翻转图片的方法

    本文实例讲述了JS实现跟随鼠标立体翻转图片的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Wanna tell her - interactive DHTML</title> <

  • JS实现跟随鼠标的链接文字提示框效果

    本文实例讲述了JS实现跟随鼠标的链接文字提示框效果.分享给大家供大家参考.具体如下: 这里使用JavaScript与CSS实现链接提示效果,不会改变你原来的链接结构,使用链接原有的title标签来实现,如果之前你使用有title标签,那你几乎只需把JS代码拷贝到你的网页中即可.你会发现,运行本效果后,鼠标在链接上移动的话,文字提示框会跟随鼠标而移动位置. 运行效果如下图所示: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran

  • js图片跟随鼠标移动代码

    在很多网站上能看到图片跟随鼠标移动的JS特效,其实做法很简单,在这里与大家分享下. 在实现这个特效之前,需要了解JS中一个对象,event(事件对象),对,只需了解这一个对象.它的方法属性我不多说了,想详细了解的童鞋点击这里,http://www.jb51.net/article/17266.htm. 我们用到的只有这个对象的两个属性,clientX与clientY,就是触发当前事件(可能是Click,也肯能是onmousemove等等事件)时鼠标在窗口区域的X,Y坐标(它们都是只读属性,所以只

  • javascript DIV跟随鼠标移动

    首先介绍的是一个div跟随鼠标移动的效果,具体代码如下 javascript div跟随鼠标移动 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"> window.o

随机推荐