欢迎光临散文网 会员登陆 & 注册

Unity“诡异”Shader报错(一):Internal error communicating with the shade

2022-09-11 20:18 作者:DeadCyber  | 我要投稿

报错信息基本上就是说,咱shader内部编译的时候出错了(不是你语法上的问题),请附带文件给Unity报官方错误吧...

    这是我不止第一次遇到这种错误,因为可出错的地方太多,等官方解决是不可能的,之后碰到一次,记录一下,希望能帮到更多人。

    (一)Texture2DArray的重新赋值

我想动态切换已经传进去的Texture2DArray,所以写了函数用来切换:

(从语法上来说,没有任何问题)

我估计由于是defaultTexArr和qEnvTest的大小格式不一致,所以第二次重新赋值的时候出错了。

解决办法:把第一行的默认赋值删了,避免重复赋值。(我估计hlsl里相当于c#里默认就给null了,所以out参数不给默认赋值ok)

unity真的很奇怪,不管是inout还是out,有的时候会报错需要赋默认值,有的时候又不报错。现在我的解决办法是在函数尾部添加一个永远不会为真的条件判断,里面赋予默认值。这样就可以过编译(unity的渣shader语法编译器)



Unity“诡异”Shader报错(一):Internal error communicating with the shade的评论 (共 条)

分享到微博请遵守国家法律