用HighLighting System插件做手柄sublime高亮插件

Highlighting System的使用 - 简书
Highlighting System的使用
在开发过程中,美术提出了一个比较酷炫的边缘发光的需求,如下:
平时比较熟悉的两种边缘算法:
Unity Shader官方教程里面的例子:Rim Light,核心算法为
half rim = 1.0 – saturate(dot (normalize(IN.viewDir), IN.worldNormal));
o.Emission = _RimColor.rgb * pow (rim, _RimPower);
IN.viewDir是当前视角向量,IN.worldNormal是物体的法线。dot是计算视角和法线的点积,等于视角和法线夹角的cos值。这种算法的问题在于,在平直的物体上,边缘光就不见了。举例来说,正方体的每个面的法线都是一致的,这样绘制出来的效果是一个面一个颜色,即体现不出轮廓效果了。
两次pass,第一次将物体放大只绘制背面,第二次原来大小并打开深度测试只绘制正面,这样两次绘制就能把轮廓显示出来。这个方法能解决上述问题,但是离美术提的需求还差一个模糊效果。本着“不要重新发明轮子”的思想,搜罗出一个不错的插件:,官方正版要$30 ,当然也可以找到别人分享出来的,这里就不提供下载了。我使用的版本是4.1。
使用方法:
将Highlighting Renderer脚本挂载在相关Camera上;
将Highlighter脚本挂载在需要边缘发光的根GameObject上;
调用Highlighter的相关接口来控制发光效果:On/Off/Flash...
通过阅读代码,大概理解了下思路:
主要有两次全屏效果:OnPreRender(), OnRenderImage();
OnPreRender:
将所有挂载Highlighter的物体使用单色Shader进行渲染一次
blur:根据设置的边缘宽度,对当前像素的左上、右上、右下、左下进行采样,取rgb的最大值,并叠加alpha。
多次迭代blur
将最终模糊结果进行两次pass: 放大,stencil test,结果只有渐变的边缘,保存在RenderTexture中。
OnRenderImage:将OnPreRender绘制的RenderTexture与当前的RenderTexture混合,得出最终结果。理解的可能有一些偏差,还望指出~&>&Highlighting System 4.0 物件高亮特效插件
Highlighting System 4.0 物件高亮特效插件
上传大小:1.55MB
Unity Highlighting System 4.0 物件高亮特效插件
综合评分:0(0位用户评分)
所需积分:
下载个数:9
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有0条
审核通过送C币
C#代码实例
创建者:nihang1234
C#移动端开发
创建者:vhion
installshield2015Premier破解版
创建者:qq_
上传者其他资源上传者专辑
Unity 解析json 支持Android和IOS
LuaStudio脚本编辑器
unity5.2.3 破解文件 mac
unity5.3.4 破解文件 mac
UGUI官方demo
开发技术热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
Highlighting System 4.0 物件高亮特效插件
会员到期时间:
剩余下载个数:
剩余C币:0
剩余积分:
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
Highlighting System 4.0 物件高亮特效插件本人使用的是Unity5.3.5,关于这个插件我在网上找到了几个版本,本人使用的可能是旧版本,不过用起来效果没差,接下来就简单的谈谈这个插件的使用。
我使用的这个版本的网盘链接
场景中新建一个立方体,将HighlightableObject这个脚本挂在立方体上,将HighlightingEffect这个脚本挂在摄像机上,自己新建一个控制脚本TestHightLight
public HighlightableO
void Start () {
ho.ConstantOn(Color.yellow);
void Update () {
if (Input.GetKeyDown(KeyCode.Q))
ho.ConstantOffImmediate();
最终效果如下
当然,你可以编写自己需要的出发条件实现边缘发光,只需在触发时调用相应的方法就好,恩,功能已经简单的实现了,更复杂的功能还有待研究。
本文已收录于以下专栏:
相关文章推荐
插件链接: /s/1dFwkaTr 密码: nw2c
导入Unity里面可能会报错,不过没关系,直接注释掉就可以了,我用的是Unity5.1的版本
在很多游戏中,都会让出现模型边缘发光的效果,本文就用表面着色器实现一个简单的边缘发光的效果。
人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..
相机可以生成深度和深度法线纹理,以及运动向量纹理(需要Unity5.4以上)。我们可以使用这些纹理来实现屏幕后处理效果。
当你需要某种纹理的时候,可以为Camera的depthTextureMode添...
Shader &Custom/BasicRimShader001&
Properties{
_MainColor(&MainColor&,color) = (0.5,0.5,...
Shader &Custom/SurfaceRimShaderNew&{
Properties{
_MainColor(&_MainColor &,color) =
使用很简单:主相机上挂上HighlightingRenderer插件在有高亮需求的物体身上挂上如下截图中的任意一个均可
FR:海涛高软(QQ技术群:)
他的最新文章
讲师:汪剑
讲师:陈守元
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)&鍔犺浇涓}

我要回帖

更多关于 sublime jsx 高亮插件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信