Unity制作AR模型动画

首先看效果吧


AR_马走路动画

模型动画的前期制作步骤跟《Unity制作AR图片和视频展示》里面的做法一致,包括从vuforia官网得到license key和识别图的Unitypackage包,并且导入到Unity中,下面讲一些不一样的做法。

1:设置好ARCamera和ImageTarget后,将带有动画的马的模型导入到unity中,格式为fbx(也可以直接导入maya的ma和mb格式,Unity软件会自动打开一个maya的窗口,并且将文件自动转换成fbx的文件),导入正确是能够在unity的预览窗口中预览动画的


Unity制作AR模型动画_第1张图片

2:导入正确后,马只能走一个有限的时间,要让动画一致循环走下去,首先我在maya里面就把这个马的动画调成了一个可循环走动的,有了这个基础,在unity中,选择马的文件,进入到Animation选项下面,勾选上Loop Time 和Loop Pose,这样,马就循环“走”下去


Unity制作AR模型动画_第2张图片

3:设置好之后,运行,发现马根本就不动,没有动画,这是因为没有将马的这个走路的动画设置为它的默认状态,在Assets窗口中,右键,选择create-Animation Controller,为改物体创建一个动画控制器


Unity制作AR模型动画_第3张图片

4:选择创建的这个Animation Controller,双击就能打开Animator的窗口,将Assets中的马的文件拖入到这个Animator窗口中,并选择Entry浮窗,右键,选择Set StateMachineDefaultState,弹出的白色链接线,连接到马的文件上,点击运行,马就能无限“运动”了



Unity制作AR模型动画_第4张图片

5:做好了动画,接下来为这个场景添加阴影,首先新建一个Directional Light,开启它的阴影开光,然后新建一个plane(这都是基础的操作,百度有讲解),然后将这个plane也放到ImageTarget层级下,运行,这样就能看到马在这个Plane上面无限“行走”。


Unity制作AR模型动画_第5张图片

6:但是,参考视频中可以看到,我们只需要阴影,而要这个plane透明,看不到它,这里就需要给这个Plane新建一个shader,所以,在Assets窗口中,新建一个shader,再新建一个material材质球,将这个shader赋予这个material材质球,再将这个material材质球赋予Plane模型


Unity制作AR模型动画_第6张图片


Unity制作AR模型动画_第7张图片

7:双击刚才新建的shaer,在MonoDevelop编辑器或者vs中输入一下代码:

Shader "NewSurfaceShader(这里的名字要跟你在Assets窗口中,给这个shader命名一样)" {

Properties{

_Color("Main Color", Color) = (1,1,1,1)

_MainTex("Base (RGB) Trans (A)", 2D) = "white" {}

_Cutoff("Alpha cutoff", Range(0,1)) = 0.5

}

SubShader{

Tags{ "Queue" = "AlphaTest" "IgnoreProjector" = "True" "RenderType" = "TransparentCutout" }

LOD 200

Blend Zero SrcColor

CGPROGRAM

#pragma surface surf ShadowOnly alphatest:_Cutoff

fixed4 _Color;

struct Input {

float2 uv_MainTex;

};

inline fixed4 LightingShadowOnly(SurfaceOutput s, fixed3 lightDir, fixed atten)

{

fixed4 c;

c.rgb = s.Albedo*atten;

c.a = s.Alpha;

return c;

}

void surf(Input IN, inout SurfaceOutput o)

{

fixed4 c = _Color;

o.Albedo = c.rgb;

o.Alpha = 1;

}

ENDCG

}

Fallback "Transparent/Cutout/VertexLit"

}

8:最后,运行,即可得到正确的透明的但是能接受阴影的Plane,就像参考视频中的那样。

                                                       教程完!

你可能感兴趣的:(Unity制作AR模型动画)