Unity插件——HighlightingSystem 5.0

对比版本4
版本4,MainCamera上加HighlightingRenderer,目标物体上加Highlighter、HighlighterFlashing(导入后需改Bug)
版本5,不再需要加HighlightingFlashing(加上后,提示已废弃)(无需改Bug)
手动调两种颜色渐变发光
1、勾选Tween,点开并编辑“Gradient”面板
在这里插入图片描述
在这里插入图片描述
面板操作: 1.上沿儿卡尺(紫色)控制透明度——点击每个小盾牌,它的透明度和位置,通过下方的“Alpha”和“Location”修改(黑色代表完全透明,白色代表完全不透明)
下沿儿卡尺(棕色)控制颜色——点击每个小盾牌,它的颜色和位置,通过下方的“Color”和“Location”修改
2.增加小盾牌:点击上下沿
删除小盾牌:Delete键
示例: 由红色向蓝色渐变
1-1点击左下角滑块(目的是把起始改为红色)
在这里插入图片描述
1-2更改它的颜色和位置
在这里插入图片描述
2-1点击右下角滑块(目的是把结束改为蓝色)
在这里插入图片描述
2-2更改它的颜色和位置
在这里插入图片描述
3-1点击左上角滑块(目的是把开始改为不透明)
在这里插入图片描述
3-2更改它的透明度和位置
在这里插入图片描述
4-1点击右上角滑块(目的是把结束改为不透明)
在这里插入图片描述
4-2更改它的透明度和位置
在这里插入图片描述
代码操作:在目标物体上挂一个自己写的脚本,如HighlightFlash.cs来调用先前挂上去的Highlighter——之后写脚本控制调用方法来控制闪烁

using HighlightingSystem;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HighlightingFlash : MonoBehaviour
{
    Highlighter highlight;
    // Start is called before the first frame update
    void Start()
    {
        highlight = GetComponent<Highlighter>();

    }
    //鼠标点击——实现"单色持续发光"(如果先前是"双色闪烁发光",那么先停掉)
    public void OnMouseDown()
    {
        highlight.FlashingOff();//双色闪烁发光 关闭
        highlight.ConstantOn(Color.cyan);//单色持续发光 开启  

    }
    //鼠标移上——实现"双色闪烁发光"
    private void OnMouseEnter()
    {
       // highlight.ConstantOn(Color.red);//单色持续发光 开启  
       highlight.FlashingOn(Color.green, Color.red, 1f);//双色闪烁发光 开启
    }
    //鼠标移出——停掉"两种颜色闪烁发光"
    private void OnMouseExit()
    {
        //highlight.ConstantOff();//单色持续发光 关闭
        highlight.FlashingOff();//双色闪烁发光 关闭
    }
   //效果的开启关闭,用之下我们写的两个方法
    public void ShowFlashing()
    {
        highlight.FlashingOn(Color.green, Color.red, 1f);//双色闪烁发光 开启
    }
    public void CloseFlashing()
    {
        highlight.FlashingOff();//双色闪烁发光 关闭
    }


}

踩坑:写好了后,由于Game视图中的游戏物体太小,闪烁效果,我想会不明显,于是就想在Scene视图里看——调了好久没出效果,
解决:对比先前做测试的立方体,未发现缺东西——把Game视图游戏物体放大,效果是有的
症结:Scene视图就是看不见效果
遗留:
在这里插入图片描述
Overlay——说是显示到最前面,没用到
Occluder——说是遮挡,没有看出怎么用
Tween和Constant是分别指多色渐变闪烁和单色持续发光
笔记 调用物体Highlighter组件的tween属性:targetGO.GetComponent< Highlighter>().tween = true;


版权声明:本文为weixin_42935398原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。