Unity之Cinemachine教程

news2024/11/26 11:47:51

前言

Cinemachine是Unity引擎的一个高级相机系统,旨在简化和改善游戏中的相机管理。Cinemachine提供了一组强大而灵活的工具,可用于创建令人印象深刻的视觉效果,使开发人员能够更轻松地掌控游戏中的摄像机行为。

主要功能和特性包括:
1.虚拟摄像机系统: Cinemachine引入了虚拟摄像机的概念,允许开发人员使用相机组件的虚拟实例,而不必直接操作实际摄像机。
2.目标跟踪: Cinemachine能够自动跟踪和对焦游戏中的目标,使相机的运动更加平滑和自然。
3.多摄像机管理: Cinemachine能够管理多个摄像机,并根据优先级和条件自动切换它们,以实现更流畅的镜头过渡。
4.镜头切换: Cinemachine支持创建切换镜头的区域,以便在游戏中实现不同的视角和效果。
5.轨道系统: Cinemachine引入了轨道的概念,允许开发人员在3D空间中定义相机的运动路径,实现更复杂的镜头动画。
6.渐变效果: 提供了通过Impulse Listener实现相机渐变效果的功能,使相机对游戏中的事件有更生动的响应。
7.Timeline集成: Cinemachine与Unity的Timeline集成,使开发人员能够在时间轴上控制和调整相机动画。
8.高级功能: 提供了一系列高级功能,如自定义Rig Logic和State Driven Camera,使相机行为更加可定制。

使用Cinemachine,开发人员能够更容易地实现专业水准的相机工作,而不必亲自处理许多繁琐的细节。这使得游戏开发者能够专注于创造更引人入胜的游戏体验。

一.VirtualCamera

Cinemachine为我们提供了VirtualCamera组件,让我们方便的控制相机。
我们场景中一般只需要一个MainCamera主相机,但是可以存在多个Virutal Camera,便于我们随时切换不同模块的相机状态。
在这里插入图片描述

1.CinemachineBrain

当我们创建了一个Virtual Camera后,我们会发现原来的MainCamera上多了一个组件CinemachineBrain,
在这里插入图片描述

Cinemachine Brain是Camera上的一个组件,相当于"大脑",可以在每一帧来监控并计算场景中所有活动的Virtual Cameras的状态(位置,方向等),同步选择其他具有相同优先级的Virtual Cameras中或切换具有更高优先级的Virtual Camera甚至进行Virtual Cameras之间的混合(切换)
Brain的作用就是监听VirualCamera的梳理结果,然后实际控制Camera进行拍摄操作 。

2. Virtual Camera

在这里插入图片描述
Solo:一种控制方式,用于在同一时间只激活一个轨道,而不是同时激活多个
Game Window Guides:Game窗口会显示辅助线
Save During Play:如果选中,运行中的虚拟相机属性可以被保存下来,退出Play状态不会被重置。
Priority:优先级,调整该虚拟相机的优先级。CinemachineBrain会根据这一项来选择LiveCamera同步到UnityCamera中。在Timeline中不生效该选项。
Follow: 设置虚拟相机想要跟随的目标(Body Target)
Look At:设置虚拟相机想要关注的目标(Aim Target)
Standby Update:当虚拟相机处于Standby状态时的更新方式。Never方式为不更新,Always方式为每一帧都更新,Round Robin为循环更新,将所有待命的虚拟相机按照优先级大小来进行每一帧的循环更新
Lens:设置该虚拟相机的Lens属性
Transitions:相机混合时的设置。
Body:配合Follow使用的参数设置
Aim:配合LookAt使用的参数设置
Noise:可以实现模拟相机抖动效果

二.其他相机

