位置: 编程技术 - 正文
推荐整理分享Unityshader实例02:Xray材质(unityshader怎么用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unityshader入门精要,unityshader怎么用,unity sample,unitysharder,unitysharder,unityshaderlab,unityshader怎么用,unitysharder,内容如对您有帮助,希望把文章链接给更多的朋友!
实现效果
需要实现的效果大概如下图所示
原理及思路
由图大概可知道X射线效果是中间很透明边缘比较亮的渐变效果,因此实现这种效果的话需要使用边缘光效果,可根据视角和物体表面的法线角度来实现,法线是垂直与物体表面的的,因此当法线与观察视线的角度越小,颜色就暗,而越靠近物体边缘法线与观察视线的角度就越大,颜色就越亮;
shader代码实现
VF版本代码:
VF版本代码效果:
VF版本代码:法线贴图VF版本代码效果:PS:fragment中使用了Unity定义在UnityCG.cginc中的函数UnpackNormal,下面是这个函数的原型,多了对移动平台RGB法线贴图的支持
Surf版本代码:
Surf版本代码效果:Surf版本代码:法线贴图
Surf版本代码效果:MatCap版本
关于MatCap原理解释可以参考这里和这里,利用一张正方形的贴图存储灯光信息,因此在这里也可以利用来制作XRay效果,前提需要用到一张类下面这样的的贴图:
MatCap版本VF代码
MatCap版本VF代码效果MatCap版本VF代码:法线贴图
MatCap版本VF代码效果:MatCap版本Surf代码:法线贴图
MatCap版本Surf代码效果非常详细的测试unity与android之间的通讯操作(一直activity那块还是有问题,一直进不来android界面!) 非常详细的测试unity与android之间的通讯操作转载自
Unity调用Android原生的震动(简单) 要在unity中调用Android系统的震动,需要一个Vibrator类,通过AndroidManifest.xml文件设置权限了如下:uses-permissionandroid:name=android.permission.VIBRATE/在这里先给贴
关于U3D贴图格式压缩 各种纹理式,大家参照下U3DMANUAL里面的具体描述介绍,这是官方的东西。但我觉得有一部内容是错的,例如占用内存大小。
标签: unityshader怎么用
本文链接地址:https://www.jiuchutong.com/biancheng/369244.html 转载请保留说明!上一篇:[置顶] Unity Editor Extensions – Handle 和Gizmos私人定制([置顶]游戏名 TentacleLocker)
下一篇:非常详细的测试unity与android之间的通讯操作(一直activity那块还是有问题,一直进不来android界面!)(详细测试就是全部测试)
友情链接: 武汉网站建设