首页 / Unity3d / 2D

读一读

2D横版卷轴的游戏人物是可以上下移动的,屏幕上有一棵树,人在树上面树应该挡住人,如果人物在树的下面就应该人挡住树。

可以打开Eidtor/GraphicsSettings面板,设置如下:

图片.png

这样表示Sprite Renderer的Y轴坐标相差大于1时,就会自动重新设置与目标对象的排序。需要参与排序的所有Sprite Renderer的深度必须是相同的。


GIF.gif


设置一些全局的2D属性

通过Edir-Project Settings-Physics 2D打开

Gravity 2D重力,分为x和y方向,无特殊设置y方向

Default Material 物理材质(摩擦系数和弹力系数),无时默认为自身的Collider2D

Velocity Iterations 迭代次数,值越高,速度模拟越精确,但性能...

Position Iterations 位置迭代次数,值越高,位置模拟越准确

Velocity Threshold 速度阔值,速度小于该值都认为非弹性碰撞

Max Liner(Angular) Correction 最大线性(角速度)矫正,防止过冲

Max Translation(Rotation) Speed Rigidbidy 2D最大的线性(角)速度

Time to Sleep Rigidbidy 2D静止多长时间后进入睡眠状态

Liner(Angular) Sleep Tolerance 速度阔值,小于该值的都认为为静止状态

Querues Hit Triggers Colleder 2D被标志为Trigger后,任何的物理查询是否能触发T日光个人,类似Linecase、Raycast,勾选则能触发

Layer Collision Matrix 层碰撞矩阵,勾选之间的层能产生碰撞


创建Sprite Mask,Create/2D Object/Sprite Mask,指定一个sprite作为一个区域,拖拽形成自己需要的大小。指定需要被遮挡的Sprite的Sprite Renderer组件的Mask Interaction属性,设置成Visable inside/outside Mask。


要将图片切成九宫格,先设置图片的Mesh Type为Full Rect,此时在点击Sprite Editor,可以看见四条绿色的线,拖拽相交,形成9个区域,就是九宫格了。在使用九宫格特性,在Sprite Renderer设置Draw Mode为Sliced或Tiled。

九宫格特性:

  1. 四个角不进行缩放平铺

  2. 上下边进行左右拉伸缩放,左右边进行上下拉伸缩放

  3. 中间部分进行拉伸缩放和平铺等。


选择type为Sprite的图片,在Inspector面板中有个Sprite Editor按钮,点击打开编辑器。选择Edit Outline,可以看到由正方形的点链接成的线,点击正方形的点变成蓝色,拖拽改变点的位置来改变形状。在线的位置左键单击一下,新加一个点,按delete键删除选择的点。按住Ctrl+左键选择拖拽线,改变线的位置。在空的位置,用鼠标拖拽个正方形,新加一个边框Outline,用于面包圈什么的。


可以通过Assets/Create/Sprites下面创建不同形状的图片到Assets下,用来替代没有完成的资源制作,形成占位符,不需要等待资源的完成,可以继续开发,等到资源开发好了后,再替换回来就行了。Sprite Creator创建的是4×4的图片。


Unity2D开发的功能也是很强大的,通过开关2d打开编辑器的2D模式,摄像机变成正交投影。图像使用Sprite Renderer渲染2D替代Mesh Renderer渲染3D。可以使用Sprite Editor编辑图片成为多个Sprite,也就是说,运行将很多的小部件但成一整体的内容放置在同一texture中。还有很多像3D那样的但是是2D的物理运算组件。