是否可以将颜色应用于SKSpriteNode纹理,但只能与其某种颜色混合?
例如,我说有一个立方体(不是3d,而是一个看起来像立方体的2D纹理),我有顶部白色,左下角是蓝色,右下角是红色。我可以应用颜色和颜色混合因子来仅更改我选择的颜色吗?例如白色,红色或蓝色。请注意,在此示例中,我仅使用了一个简单的方块。在一个真实的场景中,节点不会那么容易被切断'像一个立方体面可能出于解决方法的目的。纹理可以使其中的一部分保持透明或始终为白色,但总会有至少一种其他颜色不应该改变(将其视为部分背景的纹理,部分是游戏对象)
答案 0 :(得分:1)
要做你想要达到的目标,你有两个选择:
1)了解如何使用yourNamespace::subLibrary::moreLevels::justBecause::Thing
:不幸的是,我无法帮助你,因为我有一个人为我处理这些东西,所以我没有必要广泛地学习着色器。基本上你正在做的是在GPU级别,针对你想要允许改变的某些像素。
2)对于新手用户来说,更简单的方法是使用2个SKSpriteNodes。您可以使用所需的所有纯色创建第一个精灵,然后为要更改的所有像素创建灰度叠加图像。然后,您可以应用SKShader
来达到您想要的效果。
基本上:
colorBlendFactor