当前位置: 首页 > news >正文

Unity3d 以鼠标位置点为中心缩放视角(正交模式下)

思路整理:

缩放前:

缩放后:

记录缩放前鼠标的屏幕坐标 A,计算鼠标位置对应的世界坐标 A_world

缩放完成后,根据当前屏幕下A所对应的世界坐标A1_world

计算A1_world 和 A_world 的偏移量

移动摄像机

代码:

private void ScaleBaseMousePos(){//缩放前鼠标位置对应的世界坐标 A点Vector3 aimPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.nearClipPlane));//缩放前屏幕位置存储Vector2 mousePos = Input.mousePosition;//缩放nowOriSize = Camera.main.orthographicSize - wheel * 50.0f;Camera.main.orthographicSize = Mathf.Clamp(nowOriSize, minOriSize, maxOriSize);//缩放后A点应该对应的屏幕坐标 A1点Vector3 newMousePos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, Camera.main.nearClipPlane));transform.position += (aimPos - newMousePos);}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 详解c++多态---上
  • 动态规划---不相交的线
  • 【前端】ref引用的作用
  • Golang、Python、C语言、Java的圆桌会议
  • Vue.js 计算属性
  • 数据结构:堆的算法
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • ESP8266做httpServer提示Header fields are too long for server to interpret
  • 【论文分享精炼版】 sNPU: Trusted Execution Environments on Integrated NPUs
  • NAT技术
  • vue3 +百度地图 实现 地点检索,输入联想,经纬度,逆地理编码,创建标记,label等
  • LAMP+WordPress
  • 15、Python如何获取文件的状态
  • 测试工具笔记
  • 2024.9.15周报
  • #Java异常处理
  • 10个确保微服务与容器安全的最佳实践
  • Invalidate和postInvalidate的区别
  • JAVA并发编程--1.基础概念
  • Java反射-动态类加载和重新加载
  • Java方法详解
  • JS笔记四:作用域、变量(函数)提升
  • mysql常用命令汇总
  • Shell编程
  • vagrant 添加本地 box 安装 laravel homestead
  • 大主子表关联的性能优化方法
  • 番外篇1:在Windows环境下安装JDK
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 前端面试题总结
  • 前端知识点整理(待续)
  • 如何编写一个可升级的智能合约
  •  一套莫尔斯电报听写、翻译系统
  • 赢得Docker挑战最佳实践
  • 用mpvue开发微信小程序
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​【已解决】npm install​卡主不动的情况
  • ​补​充​经​纬​恒​润​一​面​
  • ​浅谈 Linux 中的 core dump 分析方法
  • #pragma once与条件编译
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (MATLAB)第五章-矩阵运算
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (九)信息融合方式简介
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .axf 转化 .bin文件 的方法
  • .Net IE10 _doPostBack 未定义
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 使用 XPath 来读写 XML 文件
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .Net组件程序设计之线程、并发管理(一)