摘要:随着社会的发展,VR虚拟技术的应用在市场和生活中得到不断应用,大多使用unity软件来编写VR程序, VR许多特效都可以使用动画机来实现复杂的特效,Unity 动画系统采用状态机,将每一个动画视为一个状态,根据用户的输入来改变状态机中的条件,利用该特定的条件来控制状态的切换,從而实现动画的改变,本文借宝箱动画的特效来讲述动画效果的使用。
关键字:VR;UNIYT;动画
中图分类号:G4 文献标识码:A
一、场景布置
1.打开Unity软件,在Project下新建一个Scene,命名为:AniChest。
2. 将资源文件夹下的模型资源chest拖入Hierachy面板中。
3. 右击Canvas,创建Image游戏对象.
4. 将按钮图片资源拖入Project面板中。
5. 将某个图片资源的TextureType修改为Sprite,并点击Apply。
6.选中Image游戏对象,将某个图片资源拖入Image组件的SourcesImage中
二、按钮动画
1. 选中Image游戏对象,选择Window菜单中的Animation,点击Create创建动画,动画文件名命名为AniImage.anim。
2. 点击动画面板左上角的红点开始录制动画。
3. 选中时间轴的0:30处(也可以选择其它你喜欢的位置)。
4. 将Image游戏对象的Width和Height修改为120和120,你也可以通过使用RectTool去调整UI的大小。
5. 观察时间轴下方出现表示生成了关键帧的菱形方块,按下左上角的红色按钮停止录制,停止录制后你可以拖拽时间轴,观察动画是否正确。
6. 关闭动画对画窗口,此时你可以观察到Unity已经为您自动生成了Animator组件,以及相应用的Animator Controller,此时你可以运行Unity,观察UI动画循环播放。
7. 双击打开Image游戏对象的AnimatorController。
8. 删除掉AniImage状态
9. 创建UIAni状态,将其与开始状态互联。
10. 选中UIAni状态,将之前创建的动画拖入该状态的Motion属性中。
11. 创建UIAni至默认状态的返回路径。
12. 创建两个Trigger类型参数play和back。
13. 将默认状态切换到UIAni的条件设置为play,而UIAni返回至默认状态的条件设置为back。
14. 双击UIAni状态,将Inspector面板中的LoopTime取消勾选。
15. 为Image游戏对象添加脚本UIAni.cs。
16. 打开脚本,添加命名空间:UnityEngine.EventSystem,并令UIAni实现接口,IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandler:(注意利用VS自动修复功能)
三、宝箱动画
1. 选中chest游戏对象的子物体Lid,并调出Animation菜单(也可按Ctrl+6)。
2. 打开左上角的菜单,选择Create New Clip,命名为AniChest.anim。
3. 点击动画录制的红色按钮,将时间轴拖拽到0:30处,旋转宝箱盖子至你想要的角度。
4. 再次点击红色按钮结束录制,之后可以拖拽时间轴观察动画效果是否满意。
5. 点击Unity的运行按钮,观察宝箱盖子是否正常打开。
6. 修改宝箱的状态机如下图所示,将动画拖拽至AniChest状态中。
7. 新建Trigger类型的参数open,并将从默认状态切换至AniChest状态的条件改为open。
8. 选中Lid游戏对象,创建脚本组件ChestAni。
9. 添加成员变量Animator ani,将动画控制器拖拽到该成员变量中。
10. 返回ChestAni脚本,添加以下成员函数,当该成员函数调用时,宝箱开启的动画被触发。
11. 返回UIAni脚本,添加成员变量ChestAnichestAni。
12. 将ChestAni脚本拖拽至UIAni脚本的chestAni成员变量中(直接将Lid游戏对象拖拽至chestAni成员变量中即可,因为UIAni挂载在Lid游戏对象上)
13. 修改OnPointerDown方法如下所示,在OnPointerClick方法中调用chestAni脚本的StartAnimation方法(两个脚本之间方法的调用)。
14. 测试点击Image是否可以打开宝箱。注意,如果宝箱反复打开,则需要取消宝箱打开动画的LoopTime选项的勾选。
结束语
随着VR技术发展,特效的增多,越来越多使用其中的动画机来实现特效,相信在不远的将来,能够有更多优秀的作品!
参考文献
[1] 李良志 . 虚拟现实技术及其应用探究 [J].中国科技纵横, 2019(3):30-31.
[2] 余璐,周超飞.论我国高等教育中的沉浸教学模式与实践 [J]. 河南社会科学,2012,20(6):78-80.
[3] 刘明 . 沉浸式虚拟现实技术的教育应用与挑战 [J]. 教育现代 化,2018,5(51):208-209.
[4] 王圣洁.虚拟现实技术在博物馆展示设计中的 应用研究江苏:江南大学,2018.
[5]陆颖隽.虚拟现实技术在数字图书馆的应用研究[D].湖北:武汉大学,2013.
[6]徐虎.虚拟现实技术在故宫博物院的应用[J]. 中国博物馆,2004(03):83-86.