我有一个纹理表与各种游戏平显元素UV包装成纹理。
对于GUI的每个单独部分,我必须为我加载的纹理创建一个克隆()(是的,我知道它是一个浅拷贝)。然后使用此纹理创建一种材质。这是因为我可以对HUD元素的组成部分使用不同的UV。
有没有更好的方法来做这件事?它看起来非常慢和笨重。
我在Android/iOS/黑莓上用的是GLES VertexBuffer。只需添加顶点并动态重建,因为HUD/GUI元素可能会在任何时候更改/删除。
这是我想要达到的效果。菜单选项框由4个角、4个边和一个中心组成。这使我可以在不损失纹理分辨率的情况下将显示调整到分辨率。

发布于 2018-01-31 13:35:36
可以变换正在使用的网格的UV,而不是变换纹理。
在这里使用PlaneGeometry而不是PlaneBufferGeometry会稍微简单一些。对于每个元素,可以缩放uvs并平移它们以匹配贴图集。这可以通过将所有几何体合并为一个几何体或使用实例化和一些GLSL来进一步优化。
https://stackoverflow.com/questions/48530234
复制相似问题