Unity Shader Graph 10.5.1 2D纹理透明显示异常问题求助
Shader Graph 10.5.1精灵叠加效果异常解决方案
以下是10.x版本Shader Graph实现2D精灵效果时的常见问题和对应修复方法:
- 纹理导入设置错误
你需要确认待使用的精灵纹理导入设置中,纹理类型选中的是Sprite (2D and UI),如果选Default类型,Shader Graph无法正常读取Sprite的切片信息与透明通道,会出现整张纹理拉伸、透明背景显示为黑色的问题。 - _MainTex参数配置错误
Blackboard中创建的Texture2D参数,除命名为_MainTex外,必须手动将参数的Reference字段改为完全匹配的_MainTex(严格区分大小写,无多余空格),同时将参数模式设为Property、勾选Exposed选项,才能实现和SpriteRenderer挂载纹理的自动联动。 - 透明通道与混合模式未配置
采样_MainTex得到的输出中,需要将A通道单独连接到Master节点的Alpha输入端口;同时打开Master节点设置,将Surface Type改为Transparent、Blend Mode改为Alpha,否则透明通道不会生效。 - 缺少内置Sprite参数
需要额外在Blackboard中添加两个Vector4类型的参数,Reference分别设置为_MainTex_ST和_SpriteRect,这两个是Unity SpriteRenderer自动传递的内置参数,用来处理Sprite的切片偏移和纹理缩放,缺失会导致采样结果为整幅spritesheet而非你切好的单个Sprite。
内容的提问来源于stack exchange,提问作者Angel Trujillo
相关产品推荐
相关产品推荐

