首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >three.js :有没有更好的方法从纹理中选择单独的UV来显示在精灵上?

three.js :有没有更好的方法从纹理中选择单独的UV来显示在精灵上?
EN

Stack Overflow用户
提问于 2018-01-31 04:45:59
回答 1查看 219关注 0票数 0

我有一个纹理表与各种游戏平显元素UV包装成纹理。

对于GUI的每个单独部分,我必须为我加载的纹理创建一个克隆()(是的,我知道它是一个浅拷贝)。然后使用此纹理创建一种材质。这是因为我可以对HUD元素的组成部分使用不同的UV。

有没有更好的方法来做这件事?它看起来非常慢和笨重。

我在Android/iOS/黑莓上用的是GLES VertexBuffer。只需添加顶点并动态重建,因为HUD/GUI元素可能会在任何时候更改/删除。

这是我想要达到的效果。菜单选项框由4个角、4个边和一个中心组成。这使我可以在不损失纹理分辨率的情况下将显示调整到分辨率。

EN

回答 1

Stack Overflow用户

发布于 2018-01-31 13:35:36

可以变换正在使用的网格的UV,而不是变换纹理。

在这里使用PlaneGeometry而不是PlaneBufferGeometry会稍微简单一些。对于每个元素,可以缩放uvs并平移它们以匹配贴图集。这可以通过将所有几何体合并为一个几何体或使用实例化和一些GLSL来进一步优化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48530234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档