原地址:https://mp.weixin.qq.com/s/YsQ_BNtM5wHCJ1yOY7rvlw
小编说:自从推出了博物纳新栏目,小编就陷入了选择困难症,没办法谁让开源库的项目都这么优秀,每个都想推荐给大家!索性今天发放大礼包——铛铛铛~
2D开源库推荐合辑
CharacterController2D:演员准备!
Unity Sprite Shaders:化妆师就位!
Sprite Light Kit:灯光老师就位!
Sprite Glow:后期加个滤镜!
Unity 2D Destruction:来点5毛特效!
Polygon Collider Simplification:效率效率!
2D Pixel Perfect Camera:试试像素风!
Liquid Effect:水水水!
Liquid Simulator:要像素风的水!
Robodash:Action!
1. CharacterController2D
开源库链接:
https://lab.uwa4d.com/lab/5bf38b5872745c25a80bf0ec
CharacterController2D可以帮助你快速制作一个2D角色,它类似于Unity内置的 CharacterController组件2D版。原理上通过射线检测判断障碍物并改变角色的方向、速度,从而让你的角色拥有反物理的“日行千里、一跃高峰”的本领,而这一切,只需要设置相应的脚本参数就可做到:
- Skin Width:“皮肤厚度”,决定了两个碰撞器可以互相渗入的深度;
- Platform Mask:设定墙壁、地面等不可通过区域;
- Trigger Mask:设定会触发事件而不影响物理控制的触发区域;
- One Way Platform Mask:设定单向通过平台;
- Slope Limit:坡度限制;
- Jumping Threshold:跳跃阈值;
- Total Horizontal/Vertical Rays:水平/垂直方向的检测射线数量,数量越多结果越准确,但计算成本也越高;
2. Unity Sprite Uber Shaders
开源库链接:
https://lab.uwa4d.com/lab/5b561ca1d7f10a201fd83511
正如项目名的Uber一词,这是一组非常强大的Sprite Shader,不管你想要的是法线贴图、镜面反射、亦或自发光、轮廓光等效果,都可以用它轻松实现。更惊喜的是,它具有友好的Shader GUI界面,可以方便艺术家进行效果调节。且由于每个效果都是模块化的,也不用担心未启用模块的额外性能消耗。
3. Sprite Light Kit
开源库链接:
https://lab.uwa4d.com/lab/5b664a77d7f10a201ffac757
Sprite Light Kit是一个2D伪照明插件,它将光源效果渲染到Sprite Light摄像机的RenderTexture上,再通过Shader将RT混合到主摄像机的图像上实现2D光照效果。
参考示例场景,只需几分钟就可以为你的2D场景“打光”。具体步骤如下:
- 创建一个空的GameObject作为主摄像头的子节点并添加Sprite Light Kit组件;
- 将Sprite Light Kit Image Effect组件添加到主相机并将着色器设为SpriteLightKitBlendImageEffect.shader;
- 在SpriteLightKit组件中设置Light Layer,这是您要在其上放置Light Sprite(光源)的图层;、
- 从主相机的Culling Mask中移除Light Layer,使其不会渲染精灵光;
- 使用SpriteLightMaterial创建一些Light Sprite,并将它们的Layer设为上一步中选择的Light Layer;
4. Sprite Glow
开源库链接:
https://lab.uwa4d.com/lab/5b434165d7f10a201fad6ad7
Sprite Glow使用了HDR颜色的Sprite Outline+Bloom后处理,实现了Sprite发光效果。在示例工程中,提供了UI、Tilemap、Behaviour、Animation等多个应用场景的例子,让你得以快速地将这个效果运用到项目中。
5. Unity 2D Destruction
开源库链接:
https://lab.uwa4d.com/lab/5b5ca3a6d7f10a201fe8b8f4
这是一个什么都可以碎,碎了还能再碎的Sprite破碎效果工具,在上上上周的【博物纳新】2D破碎效果开源库测评中,已经详细介绍过了,此处不再赘述。
6. Polygon Collider Simplification
开源库链接:
https://lab.uwa4d.com/lab/5b5d2726d7f10a201fead0c4
Polygon Collider Simplification是一个可以优化多边形碰撞网格的小巧实用的脚本工具。
只需把脚本挂在需要简化的Sprite上,调整容差值Tolerance,即可将碰撞网格复杂度控制在合理的范围内。非常适合那些对2D Sprite碰撞区域准确度要求高的游戏,可以节省大量编辑节点的时间。
7. 2D Pixel Perfect Camera
开源库链接:
https://lab.uwa4d.com/lab/5bc550f304617c5805d4e9bd
像素风是深受玩家喜爱的一种游戏美术风格,由于像素风图像是由“像素点阵绘制”的,在不同分辨率下,会有显示变形的问题,好在已经有很多现成的像素风相机工具可以帮助开发者解决这一问题,2D Pixel Perfect Camera就是这样一个小工具,它不仅支持Sprite Renderer,还支持Tilemap Renderer,可以说是像素游戏开发者的福音了。
8. LiquidEffect
开源库链接:
https://lab.uwa4d.com/lab/5b699a2dd7f10a201f021327
LiquidEffect是一个2D液体模拟效果,利用2D刚体+Blur着色器模拟了液体效果:
- 创建若干个圆形Sprite作为“液体粒子”,每个“粒子”都是一个Dynamic的RigidBody2D,并赋予合适的物理材质和2D Collider;
- 利用Blur着色器将所有的液体粒子图像模糊化并渲染到一张RenderTexture上;
- 将RenderTexture使用UnlitMod Shader(选择Alpha值在一定范围内的像素渲染成同一颜色)渲染到一个片儿上。
9. LiquidSimulator
开源库链接:
https://lab.uwa4d.com/lab/5b44299bd7f10a201faf6500
初见LiquidSimulator这个项目时,我以为它只是一个像素风的液体模拟效果。细看之后才了解到这是一个利用细胞自动机(cellular automata)理论实现的液体模拟效果。
细胞自动机是什么?它是主要研究由小的计算机或部件,按邻域连接方式连接成较大的、并行工作的计算机或部件的理论模型。
在这个项目中,每个像素即一个细胞,每个细胞存储自己的水状态,拥有较多的水的细胞将水向相邻且更低位置的细胞流动,最终形成了如此的液体模拟效果。更详细的算法解释可以参考作者的文章。附链接:http://www.jgallant.com/2d-liquid-simulator-with-cellular-automaton-in-unity
由于这里每一个“细胞”都对应一个GameObject,建议大家在实际使用时注意性能问题。
10. Robodash
开源库链接:
https://lab.uwa4d.com/lab/5bc5514f04617c5805d4e9f1
Robodash是一个2D像素风冒险游戏Demo,包含了使用Tilemap制作的平铺地形,丰富的粒子特效,简单的小怪,完整的音效等基本元素,对于初学者来说,这是一个很好的范例。尤其是对Tilemap功能的使用,是非常有代表性的示例。