位置: 编程技术 - 正文

Unityshader实例02:Xray材质(unityshader怎么用)

编辑:rootadmin

推荐整理分享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版本代码效果:

Unityshader实例02:Xray材质(unityshader怎么用)

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里面的具体描述介绍,这是官方的东西。但我觉得有一部内容是错的,例如占用内存大小。

本文链接地址:https://www.jiuchutong.com/biancheng/369244.html 转载请保留说明!

上一篇:[置顶] Unity Editor Extensions – Handle 和Gizmos私人定制([置顶]游戏名 TentacleLocker)

下一篇:非常详细的测试unity与android之间的通讯操作(一直activity那块还是有问题,一直进不来android界面!)(详细测试就是全部测试)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络