1.FreeLook Camer:适用于第三人称摄像机体验。允许玩家在三个不同的轴上自由旋转视角,提供了一种灵活的方式来调整和控制相机的行为。
2.BlendListCamera: 允许你在多个不同的虚拟摄像机之间进行平滑的混合。可以根据权重在不同的摄像机之间过渡,创造出无缝的过渡效果。
3.State-Driven Camera:允许你定义多个不同的相机状态,并根据游戏的状态来切换这些状态。每个状态都可以有自己的相机设置和参数。
4.Clear-DrivenCamra:可以根据相机的清除标志(Clear Flags)来驱动相机。这使得相机的行为可以与场景的渲染设置和效果相关联。
5.Dolly Camera with Track:在相机上制作路径动画(轨道相机)
6.Dolly Track with Cart:是给GameObject制作路径动画
7.Target Group Camera:跟随一个目标组,根据目标的位置和权重进行相机的跟随。适用于多个目标的场景,确保相机能够同时聚焦在多个目标上。
8.Mixing Camera:允许你混合多个不同的相机。每个相机都有一个权重,根据这些权重来混合不同相机的输出,创造出特定效果。
9.2D Camera:专为 2D 游戏设计的相机。提供了特定于 2D 游戏的功能,如像素完美摄像机设置、跟随目标等,简化了 2D 游戏开发中相机的管理。

三.Cinemachine and Timeline

Cinemachine很容易和Timeline结合使用,比直接使用相机动画制作镜头更容易。使用Timeline可以激活、停用、混合虚拟相机。Timeline可以将Cinemachine、场景中的GameObject和其他资产组合在一起,以可视化方式创建、调整出丰富的过场动画,甚至是交互式的过场动画。
在这里插入图片描述
Cinemachine Track:Cinemachine的专用轨道
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA算法—排序

目录 *冒泡排序: *选择排序: 插入排序: 快速排序: 总结: 以下全部以升序为例 *冒泡排序: 引用: 在完成升序排序时,最大的元素会经过一轮轮的遍历逐渐被交换到数列的末尾&#…

网络安全的使命:守护数字世界的稳定和信任

在数字化时代,网络安全的角色不仅仅是技术系统的守护者,更是数字社会的信任保卫者。网络安全的使命是保护、维护和巩固数字世界的稳定性、可靠性以及人们对互联网的信任。本文将深入探讨网络安全是如何履行这一使命的。 第一部分:信息资产的…

Flink编程——最小程序MiniProgram

最小程序MiniProgram 前面我们已经搭建起了Flink 的基础环境,这一节我们就在上一节的基础上,进行编写我们的第一个Flink 程序,开始之前我们先看一下一个完整的Flink 程序是什么样的 Flink 程序结构 为了演示Flink 程序结构,我们…

【TEE论文】Confidential Serverless Made Efficient with Plug-In Enclaves (2021 ISCA)

Confidential Serverless Made Efficient with Plug-In Enclaves ipads.se.sjtu.edu.cn/chinasys21/vedios/Confidential Serverless Made Efficient with Plug-In Enclaves-李明煜.mp4 问题:在SGX飞地中运行现有的无服务器应用程序,并观察到性能下降可…

【ASOC全解析(一)】ASOC架构简介和欲解决的问题

