前言:这个也是我得一个朋友怎么做,朋友跟我说的方法,然后我就想记录下来,当个学习。

需求:相机固定视角(相机的高是15、x轴选转30、y轴旋转15),地图上有很多物体,点击后相机移动到指定物体(物体居中在屏幕中间)。

视频效果:

Unity 相机固定角度平移至指定物体_哔哩哔哩_bilibili

看到这个之后就想到了用三角函数做,下面直接上代码,就不啰嗦了。

    public Camera mCamera;private Vector3 mTargetPos;private float mAngleX = 30;private float mAngleY = 15;void Start(){mAngleX = mCamera.transform.eulerAngles.x;mAngleY = mCamera.transform.eulerAngles.y;mTargetPos = mCamera.transform.position; }void Update(){if (Input.GetMouseButtonDown(0)){Ray ray = mCamera.ScreenPointToRay(Input.mousePosition);RaycastHit hitInfo;if (Physics.Raycast(ray, out hitInfo)){if (hitInfo.collider.CompareTag("Player")){//根据已知条件 求出 z 轴方向移动距离,根据x轴角度float x_duiBian = mCamera.transform.position.y * Mathf.Tan((90 - mAngleX) * Mathf.Deg2Rad);//抵消 y轴旋转造成的误差x_duiBian *= Mathf.Cos(mAngleY * Mathf.Deg2Rad);//根据已知条件 求出 x 轴方向移动距离,根据y轴角度float y_duiBian = x_duiBian * Mathf.Tan(mAngleY * Mathf.Deg2Rad);//根据上面计算的位置 赋值mTargetPos.x = hitInfo.collider.transform.position.x - y_duiBian;mTargetPos.z = hitInfo.collider.transform.position.z - (x_duiBian);}}}mCamera.transform.position = Vector3.MoveTowards(mCamera.transform.position, mTargetPos, 10f * Time.deltaTime);}

这也是临时想到的解决方案,办法应该有很多种,这也是我发出来的原因。欢迎各位大佬交流,互相学习。

Unity 相机固定角度平移至指定物体相关推荐

  1. unity 摄像机追随指定物体

    unity 摄像机追随指定物体, 摄像机离远离近,围绕物体旋转using System.Collections; using System.Collections.Generic; using Uni ...

  2. android固定位置拍照,Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto) void onclick() { Intent intent = new Intent(Media ...

  3. Unity 相机跟随人物的几种方式

    相机跟随一般写在生命周期LateUpdate中 1.最简单,无代码,固定距离,固定视角 最简单的就是 直接 把主相机作为Player角色的子物体,并自行固定好相机的位置和角度 优点:使用方便 缺点:使 ...

  4. Unity 相机围绕目标旋转、缩放功能实现

    Unity 相机围绕目标旋转.缩放功能实现 //************************************************相机围绕物体旋转.相机缩放*************** ...

  5. Cardboard虚拟现实开发技巧(一)之放置一个固定在视野中的物体

    Google Cardboard 虚拟现实眼镜开发技巧(一)之放置一个固定在视野中的物体 利用CardboardMain下的Head轻松放置一个固定在视野中的物体 大家知道在游戏开发中,我们经常会需要 ...

  6. 【0909】unity作业:2d箭头跟随指引物体方向,箭头始终在屏幕内。

    [0909]unity作业:2d箭头跟随指引物体方向,箭头始终在屏幕内. 第一步:对需要用到的箭头进行抠图: 上课老师说用Sprite Editor.不过那个,好像是用来切片的,不能抠图-参考了一篇文 ...

  7. Unity实用小工具或脚本——3D物体带坐标轴的拖拽

    一.前言 我们最近要做一个线路的规划编辑,并且是在三维场景中,编辑完就立马能用.立马能用还好说,有特别多的轮子可以用,在三维场景中实时编辑就有点意思了.其实功能就是类似于在Unity的编辑界面操作一个 ...

  8. stm32单片机控制伺服电机转动固定角度

    stm32单片机控制伺服电机转动固定角度 在用伺服电机进行二维平台移动时,会涉及让二维平台移动一个步长的情况,落实到伺服电机上,就是让伺服电机转动一个固定的角度.所以本文说说让伺服电机转动固定角度,然 ...

  9. Unity实现以鼠标为中心缩放物体(一)

    Unity实现以鼠标为中心缩放物体(一) 方法一:UGUI下动态设置Pivot Canvas.renderMode = ScreenSpaceCamera Canvas.renderMode = Sc ...

最新文章

  1. 沉默不是一个好的选择
  2. synchronized不能锁静态变量_多线程编程不可错过——彻底理解synchronized
  3. json串反转义(消除反斜杠)-- 转载
  4. docker安装的环境
  5. PHPstrom怎样设置浏览器
  6. 程序员必须要掌握的十大经典算法
  7. JSP的HTML基础实验原理,实验四 JSP基础语法
  8. C++set容器去重法
  9. CodeForces 570B,C
  10. Leetcode-1154 Ordinal Number Of Date(一年中的第几天)
  11. 简单的选项卡功能实现
  12. 美团搜索-搜索引擎关键字智能提示的一种实现[转]
  13. python之路 -- 并发编程之线程
  14. BadBoy+JMeter应用过程中遇到的问题汇总
  15. c++如何快速写出get set_如何快速写出产品文案?(4大核心方法)
  16. (Android-RTC-8)分析HardwareVideoEncoder—BitrateAdjuster
  17. R 两组样本t检验 wilcoxon检验、卡方、fisher精确检验
  18. 【Python入门基础】Web前端
  19. linux bmp图片怎么转换成ppm,[转载]图片解析 ppm图片bmp图片格式
  20. Eclipse代码注释配置(超详细)

热门文章

  1. 红楼解梦五--饥饿疗法
  2. php聊天室禁言时间开发,聊天室技术(五) -- 指挥中心_PHP
  3. uni-app 上下滑动左右滑动
  4. su su- sudo
  5. 一些实用的镜像网站推荐
  6. 【开源分享】自制STC15W408AS开发板
  7. 如果你的天猫魔盒不能看了
  8. FITC-PEG-FA,荧光素-聚乙二醇-叶酸,FA-PEG-FITC,实验室科研试剂,提供质量检测
  9. 编写简单的计算器功能的程序
  10. 腾讯企业邮箱满了,如何清空邮箱?