游戏角色皮肤要做流动特效,如果使用顶点uv对效果贴图进行采样,存在以下几个问题:
- 因为在展UV的时候,各个结构之间基本都是拆开的,流动效果会有明显的接缝问题,破坏了效果的完整性
- 同样因为展UV的原因,无法保证各个部位的流动方向一致
具体效果如下:
所以,效果图采样不能使用顶点UV,可以考虑使用顶点的世界坐标或自身坐标。
如果使用世界坐标,那么就会出现角色在移动过程中,对特效流动效果产生影响,这要看具体影响程度。如果使用自身坐标,需要设置一个偏移量,因为大部分角色的模型左右对称,如果不做一个偏移并且效果贴图不是四方连续的情况下,还是会有一条中缝。
之后就是面对下一个问题:如何将3维的世界坐标/自身坐标,转换成2维的uv坐标?
可以参考网上流传的解决方案——三向贴图(Tri-planar mapping)