好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

智能家居虚拟场景设计与实现.docx

14页
  • 卖家[上传人]:I***
  • 文档编号:225109072
  • 上传时间:2021-12-16
  • 文档格式:DOCX
  • 文档大小:33.32KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 智能家居虚拟场景设计与实现 陈博+付蔚+薛震+洪洋摘 要:面向智能家居应用,以Unity 3D为虚拟现实开发平台,给出了用虚拟智能化家庭场景实现虚拟场景家电设备及环境监测设备的模型设计平台中的虚拟人可以在虚拟场景中自由漫游,并且通过虚拟人手中的终端设备,实时家电控制并获得环境监测设备的实时数据,使得家庭控制更加生动形象,实现虚拟与现实的融合虚拟场景的设计有助于智能家居的宣传、培训和展示,同时让用户通过远程操作,也可以体验到真实的智能家居系统,零距离展示智能家居实验室的科研成果关键词:智能家居;Unity 3D;虚拟现实;虚拟人:TP319.9 :A :2095-1302(2014)03-0066-040 引 言随着“物联网”技术的飞速发展和信息时代的到来,智能家居作为物联网技术的一个实际运用,将成为未来二十年内一个新的经济增长[1]虚拟现实技术近几年越来越受到各行各业的关注,已开始从实验室走向研究项目走向实际的应用,在军事、航天、建筑设计、旅游、医疗和文化娱乐及教育方面已有不少应用[2]虚拟现实技术让用户可以对虚拟世界进行体验和交互作用,体验到二维动画所不具备的现场沉浸感[3]Unity 3D作为一款新兴的多平台游戏开发软件,能够实时地处理场景中的各种模型[4]。

      本文主要是通过Unity 3D技术创建一种全新的智能家居虚拟场景,实现了虚拟与现实的融合虚拟场景改变了以前智能家居系统二维的人机交互界面,通过三维场景,非常容易便捷地控制虚拟设备和真实设备,增加了用户的交互性虚拟场景的设计有助于智能家居的培训和展示,让用户通过远程操作也可以体验到真实的智能家居系统2 系统整体结构虚拟场景中的模型通过3D Max 2012完成建模和贴图用户可以在场景中通过鼠标和键盘自由移动和操作虚拟人,实现在场景中自由漫游,然后通过点击平板电脑,出现的交互式界面可以控制虚拟场景中灯光、风扇、空调和电视等家电设备也能够看到虚拟场景中各种传感器的值,达到场景监控的目的通过网络编程可以实现虚拟和现实的交互,Socket套接字发送智能家居实验室自主研发的协议到服务器,能够实现真实设备控制,并接收到真实传感器发回给虚拟场景中各种传感器的值,真正实现虚拟和现实的融合智能家居虚拟场景的总体设计思路如图1所示图1 总体设计思路从图1中可以看出,第一步就是对智能家居系统中各种模型数据采集,通过3D建模软件建立需要的模型,将贴图附着到建立好的模型上面,使模型更加具有真实感人机交互设计是本系统的核心与难点,通过脚本的编写,完成控制界面的设计。

      用户通过发送消息指令,通过编程实现消息的捕捉,Unity 3D中通过对主摄像机的控制,实现虚拟场景中的漫游3 三维模型的构建智能家居室内设计是虚拟场景中的主体部分,室内的建模主要运用的是形体构造表示的原理,使用建模工具3D Max 2012版从形状和结构上对家居室内部进行模拟设计室内设计的实现方案是根据室内设计规划方案,逐步分解和拆分为容易构造的简单模型,之后进行相交集合运算形成复杂的各种模型,同时采用材质纹理映射等辅助技术手段,以增加模型的真实感[5]其具体步骤如下[6]:(1)获得建模数据;(2)确定模型的层次结构;(3)进行可视建模过程;(4)去除冗余多边形;(5)使用纹理映射通过上述的建模步骤能够得到如图2所示的智能家居室内的各种模型,包括家具、家电、传感器等模型通过把建好的模型导出为.FBX文件格式,然后在Unity 3D中导入建好的模型图2 3DMax建立的模型4 虚拟场景控制与交互4.1 风扇和空调的控制要控制风扇和空调,首先我们得了解transform这个类,然后再通过旋转函数Rotate控制旋转的速度调整虚拟场景中的风扇模型和空调模型,首先调整好风扇扇叶和空调扇叶的x,y,z的坐标,方便调整扇叶旋转的方向:transform.Rotate(Vector3.down*30,Space.Self);//通过旋转扇叶来控制电扇i.Rotate(Vector3.right*40*Time.deltaTime);//通过控制空调扇叶来控制空调4.2 灯光的控制灯光的控制首先要在灯光模型上面添加一个点光源point light,然后对这个点光源的属性进行修改,一般都是修改光照的范围、光照强度和颜色这几个属性,最后所编的C#脚本语言如下:public void SetLightState(bool state){if(state){light.enabled=true;//使灯开}else{light.enabled=false;//使灯关}}4.3 电视控制要实现电视的实时播放,首先要将视频源拷贝到Assets文件夹里面,然后确保拷进来的视频源能够被U3D播放出来。

      一般将视频源附着到一个新建的平面上,然后通过增加这个物体的Material材质,并且将Movie视频文件给贴图,开始时画面是黑色,视频启动之后画面变成白色,就能正常播放视频文件了[7]最后的代码如下:void Start () {//将视频附给添加的材质renderer.material.mainTexture=mMovie; //让视频可以循环播放mMovie.loop=true;}void Update () {}public void OPenTV(){//视频播放时材质为白色renderer.material.color=Color.white;mMovie.Play();//播放视频}public void CloseTV(){//视频关闭时材质为白色renderer.material.color=Color.black;mMovie.Stop();//关闭视频}4.4 人机交互Unity 3D展示模型时,用户通过人机交互界面,即可以控制场景中的各种家电设备,也可以实时监测家里面各种传感器的值通过交互式展示智能家居中的各种设备,让用户对我们的系统有更加深入的了解,方便推广整个智能家居系统。

      创建完成之后的交互界面如图3所示,下面就是创建交互界面代码(里面通过Socket套接字实现虚拟与现实的实时控制):void ControlFace(){//定义变量int off=100,height=30,wide=150;//初始化边框Rect r = new Rect(off, 0, wide, height);//制作IP地址的文本框mIP=GUI.TextArea(r,mIP);r.x += wide;//制作端口号的文本框mPort=GUI.TextArea(r,mPort);//接收新的IP地址mSocket.mIPSend=mIP;//接收新的端口号mSocket.mPort=mPort;r.x=off;r.y += height;if(GUI.Button(r,"开灯"))// button{//获得灯的组件,控制虚拟场景中的灯光lightcontroll=mLight.GetComponent();// 控制虚拟场景中的灯光l.SetLightState(true);// 套接字控制真实场景中的灯光 mSocketChangeLightState(true);}//其他的按键同开灯一样}图3 人机交互界面5 虚拟场景漫游本文漫游的具体实现过程是将主摄像机附着在虚拟人上,可以通过第一视角来达到漫游的目的,通过鼠标左键来改变视角,鼠标的滚轮来控制视角的远近。

      虚拟人主要是通过插件导入到场景中去,我们对虚拟人进行动作的设计,主要有走、跑、跳和空闲等几个基本的动作,要达到漫游的目的这几个动作完全能够实现具体漫游如图4和图5所示虚拟漫游代码如下:void Update () {//定义物体的坐标transform.position=mFollowTrans.position;//按下左键if(Input.GetMouseButton(1)) {//x轴上旋转transform.Rotate(Vector3.up*Input.GetAxis("Mouse X")*mRotSpeed,Space.World);transform.Rotate(Vector3.left*Input.GetAxis("Mouse Y")*mRotSpeed);//y轴上面旋转 }float f=Input.GetAxis("Mouse ScrollWheel");mCamera.localPosition=new Vector3(0,mHight,-mDistance);mCamera.localRotation=Quaternion.identity;//前后距离的调整mDistance-=f;}图4 客厅场景图5 卧室场景这样就能够在虚拟场景中自由切换视角的左右和前后,虚拟人在虚拟场景中能够自由控制观察物体的角度,更加具有真实感和沉浸感。

      6 结 语本文简要描述了Unity 3D在室内漫游和人机交互设计中的强大功能,讨论了如何将建立完成的模型导入到Unity 3D建好的场景中来Unity 3D能够完成更多的场景设计,例如主摄像机、灯光、天空盒等场景中必备的物体实现了通过人机交互界面来控制虚拟场景中和现实生活中智能家居系统的各种设备,也能实时监控传感器的值,真正实现了虚拟与现实的结合随着客户要求的不断提升,使得我们整个智能家居系统必须做得更加完善因此我们的智能家居虚拟场景也应该做得更加有真实感和实时相结合,各方面的功能更加完善,交互界面更加友好相信虚拟场景将会成为展示智能家居系统的主要手段之一参 考 文 献[1]梅寒,田力威,邵一川. 基于Unity 3D的智能家居综合管理平台的研究与实现[J]. 沈阳大学学报,2013(8):303-306. [2]曲宝,赵娅,赵琦,等.基于Virtools的虚拟家居漫游系统的设计与实现[J].计算机工程与科学,2009(12):130-133.[3]干建松. 基于Unity 3D的室内漫游的关键技术研究[J]. 盐城工学院学报, 2011(12):56-59.[4]干建松. 基于Unity 3D的室内漫游仿真系统[J].淮阴师范学院学报,2011(12):515-518.[5]肖灵君,刘紫薇.基于3dsMax和Virtools的虚拟校园的开发和设计[J].科技信息,2009(12):199-200.[6]张荣华.几何建模技术在虚拟校园漫游系统开发中的应用[J].计算机工程与设计,2008,29(23).[7]黄杨,王洋,张姝娟,等. 基于Unity 3D 的数字站区管理应用系统虚拟现实场景制作研究[J]. 测绘与空间地理信息,2013(4):50-56.Design and implementation of virtual scene for smart homeCHEN Bo, FU Wei, XUE Zhen, HONG Yang(Chongqing University of Posts and Telecommunications, Chongqing 400065, China)Abstract: For smart home applications, and base on Unity 3D virtual platform, a model design of virtual sense househ。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.