1、依赖包安装
进入【Window -> Package Manager】
安装如下插件:
1)Cinemachine
它是一套专门控制Unity Camera的模块,适用于各种游戏场景中物体的移动变化,解决了许多关于摄像机间的复杂控制,混合,切换等复杂数学和逻辑。对一些摄像机功能需求能快速实现,同时能结合Timeline插件来实现动画效果。
2)Timeline插件
默认情况下已经安装完毕。
它用于制作电影内容、过场动画、游戏过程序列以及复杂的粒子系统等。
2、自定义包
(1)导入自定义包
资源名称为:starterassets.unitypackage,这里面包含了Sprite、声音、动画、动画控制器等。
链接:https://download.csdn.net/download/benben044/90117305?spm=1001.2014.3001.5501
方法:【Assets -> Import Package -> CustomPackage...】
导入All,完成后Assets显示如下:
(2)Sprite Atlas图集
Sprite Atlas是一个包含多个小图像的大图像,这些小图像被称为sprites。通过使用Sprite Atlas,可以将多个小图像合并到一张大图像中。在渲染中,每次调用都需要进行顶点转换、纹理采样等操作。通过将多个sprites共享同一个纹理,unity可以减少纹理切换的次数,从而减少DrawCall的次数和内存占用,达到提高游戏的性能和效率的目的。
3、项目工程设置
进入【Edit -> Project Settings】
(1)Quality设置
在这个游戏中我们只要Low质量即可。
保留Low,将其他都删除掉:
(2)Graphics设置
我们需要设置透明排序模式。
在3D游戏中,事物是沿着Z轴排列的,这让它们在2D游戏中呈现出深度。在2D中没有使用Z轴,所以屏幕上的一切都是平面的。
我们通过沿Y轴排序来展示2D游戏的深度。
这意味着Y位置较低的Sprite将被排序并绘制在Y位置更好的Sprite前面。
4、初始化Scene
点击【File -> Save As】,将当前场景保存为PersistentScene,同时删除自带的SampleScene。
在游戏中将使用持久场景的概念。一个持久的场景会一直加载,游戏的不同位置也会一直加载。
即使用户角色在不同场景中切换,但是该持久场景会一直保持加载,所有的游戏管理器和主游戏逻辑将在持久化场景中创建。
5、创建虚拟cinemachine camera
点击【GameObject -> Cinemachine -> Virtual Camera】
创建完毕后就可以在PersistentScene中看到该相机。
我们将它重命名为:PlayerFollowVirtualCamera
接下来是改变摄像机的正投影尺寸。
我们将正交投影大小设为8.4375,刚好是屏幕大小16.875的一半。
我们基本Sprite分辨率是16像素/单位,所以我们的目标屏幕高度16.875*16=270像素,按照16:9的宽高比,则宽度为270*16/9=480像素。
Body类型选择“Framing Transposer”。
这基本上会保持游戏对象在一个帧内。其他参数配置如下:
设置Aim为Do nothing。
6、Main Camera设置
将背景设置为纯黑色(0,0,0)。
添加Pixel Perfect Camera组件。
参数配置如下:
Sprite以每单位16像素绘制,所以需要将Assets Pixels Per Unit改为16.
7、设置Snap Settings
点击如下位置:
参数设置如下:
0.0625 = 1/ 16.