Unity开发2D类银河恶魔城游戏学习笔记
Unity教程(零)Unity和VS的使用相关内容
Unity教程(一)开始学习状态机
Unity教程(二)角色移动的实现
Unity教程(三)角色跳跃的实现
Unity教程(四)碰撞检测
Unity教程(五)角色冲刺的实现
Unity教程(六)角色滑墙的实现
Unity教程(七)角色蹬墙跳的实现
Unity教程(八)角色攻击的基本实现
Unity教程(九)角色攻击的改进
Unity教程(十)Tile Palette搭建平台关卡
Unity教程(十一)相机
Unity教程(十二)视差背景
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 Size | Orthographic模式下视野大小的一半高 |
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参数可以移动软区的中心,可以用这种方式实现比如:角色向前走时相机缓慢跟随,回身向后时快速跟随
三、调整参数设置达到你想要的效果
根据上述参数设置达到一个你想要的效果。
教程中设置的参数如下,可做参考: