2D开源库合辑推荐
- 作者:admin
- /
- 时间:2018年11月23日
- /
- 浏览:7326 次
- /
- 分类:博物纳新
自从推出了博物纳新栏目,小编就陷入了选择困难症,没办法谁让开源库的项目都这么优秀,每个都想推荐给大家!索性今天发放大礼包——铛铛铛~
1. CharacterController2D
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
正如项目名的Uber一词,这是一组非常强大的Sprite Shader,不管你想要的是法线贴图、镜面反射、亦或自发光、轮廓光等效果,都可以用它轻松实现。更惊喜的是,它具有友好的Shader GUI界面,可以方便艺术家进行效果调节。且由于每个效果都是模块化的,也不用担心未启用模块的额外性能消耗。
3. Sprite Light Kit
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
Sprite Glow使用了HDR颜色的Sprite Outline+Bloom后处理,实现了Sprite发光效果。在示例工程中,提供了UI、Tilemap、Behaviour、Animation等多个应用场景的例子,让你得以快速地将这个效果运用到项目中。
5. Unity 2D Destruction
这是一个什么都可以碎,碎了还能再碎的Sprite破碎效果工具,在上上上周的【博物纳新】2D破碎效果开源库测评中,已经详细介绍过了,此处不再赘述。
6. Polygon Collider Simplification
Polygon Collider Simplification是一个可以优化多边形碰撞网格的小巧实用的脚本工具。
只需把脚本挂在需要简化的Sprite上,调整容差值Tolerance,即可将碰撞网格复杂度控制在合理的范围内。非常适合那些对2D Sprite碰撞区域准确度要求高的游戏,可以节省大量编辑节点的时间。
7. 2D Pixel Perfect Camera
像素风是深受玩家喜爱的一种游戏美术风格,由于像素风图像是由“像素点阵绘制”的,在不同分辨率下,会有显示变形的问题,好在已经有很多现成的像素风相机工具可以帮助开发者解决这一问题,2D Pixel Perfect Camera就是这样一个小工具,它不仅支持Sprite Renderer,还支持Tilemap Renderer,可以说是像素游戏开发者的福音了。
8. LiquidEffect
LiquidEffect是一个2D液体模拟效果,利用2D刚体+Blur着色器模拟了液体效果:
- 创建若干个圆形Sprite作为“液体粒子”,每个“粒子”都是一个Dynamic的RigidBody2D,并赋予合适的物理材质和2D Collider;
- 利用Blur着色器将所有的液体粒子图像模糊化并渲染到一张RenderTexture上;
- 将RenderTexture使用UnlitMod Shader(选择Alpha值在一定范围内的像素渲染成同一颜色)渲染到一个片儿上。
9.LiquidSimulator
初见LiquidSimulator这个项目时,我以为它只是一个像素风的液体模拟效果。细看之后才了解到这是一个利用细胞自动机(cellular automata)理论实现的液体模拟效果。
细胞自动机是什么?它是主要研究由小的计算机或部件,按邻域连接方式连接成较大的、并行工作的计算机或部件的理论模型。
在这个项目中,每个像素即一个细胞,每个细胞存储自己的水状态,拥有较多的水的细胞将水向相邻且更低位置的细胞流动,最终形成了如此的液体模拟效果。更详细的算法解释可以参考作者的文章。附链接:http://www.jgallant.com/2d-liquid-simulator-with-cellular-automaton-in-unity
由于这里每一个“细胞”都对应一个GameObject,建议大家在实际使用时注意性能问题。
10. Robodash
Robodash是一个2D像素风冒险游戏Demo,包含了使用Tilemap制作的平铺地形,丰富的粒子特效,简单的小怪,完整的音效等基本元素,对于初学者来说,这是一个很好的范例。尤其是对Tilemap功能的使用,是非常有代表性的示例。
快用UWA Lab合辑Mark好项目!
今天的推荐就到这儿啦,或者它可直接使用,或者它需要您的润色,或者它启发了您的思路......
请不要吝啬您的点赞和转发,让我们知道我们在做对的事。当然如果您可以在下方评论区给出宝贵的意见,我们会越做越好。
辛苦了