在制作demo的时候,想要给人物添加一个拖尾特效,然后unity刚好有配套的组件,赶紧去尝试了一下。结果就发生了两个问题。
使用Trail Renderer组件
使用Trail Renderer很简单,在你想要产生特效的物体下面新建一个空物体,在Add Component搜索Trail Renderer添加即可
组件比较重要的属性的含义:
Time | 时间 | 确定拖尾延伸时间,以秒为单位。 |
Materials | 材质 | 可以根据需要选择材质,2D场景中最好选择自发光材质 |
Width | 宽度 | 定义一个宽度值和一条曲线,以控制轨迹在起点和终点之间的不同点的宽度。曲线从轨迹的起点到终点,并在每个顶点取样。曲线的整体宽度由宽度值控制。 |
Color | 颜色 | 定义一个梯度来控制沿着其长度的轨迹的颜色。 |
Corner Vertices | 角顶点 | 此属性指示在绘制轨迹中的角时使用多少额外的顶点。增加这个值,使小道拐角看起来更圆。 |
End Cap Vertices | 端盖顶点 | 此属性指示使用多少额外的顶点来创建路径上的端点。增加这个值,使履带帽看起来更圆。 |
Alignment | 对齐 | 设置为视图,使路线面对摄像机,或者根据转换组件的方向对其进行本地对齐。 |
Texture Mode | 纹理模式 | 控制纹理如何应用到路径。使用Stretch将纹理映射应用到整个路径的长度,或者使用Wrap重复纹理沿着路径的长度。使用材料中的平铺参数来控制重复率。 |
但是在2D场景使用遇到了问题。
1. 产生的trail会被Sprite遮住,无论Order in Layer的关系如何
原本的材质是Sprite/default,经过查找得知要把材质换成Sprite/diffuse,但是又产生了第二个问题
2. trail的材质无论选择什么颜色都是黑色。
因为2D场景没有自带光照。
于是有两个解决方案。
- 选择自带光照的材质,这个百度一搜肯定有
- 学习Shader,自己写出发光材质 ps:在学了在学了(0%) (:3_ヽ)_
- 给2D场景添加光源。
然后我偏不走第一条和第二条,去网上搜了怎么添加2D光照,好家伙学到了。
知乎文章 跟着这篇文章做就能成功添加2D光照。
总结:之前都没有觉得图形学有多重要,这次突然意识到为了游戏的逼格懂得渲染是必须的。
自以为Unity的大部分功能应该都体验过了,才发现渲染的东西用都没用过。之前的教程也没教过,还是太菜了。