2d 精灵的 Unity3d 轮廓高光

Unity3d Silhouette Highlight for 2d sprite

我想在 MouseOver 上实现 Silhouette Highlight,如下图所示:

内置 Unity3d 用户界面元素有一个名为 OutlineShadow 的组件,但它们仅适用于用户界面,不适用于 SpriteRenderer。第一个想法是创建第二个在背景高亮的精灵并启用它MouseOver,但我认为这种方法不好。

正如 Everts(和我)在评论中提到的,

简单地制作“发光精灵”并打开和关闭它们并没有错。许多大型游戏肯定会这样做:很好。

的确,您可以编写一个着色器来执行此操作,但实际上那将是“糟糕的工程”——对于如此简单的需求来说完全没有必要。 (需要明确的是,制作自定义精灵显然更好。)

现在,这给我们带来了关于 Unity 工程的重要一点 -

在 Unity 工作中使用现有资产至关重要。

有几个突出的例子。比如 NatCam 和 Edy 的载具系统。你只是 - 从字面上 - 除非你使用“NatCam”,否则不能在游戏中使用相机;唯一的选择就是完全毫无意义地花一年时间自己构建 NatCam。

在这种情况下,有很多不错的“发光着色器”可用...

https://www.assetstore.unity3d.com/en/#!/content/20166

尽情享受吧!