使用纹理图集有什么好处吗?

时间:2018-05-24 16:55:38

标签: javascript three.js

据我所知,当你想为不同的精灵分割它时,你应该为每个精灵创造一个新材料,那么使用纹理图集有什么好处吗?

1 个答案:

答案 0 :(得分:2)

我不太清楚你想要完成什么,但我会试一试。

THREE.js没有做任何事情(据我所知)一起批量绘制调用,所以即使你使用了一个atlased纹理,你也不会获得开箱即用的任何性能优势。但是,如果绘制调用是您的瓶颈,您可以使用BufferGeometry进行调查,以在position数组中生成大量四边形并以此方式创建自己的精灵。您还可以将每个四边形上的UV调整到纹理图集中的相应部分。这将允许创建的每个四边形显示纹理的单独部分,并允许您通过单个绘制调用绘制所有精灵。

您可以在自定义着色器中旋转四边形以使它们面向相机。

如果您需要粒子是动态的,那么您可以每帧更新position属性数组,或者使用ShaderMaterial Uniform数组值来指示每个精灵的位置。

希望以某种方式有所帮助!