【ASOC全解析(一)】ASOC架构简介和欲解决的问题 一、什么是ASOC以及ASOC解决的三个问题二、ASOC的组成与功能解决第一个问题解决第二个问题解决第三个问题 三、ASOC基本工作原理 /********************************************************************…

使用Sobel算子把视频转换为只剩边缘部分

效果展示 原始视频 修改后的视频 整体代码 import cv2vc cv2.VideoCapture(test.mp4)if vc.isOpened():open, frame vc.read() else:open Falsei 0 while open:ret, frame vc.read()if frame is None:breakif ret True:i 1# 转换为灰度图gray cv2.cvtColor(frame, cv…

RabbitMQ进阶篇【理解➕应用】

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于RabbitMQ的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 一.什么是交换机 1.概念释义 2.例…

聚观早报 | 苹果将开放第三方NFC支付;华为P70系列参数曝光

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 1月23日消息 苹果将开放第三方NFC支付 华为P70系列参数曝光 Celestiq已正式开始量产 岚图汽车官宣与华为合作 美…

LLM + RecSys 初体验(上)

最近在逛小红书的时候,发现了一个新的GPU算力租赁平台,与AutoDL和恒源云等平台类似。正巧,官网有活动,注册即送RTX 4090三个小时,CPU 5 小时。正巧最近在测试 LLM推荐系统的 OpenP5 平台,果断入手测试! 用…

力扣精选算法100道——x的平方根(二分查找专题)

x的平方根 首先看到这个题目的时候,我们需要对上一个二分查找专题的题目进行深度理解,然后了解模板,这题是完全利用的上一题的模板知识进行,如果直接看这个题目可能是有点懵的,因为我这里直接利用模板进行解题。力扣…

nexus清理docker私库

下载nexus-cli客户端,并非必须下载到服务器,理论上只要能访问到nexus就行 wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli这个链接下载不了了,末尾有资源下载,里面包含了完整包和脚本&#xff0…

Mysql主从复制、读写分离、分库分表

大数据处理 1.主从复制1.1 概述1.2 原理1.3 搭建 1.主从复制 主从复制 1.1 概述 主从复制指: 将主数据库的DDL和DML操作通过二进制日志传递到从库服务器中, 然后从库根据日志重新执行(也叫重做), 从而使从库和主库的数据保存同步 MYSQL支持一台主库同时向多台从库进行复制,…

Kafka-服务端-KafkaController

Broker能够处理来自KafkaController的LeaderAndIsrRequest、StopReplicaRequest、UpdateMetadataRequest等请求。 在Kafka集群的多个Broker中,有一个Broker会被选举为Controller Leader,负责管理整个集群中所有的分区和副本的状态。 例如:当某分区的Le…

解密.dataru被困的数据:如何应对.dataru勒索病毒威胁

导言: 在数字时代,勒索病毒如.dataru正在不断演变,威胁着用户的数据安全。本文91数据恢复将深入介绍.dataru勒索病毒的特点、被加密数据的恢复方法,以及预防措施,帮助您更好地了解并对抗这一数字威胁。当面对被勒索病…

Armv8-M的TrustZone技术之SAU寄存器总结

每个SAU寄存器是32位宽。下表显示了SAU寄存器概要。 5.1 SAU_CTRL register SAU_CTRL寄存器的特征如下图和表所示: 5.2 SAU_TYPE register 5.3 SAU_RNR register 5.4 SAU_RBAR register 5.5 SAU_RLAR register 5.6 SAU区域配置 当SAU启用时,未由已启用…

深度学习技巧应用33-零门槛实现模型在多个GPU的分布式流水线训练的应用技巧

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用33零门槛实现模型在多个GPU的分布式流水线训练的应用技巧,本文将帮助大家零门槛的实现模型在多个GPU的并行训练,如果你手头上没有GPU资源,根据本文的介绍也可实现…

Redis应用(1)缓存(1.2)------Redis三种缓存问题

三者出现的根本原因是:Redis缓存命中率下降,请求直接打到DB上了。 一、 缓存穿透: 1、定义: 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。…

C++面试宝典第24题:袋鼠过河

题目 一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子。每隔一米就有一个桩子,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳得更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米;如果为0,就会陷进去无法…

《WebKit 技术内幕》学习之十一(3):多媒体

3 音频 3.1 音频元素 说完视频之后,接下来就是HTML5中对音频的支持情况。音频支持不仅指对声音的播放,还包括对音频的编辑和合成,以及对乐器数字接口(MIDI)等的支持,下面逐次介绍并分析它们。 3.1.1 H…

更改wpf原始默认按钮的样式

样式 代码 <Window x:Class"WpfApp4.Window1"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/2008…