目录

一、简介

二、功能

1.键盘控制平移

2.鼠标控制平移

3.视角拉近拉远

4.绕视角中心旋转

5.视角聚焦

6.活动区域限制

7.闲置时绕视角中心旋转

三、核心变量


一、简介

FreeCameraController是用于上帝视角、自由视角的相机控制脚本,同时支持Input System Package(New)和Input Manager(Old)新、旧两种输入系统。

该工具已经上传至我的框架SKFramework中的开发工具箱,如图所示。

框架已经在Github开源,地址:https://github.com/136512892/SKFramework

二、功能

1.键盘控制平移

通过键盘W、S、A、D、E、Q按键分别实现向前、后、左、右、上、下方向的平移:

2.鼠标控制平移

通过按住鼠标左键进行拖拽实现平移:

3.视角拉近拉远

通过鼠标滚轮的滚动实现视角的拉近或拉远:

4.绕视角中心旋转

通过按住鼠标右键并拖拽实现视角绕中心点旋转:

5.视角聚焦

通过调用Focus函数实现视角的聚焦:

/// <summary>
/// 聚焦
/// </summary>
/// <param name="position">目标位置</param>
/// <param name="rotation">目标旋转</param>
/// <param name="duration">时长</param>
public void Focus(Vector3 position, Vector3 rotation, float duration);

6.活动区域限制

通过启用IsRangeClamped来实现活动范围的限制:

通过设置xMinValue...zMaxValue调整活动范围,如图所示,绿色线条形成的区域即活动的范围,相机运动不会超出该区域:

7.闲置时绕视角中心旋转

当用户在一定的时长内没有任何操作时,进入闲置状态,相机自动绕视角中心旋转,该功能通过启用enableAutoIdle实现:

三、核心变量

toggle:控制系统的开关

isRangeClamped:是否启用活动区域限制

xMinValuexMaxValue:在x轴上的活动区域范围,当isRangeClamped为true时起作用

yMinValueyMaxValue:在y轴上的活动区域范围,当isRangeClamped为true时起作用

zMinValuezMaxValue:在z轴上的活动区域范围,当isRangeClamped为true时起作用

translateSpeed:平移的速度

boost:加速系数,当按下键盘左边的Shift键时会加速移动

positionLerpTime:坐标插值到目标值所需时长

rotationLerpTime:旋转插值到目标值所需时长

mouseMovementSensitivity:鼠标左键拖拽移动的灵敏度

mouseRotationSensitivityCurve:鼠标右键拖拽旋转的灵敏度

mouseScrollMoveSpeed:鼠标滚轮滚动时视角拉近拉远的速度

invertScrollDirection:是否反转鼠标滚轮滚动时视角拉近拉远的方向

enableAutoIdle:是否启用自动进入闲置状态

idleWaitTime:当用户在该时长内没有任何操作时,进入闲置状态,相机自动绕视角中心旋转,当enableAutoIdle为true时起作用

idleRotateSpeed:处于闲置状态时,绕视角中心旋转的速度

Unity SKFramework框架(十七)、FreeCameraController 上帝视角/自由视角相机控制脚本相关推荐

  1. Unity SKFramework框架(十九)、POI 兴趣点/信息点

    目录 一.简介 二.使用说明 1.二维与三维的匹配 2.移除 3.UI分辨率 4.Camera相机 三.Example 示例 一.简介 POI可以理解为场景中的一些有意义的点,例如车站.商场.医院.监 ...

  2. Unity SKFramework框架(二十四)、Avatar Controller 第三人称控制

    目录 一.简介 二.使用说明 1.人物控制 2.相机控制 三.参数说明 1.Avatar Controller 2.Camera Controller 一.简介 Avatar Controller适用 ...

  3. Unity SKFramework框架(二十三)、MiniMap 小地图工具

    目录 简介 实现原理 使用说明 简介 MiniMap可以帮助我们快速实现小地图功能,该工具已经上传至我的开发框架SKFramework中的Package Manager开发工具包管理器中,如图所示,点 ...

  4. Unity(三十七):3D模型动画、脚本控制模型骨骼IK动画

    效果(左侧模型动画,右侧模型IK控制) 模型动画下载及导入 推荐模型动画下载链接地址 https://actorcore.reallusion.com/ Unity导入教程参见以下链接地址(需要科学上 ...

  5. Unity SKFramework框架(二十一)、Texture Filter 贴图资源筛选工具

    目录 简介 使用步骤 1.选中所有Texture贴图 2.打开Texture Filter工具 3.指定筛选类型 4.Filter 进行过滤 简介 如图所示,在Unity Project窗口中我们可以 ...

  6. Unity SKFramework框架(二十五)、RSA算法加密、签名工具 RSA Crypto

    目录 简介 函数 1.pem公钥内容转xml 2.pem私钥内容转xml 3.使用公钥对数据进行加密 4.使用私匙对待签名内容进行签名 示例 简介 在调用Java后端接口,需要使用后端提供的pem私钥 ...

  7. Unity SKFramework框架(十一)、ActionChain 事件链

    目录 一.Action 事件 1.Simple 普通事件 2.Delay 延迟事件 3.Timer 定时事件 4.Until 条件事件 5.While 条件事件 6.Tween 动画事件 7.Anim ...

  8. unity简单自由漫游摄像机控制脚本

    "幽灵视角",适合用来漫游场景 把代码加载到摄像机上 using System.Collections; using System.Collections.Generic; usi ...

  9. 【Unity入门计划】2D游戏实现敌人来回移动控制脚本

    目录 移动脚本 控制界面 效果 学习的教程 [unity2021入门教程]74-2D游戏开发教程系列-03-RubyAdventure2DRpg官方教程-22-移动敌人方式2_哔哩哔哩_bilibil ...

最新文章

  1. Postmortem报告
  2. Microbiome:所谓的“富集培养”获得的微生物真的都是被“富集”出来的吗?(一作解读)...
  3. Android第十五课 Jni自带的iconv库不支持GBK转码
  4. N900 Dual boot(meego maemo)
  5. 用户密码和cookie,session、token还有AKSK
  6. Angular jasmine单元测试框架里describe的实现原理
  7. Springboot2 搭建 高性能Websocket服务器
  8. 对于DSH算法损失函数的理解
  9. Oracle系统中表外键的更名
  10. 苹果新专利曝光,可通过GPS和视觉识别器来识别车辆
  11. Ubuntu 20.04部署minikube配置不上阿里云的minikube镜像
  12. 自己编写的中文字符串的截取函数
  13. 使用蛋白质和mRNA序列信息预测蛋白质亚线粒体定位
  14. 计算机在随机抽样上的应用,使用计算机随机分组与随机抽样的方法及应用
  15. JAVA程序员工作常用英语
  16. vue项目如何打包以及如何变成android、ios应用程序
  17. php selectradio和checkbox默认选择的实现方法
  18. 工作20天之感悟(嵌入式开发)
  19. 【SQL】SQL如何使0值升序排序时排最后
  20. Aleo Wagyu钱包

热门文章

  1. 5G NR CSI-RS介绍(4)-- CSI Report配置详解
  2. java 模块解耦_微服务架构:如何用十步解耦你的系统?
  3. HDU题目分类大全【大集合】
  4. dell r510服务器怎么装系统,DELLR510服务器上安系统
  5. vscode安装和配置ESLint
  6. GIS中墨卡托与WGS 84的瓦片编号计算方法
  7. 道阻且长之C++对象模型
  8. 小样本学习在滴滴治理和安全场景应用
  9. 是的你没看错,js生成word文档
  10. 【自然语言处理】词袋模型在文本分类中的用法