画线取点越多线条就会变得越顺滑,当然也会消耗更多的资源,需要电脑进行更多的计算。

因此不存在什么能省去这一物理性问题的解决方案,行业中有条优化铁律“内存换空间,空间换内存”。即:东西就这么大,无非是放在哪里的问题。

所以您能看到许许多多的游戏宣传动画与您手里实机的产品不一致,他们或许存在人物线条细节有棱角,或头发有明显的线条感。

(官网宣传图截图,PC端运行网络视频截图,手机端网络视频截图[具体参数不详])

三渲二或许不太明显,但我们在第二张图中,能清晰的感受到线条的折痕,这就是开发团队在细节处做的优化,这是非常正确的。

因此在尽可能保留画面效果的情况下减少消耗,是所有计算机程序都应该做的事,总不能因为一条破线条影响整个程序的运行。

所以写了个算法,打包封装好了,免费下载:

使用方法:
将.dll放入 Assets\Plugins下
代码中 引用即可

positions 是List<Vector3> positions;原本线条的点位集合
 

引用:
    using ClassLibrary3;

使用:
  var simplifiedPoints = new List<Vector3>();
  simplifiedPoints = CurveSimplifier.Simplify(positions,0.01f);

是选取幅度,数字越大简化越彻底,选点越少。

链接在这里:

【免费】unityLineRender优化dll资源-CSDN下载

更多推荐