找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 848|回复: 16

[Vuforia] 应用 Vuforia在Unity3d实现暗影 后果

[复制链接]

该用户从未签到

4

主题

19

帖子

25

积分

LV.1

Rank: 1

积分
25
QQ
发表于 2016-5-23 20:49:15 | 显示全部楼层 |阅读模式
先上后果图:

点击查看原图

点击查看原图

点击查看原图

点击查看原图

点击查看原图

点击查看原图




再上源码:
链接:>1. >将上面预备好的 Unity Package 导进到 Unity 中,设置 ARCamera 与 ImageTarget 中得参数。创立一个简略的 Cube 对象。留意不要忘却在 ARCamera 中设置 App License Key。

应用 Vuforia在Unity3d实现暗影 后果

应用
Vuforia在Unity3d实现暗影
后果

最后经由过程编译运行,我们就能看到成果了。

应用 Vuforia在Unity3d实现暗影 后果

应用
Vuforia在Unity3d实现暗影
后果



添加暗影

在 Unity 中我们凡是给物体添加暗影来增添真实感。

应用 Vuforia在Unity3d实现暗影 后果

应用
Vuforia在Unity3d实现暗影
后果

可是我们直接这么做的话会在画面中也看到一个白色的平面。所以我们须要一个透明的平面,但可以或许接受暗影。为了到达这个目标,我们须要一个自界说的着色器。
  1. Shader "FX/Matte Shadow" {
  2.    
  3. Properties {
  4.     _Color ("Main Color", Color) = (1,1,1,1)
  5.     _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
  6.     _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
  7. }
  8.    
  9. SubShader {
  10.    
  11.     Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
  12.     LOD 200
  13.     Blend Zero SrcColor
  14.    
  15. CGPROGRAM
  16.    
  17. #pragma su***
    ce surf ShadowOnly alphatest:_Cutoff
  18.    
  19. fixed4 _Color;
  20.    
  21. struct Input {
  22.     float2 uv_MainTex;
  23. };
  24.    
  25. inline fixed4 LightingShadowOnly (Su***
    ceOutput s, fixed3 lightDir, fixed atten)
  26. {
  27.     fixed4 c;
  28.     c.rgb = s.Albedo*atten;
  29.     c.a = s.Alpha;
  30.    
  31.     return c;
  32. }
  33.    
  34. void surf (Input IN, inout Su***
    ceOutput o)
  35. {
  36.    
  37.     fixed4 c = _Color;
  38.     o.Albedo = c.rgb;
  39.     o.Alpha = 1;
  40.    
  41. }
  42.    
  43. ENDCG
  44.    
  45. }
  46.    
  47. Fallback "Transparent/Cutout/VertexLit"
  48.    
  49. }
复制代码
应用 Matte Shadow 制造材质球,再将它拖拽到我们的平面上,就获得了我们期看的后果。留意假如没看到暗影的话,很可能是 Scale 或者 Project Quality 设置的题目。(假如不呈现暗影,将scale全体设置为1尝尝

应用 Vuforia在Unity3d实现暗影 后果

应用
Vuforia在Unity3d实现暗影
后果



从辨认对象中显现

要实现这个后果,我们须要应用 [Depth Shader](http://pan.baidu.com/s/1fLnFC)。道理是我们将应用一个透明但看不到内部的盒子将低于物料的物体暗藏起来。

应用 Vuforia在Unity3d实现暗影 后果

应用
Vuforia在Unity3d实现暗影
后果

在透明盒子上加上 DepthMask.shader,将 SetRenderQueue.cs 加在须要影躲的物体上。终极我们获得视频中的后果。

该用户从未签到

0

主题

5

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 10:43:26 | 显示全部楼层
路过,支持一下啦

该用户从未签到

0

主题

5

帖子

5

积分

LV.1

Rank: 1

积分
5
QQ
发表于 2016-5-24 11:52:35 | 显示全部楼层
过来看看的

该用户从未签到

0

主题

18

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 15:53:30 | 显示全部楼层
路过,支持一下啦

该用户从未签到

0

主题

10

帖子

10

积分

LV.1

Rank: 1

积分
10
QQ
发表于 2016-5-24 17:50:18 | 显示全部楼层
我是个凑数的。。。

该用户从未签到

0

主题

5

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 21:31:47 | 显示全部楼层
我是个凑数的。。。

该用户从未签到

0

主题

10

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2016-5-24 22:44:34 | 显示全部楼层
路过,学习下

该用户从未签到

0

主题

8

帖子

6

积分

LV.1

Rank: 1

积分
6
QQ
发表于 2016-9-15 04:40:58 | 显示全部楼层
看帖怎么能不会呢??

该用户从未签到

2

主题

18

帖子

6

积分

LV.1

Rank: 1

积分
6
发表于 2016-9-15 15:58:19 | 显示全部楼层
嗯,很不错的样子!!

该用户从未签到

0

主题

12

帖子

7

积分

LV.1

Rank: 1

积分
7
QQ
发表于 2016-9-15 16:30:18 | 显示全部楼层
竟然还有零回复,给我消失
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表