Unity模型边缘高亮插件OutLineEffect
- 项目需求
最近的一个项目有一个需求是点击模型时有高亮的效果, 就是点击到模型的其中一个部件时需要高亮显示,点击到另外的部件时上一个高亮部件取消高亮;然后我就找到了这个插件,使用后觉得非常不错,所以作了一个分享,希望能帮助到大家。
- 插件介绍
插件的网址是https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/outline-effect-78608,它可以支持到Sprite、Line和Mesh,HDR支持,Alpha cutout选项,附加轮廓渲染选项渲染器之间的合并轮廓(或者可以添加不同颜色之间的轮廓),“擦除”选项可将轮廓保留在特定渲染器后面,支持多个渲染器的颜色(最多三种不同的颜色)。
下面看下“OutlineEffect.cs”脚本的API,在Inspector面版暴露出来的接口可以实时调整参数,如下
设置模型边缘高亮线的粗细
public float lineThickness = 1.25f;
设置模型边缘高亮的强度
public float lineIntensity = .5f;
设置模型边缘高亮的填充数量
public float fillAmount = 0.2f;
设置模型边缘的线条的颜色,使用时三选一,“outline.cs”脚本Color参数
public Color lineColor0 = Color.red;
public Color lineColor1 = Color.green;
public Color lineColor2 = Color.blue;
叠加渲染
public bool additiveRendering = false;
隐面剔除
public bool backfaceCulling = true;
填充颜色
public Color fillColor = Color.blue;
启动、禁止fillColor 的效果
public bool useFillColor = false;
描边效果翻转
public bool flipY = false;
“outline.cs”脚本的API,在Inspector面版暴露出来的接口可以实时调整参数,如下
Color设置选择lineColor0、lineColor1和lineColor2的其中的一项
;eraseRenderer如果沟选上后使用的材质是“outlineEraseMaterial”,反之是上面的“Color”为索引的材质。
三、插件使用
查看了下DEMO,使用时需要两个步骤
首先给带camera组件的对象添加脚本“OutLineEffect.cs”,如果需要模型进行闪烁时再添加个组件脚本“OutlineAnimation.cs”,当然这是可选的。
然后在需要高亮的模型上添加“Outline.cs”脚本,模型对象上要有”Renderer”组件,效果如下
在我的DEMO中我只给模型的两个子对象上加上了边缘高亮效果,如下
还不错,基本达到了我们项目的需求。