张姣姣 司占军 刘颖
摘要:该设计是基于Intel RealSense 的物品展示系统的研究与实现,这里的展示系统主要是展示汽车模型的外观,内部结构,汽车和汽车展厅形成一个三维空间并且汽车和汽车展厅都是动态的,通过手部的动作来实现基本的控制,包括打开车门观看车内的结构,让你有一种身临其境的感觉,感觉真实地站在展厅里面欣赏汽车。
关键词:感知计算;Intel RealSense技术;人机交互;展示系统
中图分类号:TP23 文献标识码:A 文章编号:1009-3044(2018)15-0109-00
随着计算机网络的迅猛发展和便携式智能设备的疯狂增长,人们对既繁琐又传统的人机交互形式已经不再满足。人机交互的方式已经由传统的一些图形用户界面、键盘鼠标等输入输出设备的交互形式[1],慢慢发展到屏幕触摸、语音识别控制、姿势追踪、生物及动作的识别等更加直观、人性化的交互形式。Intel Realsense技术的研究以及出现,很大程度上缩短了人与电脑间的距离[2],让用户和人机互动的渴望得到满足,并且使用户和人机交互感觉更加真实。该设计是根据现在市场上最新的体感技术来实现物品的展示系统,需要展示的物品是汽车。首先展示系统是通过手势的捕捉来控制物品的展示,在交互过程中可以通过体感技术来获取物品展示系统想要传达的信息,对想要展示的系统包括展示的物品有一个很深刻的印象,在获取展示系统的和展示物品信息的过程中,还可以从里面获取很多乐趣。
1 开发环境与软件
电脑配置:第四代英特尔处理器或更高版本,8G可用内存,USB3.0接口。IntelRealsense 3D camera(SR300) 范围:0.2—1.2 米,室内和间接阳光照射;景深/IR:640x480 分辨率 (60 FPS);彩色摄像头:高达 1080p (30 FPS),720p (60 FPS);景深摄像头:高达 640x480 60 FPS(快速 VGA,VGA),HVGA 110 FPS;IR 摄像头:高达 640x480 200 FPS;主板接口:USB 3.0, 5V, GND;所需操作系统:Microsoft Windows* 10 64 位 RTM;语言:C++, C#, Visual Basic*, Java*, JavaScript*
系统要求:Windows8.1或者以上版本,64位,Microsoft.NET 4.0或者更高的统一游戏开发处理框架。
2 设计思路及流程图
首先收集相关素材,然后在Autodesk 3ds Max中创建模型,并分别在Photoshop和Unity中进行外观设计以及编程设计,并撰写代码,实现手势控制等交互功能,最终发布测试。设计思路及流程图如图1所示。
3 设计与实现
3.1 前期素材准备
物品展示系统是一个综合的场景,前期的材料收集必不可少,所需要的素材有汽车和汽车展厅的纹理贴图,展示系统的背景音乐,还有所需要做的汽车模型的具体参数。与物品展示系统还有Intel Realsense技术相关的视频。
3.2 创建模型
构建需要展示的物品展示系统的模型需要两部分,第一部分是需要展示的汽车的模型,第二部分是放置汽车的汽车展厅。
汽车三维模型的制作。在这里采用的是用三视图的方法制作汽车模型,首先创建一个平面,并创建一个材质球,选择位图贴图,将汽车的平面图形赋予所创建的平面。然后复制这个平面,复制三份,并将剩下的视图按照相同的方法贴给三个平面,接下来使用旋转工具三视图调整到正确的角度。放置好三视图之后,将窗口切换到左视图。然后在右边的编辑器界面选择创建点击图形,选择线工具,然后用线勾勒出车身的基本结构,形成一个封闭的曲线平面,接下来对面执行挤出的命令,回到透视图,将平面挤出一半。再回到顶视图按住alt+x将模型编程半透明状态然后将模型调整到和车身一样的宽度。再回到透视图,将模型转化为可编辑多边形,选择点,将所有的点连接起来,并进行调整,创建出汽车的基本模型,如图2为汽车模型的制作過程图。
汽车展厅的制作。首先在3DMAX中建立一个长方体,或者其他3D模型也可以,将建设好的长方体转化成为可编辑多边形[3],在3DMAX中如果想对一个模型进行编辑一定要将模型转化成为可编辑多边形才可以多模型的点、线、面进行编辑,建设好模型后,我们通过对正繁体的加线减线,挤出,倒角等多个功能做出我们所需要的模型的基本形状,在经过更加细致的微调打到我们所需要的效果。然后对展厅的内部进行建模,将搜集到的素材导入到所建的展厅中,放置到事先设想好的位置。最后对其进行贴图,并添加灯光效果即可完成[4]。
3.3 展示系统交互功能的实现
首先配置环境,为电脑安装SDK。该程序具有提供脚本语言和SDK的深度开发能力,从而实现对用户定制的制作工具的创建和无缝化集成。然后,在电脑程序中找到SDK的程序之后,连接Intel RealSense摄像头,并调试摄像头让其运行。
然后将准备好的模型及素材导入Unity。首先将导入的模型拖拽到hierarchy窗口中形成预制件,这时模型就会在sense窗口显示;然后将导入的模型拖拽到hierarchy,并在sense窗口里面将模型摆放到需要的位置,在右侧Inspector的Transfom中进行细微的调整,调整到自己需要的位置,然后进行比例的调整,让汽车和展厅以合适的比例在sense场景中显示,然后在game窗口中观察物体的位置,进行再一步的调整,运行程序在game中观看展厅和汽车的比例,位置,如果不满意再进行微调。接下来就是给模型设置手势,赋脚本。模型需要实现的功能有移动,缩放,旋转;其次,设置手势实现上述的功能,以旋转为例,首先新建一个GameObject,将编写好的旋转物体的代码脚本直接拖拽给GameObject,这时GameObject脚本选项上面会有一个Traget选项,这是我们就将汽车模型拖拽给Traget,然后我们给GameObject赋予三个sendmessage,通过三个sendmessage分别来控制时间的开始,追踪,结束,并在第一个sendmessage上选择需要的手势和需要触发的事件,如图3所示。其余功能与上述步骤相似,在这里就不一一赘述了。
3.4 测试与发布
点击运行进行测试与完善。然后进行发布,点击工具栏中File里面的Build Setting,点击下面的Add Open Sense,系统会自动将你所做的场景添加到Sense In Build中,然后在下面的Platfrom中选择第二个选项,将我们所做的程序发布到PC端。点击Build发布完成。
4 总结
该设计基于IntelRealsense技术开发出一款物品展示系统,该展示系统主要展示了汽车各个功能场景,通过该系统可以直观的体验到汽车的性能、外观,实现镜头的拉近拉远、视角切换等功能。将做好的汽车模型放在建设好的展厅当中,利用IntelRealsense技术实现物品的展示,该系统通过手势控制来展示汽车的旋转,缩放,移动,打开车门观看汽车的内部结构,通过手势,让客户能更加直观的观看汽车,了解到汽车的外形,性能。
参考文献:
[1] 李玮. 基于热释电红外感知的机器人遥控人机交互界面[D]. 广州: 中山大学, 2010.
[2] 李香, 张超, 王鹏, 等. 计算机数字技术对平面设计的影响探索[J]. 信息通信, 2014(2): 140-140.
[3] 乔戈. 室内设计中的3Dmax建模技巧探析[J]. 艺术研究, 2017(2): 176-177.
[4] 黄科进. 基于Virtools的汽车模拟驾训系统的设计与开发[D]. 成都: 四川师范大学, 2010.