对比版本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;