插件資源:https://pan.baidu.com/s/1WpiIP_1B9NVtgVsLyQ0pcA
提取碼:rkcj
1.給主攝像機添加腳本Highlighting Renderer腳本,路徑為Assets/Plugins/Highlighting System/Scripts
2.給需要邊緣高光的物體添加Highlighter腳本妇斤,路徑一樣
之后在攝像機下添加腳本就可以通過鼠標點擊控制物體高亮
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HighlightingSystem;
using System.Text;
public class ClickController : MonoBehaviour
{
public Color hoverColor = Color.red; //鼠標滑過時的顏色
public Color ClickColor = Color.yellow; //點擊過后物體的顏色
private void Update()
{
ClickPeople();
}
void ClickPeople()
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); //通過鼠標坐標生成射線
RaycastHit hit; //射線碰撞到的物體信息
if(Physics.Raycast(ray,out hit))
{
Transform tr = hit.collider.transform; //獲取碰撞到的物體的transform
if (tr == null) return;
var highlighter = tr.GetComponent<Highlighter>(); //獲得物體身上的Highlighter腳本
if (highlighter == null) return;
highlighter.Hover(hoverColor); //鼠標滑過時亮
if (Input.GetMouseButtonDown(0))
{
highlighter.isClick = !highlighter.isClick; //我在Highlighter腳本中添加了一個bool值判斷物體是否被點擊
}
if (highlighter.isClick)
{
highlighter.ConstantOn(ClickColor); //開啟高亮
}
else
{
highlighter.ConstantOff(); //關閉高亮
}
}
}
}