基于Vuforia SDK开发的AR家居装修系统设计与开发

2020-08-19 06:47张国梅
电脑知识与技术 2020年19期
关键词:脚本漫游家居

摘要:运用AR技术结合3D建模技术在家居装修领域的应用的设计开发,提升用户在家居装修后的真实感受,提升对设计公司满意度。该文将重点介绍运用虚拟技术实现家居装修不同风格的更换以及装修后在室内漫游的技术要点。

关键词:AR技术;3D建模;交互;漫游

中图分类号:TP311文献标识码:A

文章编号:1009-3044(2020)19-0080-02

开放科学(资源服务)标识码(OSID):

1 引言

近些年,虚拟现实技术在建筑、家居装修设计等领域得到广泛的应用。结合现阶段建筑装饰装修领域现状及问题,运用AR技术和3D建模技术相结合,装修效果更直观真实,设计师根据客户的要求,结合自己的设计将室内布局的最终效果构建出“虚拟”的房子,可以从虚拟空间中走动参观整个房屋的装修情况,有更直观鲜明的感受。这种技术应用到家居装修可有效地节省与客户沟通设计的时间,感受装修风格更直观鲜明,拓宽装饰装修行业的发展模式,促进服务源与社会经济产能的高效转化。

2 AR家居装修设计的优点

2.1视觉感观效果更全面真实

相对传统的家居装修设计,只能展示设计效果,而通过AR技术的方式,可以置身于室内,直观感受装修后真实的效果,也可以随着新的想法随时更换不同的风格,提供更多的选择。

2.2 降低设计成本

AR技术能有效地提升产品的使用效率,根据需求进行设计的同时,也能节省设计开发的成本,节省用户的时间成本,用户只需要一部手机或平板,即可感受装修后的效果,不必亲自去设计公司挑选样式。

2.3 有助于提升公司品牌效应

基于互联网多元化的推广,抖音视频、官网推荐、快手营销、公众号精准推广,让大众有更多的渠道了解家居装修效果,扩大用户群体,提升品牌效应,带动更多的经济效益。

3 设计思路

基于AR技术的三维仿真漫游系统的开发方法,以虚拟家装房间为场景,实现行走漫游、自动漫游、家具交互功能等三大功能模块。如图1所示:

AR交互式家装的实现部分三大模块:数据的采集、3dsmax建模和AR交互两部分。

数据采集:一般是由客户提供房型图。主要是用来制作CAD图,这样才能严谨地进行比例上的调整,如果凭感觉来创建模型,可能会出现模型比例不对,变形等问题。

模型创建:由设计者根据客户提供的户型图,使用3dsmax或MAYA进行建模,主要是Polygon建模技术、材质、uvw贴图技术等模块进行研究。

AR引擎交互部分,将对unity引擎的场景搭建、材质贴图、力学效果、灯光等技术以及代码编写进行研究。

交互功能:用户可以使用手柄操作对场景中的家具进行交互。

客厅布局更换:用户可通过选项更换不同的地板瓷砖、墙体装饰、电视背景、电视、沙发、餐桌、餐椅等各种家具,并根据自己的喜好摆放到合适的位置。

厨房布局更换:用户可更换不同的灶台、厨具、洗菜盆、沙龙头等内容。

卧室布局更换:用户可根据自己的喜好,通過选项更换墙纸或地板,选择衣橱、床体、梳妆台的款式以及不同的摆放位置。

卫生间布局更换:用户可通过选项更换洗手台、搁物架等款式。

开关灯:用户可选择白天模式(自然光)或晚上模式(聚光灯或点光)来观看整体的效果。

这是本文研究的重点部分,是开发成败的关键技术点。

导出形式:一种是导出Windows应用,主要应用于Win-dows PC主机。另一种是Android APK的导出,应用于Android系统的手机和pad,本文主要阐述手机端的输出。

4 AR交互的关键技术

导人CAD图到3D MAX进行模型的精准创建,并对室内客厅、卧室、厨房和卫生间等装潢进行初步设计,即是纹理贴图材料部分。设置好灯光环境效果,对模型进行烘焙,将其导出为FBX格式。

在unity中创建新项目,将FBX格式的家居室内模型导入到新项目中,并制成预制体。导出场景模型数据包,这里需要注意的是,室内模型中门是不需要的,需删除。

