unity--Shader实现LOL幽灵船长皮肤效果

105 篇文章 23 订阅
65 篇文章 4 订阅

LOL中船长有一款叫做幽灵船长的皮肤,相信大家应该都知道,虽然不是什么好看的皮肤,没什么特效,但是还是有点意思的。我们都知道游戏中的换装无非就是换模型,换材质,换网格这几个套路。那么在untiy当中我们应该怎么做才能有像幽灵船长这样的效果呢?其实我们只需要编写一个Shader脚本,就能实现这样类似的效果。在这里我分享下我的做法。先上效果图。

哈哈,这是幽灵拉克丝,不是幽灵船长。效果差不多了,不要在意这些细节。那么这是怎么做的?其实也是很简单的。不会很难。接下来我们来看看具体怎么做。点击链接加入群聊【unity/cocos交流二群】

首先我们咋一看是不是有点像在医院拍的X光的片子?那么这个效果我们也可以叫它X光效果。可以看出中间颜色比较深,边缘颜色比较浅,其实这就是利用法线与视线的向量点乘来进行计算的,其余细节接下来再说,然后根据这个点乘值进行着色。最终呈现出来。这边先上Shader代码:

OK,代码就在上面了,关键点注释已经标注,其他的都是正常操作,这里需要说一个点,就是我们想要的是幽灵的效果/X光的效果,那么很明显它是输出颜色的。所以我们最终需要返回COLOR,然后还有一个就是我们需要进行颜色的混合,打开混合模式。同时深写模式要关掉。这样的话,效果才会更好。至于幽灵的效果程度,我们可以通过调节参数来实现。慢慢试下就可以达到自己想要的效果了。关于是如何通过视线与法线的点成来得到中间颜色深,边缘颜色浅的这个效果要说一下。点成dot = |A向量| * |B向量| * COS& ,当两个向量的模都为1时,正好点成dot = cos&了,所有我们就可以根据这个值,得到一个数,这个数字再和颜色值相乘,就能得到不同的颜色值了。这样就能达到我们想要的效果。好了,本次的分享就到这里了。不喜勿喷哦!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值