【发布时间】:2015-08-23 00:15:43
【问题描述】:
有谁知道一个免费的 Unity/ShaderLAB,它只是默认的精灵着色器,但是当你走在某物后面并且再也看不到玩家或它的一部分时,它会显示一个完全不透明的、一种颜色的轮廓,覆盖一切。
它应该看起来像这样:http://i.stack.imgur.com/iByV7.png(来自 Titan Souls)
【问题讨论】:
-
您的游戏是否 1) 具有透明度和 2) 使用 Sprite 的“分层排序”功能?默认的 Sprite 着色器具有透明度,因此您不能只更改着色器并让一切正常运行(至少在我的技能水平上不行)
-
看起来就像是玩家“面前”的物体充当了面具。使用该蒙版,您可以渲染透明;一切之上的黑色精灵。当玩家四处移动并且顶部没有精灵时;掩码将为空,因为没有掩码对象。反过来,不会渲染叠加的精灵。我会考虑一下,看看我是否可以回来回答:-)
-
达尼特!我想不出一种优雅的方式。在我的脑海中,您需要一个始终位于播放器精灵之上的叠加精灵。此叠加层还应具有尽可能高的 z-index / sprite 层顺序,以确保它位于所有其他图像之上。然后每次玩家移动时检查玩家精灵边界内是否有物体(其他精灵)。然后将遮罩与您的玩家精灵一起应用到每个单独的对象上,并将遮罩显示为具有选择颜色的叠加层。一定有更好的方式使用着色器。