unity 2d将做好的shader graph赋给sprite render,结果变成黑色,颜色调节透明度也没用

unity 2d将做好的shader graph赋给sprite render,结果变成黑色,颜色调节透明度也没用

img

img

可能是Diffuse和Shadow的设置问题,试试在Lighting中修改;或者试试把材质的Blending Mode设置为Opaque
 
如果答案对您有所帮助,望采纳。

如果在Unity 2D中使用Shader Graph为Sprite Renderer制作的shader导致精灵变黑,原因可能是未正确设置Shader Graph的属性。为了解决这个问题,请按照以下步骤进行操作:
1.确保在Shader Graph中设置了适当的主输入节点。对于2D精灵,你需要使用Sprite Unlit Master或Sprite Lit Master节点。
2.确保你正确地连接了Texture 2D属性。从Sample Texture 2D节点的RGBA输出到主输入节点的Color输入。在Shader Graph中,创建一个Texture 2D属性并将其设置为你的精灵纹理。
3.为了调整颜色和透明度,请在Sample Texture 2D节点和主输入节点之间添加一个Multiply节点。将Sample Texture 2D节点的RGBA输出连接到Multiply节点的第一个输入。然后,创建一个Color属性,将其连接到Multiply节点的第二个输入。将Multiply节点的输出连接到主输入节点的Color输入。
4.调整新创建的Color属性,以便更改精灵的颜色和透明度。更改Color属性的RGBA值,其中A值表示透明度。例如,将A值设置为0.5,将精灵的透明度设置为50%。
5.最后,保存Shader,并将其分配给Sprite Renderer的Material。检查运行时的精灵,现在应该具有正确的颜色和透明度。
如果问题仍然存在,请确保其他Shader Graph节点没有错误,否则可能会导致精灵变黑

unity 2d将做好的shader graph赋给sprite render,结果变成黑色,颜色调节透明度也没用

unity 2d将做好的shader graph赋给sprite render,结果变成黑色,颜色调节透明度也没用

img

img

如果您在Unity中创建了一个SpriteRenderer对象并将其ShaderGraph属性设置为一个已经做好的Shader Graph,可能会出现颜色和透明度方面的问题。 如果您的Shader Graph中使用了透明度控制,并且透明度控制的部分使用了颜色控制,那么Unity可能会将您设置的颜色设置为黑色或灰色。这是因为Unity默认情况下,当透明度控制的部分与颜色控制的部分冲突时,会使用默认的颜色值。 您可以尝试以下方法来解决此问题: 1. 检查您的Shader Graph中是否有透明度控制的部分,并确保它们与其他部分不冲突。您可以尝试使用透明度设置来控制颜色,或者将透明度设置为0来控制颜色。 2. 如果您的Shader Graph中使用了颜色控制,并且透明度控制的部分使用了其他颜色控制,您可以尝试更改这些颜色控制设置,以使它们与您的Shader Graph中的颜色控制设置相匹配。 3. 如果您的Shader Graph中使用了透明度控制,并且透明度控制的部分使用了透明度控制,您可以尝试更改透明度控制设置,以使它们与您的Shader Graph中的颜色控制设置相匹配。 4. 如果您无法解决问题,您可以尝试创建一个新的Shader Graph,并使用您现有的Shader Graph中的内容。这将帮助您确保您的Shader Graph与Unity中其他组件的正确匹配。