0

我有一个头盔、剑和一个盾牌,每个使用 1 个纹理,所以 3 个绘制调用。我想让它们使用单​​个纹理将绘制调用降至 1,但不要将它们组合成 1 个网格,因为我需要随机禁用它们中的任何一个,而且剑和盾的位置在攻击或落地时会改变. 可行吗?

如果有怎么办?我是新手,谢谢。

4

2 回答 2

0

这是可能的,并且需要所谓的纹理图集。我相信这通常是作为一个优化步骤来完成的,其中经常使用构成场景的较小纹理。

我不认为 Unity 的免费版本内置了对此的支持(假设 Pro 版本本身支持我可能是错误的),但我相信也有插件 - 快速谷歌搜索发现“Texture Packer”付费版本 15 美元似乎可以满足您的需求,但也有免费版本,因此值得仔细研究:http: //forum.unity3d.com/threads/texture-packer-unity-tutorial.184596/

我还没有任何这些方面的经验,因为我还没有处于尝试对我的项目进行此操作的阶段,但是当我到达那里时,我认为 Texture Packer 是我要开始的地方。

谢谢,格雷格

于 2014-11-04T20:03:06.407 回答
0

为了节省绘制调用,您可以对所有三个对象使用相同的材​​质,而无需组合它们的网格。然后创建一个纹理文件,其中三个纹理彼此相邻,并编辑模型的 UV 贴图以使用它们自己的组合纹理部分。

于 2014-11-05T21:37:42.407 回答