UnitY实用小工具或脚本——AR阴影以及遮挡

CSDN个人博客地址凯尔八阿哥专栏http://blog.csdn.net/zhangxiao13627093203,和蛮牛同步发表。
首先要说一下问题:+高通Vuforia实现增强现实的应用时候,是不能现实出阴影的。参考了网上的一个帖子做的非常好,而且实现步骤写的也非常详http://dev.arinchina.com/unity3dwz/ar6298/6298/
,如果没有注册这个网站的可以点作者的个人博客:http://mec0825.net/blog/?p=126
而我接下来要将的还有一个要实现的效果也是基于这个例子的启发的灵感,首先还是一样描述一下问题:效果图如图

实现的效果就是一个龙从墙上(标志点Mark是一个画有龙背景),喷火而出。这当然是最终的效果啦,刚开始的时候是这样的

前面上出现了后面的龙的翅膀,如果要做到真实的感觉是,龙从墙里面钻出来,而不是从墙板上充气式的浮起来了,所以应该把这两个翅膀给遮住,另外后面的贴图也不能被侧面看到,而只能通过这个破铜看到才有立体的效果,因为背景只是一个贴图,从侧面你看的话就成了一个片。
这样就要有四个透明的Mask遮罩遮住后面的场景,而保障只能通过这个破洞看到后面的场景。

上下左右添加一个Plane然后给每一个Plane赋给如下一段Shader的材质就可以了

//一个Shader有多个SubShader。一个SubShader可理解为一个Shader的一个渲染方案
SubShader {
// "Queue"标签。定义渲染顺序 ,用户可以定义任意值,"Geometry"。值为2000。大部分物体在这个队列 .比如"Queue"="Geometry - 10"
Tags {"Queue" = "Geometry-10" }  
// Lighting On | Off 打开|关闭顶点光照.
Lighting Off
//ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual) 设置深度检测模式.见【 Cull and Depth page 】
ZTest LEqual
//ZWrite On | Off 设置深度写模式.见【 Cull and Depth page 】
ZWrite On
// ColorMask RGB | A | 0 | any combinaion of R,G,B,A 设置颜色写入mask, 0,表示关闭所有颜色通道写入.见【Material page】
ColorMask 0
//subshader中包含了一个通道(Pass)
Pass {}
}
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,545评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,216评论 4 61
  • 我所在的学校同学们还是比较爱学习的。你早上7点钟去基本上已经没有位置了。如果你有幸看到早上图书馆刚开门的情景,你肯...
    一只特立独行的大象阅读 7,156评论 2 3
  • 本人自十几岁就护校毕业,在中国、新加坡及澳洲都工作,并继续在澳洲护士工作岗位上工作十几年了。要问护士是怎样的一...
    Salus阅读 1,833评论 0 0