Unity控制摄像机(Camera)实现 缩放 和 旋转(上下左右)。
鼠标滑轮控制摄像机缩放与放大和旋转(上下左右)详细过程我在源码里有注释。
还是先来康康演示动画:
代码如下:在Main Camera下创建一个脚本FollowPlayer 。将下面的源码复制进去。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class FollowPlayer : MonoBehaviour
{//位置偏移(摄像机与人)private Vector3 offsetPosition;public float distance = 0;public float scrollspeed = 1;//拉近视野速度public float rotateSpeed = 2;//摄像机旋转的速度。void Update(){//处理视野的旋转RotateView();//处理视野的拉近和拉远的效果ScrollView();}private void ScrollView(){print(Input.GetAxis("Mouse ScrollWheel"));//向后 返回负值(拉近视野),向前滑动 返回正值(拉远视野)distance = offsetPosition.magnitude;//获得距离。distance += Input.GetAxis("Mouse ScrollWheel") * scrollspeed ;//拉近视野offsetPosition = offsetPosition.normalized * distance;//方向不变,将长度变为distance}void RotateView() {//Input.GetAxis("Mouse X");//鼠标在水平方向的滑动//Input.GetAxis("Mouse Y");//鼠标在垂直方向的滑动if (Input.GetMouseButtonUp(1))//1代表鼠标左键。{isRotating = false;}if (Input .GetMouseButtonDown(1)){isRotating = true;}if (isRotating ){//向右滑动时正值,向左滑动是负值。transform.RotateAround(player.position, player.up,rotateSpeed * Input.GetAxis("Mouse X"));Vector3 originalPos = transform.position;Quaternion originalRotation = transform.rotation ;transform.RotateAround(player.position, transform .right, -rotateSpeed * Input.GetAxis("Mouse Y"));//影响的属性有两个,position,rotation;//限制摄像机垂直滑动的距离;float x = transform.eulerAngles.x;if (x < 10 || x > 80)//当超出范围之后,我们将属性归位原来的,就是让旋转无效;{transform.position = originalPos;transform.rotation = originalRotation;}}//每次更新一下。offsetPosition = transform.position - player.position;
}
这是博主的另一篇摄像机(Camera)跟随角色移动的代码控制和演示动画:https://blog.csdn.net/qq_45872962/article/details/111276086
Unity控制摄像机(Camera)实现 缩放 和 旋转(上下左右)。相关推荐
- Unity 控制摄像机移动
Unity 控制摄像机移动 控制摄像机移动 1.摄像机围绕某一固定点移动(旋转) 2.摄像机无需围绕某一固定点移动 3.摄像机先后显示问题 控制摄像机移动 控制摄像机移动目前我接触到的有两种方式,一种 ...
- Unity 摄像机(Camera) 缩放 移动 旋转。
推荐解决方案:Mobile Touch Camera 插件 支持多平台,一指.双指操作看上面的图就知道操作了哈哈,解决当前的需求是完全OK的. 现在,带大家来看看主要的参数. 1.默认是2D的,另一个 ...
- Unity的摄像机拉近拉远和旋转脚本实现
摄像机是Unity3d里面一定要用到的.所以熟悉摄像机的使用也是能掌握unity3d的基础. 这里详细介绍一个摄像机脚本,脚本的功能类似与魔兽争霸的鼠标滚轮拉近拉远以及按住右键移动鼠标旋转视野. 涉及 ...
- 在android项目上集成libyuv库以及使用libyuv库完成camera的缩放,旋转,翻转,裁剪操作
目录 一.下拉google官方的libyuv库代码 二.在android项目中集成libyuv库 1.环境配置 2.拷贝libyuv源码文件 编辑3.配置cmake libyuv相关的链接编译等 三 ...
- Unity实现安卓端手势控制摄像机的旋转和缩放
说明 上一篇记录了PC端鼠标控制摄像机的移动和缩放,这一篇写的是在安卓机上实现手势控制摄像机围绕一个物体进行旋转和缩放,两篇的代码逻辑基本一样只是输入检测有区别,这里我是分开记录,没有整合[Uni ...
- Unity 基础 之 鼠标控制 相机(摄像机Camera)的旋转,移动和 fov 的简单使用整理
Unity 基础 之 鼠标控制 相机(摄像机Camera)的旋转,移动和 fov 的简单使用整理 目录 Unity 基础 之 鼠标控制 相机(摄像机Camera)的旋转,移动和 fov 的简单使用整理 ...
- Unity鼠标控制摄像机 围绕物体旋转
Unity鼠标控制摄像机 围绕物体旋转 角度范围判定 // An highlighted block using UnityEngine;public class CameraCtrl : MonoB ...
- Unity 用于控制摄像机的旋转、远近
/// <summary> /// 用于控制摄像机的旋转.远近 /// </summary> public class CameraTransform : MonoBehavi ...
- 【Unity】Unity实现鼠标控制摄像机围绕物体旋转镜头 滑轮控制远近
在游戏和一些产品展示等项目中会有让摄像机围绕某个物体进行旋转这种需求 下面展示的代码是个删减版的 只保留了主要功能 限制的方面都删除了 在原有的代码中有 移动摄像机功能 围绕的点不做限制每 ...
最新文章
- 【Java Web开发指南】云服务器部署项目供外网访问(Tomcat)
- 音视频技术开发周刊 | 200
- 235. 二叉搜索树的最近公共祖先
- Java 编写程序 创建一个游戏【5、6两章的内容】【第5章】
- excel中画图坐标轴更改数字大小_Excel柱状图看不清?用这3种方法就可以
- phabricator mysql_Phabricator服务的搭建
- flutter从0到1构建大前端应用 pdf_推荐前端热门GitHub代码库「值得收藏」
- 求无向图中某顶点的度 (有注释)
- iosalipay_iOS支付宝支付主要代码
- JAVA实现求五个数阶乘之和 小实例
- shell编程规范与变量2
- 农银电商项目学习笔记(一)
- The Child and Toy
- tableau中文版教程pdf_快速入门Tableau详细教程(
- MySQL安装步骤【亲测可用】
- 人事面试java需要注意点_程序员hr面试注意事项
- VMware安装win10 win2012(最详细最全操作)
- freeswitch-PSTN
- HQL语句的基本语法和使用
- 174.123.15.31 index.php,腾讯内容开放平台