基于Unity3D的三维虚拟电脑组装实验系统
图19 可拖动视图的制作流程
4.5 硬件展示场景的实现
硬件展示场景主要也是基于NGUI的Draggable Panel来实现。不同之处在于添加了计算机部件的加载和对模型的旋转控制。完成的场景如图20
图20 硬件展示场景
第16页
基于Unity3D的三维虚拟电脑组装实验系统
左侧可拖动的每一个元素都是一个按钮,脚本Show Components控制发生点击事件时显示哪一个具体模型。模型上绑定了脚本Spin With Mouse,用来控制模型跟随鼠标旋转。关系图如图21所示:
图21 硬件展示脚本关系图
4.6 教程演示场景的实现
教程演示场景主要用到的时候Unity的视频播放技术。在Unity中,外部导入的视频是以电影贴图(Movie Texture)的形式存在的。官方的文件介绍说,Unity支持AVI、MP4、FLV、OGG等多种视频格式,只要将视频文件导入Unity工程中,Unity就会自动识别视频格式文件并把它装成Movie Texture。但是在实际操作过程中,我发现只有OGG格式的视频文件才能被Unity识别,然后进行转换。播放和暂停视频播放的C#代码如图22下:
图22 控制视频播放的代码
第17页
基于Unity3D的三维虚拟电脑组装实验系统
场景完成后的效果如图23所示:
图23 教程演示场景
4.7 帮助界面的实现
帮助界面其实并非一个新的场景。在UI系统中,可以事先做好多个窗口,然后通过响应用户的点击事件来显示和隐藏某些窗口,就可以实现一个场景内不同菜单之间的跳转。 帮助窗口主要提供给用户一些如何操作系统的文字信息,用动态字体和UILabel制作就行了。效果图如图24所示:
第18页
基于Unity3D的三维虚拟电脑组装实验系统
图24 帮助界面效果图
4.8 虚拟装机界面的实现
虚拟装机场景是本系统的核心部分。实验者将在这个场景里进行和虚拟物体进行交互的
体验,完成组装台式电脑的实验。
搭建一个虚拟的装机场景。按照本文前面讲到的从外不导入3DS Max制作的模型到Unity,Unity会自动生成材质球。指定好材质后,还需要为场景添加灯光,由于是室内场景,所以主要以点灯光为主。场景效果图如图25所示:
第19页