
画线取点越多线条就会变得越顺滑,当然也会消耗更多的资源,需要电脑进行更多的计算。
因此不存在什么能省去这一物理性问题的解决方案,行业中有条优化铁律“内存换空间,空间换内存”。即:东西就这么大,无非是放在哪里的问题。
所以您能看到许许多多的游戏宣传动画与您手里实机的产品不一致,他们或许存在人物线条细节有棱角,或头发有明显的线条感。



(官网宣传图截图,PC端运行网络视频截图,手机端网络视频截图[具体参数不详])
三渲二或许不太明显,但我们在第二张图中,能清晰的感受到线条的折痕,这就是开发团队在细节处做的优化,这是非常正确的。
因此在尽可能保留画面效果的情况下减少消耗,是所有计算机程序都应该做的事,总不能因为一条破线条影响整个程序的运行。
所以写了个算法,打包封装好了,免费下载:
使用方法:
将.dll放入 Assets\Plugins下
代码中 引用即可
positions 是List<Vector3> positions;原本线条的点位集合
引用:
using ClassLibrary3;
使用:
var simplifiedPoints = new List<Vector3>();
simplifiedPoints = CurveSimplifier.Simplify(positions,0.01f);
是选取幅度,数字越大简化越彻底,选点越少。
链接在这里:
3526

被折叠的 条评论
为什么被折叠?



