IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity中实现高级相机操作——Cinemachine插件 -> 正文阅读

[游戏开发]Unity中实现高级相机操作——Cinemachine插件

一:前言

Cinemachine可以快速实现各种相机效果,例如跟随、分镜、推拉式镜头等,配合Timeline可以创建Cinemachine Track实现动画融合


二:执行流程

从PackageManager上可以下载Cinemachine插件,它有以下几种类型的虚拟相机可以创建

Cinemachine在性能上非常高效,因为创建出来的是VirturalCamera,它只是一个数据类只存储数据而不是真实的相机

无论创建哪一种VirturalCamera,都会为Camera上添加一个CinemachineBrain脚本,CinemachineBrain每帧通过VirturalCamera计算真实相机的数据,并同步到真实相机上(添加CinemachineBrain后真实相机的部分参数被锁定,由VirturalCamera托管),之后调整VirturalCamera上的参数去实现相机效果


三:CinemachineBrain

CinemachineBrain是挂在相机对象上去真正修改相机位置的脚本。负责通过VirtualCamera来计算真实相机的数据

——Live Camera:当前正在拍摄的虚拟相机
——Show Debug Text:在Game窗口显示当前拍摄的虚拟相机
——Show Camera Frustun:显示虚拟相机的轨迹
——Update Method:更新方式(Fixed Update、Late Update)


四:Virtual Camera

几乎创建任何类型的虚拟相机都会创建此组件

——Solo:点击后可以在场景中激活此虚拟相机
——Save During Play:运行状态下编辑是否自动保存
——Priority:优先级(与Camera的Depth类似)

——Follow:跟随的物体
——Look At:朝向的物体
——Lens:与相机的相关设置一致(
视野范围,远/近平面等
——Body:跟随相关参数
——Aim:朝向相关参数
——Noise:相机抖动相关参数(选择不同的Noise Profile)


五:Dolly Camera With Track(推轨相机—相机沿着轨道运行)

推轨相机顾名思义,就是电影拍摄中的相机沿着设置好的轨道运行。创建后有两个游戏物体,一个是Virtual Camera,一个是DollyTrack(轨道设置)

——Looped:是否循环(轨道头尾相连)
——Waypoints:路径点(位置和旋转)


推轨相机的Virtual Camera的Body类型选择的是Tracked Dolly

Path:设置的轨道DollyTrack
Path Position:路径点下标,对应DollyTrack的下标


六:Dolly Track With Cart(推轨相机—物体沿着轨道运行)

推轨相机顾名思义,就是电影拍摄中的相机沿着设置好的轨道运行。它与Dolly Camera With Track不同的是创建后有多了一个游戏物体:DollyCart(身上挂载了CinemachineDollyCart脚本,这个脚本实现了此游戏物体沿着轨道移动),其实可以删除掉这个游戏物体,将CinemachineDollyCart脚本挂载到需要沿着轨道移动的对象

——Path:设置的轨道DollyTrack
——Speed:速度


七:Clear Shot(切镜相机)

Clear Shot可以实现物体遮挡后的切镜效果。创建后有一个CM ClearShot(主控制)和Virtual Camera(每个Virtual Camera上都需要挂载Cinemachine Collider组件)

——Default Blend:切镜的融合模式
——Virtual Camera Children:将不同机位的虚拟相机添加到列表中,CinemachineClearShot会计算是否有遮挡并选择最佳拍摄位置的相机


八:FreeLook Camera(自由观察相机)

FreeLook Camera应用于第三人称的控制。创建后有一个CM FreeLook,它拥有Virtual Camera的一些基础设置,FreeLook Camera有上中下三条机位轨道,可以分别调整参数


九:State-Driven Camera(状态驱动相机)

State-Driven Camera可以根据不同的动画切换不同的相机。创建后有一个CM StateDrivenCamera(主控制)和Virtual Camera

——Animated Target:目标对象的Animator
——Default Blend:切换不同的相机的融合模式
——状态设置:选择每个状态对应的虚拟相机
——Virtual Camera Children:将不同机位的虚拟相机添加到列表中,Cinemachine StateDrivenCamera会根据不同的动画状态切换不同的相机


十:Target Group Camera(跟随组相机)

Target Group Camera可以跟随多个物体,并根据物体的距离远近进行相机视野的调整。创建后有两个游戏物体,一个是Virtual Camera,一个是CM TargetGroup(组设置)

组设置:每个目标物体对应的权重


十一:2D Camea(2D游戏相机)

2D Camere可以实现2D游戏中相机参数设置。创建后有一个Virtual Camera,Body模式选择的是Framing Transposer

可以配合Cinemachine Confiner组件限定相机边界

——Confine Mode:类型,2D or 3D
——Bounding Shape2D/Volume:碰撞器(2D必须使用Polygon Colldier 2D)


十二:Blend List Camera

Blend List Camera与State-Driven Camera相似,Blend List Camera是根据设置的时间切换不同的相机。创建后有一个CinemachineBlendListCamera(主控制)和Virtual Camera

——相机设置:设置每个相机持续的时间、混合模式
——Virtual Camera Children:将不同机位的虚拟相机添加到列表中,CinemachineBlendListCamera会根据时间切换不同的相机


十三:Mixing Camera

Mixing Camera可以实现多个相机的混合。创建后有一个CM MixingCamera(主控制)和Virtual Camera,将需要混合的虚拟拖拽到CM MixingCamera下作为子物体

——Child Camera Weights:每个相机的权重

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 13:05:24  更:2022-10-17 13:05:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 6:01:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码