【Unity-Cinemachine相机】虚拟相机(Virtual Camera)的本质与基本属性

 我们可以在游戏进行时修改各个属性,但在概念上,最好将Virtual Camera 当作一种相机行为的“配置文件”,而不是一个组件。

我们的相机有几种行为就为它准备几种虚拟相机,比如角色移动就为它第三人称相机,瞄准就准备一个第一人称相机,过程动画就准备固定机位相机或滑轨相机。

        当虚拟相机里的属性被设置完毕之后,就应当避免在游戏中对其进行修改。如果在游戏中需要修改一个虚拟相机的多个属性的话,请考虑再制作一个虚拟相机,并不会消耗多少的系统资源,这样更便于管理自己的相机行为。

Status:有三种状态:

  • 激活状态Live表示Cinemachine正在使用这个虚拟相机的属性来控制相机;
  • 待机状态standby,表示虚拟相机并未被cinemachine brain使用,但是虚拟相机自身还在运行当中,下面的跟随瞄准等计算不一定会停,它的计算频率或者说刷新频率由StandBy Update决定

  • 禁用状态Disabled

相机后面的solo可以让当前相机立即处于激活状态,方便我们在开发时随时观察虚拟相机的工作状态

Game Window Guides:游戏窗口引导,打开后会在游戏界面显示虚拟相机的一些提示信息

Save During Play:如果激活它,那么在play状态下对虚拟相机的修改则会被保存下来

Priority: cinemachine Brain会使用优先级较高的虚拟相机,可以通过修改优先级来切换虚拟相机,但是在Timeline中使用是没有效果的

Follow:虚拟相机会跟随这里的游戏对象移动,具体跟随移动行为设置在下面的body

Look At:虚拟相机会看向这个游戏对象,Look At具体行为设置在aim里

Standby Update:指的是当相机处于待机状态,也就是Standby状态时,这些follow和look at之类的计算要以什么样的频率刷新.never表示永远不执行不刷新;always表示执行和刷新的频率与激活的相机是一样的;round robin是一种轮替的更新策略,大概可以理解为每一帧选择一个standby相机进行更新

Lens:镜头设置

  • Vertical FOV:视野角度

  • near Clip Plane:近裁剪平面,与相机距离小于这个数值的游戏对象不会被渲染

  • far clip plane:远裁剪平面,与相机距离大于这个数值的游戏对象不会被渲染

  • Dutch:dutch angle,就是斜角镜头的角度

配合下面的相机类型使用

Advanced:可以将相机修改为正交相机、透视相机、物理相机

Transitions:有一些虚拟相机切换时的属性设置

  • Blend Hint:指的是相机切换的行为具有怎样的物理特征

    • none:就是对角度和位置做差值,也就是一条线性的切换

    • Spherical Position:球形切换,如果Look At有对象的话,就以它为球心做一个球形的切换,相机划过的路径大致处于一个球面上

    • Cylindrical Position:圆柱形切换,如果Look At有对象的话,那么就以它为中心,在水平平面上做圆形切换,在垂直方向上做线性切换,相机划过的路径大致处于一个圆柱体的表面上

    • Screen Space Aim When Targets Differ:但Look At的目标不一样时,在屏幕空间之间做切换,这种切换在位置上使用世界坐标系,表现出的是普通的线性切换,在角度上则会根据两个相机所构成的屏幕空间的夹角间做切换

  • Inherit Position表示这个虚拟相机被激活时,不是让相机移动虚拟相机的位置,而是虚拟相机移动到相机的位置

Body和Follow相关,aim和look at相关,noise可以为相机添加晃动的效果

Extensions:可以添加一些额外的功能,比如相机碰撞检测等功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/114641.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu搭建web站点并发布公网访问【内网穿透】

文章目录 前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子域名 前言 网:我们通常说的是互联网&#xff1b…

Java设计模式:四、行为型模式-06:观察者模式

文章目录 一、定义:观察者模式二、模拟场景:观察者模式2.1 观察者模式2.2 引入依赖2.3 工程结构2.4 模拟摇号2.4.1 摇号服务接口2.4.2 摇号返回结果类 三、违背方案:观察者模式3.0 引入依赖3.1 工程结构3.2 添加摇号接口和实现3.2.1 摇号服务…

【锁】定时任务推送数据-redission加锁实例优化