UI设计,再次新建项目,调出Build Settings面板,添加当前场景到Scenes In Build,然后将项目模式转换成Android平台。(将平台切换为Android,是因为本案例最终是导出AndroidAPK,所以在Android环境下编辑项目,这样会减少一些错误。

创建一个UI画布Canvas,设置参数,作用于屏幕自适应。并在Canvas控件下创建一个Panel控件,添加控件按钮,主要是运用于屏幕上不同区域之间进行切换。

核心功能之C#实现按钮交互。在面板中,不同UI窗口之间都有逻辑关系,所以需要写代码进行编写逻辑程序,将各个UI空间和UI窗口的关系连起来。在Project视窗创建一个文件夹,命名为“Scripts”,作为存放项目脚本的文件夹。在Scripts文件下分别创建三个脚本,命名为“ItemWindow”、“InDoorWin-dow”和“InforWindow”,这三个脚本分别挂载到对应Item_Btn、InDoorItem_Btn和InforWindow_img三个窗口,然后将对应的脚本赋予对应的窗口下。其中编译InforWindow的脚本如下:

using System.Collections;

using System.Collections.Generic;

using UnityEgnine;

public class Inforwindow:MonoBehaviour

{

public Gameobjectltem_btn;

private CanvasGroupcanvasGroup;

void Start()

if (Item_Btn!=null)

canvasGroup= Item_Btn.GetComponent0;

//获取CanvasGroup组件

gameobjec:t.SetActive(flase);

public void ExitBtn0

{

canvasCroup.blocksRaycasts= true; //允許Item_Btn窗口的交互

gameobj ect.SetActive(false);}}

Vuforia与UI间交互。分别将“EvermotionBuild.unitypack-age”和“IndoorModel. unitypackage”两个场景数据包导入场景中,登录Vuforia平台管理,创建Key和上传识别图,网络识别后下载识图数据包,导人并分别创建AR Camera和ImageTarget,然后删除原来的主摄像机Main Camera。(创建2个Vuforia对象后,必须设置Vuforia项目设置)分别将选择UI窗口“Item Btn”和“InDoorItem_Btn”,然后将对应脚本的参数设置参数,然后在更改类名public class AREstateTrackableEventHandler :MonoBehaviour.ITrackableEventHandler。接下来,进行识别卡片和丢失识别代码方法的修改名主要修改OnTrackingFound和OnTrackingLost两个方法,修改逻辑。选择场景上的ImageTar-get对象,移除原来的DefaultTrackableEventHandler脚本,然后重新将AREstateTrackableEventHandler.cs脚本挂载到Image-Target对象上,然后赋予该脚本参数对象。当扫描识别图后,UI控件和模型之间的交互已经开发完了。

使用手机陀螺仪模拟场景漫游功能。手机模拟场景漫游其实在Unity当中,相当多人选择使用插件的方式来制作虚拟摇杆,进行角色移动的控制。可是该虚拟摇杆预制体是有限制的,只能前后左右,镜头不跟随转向,所以我们可以使用手机自带的陀螺仪作为镜头转向的功能。将预制体室内效果模型拖人到场景中,然后重置一下Transform参数。删除主摄像机,添加第一人称预制体FPSController,修改脚本代码,将将FPSCon-troller的转向修改成摄像机的方向。使用虚拟摇杆进行控制人物走向以浏览整个室内的效果。最后导出到Android安卓系统的格式APK,以便用户可以在手机端也能进行虚拟浏览。

5 结束语

AR技术结合3D建模技术在室设计领域的运用,对客户还是设计公司都带来极大的便利。对客户来说,利用AR技术将图纸真实化,对装修效果感受更直观真实,提升了满意度;对设计公司而言,节省成本提高效率,提高行业利润的同时也能提高品牌知名度。因而这种模式的改进将在家居装修中有比较好的市场前景。

参考文献:

[1]温子粲,刘萤.基于Unity3D引擎的VR用户交互设计与实现[J].信息与电脑(理论版),2020(3):60-61,64.

[2]何佳蕴,张艳菲.基于增强现实技术与3D建模技术的创新型室内设计平台的构建研究[J].建材与装饰,2020(9):65-66.

[3]宣雨松.Unity 3D游戏开发[M].北京:人民邮电出版社,2012.

[4]吴哲夫,陈滨.Unity 3D增强现实开发实战[M].北京:人民邮电出版社,2019.

【通联编辑:闻翔军】

收稿日期:2020-03-16

基金项目:校本研究项目“基于虚拟现实技术课程实践教学创新机制探讨”(项目编号:2019KY005)

作者简介:张国梅(1979-),女,广东广州人,硕士,研究方向为虚拟技术、新媒体技术及应用、游戏开发。

猜你喜欢
脚本漫游家居
酒驾
打造日常家居“氛围感”
数据库系统shell脚本应用
快乐假期
NASA漫游记
边走边看:漫游海底 梦想成真
《数码家居》2009年下半年推荐榜