【发布时间】:2015-07-24 09:34:49
【问题描述】:
我正在开发一款策略游戏,每个单元有 300-400 张图片。单位将根据其所有者玩家拥有不同颜色的旗帜。但是我的图像是基于蓝色的,所以我想把蓝色换成其他颜色,比如红色、粉色、灰色等。你知道怎么做吗?
【问题讨论】:
-
有多少种可能的独特颜色?如果只有几个,我会为每种颜色制作不同的精灵。如果很多,我会将标志精灵与角色精灵分开并将它们层叠在一起,然后您可以在运行时为标志精灵着色。或者,您可以创建一组精灵并在它们上运行调色板交换,如下所示:stackoverflow.com/questions/26132160/…
-
@Tenfour04 每种颜色有 8 种独特的颜色和 10 种色调,每个单位有 230 个纹理,而且单位很多,所以我无法为每种颜色制作不同的精灵。此外,我无法分离标志精灵,因为它也制作了很多精灵。在问这个问题之前,我已经研究了你的答案,但我不明白它是如何工作的。你能解释一下吗?
-
不明白哪一部分?
-
@Tenfour04 如果你想让我说实话,我什么都不懂:/ 我试图阅读代码,但没有很好的注释,而且我对着色器没有足够的了解。如果你能解释一下你的代码的工作逻辑,我可以尝试做类似的事情。
-
并阅读一些关于 OpenGL ES 中的着色器如何工作的内容……有很多网站对其进行了详细解释。你可以试试这个。它进入您无需担心的 3D 照明。但是只要对顶点着色器和片段着色器的功能有一个基本的了解。