【发布时间】:2021-04-15 19:52:43
【问题描述】:
我想知道是否有可能两个制作具有两层的材料。也就是说,前景中图像的所有内容都应该可见。然而,在它透明的地方,或者如果它没有填满整个平面/游戏对象,背景图像应该是可见的。
解决方法: 这包括将两种材质设置为两个平面,并将前景中的一种透明渲染,而将背景法线中的一种渲染。但是,Unity 向我显示以下警告:
我认为这是绩效成本。更不用说,我会将这个解决方案应用于我场景中的 40 个平面。
有没有办法为此创建子网格,或者我根本不应该使用这个解决方案?
可能的解决方案: 在搅拌机中添加为此解决方案创建网格。我认为这可能是解决方案。尽管如此,我更喜欢不同的解决方案,因为这会花费我很多工作
【问题讨论】:
-
这个场景中的“背景图片”是什么?场景中的其他物体?还是这张图片中的橙色层?例如,如果灰色是透明的,您希望看到的到底是什么?
-
在背景中应该有一种颜色(例如,绿色,红色,橙色,黑色)也就是说,它应该在同一水平/平面上
-
我不是专家,所以我不能直接回答,但我已经看到你可以在哪里使用纹理中的多个通道 (RGBA) 编写自定义着色器,用单个通道做不同的事情图片。您可能可以制作一个自定义着色器,该着色器采用“背景颜色”,在 Alpha 通道为特定值的情况下被替换。 this 与我的意思类似。虽然我听说 Unity 中的着色器发生了变化;好久没试过了。
-
你的意思是this?
-
@ps2goat 你能告诉我如何在代码/.shader 文件中编写它吗? (我没有这方面的知识)