物体移动--通过改变transform--鼠标控制

2023-11-03

鼠标控制物体移动

 

1.物体移动到鼠标点击处

2.物体跟随鼠标移动

分为三步:获取鼠标位置、转化为世界坐标、物体移动

private Vector3 mopos; 

private Vector3 gamepos;

void Start(){

//物体的世界坐标转化成屏幕坐标

//gamepos = Camera.main.WorldToScreenPoint (transform.position)

gamepos = transform.position;

}

 

void Update () {

//物体移动到鼠标点击处

if (Input.GetMouseButtonDown (0)) {

mopos = Input.mousePosition;//获取鼠标位置

//转化物体世界z坐标为屏幕坐标并赋值给鼠标z坐标

mopos.z=Camera.main.WorldToScreenPoint( transform.position).z;

//将需要的鼠标坐标转化成世界坐标

gamepos.x=Camera.main.ScreenToWorldPoint(mopos).x;

gamepos.z=Camera.main.ScreenToWorldPoint(mopos).z;

gamepos.y=transform.position.y;

}

//让物体移动到坐标处

transform.position = Vector3.Lerp (gameObject.transform.position,gamepos,Time.deltaTime*5f);

//朝向某处

//transform.LookAt (gamepos);

}


Ps:一个小例子,准星在屏幕中跟随鼠标移动

void Updata(){ 

mopos = Input.mousePosition;//获取鼠标位置

//调整位置比例

mopos.x /= 823.0f;

mopos.y /= 600.0f;

//移动

transform.position = Vector3.Lerp (gameObject.transform.position,mopos,Time.deltaTime*30f);

}

 

//物体朝向鼠标方向旋转

//获取鼠标增量 

float h =  Input.GetAxis("Mouse X");

float v = Input.GetAxis("Mouse Y");

//旋转

transform.Rotate(v, h, 0);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物体移动--通过改变transform--鼠标控制 的相关文章

