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

相关文章

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el