Unity3d C#使用Highlighting System 5.0高光插件的详细使用教学和脚本动态操作
前言
这个插件Highlighting System在模型交互表现中是经常用到的,之前都是用到啥功能都查一下,这里将常用的功能整理一下。
快速使用
1.首先将主相机上添加HighlightingRenderer脚本。
2.将3D模型上添加碰撞体,并在模型上挂上Highlighter脚本,进行如下设置:
设置完成,就可以在模型上看到一层黄色的外发光效果:
模型鼠标悬停效果
上一步的基础上,在主相机上添加RaycastController和HighlighterInteractionDemo脚本,并做如下图的设置:
运行后,鼠标悬停模型就有红色效果了。
实现变色效果
在快速开始的基础上,Highlighter脚本并勾选Tween选项,然后设定Gradient值即可,效果:
具体的Gradient设置下面做详解。
变色设置(Gradient Editor)
点击Gradient的颜色条即可调出Gradient Editor。一般是使用Blend效果好一些,有渐变。后续也有脚本设置的讲解。
添加颜色点
在颜色条的下方点击左右键会新建颜色点,最多支持八个,可以左右拖动位置,点击下方颜色框可以选择颜色:
删除颜色点
点击选中颜色点,按delete键删除。
添加透明点
在颜色条的上方点击左右键会新建透明点,最多支持八个,可以左右拖动位置,拖动下方透明条可以选择透明度:
删除透明点
点击选中透明点,按delete键删除。
透视效果
勾选Highlighter脚本的“Overlay”选项,外发光效果就会透视显示。
脚本控制
动态添加效果
hl = gameObject.AddComponent<Highlighter>();
添加前最好判断一下。
设置静态和颜色
hl.constantColor = new Color(255, 255, 0);hl.tween = false;hl.constant = true;
tween 必须取消,不然就会是动态的。
设置动态和颜色
稍微麻烦一点,需要先将梯度的颜色值创建好,然后设置动画模式:
Gradient gt = new Gradient();
gt.colorKeys = new GradientColorKey[] { new GradientColorKey(Color.red, 0.2f), new GradientColorKey(Color.green, 0.8f)
};
gt.alphaKeys = new GradientAlphaKey[] {new GradientAlphaKey(0.3f, 0.2f),new GradientAlphaKey(1, 0.6f)
};
hl.tweenGradient = gt;
hl.tween = true;
透视效果
hl.overlay = true;
移除效果
Destroy(hl);
Unity3d C#使用Highlighting System 5.0高光插件的详细使用教学和脚本动态操作相关推荐
- 使物体发光的插件highlighting system v2.0
标题使物体边缘发光的插件highlighting system v2.0 今天给大家分享一个使物体发光的插件,highlighting system v2.0,可以根据自己的需要,设置从某种颜色到另一 ...
- Highlighting System 2.0使用
1.使用Highlighting System这一插件需要先在渲染相机上挂载 HighlightingEffect脚本 2.需要在你想要发光的对象上挂载HighlightableObject组件 然后 ...
- Highlighting System V4.0(用于模型外发光)
1.Scripts里面有两个脚本, 1.1一个HighlightingEffect需要挂载在摄像机上面,用来渲染, 1.2 一个 HighlightableObject脚本用来显示边缘发光,哪一个物体 ...
- Highlighting System
Highlighting System 法线贴图漫反射着色器 Unity论坛:http://forum.unity3d.com/threads/143043-Highlighting-System-R ...
- System.exit(0)和System.exit(1)区别
2019独角兽企业重金招聘Python工程师标准>>> System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个ap ...
- java中System.exit(1)、System.exit(0)、以及return的区别
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序 System.exit(status)不管status为何值都会退出程序. 和return 相比 ...
- 轻松解决2013 lost connection to mysql server at ‘reading initial communication packet‘, system error: 0“
##轻松解决 2013 lost connection to mysql server at 'reading initial communication packet', system error: ...
- system.exit(0) system.exit(1) 含义与区别
首先他俩都是退出程序的意思: 区别在于: system.exit(0): 正常退出,程序正常执行结束退出 system.exit(1): 非正常退出,就是说无论程序正在执行与否,都退出, System ...
- system.exit(0) 和 system.exit(1)
一.简述 java.lang.System源码,方法说明如下: /*** Terminates the currently running Java Virtual Machine. The* arg ...
- java的System.exit(0)的作用以及和System.exit(1)区别。
System.exit(int status)这个方法是用来结束当前正在运行中的java虚拟机. status是非零参数,那么表示是非正常退出. System.exit(0)是正常退出程序,而Sys ...
最新文章
- Appcan关闭主窗口
- 巧用DevExpress GridView导入导出Excel
- 一行Java代码实现获取上传文件的后缀名
- 周志华《机器学习》课后习题(第五章):神经网络
- 频率计设计——电路部分
- 今天开始写技术博客啦
- 虚拟机上使用ghost xp
- 工作118:封装一个带有对话框的button组件
- TypeScript BigInt
- Ajax实例一:利用服务器计算
- 程序员应该知道的关于Windows API、CRT和STL二三事
- python自动轨迹绘制七边形_斜抛运动的数学模型
- Ansys多核仿真报错解决办法
- base64还原成图片
- 跳槽面试时不能说的六大离职理由
- 丢番图(Diophantine)方程MATLAB求解
- QCustomPlot 示例实践--sinc离散序列
- 在C#中设置打印机纸张大小,如此简单
- permit doing 与permit to do详细区别
- 100款现代科技感的英文字体打包分享