随机推荐

  • 关于wait/notify以及顺序打印

    1 等待和唤醒是同一个对象 2 notify只会唤醒一个线程 使用角度 1 Object wait 会抛出 InterruptedException 2 调用object wait 必须首先对object monitor lock 进行加锁
  • 2020.12.6-参加中国电子学会的青少年软件编程等级考试C语言5级(良好通过)

    Jensen今天参加了中国电子学会的青少年软件编程等级考试C语言的5级考试 目前C语言的5级是最高级别 需要将基本算法都学完的孩子来参加 基本算法包括递推 递归 贪心 分治 搜索 动态规划等 Jensen 两道题AC 其他两道题没有AC 但
  • 机器学习:马尔可夫模型

    后续遇到合适的案例会再补充 1 马尔可夫模型 马尔可夫模型 Markov Model MM 是一种统计模型 广泛应用在自然语言处理等领域中 1 1 数学定义 考虑一组随机变量序列 X X 0
  • Android获取手机联系人的基本信息(如姓名、电话、邮箱、备注)

    在做项目的过程中 需要获取我们手机通讯录联系人的基本信息 如姓名 电话 邮箱 备注 昵称 公司 职位 家庭电话等等信息 下面就是我总结的一些具体方法 1 首先读取联系人需要添加读取权限 6 0以上需要动态获取权限 1 1AndroidMan
  • go context用法详解

    转发自 作者kingeasternsun https studygolang com articles 10155 fr sidebar 本文主要基于官方文档Go Concurrency Patterns Context以及视频Advanc
  • SpringBoot+Vue校园学习成绩管理系统

    简介 本项目采用了基本的springboot vue设计的校园学习成绩管理系统 详情请看截图 经测试 本项目正常运行 本项目适用于Java毕业设计 课程设计学习参考等用途 项目描述 项目名称 SpringBoot Vue校园学习成绩管理系统
  • Hyperledger Fabric 带入门 Python 课程

    Hyperledger Fabric 带入门 Python 课程 Hyperledger Fabric 是一个开源的区块链框架 被广泛应用于企业级联盟链场景 Python 是一种高级编程语言 易于学习和使用 是区块链领域的热门语言之一 本文
  • 数字表达_金字塔神秘数字之谜!142857这组神奇的数字表达着什么含义

    在埃及金字塔内 发现一组看似平凡 但很神奇的数字 142857 这组数字背后隐藏着人类无法解释的谜团 有人说这组数字和汶川大地震的时间偶合 这组数字隐藏了灾难发生的预言之秘 这到底是有心人无端的揣测 还是严谨的科学推论 142857这组数字
  • c++ list 容器splice函数

    list 的splice函数主要是用来合并两个list splice是list中特有的拼接方法 splice实现了不需要拷贝的list合并 即可以在常数时间内从list的一个区域拼接到另一个list的一个区域 也就是说splice是一个常数
  • ParallelLoopState.Break与ParallelLoopState.Stop区别

    ParallelLoopState Break与ParallelLoopState Stop区别 Break和Stop都是为了停止循环的一种手段 不同之处在于 Break不立马结束循环 而是要等所有小于ParallelLoopState L
  • shell脚本中调用java程序,并传递参数的方法

    为了方便运行多个java程序 选择写了脚本进行统一管理 简单介绍下传输参数的方法 假设要向file java传输参数 step1 需要先生成 class文件 javac Test java step2 在脚本中定义参数 int a 5 do
  • 拉格朗日插值多项式

    1 拉格朗日插值多项式 首先给出 n次插值基函数定义 若 n 次 多 项 式 l j
  • windows驱动开发8:虚拟摄像头方案

    一 摄像头框架 在业务场景中 有许多是需要应用能够通过摄像头的方式来访问相关的音视频数据 比如美颜 摄像头多路复用 IP摄像头接入视频会议等 这些功能通过虚拟摄像头的方式来实现 是一个比较通用的解决方案 那么如何及选用哪种技术方案来开发虚拟
  • SAR成像系列:【12】层析合成孔径雷达(层析SAR,Tomographic SAR,TomoSAR)

    自1995年Knaell为解决曲线SAR成像结果中的强旁瓣问题 将二维计算机断层 Computed Tomography 成像技术扩展到三维空间 并通过投影切片理论和后向投影算法获得了雷达成像三维空间的点响应函数 从而为分析三维成像分辨率和
  • __declspec(dllimport)的理解

    declspec dllimport MSDN中说明 不使用 declspec dllimport 也能正确编译代码 但使用 declspec dllimport 使编译器可以生成更好的代码 编译器之所以能够生成更好的代码 是因为它可以确定
  • windows 查看端口占用

    1 开始 运行 cmd 调出命令窗口 2 输入命令 netstat ano 列出所有端口的情况 在列表中我们观察被占用的端口 比如是49153 首先找到它 3 查看被占用端口对应的PID 输入命令 netstat aon findstr 4
  • 【云计算网络安全】解析DDoS攻击:工作原理、识别和防御策略

    文章目录 一 前言 二 什么是 DDoS 攻击 三 DDoS 攻击的工作原理 四 如何识别 DDoS 攻击 五 常见的 DDoS 攻击有哪几类 5 1 应用程序层攻击 5 1 1 攻击目标 5 1 2 应用程序层攻击示例 5 1 3 HTT
  • 打穿sqli-labs靶场第五天(less-7)文件写入

    打穿sqli labs靶场第五天 less 7 文件写入 环境配置 该关卡需要用到文件写入操作 所以需要开启MySQL中的文件写入 进入MySQL下的bin目录 用命令行连接数据库 查看是否开启文件写入 show variables lik
  • 代码规范化的七大原则

    代码规范化的七大原则 代码规范化基本上有七大原则 体现在空行 空格 成对书写 缩进 对齐 代码行 注释七方面的书写规范上 空行 定义变量后要空行 尽可能在定义变量的同时初始化该变量 即遵循就近原则 如果变量的引用和定义相隔比较远 那么变量的
  • 物体移动--通过改变transform--鼠标控制

    鼠标控制物体移动 1 物体移动到鼠标点击处 2 物体跟随鼠标移动 分为三步 获取鼠标位置 转化为世界坐标 物体移动 private Vector3 mopos private Vector3 gamepos void Start 物体的世界