一、2D游戏开发基础认知
1.1 2D与3D开发的核心差异
Unity的2D模式专为平面游戏设计,主要特点包括:
- 使用Sprite代替3D模型
- 正交摄像机(Orthographic)
- 物理系统使用Rigidbody2D
- 坐标系简化为X/Y轴
1.2 项目初始化设置
- 新建项目选择2D模板
- 摄像机设置:
Camera.main.orthographic = true; Camera.main.orthographicSize = 5; // 可视范围
- 导入2D资源包(Window > Package Manager > 2D Sprite)
二、Sprite全流程处理指南
2.1 资源导入规范
- 将PNG素材拖入Project窗口
- 在Inspector中设置:
- Texture Type: Sprite (2D and UI)
- Pixels Per Unit: 根据素材尺寸设置(例如32x32设为32)
- Filter Mode: Point (no filter)(像素风必备)
2.2 Sprite切片技巧
-
自动切片(Auto Slice):
- 适用于等距排列的素材
- 设置Slice > Grid By Cell Size: 32x32
-
手动切片:
// 通过代码切割Sprite Texture2D texture = Resources.Load<Texture2D>("spritesheet"); Sprite[] sprites = Resources.LoadAll<Sprite>("spritesheet");
-
九宫格切片(9-Slice):用于UI元素的缩放优化
三、2D物理系统深度解析
3.1 Rigidbody2D参数详解
参数 | 作用说明 | 推荐值 |
---|---|---|
Body Type | 动态/静态/运动学 | Dynamic |
Gravity Scale | 重力缩放系数 | 1(正常重力) |
Collision Detection | 碰撞检测模式 | Continuous |
Constraints | 冻结旋转/位置轴 | Freeze Rotation Z |
3.2 Collider2D类型对比
- BoxCollider2D:方形碰撞体(地面、平台)
- CircleCollider2D:圆形碰撞体(角色、球体