文章目录 redission 加锁代码-有问题优化代码看门狗是什么? redission 加锁代码-有问题 /*** 收货入库物料标签(包装码)推送接口** throws Exception*/public void synReceiveMaterialTags() throws Exception {String tag DateFormatUtils.format(new Date(), &qu…

昨天面试的时候被提问到的问题集合(答案)

1、vue的双向绑定原理是什么?里面的关键点在哪里? Vue的双向绑定原理是基于Object.defineProperty或者Proxy来实现的,其关键点在于数据劫持,即对数据的读取和修改进行拦截,在数据发生变化时自动更新视图 2、实现水平垂…

frida动态调试入门01——定位关键代码

说明 frida是一款Python工具可以方便对内存进行hook修改代码逻辑在移动端安全和逆向过程中常用到。 实战 嘟嘟牛登录页面hook 使用到的工具 1,jadx-gui 2,frida 定位关键代码 使用jadx-gui 进行模糊搜索,例如搜索encyrpt之类的加密关键…

深入解析即时通讯App开发中的关键技术

即时通讯App开发在现代社交和通信领域中扮演着重要的角色。随着移动设备的普及和网络的高速发展,人们对即时通讯工具的需求不断增加。本篇文章将深入探讨即时通讯App开发中的关键技术,帮助读者了解该领域的最新动态和技术趋势。 基础架构和通信协议 现…

《Java极简设计模式》第05章:原型模式(Prototype)

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 源码地址:https://github.com/binghe001/java-simple-design-patterns/tree/master/j…

如何使用Unity制作一个国际象棋

LinnoChess1.0 该项目旨在做一些Unity小游戏项目开发来练练手 如果有更新建议请私信RWLinno 项目地址:https://github.com/RWLinno/LinnoChess 目前效果 能够正常下棋;能够编辑棋盘;能够SL棋局;能够记录棋谱;能够显…

机器学习——聚类算法一

机器学习——聚类算法一 文章目录 前言一、基于numpy实现聚类二、K-Means聚类2.1. 原理2.2. 代码实现2.3. 局限性 三、层次聚类3.1. 原理3.2. 代码实现 四、DBSCAN算法4.1. 原理4.2. 代码实现 五、区别与相同点1. 区别:2. 相同点: 总结 前言 在机器学习…

03-MySQL

1、什么是BufferPool? 1.1、Buffer Pool基本概念 Buffer Pool:缓冲池,简称BP。其作用是用来缓存表数据与索引数据,减少磁盘IO操作,提升效率。 Buffer Pool由缓存数据页(Page)和 对缓存数据页进行描述的控制块 组成,…

【基于空间纹理的残差网络无监督Pansharpening】

Unsupervised Pansharpening method Using Residual Network with Spatial Texture Attention (基于空间纹理的残差网络无监督泛锐化方法) 近年来,深度学习已经成为最受欢迎的泛锐化工具之一,许多相关方法已经被研究并反映出良好…

day27 String类 正则表达式

String类的getBytes方法 String s "腻害"; byte[] bytes s.getBytes(StandardCharsets.UTF_8); String类的new String方法 String ss "ss我的"; byte[] gbks ss.getBytes("gbk"); String gbk new String(gbks, "gbk"); String类的…

【两周学会FPGA】从0到1学习紫光同创FPGA开发|盘古PGL22G开发板学习之数码管动态显示(五)

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光同创PGL22G开发…

【防火墙】防火墙NAT Server的配置

Web举例:公网用户通过NAT Server访问内部服务器 介绍公网用户通过NAT Server访问内部服务器的配置举例。 组网需求 某公司在网络边界处部署了FW作为安全网关。为了使私网Web服务器和FTP服务器能够对外提供服务,需要在FW上配置NAT Server功能。除了公网…

Questa Sim使用教程仿真-示例

Questa Sim0基础仿真教程 文章目录 一、 打开软件二、运行编译后的文件 一、 打开软件 1、新建工程 File -> New -> project 2、填写工程名称和工程位置然后点"ok" 3、编写或者添加文件,这里直接添加一个编写好的反相器的文件。 可关注公众号&a…

趣味微项目:玩转Python编程,轻松学习快乐成长!

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 在学习Python编程的旅程…

基于ssm+vue舞蹈网站的设计与实现

基于ssmvue舞蹈网站的设计与实现111 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技…

VR全景对行业发展有什么帮助?VR全景制作需要注意什么?

引言: 虚拟现实(Virtual Reality,简称VR)早已不再是科幻电影的概念,而是在以惊人的速度改变着我们的世界。VR全景,作为其中的重要组成部分,正为多个行业带来了全新的机遇。 一、VR全景的应用领…

区块链BaaS篇

区块链BaaS(Blockchain as a Service)区块链即服务;感觉5年前做的BaaS和现在做的BaaS没啥区别,换了批人重复造轮子,BaaS做的越来越乱,也越来越中心化。BaaS是方便区块链调用的工具,工具是方便使…

文心一言放开,百度搜索AI最强评测

今天凌晨,百度突然官宣,文心一言全面开放,人人都能上手用了! 现在,只需登陆「文心一言官网」即可体验。 真正重磅的是,一批全新重构的百度AI原生应用,包括百度搜索、「文心一言APP」、输入法、百…