2d 精灵的 Unity3d 轮廓高光
Unity3d Silhouette Highlight for 2d sprite
我想在 MouseOver
上实现 Silhouette Highlight
,如下图所示:
内置 Unity3d 用户界面元素有一个名为 Outline
和 Shadow
的组件,但它们仅适用于用户界面,不适用于 SpriteRenderer
。第一个想法是创建第二个在背景高亮的精灵并启用它MouseOver
,但我认为这种方法不好。
正如 Everts(和我)在评论中提到的,
简单地制作“发光精灵”并打开和关闭它们并没有错。许多大型游戏肯定会这样做:很好。
的确,您可以编写一个着色器来执行此操作,但实际上那将是“糟糕的工程”——对于如此简单的需求来说完全没有必要。 (需要明确的是,制作自定义精灵显然更好。)
现在,这给我们带来了关于 Unity 工程的重要一点 -
在 Unity 工作中使用现有资产至关重要。
有几个突出的例子。比如 NatCam 和 Edy 的载具系统。你只是 - 从字面上 - 除非你使用“NatCam”,否则不能在游戏中使用相机;唯一的选择就是完全毫无意义地花一年时间自己构建 NatCam。
在这种情况下,有很多不错的“发光着色器”可用...
https://www.assetstore.unity3d.com/en/#!/content/20166
尽情享受吧!
我想在 MouseOver
上实现 Silhouette Highlight
,如下图所示:
内置 Unity3d 用户界面元素有一个名为 Outline
和 Shadow
的组件,但它们仅适用于用户界面,不适用于 SpriteRenderer
。第一个想法是创建第二个在背景高亮的精灵并启用它MouseOver
,但我认为这种方法不好。
正如 Everts(和我)在评论中提到的,
简单地制作“发光精灵”并打开和关闭它们并没有错。许多大型游戏肯定会这样做:很好。
的确,您可以编写一个着色器来执行此操作,但实际上那将是“糟糕的工程”——对于如此简单的需求来说完全没有必要。 (需要明确的是,制作自定义精灵显然更好。)
现在,这给我们带来了关于 Unity 工程的重要一点 -
在 Unity 工作中使用现有资产至关重要。
有几个突出的例子。比如 NatCam 和 Edy 的载具系统。你只是 - 从字面上 - 除非你使用“NatCam”,否则不能在游戏中使用相机;唯一的选择就是完全毫无意义地花一年时间自己构建 NatCam。
在这种情况下,有很多不错的“发光着色器”可用...
https://www.assetstore.unity3d.com/en/#!/content/20166
尽情享受吧!