目录
一. 简介
基础概念了解:
- 精灵(Sprites):Unity 支持导入各种图像文件作为精灵,这些精灵可以用于构建游戏中的角色、道具和背景等。可以对精灵进行缩放、旋转、裁剪等操作,以满足不同的设计需求。
- 瓦片地图(Tilemaps):使用瓦片地图可以快速构建复杂的 2D 游戏场景。可以创建不同类型的瓦片,如地形、障碍物、装饰等,并通过编辑器轻松地排列和组合它们。
- 动画系统:Unity 的动画系统可以为 2D 游戏角色和物体创建生动的动画效果。可以使用关键帧动画、骨骼动画或程序动画来实现各种动画效果,如行走、攻击、跳跃等。
- 2D 物理:Unity 提供了强大的 2D 物理引擎,可以模拟物体的碰撞、重力、摩擦力等物理效果。可以为游戏中的角色和物体添加刚体组件,使其受到物理规律的影响。
- 碰撞检测:可以设置不同形状的碰撞器,如矩形、圆形、多边形等,以检测物体之间的碰撞。碰撞检测可以用于触发游戏事件,如角色与敌人的碰撞、角色与道具的交互等。
- 物理材质:可以为物体设置物理材质,以控制其摩擦系数、弹性等物理属性。物理材质可以使游戏中的物体表现得更加真实。
二. 创建
1.直接模板创建
最简单,会默认下载好2D需要的包,和一些默认设置.
2.3D模板创建
创建完成打开之后,在下载2D相关的包即可.
三. 精灵
一、精灵的概念
精灵是一个二维图像,可以代表游戏中的角色、道具、背景等元素。在 Unity 中,精灵通常由图像文件导入,并可以在游戏场景中进行操作和动画处理。
二、导入精灵
-
图像文件支持
- Unity 支持多种图像文件格式,如 PNG、JPEG、PSD 等。可以将这些图像文件直接导入到 Unity 项目中,并将其转换为精灵。
- 在导入图像文件时,可以设置一些选项,如纹理类型、压缩格式、导入尺寸等。这些选项可以根据游戏的需求进行调整,以优化资源的使用和性能。
-
精灵编辑器
- 一旦图像文件被导入为精灵,就可以使用 Unity 的精灵编辑器对其进行进一步的编辑。精灵编辑器可以对精灵进行裁剪、分割、旋转等操作,以创建不同的精灵变体。
- 还可以在精灵编辑器中设置精灵的边界框、锚点、轴心点等属性,以控制精灵在游戏场景中的位置和旋转。
三、精灵的使用
-
创建精灵对象
- 在 Unity 中,可以使用 GameObject -> 2D Object -> Sprite 菜单选项来创建一个精灵对象。创建的精灵对象将显示为一个二维图像,可以在场景中进行移动、旋转、缩放等操作。
- 可以通过在 Inspector 窗口中设置精灵对象的属性,如精灵图像、颜色、透明度等,来调整精灵的外观。
-
精灵动画
- Unity 提供了多种方式来创建精灵动画。可以使用 Animation 窗口或 Animator 组件来创建关键帧动画,也可以使用 Sprite Sheet 来创建序列帧动画。
- 在创建精灵动画时,可以设置动画的帧率、循环模式、过渡效果等属性,以实现不同的动画效果。
-
精灵渲染
- Unity 的渲染系统可以对精灵进行高效的渲染。可以使用不同的渲染模式,如透明、不透明、叠加等,来实现不同的视觉效果。
- 还可以使用材质和着色器来对精灵进行进一步的定制,以实现特殊的视觉效果,如发光、阴影、模糊等。
四、精灵的优化
-
资源管理
- 在使用精灵时,需要注意资源的管理。可以使用 AssetBundle 来打包精灵资源,以便在游戏运行时进行动态加载和卸载。还可以使用纹理压缩和 mipmapping 等技术来优化精灵资源的大小和性能。
-
性能优化
-
在渲染大量精灵时,需要注意性能的优化。可以使用 batching 和 instancing 等技术来减少 draw call 的数量,提高渲染性能。还可以使用 LOD(Level of Detail)技术来根据距离和重要性动态调整精灵的细节级别,以提高性能
-
四. 创建精灵
首先找一个免费的资源.导入unity
创建精灵
修改角色.
注意纹理类型
我这个资源有点小,就调整了一下摄像机.
这样一个精灵就创建好了.
精灵编辑
切片.为了节省资源,会把图打到一个图集里面
打开编辑器
模式更改为多个
点击切片
然后点击应用按钮
就可以生成,
精灵排序
在创建一个怪物精灵,就会发现主角被挡住了.
如果想实现主角不会被挡住,就修改这的顺序,数字越大,越不会被挡住.
精灵模板
创建
或者在一个精灵上面添加,
这个组件
然后更改精灵的遮罩交互模式
就可以实现这个效果了
五. 创建地图
主角已经有了,我们在创建一个地图.
2D模式创建地图很简单,可以直接刷出来,
首先创建地图资源
确保项目里有这个包
选择窗口 ->2D -> 平铺调色板
创建图块
创建地图
把地图资源拖进来
选择场景中活动的,
可以使用选择工具,选择好图片,再用移动工具,在调色板页面铺成合适的画面.
选择画笔工具,移动到场景里,就可以画地图了.
橡皮擦工具可以擦除
洪水填充工具可以随着鼠标的移动,批量增加和减少.
这样一个地图就创建完成了.
还可以加上碰撞器
来做一些功能和逻辑.比如碰撞,和 检测