U3L9-1——2D物理系统之刚体
U3L9-1——2D物理系统之刚体
刚体(2D)
刚体是物理系统中用于帮助我们进行模拟物理碰撞中力的效果的
2D物理系统中的刚体和3D中的刚体基本是一样的
最大的区别是对象只会在XY平面中移动,并且只在垂直于该平面的轴上旋转
本章代码关键字
123Rigidbody2D //2D刚体类rigidbody.AddForce() //对刚体加力rigidbody.velocity //刚体的速度
参数相关
刚体类型
Dynamic:动态类型 受重力和力的影响移动和旋转
Material: 物理材质,在刚体上设置了物理材质
如果子物体有碰撞器但是没有设置材质则会通用刚体的物理材质
如果不设置,将使用在Physics 2D窗口中设置的默认材质
物理材质的使用优先级:
2D碰撞器上指定的2D物理材质
2D刚体上指定的2D物理材质
Physics 2D窗口指定的2D默认物理材质
Simulated: 如果希望2D刚体以及所有子对象2D碰撞器和2D关节都能模拟物理效果 需要启用该选项
Use Auto Mass:是否使用自动质量
M ...
U3L9——2D物理系统
U3L9——2D物理系统
学习2D物理系统之前建议先学习Unity入门当中的3D物理系统
因为他们非常的类似,由于我们之前详细讲解了3D物理系统
所以在讲解2D物理系统时会相对简洁一些
一些讲过的知识点就不过多赘述了
2D物理系统相关
刚体
碰撞器
物理材质
恒定力
效应器
U3L8——Sprite Atlas 精灵图集制作
U3L8——Sprite Atlas 精灵图集制作
本章代码关键字
123UnityEngine.U2D //一部分2D内容的命名空间SpriteAtlas //精灵图集类spriteAtlas.GetSprite() //获取精灵图集的单个精灵
为什么要打图集
打图集的目的就是减少DrawCall 提高性能
具体DrawCall是什么在NGUI课程中已经详细讲解 ——> Drawcall
在2D游戏开发,以及UI开发中是会频繁使用的功能
在Unity中打开自带的打图集功能
在工程设置面板中打开功能
Edit——>Project Setting——>Editor
Sprite Packer(精灵包装器,可以通过Unity自带图集工具生成图集)
Disabled:默认设置,不会打包图集
Enabled For Builds(Legacy Sprite Packer):Unity仅在构建时打包图集,在编辑模式下不会打包图集
Always Enabled(Legacy Sprite Packer):Unity在构建时 ...
U3L7——Sorting Group
U3L7——Sorting Group
Sorting Group
顾名思义,SortingGroup是排序分组的意思
它的主要作用就是对多个精灵图片进行分组排序
Unity会将同一个排序组中的精灵图片一起排序,就好像他们是单个游戏对象一样
主要作用是对于需要分层的2D游戏用于整体排序
Sorting Group的使用
直接对游戏对象添加Sorting Group组件即可
注意事项
子排序组,先排子对象 再按父对象和别人一起排 (同层和同层比)
多个 挂载排序分组组件的预设体 之间 通过修改 排序索引号来决定前后顺序
U3L6——Sprite Mask
U3L6——Sprite Mask
Sprite Mask
顾名思义,SpriteMask是精灵遮罩的意思
它的主要作用就是对精灵图片产生遮罩
制作一些特殊的功能,比如只显示图片的一部分让玩家看到
参数相关
Sprite:遮罩图片
Alpha Cutoff:如果Alpha包含透明区域和不透明区域之间的混合(半透明),则可以手动确定所显示区域的分界点(0~1)
Custom Range:自定义遮罩范围
开启后可以设置遮罩的范围,按照排序层来划分
同层级下(Sorting Layer) 显示大于Back的层级,小于等于Front的层级的Sprite图片
如果Front层的排序层所在的是更高级的层级(Sorting Layer内选择) ,则显示大于Back所在的层(Sorting Layer内选择)的层级,小于等于Front所在的层(Sorting Layer内选择)的层级的Sprite图片。
也就是说,与Back所在的层(Sorting Layer内选择)同一层级下且大于其排序层(Order in Layer)的都会显示。与Front所在的层(Sorting Laye ...
U3L5——Sprite Creator
U3L5——Sprite Creator
Sprite Creator
顾名思义,Sprite Creator是精灵创造者
我们可以利用Sprite Editor的多边形工具创造出各种多边形
Unity也为我们提供了现成的一些多边形
它的主要作用是2D游戏的替代资源
在等待美术出资源时我们可以用他们作为替代品
有点类似Unity提供的自带几何体
替代资源是做demo和学习时的必备品
使用Sprite Creator
在Project窗口右键创建各种形状的Sprite精灵图片
U3L4——Sprite Renderer
U3L4——Sprite Renderer
我们目前已经学习了如何设置导入的图片
如果我们想将导入的图片用于2D游戏开发,需要将图片类型设置为 Sprite精灵类型
我们还学习了使用Sprite Editor精灵图片编辑器来对精灵图片进行编辑
但是我们还没有真正的使用这些图片
这节课我们就来讲解Sprite精灵图片的使用
本章代码关键字
1234SpriteRenderer //Sprite渲染器类Sprite //Sprite类spriteRenderer.sprite //Sprite渲染器类的Sprite属性,可以修改其显示的Sprite图片//所有的SpriteRenderer上的参数都可以通过代码来修改
Sprite Renderer
顾名思义,Sprite Renderer是精灵渲染器
所有2D游戏中游戏资源(除UI外)都是通过Sprite Renderer让我们看到的
它是2D游戏开发中的一个极为重要的组件
主要掌握参数含义 和 如何代码控制
其中重要的参数是
绘制模式 控制缩放规则
遮罩相关
层级相关 ...
U3L3-3——Polygon多边形编辑
U3L3-3——Polygon多边形编辑
Polygon多边形编辑
如果我们使用的资源时多边形资源
我们可以在设置时将模式设置为Polygon
然后可以在Sprite Editor中进行快捷设置
但是一般这种模式在实际开发中使用较少
参数相关
Sides就是多边形的边数(只能填 0 或 3~128)
U3L3-2——Multiple图集元素分割
U3L3-2——Multiple图集元素分割
Multiple图集元素分割
当我们的图片资源是图集时
我们需要在设置时将模式设置为Multiple
这时我们可以使用Sprite Editor自带的功能进行图集元素分割
参数讲解
Trim - 自动裁剪透密区域
Slice
Automatic 自动分割
Pivot:单张图片轴心点位置
Custom Pivot:自定义轴心点
Method:如何处理现有对象
Delete Existing:替换掉已经选择的任何矩形
Smart:尝试创建新矩形同时保留或调整现有矩形
Safe:添加新矩形而不更改任何已经存在的矩形
Grid By Cell Size按单元格大小分割
Pixel Size:单元格宽高
Offset:偏移位置
Padding:和边缘的偏移位置
Keep Empty Rects:是否保留空矩形
Grid By Cell Count 按照给定的行列进行分割
Column & Row:行列数
U3L3-1——Single图片编辑
U3L3-1——Single图片编辑
Single图片编辑
主要讲解的就是
在设置图片时 将精灵图片模式(Sprite Mode)设置为 Single 的精灵图片
在Sprite Editor窗口中如何编辑
Sprite Editor
基础图片设置(右下角窗口)
主要用于设置单张图片的基础属性
参数相关
右下角设置窗口
Name:名字
Position:在图片中的偏移位置和宽高
Border:边框,用于设置九宫格的4条边
Pivot:轴心(中心)点位置
Pivot Unit Mode:轴心点单位模式
Normalized:标准化模式,0~1
Pixels:像素模式
Custom Pivot:自定义轴心点
Custom Outline(决定渲染区域)
自定义边缘线设置,可以自定义精灵网格的轮廓形状
默认情况下不修改都是在矩形网格上渲染,边缘外部透明区域会被渲染,浪费性能
使用自定义轮廓,可以调小透明区域,提高性能
自定义边缘线 自定义物理形状
Snap:将控制点贴近在最近的像素
Outline Tolerance:轮廓点的复杂性和 ...