Unity教程(十一)使用Cinemachine添加并调整相机

2024-08-21 05:36

本文主要是介绍Unity教程(十一)使用Cinemachine添加并调整相机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Unity开发2D类银河恶魔城游戏学习笔记

Unity教程(零)Unity和VS的使用相关内容
Unity教程(一)开始学习状态机
Unity教程(二)角色移动的实现
Unity教程(三)角色跳跃的实现
Unity教程(四)碰撞检测
Unity教程(五)角色冲刺的实现
Unity教程(六)角色滑墙的实现
Unity教程(七)角色蹬墙跳的实现
Unity教程(八)角色攻击的基本实现
Unity教程(九)角色攻击的改进

Unity教程(十)Tile Palette搭建平台关卡
Unity教程(十一)相机

如果你更习惯用知乎
Unity开发2D类银河恶魔城游戏学习笔记目录


文章目录

  • Unity开发2D类银河恶魔城游戏学习笔记
  • 前言
  • 一、概述
  • 二、Cinemachine的基本使用
    • (1)安装Cinemachine包并创建虚拟相机
    • (2)常用参数
    • (3)死区和软区
  • 三、调整参数设置达到你想要的效果


前言

本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记,如有错误,欢迎指正。

本节使用Cinemachine电影机添加并调整相机。
对应b站视频:
【Unity教程】从0编程制作类银河恶魔城游戏P44


一、概述

Cinematic Studio可以实现复杂的相机运动和相机镜头过渡。
详细参照Unity官方手册
我们使用它的一个包Cinemachine,它是用于操作 Unity 摄像机的模块。Cinemachine 解决了跟踪目标、构图、混合和镜头之间剪辑的复杂数学和逻辑
详细参照Unity官方手册
参照Unity虚拟相机教程

二、Cinemachine的基本使用

参数功能
Save During Play勾选后可以在运行时保存组件的修改
Priority根据数值大小决定优先显示哪个相机,越大的优先级越高
Follow相机跟随目标(2D大多用这个)
Look At让相机角度始终朝着目标的方向
Mode Override相机模式选择
Ortho SizeOrthographic模式下视野大小的一半高

body中有许多重要的参数

参数功能
DampingX、Y、Z镜头缓动效果
ScreenX、Y镜头偏移
Dead Zone死区内镜头不会一直跟随
Soft Zone在软区内镜头会缓慢跟随目标。超出软区相机会瞬移跟随
Lookahead Time跟随目标点就会朝移动方向偏移
Lookahead Smoothing平滑值
Lookahead Ignore Y忽略Y轴影响(2D游戏常用,防止镜头不稳)

(1)安装Cinemachine包并创建虚拟相机

进入Unity包管理器
Window->Package Manager
在这里插入图片描述
把包的来源从In Project改为Unity Registry
在这里插入图片描述
搜索Cinemachine,进行安装
在这里插入图片描述
在层次面板右键创建虚拟相机
右键->Cinemachine->Virtual Camera
在这里插入图片描述
在这里插入图片描述
修改参数
Body改为Framing Transposer
Aim改为Do nothing
在这里插入图片描述
勾选Save During Play,这样在运行时更改的设置也可以被保存。
在这里插入图片描述

调整Ortho Size可以改变视野的大小
在这里插入图片描述

将Player拖到Follow中,相机跟随角色移动
在这里插入图片描述
可以看到有个摄像机跟着角色移动
在这里插入图片描述
具体运行效果如下
在这里插入图片描述

(2)常用参数

点击虚拟相机,打开body
在这里插入图片描述
可以看到如图所示,这个小黄点是相机实际跟随的点
在这里插入图片描述


修改ScreenX、Y可以移动拍摄的相对位置
在这里插入图片描述


修改X、Y、Z Damping改变相机跟随的速度,为了演示明显我先将XDamping调到最大,效果如下:
在这里插入图片描述


可以设置Lookahead Time让相机走在角色前面,方便角色看清前面的东西
在这里插入图片描述
我们发现小黄点变动幅度很大,画面不稳让人感觉眩晕,这时我们应该勾选Lookahead Ignore,忽略Y轴的移动。并且增加它的平滑度,让移动变得缓慢平滑。
在这里插入图片描述

效果如图:

在这里插入图片描述

(3)死区和软区

死区:当小黄点在死区内时,摄像机不跟随;当小黄点移动到死区外时,摄像机开始跟随。
在这里插入图片描述
软区:当小黄点在软区内时,摄像机缓慢跟随;小黄点超出软区时,摄像机会立即移动
在这里插入图片描述
通过BiasX、Y参数可以移动软区的中心,可以用这种方式实现比如:角色向前走时相机缓慢跟随,回身向后时快速跟随
在这里插入图片描述

三、调整参数设置达到你想要的效果

根据上述参数设置达到一个你想要的效果。
教程中设置的参数如下,可做参考:
在这里插入图片描述
在这里插入图片描述

这篇关于Unity教程(十一)使用Cinemachine添加并调整相机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092270

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期