当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:面向智能家居应用,以Unity3D为虚拟现实开发平台,给出了用虚拟智能化家庭场景实现虚拟场景家电设备及环境监测设备的模型设计。平台中的虚拟人可以在虚拟场景中自由漫游,并且通过虚拟人手中的终端设备,实时家电控制并获得环境监测设备的实时数据,使得家庭控制更加生动形象,实现虚拟与现实的融合。虚拟场景的设计有助于智能家居的宣传、培训和展示,同时让用户通过远程操作,也可以体验到真实的智能家居系统,零距离展示智能家居实验室的科研成果。

引言

随着“物联网”技术的飞速发展和信息时代的到来,智能家居作为物联网技术的一个实际运用,将成为未来二十年内一个新的经济增长[%虚拟现实技术近几年越来越受到各行各业的关注,已开始从实验室走向研究项目走向实际的应用,在军事、航天、建筑设计、旅游、医疗和文化娱乐及教育方面已有不少应用[气虚拟现实技术让用户可以对虚拟世界进行体验和交互作用,体验到二维动画所不具备的现场沉浸感叫

Unity3D作为一款新兴的多平台游戏开发软件,能够实时地处理场景中的各种模型叫本文主要是通过Unity3D技术创建一种全新的智能家居虚拟场景,实现了虚拟与现实的融合。虚拟场景改变了以前智能家居系统二维的人机交互界面,通过三维场景,非常容易便捷地控制虚拟设备和真实设备,增加了用户的交互性。虚拟场景的设计有助于智能家居的培训和展示,让用户通过远程操作也可以体验到真实的智能家居系统。

2系统整体结构

虚拟场景中的模型通过3DMax2012完成建模和贴图。用户可以在场景中通过鼠标和键盘自由移动和操作虚拟人,实现在场景中自由漫游,然后通过点击平板电脑,出现的交互式界面可以控制虚拟场景中灯光、风扇、空调和电视等家电设备。也能够看到虚拟场景中各种传感器的值,达到场景监控的目的。通过网络编程可以实现虚拟和现实的交互,Socket套接字发送智能家居实验室自主研发的协议到服务器,能够实现真实设备控制,并接收到真实传感器发回给虚拟场景中各种传感器的值,真正实现虚拟和现实的融合。智能家居虚拟场景的总体设计思路如图1所示。

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

从图1中可以看出,第一步就是对智能家居系统中各种模型数据采集,通过3D建模软件建立需要的模型,将贴图附着到建立好的模型上面,使模型更加具有真实感。人机交互设计是本系统的核心与难点,通过脚本的编写,完成控制界面的设计。用户通过发送消息指令,通过编程实现消息的捕捉,Unity3D中通过对主摄像机的控制,实现虚拟场景中的漫游。

3三维模型的构建

智能家居室内设计是虚拟场景中的主体部分,室内的建模主要运用的是形体构造表示的原理,使用建模工具3DMax

2012版从形状和结构上对家居室内部进行模拟设计。

室内设计的实现方案是根据室内设计规划方案,逐步分解和拆分为容易构造的简单模型,之后进行相交集合运算形成复杂的各种模型,同时采用材质纹理映射等辅助技术手段,以增加模型的真实感[5]。其具体步骤如下[6]:

获得建模数据;

确定模型的层次结构;

进行可视建模过程;

去除冗余多边形;

使用纹理映射。

通过上述的建模步骤能够得到如图2所示的智能家居室内的各种模型,包括家具、家电、传感器等模型。通过把建好的模型导出为.FBX文件格式,然后在Unity3D中导入建好的模型。

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

4虚拟场景控制与交互

4.1风扇和空调的控制

要控制风扇和空调,首先我们得了解transform这个类,然后再通过旋转函数Rotate控制旋转的速度。调整虚拟场景中的风扇模型和空调模型,首先调整好风扇扇叶和空调扇叶的X),,的坐标,方便调整扇叶旋转的方向:

transform.Rotate(Vector3.down*30,Space.Self)://通过旋转扇叶来控制电扇

i.Rotate(Vector3.right*40*Time.deltaTime)://通过控制空调扇叶来控制空调

4.2灯光的控制

灯光的控制首先要在灯光模型上面添加一个点光源pointlight,然后对这个点光源的属性进行修改,一般都是修改光照的范围、光照强度和颜色这几个属性,最后所编的C#脚本语言如下:

publicvoidSetLightState(boolstate)

{

if(state)

{

light.enabled=true://使灯开

}

else

{

4.3电视控制

要实现电视的实时播放,首先要将视频源拷贝到Assets文件夹里面,然后确保拷进来的视频源能够被U3D播放出来。一般将视频源附着到一个新建的平面上,然后通过增加这个物体的Material材质,并且将Movie视频文件给贴图,开始时画面是黑色,视频启动之后画面变成白色,就能正常播放视频文件了[7]。最后的代码如下:

voidStart(){

//将视频附给添加的材质

renderer.material.mainTexture=mMovie

//让视频可以循环播放

mMovie.loop=true

}

voidUpdate(){

}

publicvoidOPenTV()

{

//视频播放时材质为白色

renderer.material.color=Color.white

mMovie.Play。;//播放视频

}

publicvoidCloseTV()

{

//视频关闭时材质为白色

renderer.material.color=Color.black

mMovie.Stop();//关闭视频

}

4.4人机交互

Unity3D展示模型时,用户通过人机交互界面,即可以控制场景中的各种家电设备,也可以实时监测家里面各种传感器的值。通过交互式展示智能家居中的各种设备,让用户对我们的系统有更加深入的了解,方便推广整个智能家居系统。创建完成之后的交互界面如图3所示,下面就是创建交互界面代码(里面通过Socket套接字实现虚拟与现实的实时控制):

voidControlFace()

{

//定义变量

intoff=100,height=30,wide=150

//初始化边框

Rectr=newRect(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

{

//获得灯的组件,控制虚拟场景中的灯光lightcontrol

1二mLight.GetComponent<

lightcontrol>();

//控制虚拟场景中的灯光

l.SetLightState(true);

//套接字控制真实场景中的灯光mSocket

ChangeLightState(true);

}

//其他的按键同开灯一样

}

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

5虚拟场景漫游

本文漫游的具体实现过程是将主摄像机附着在虚拟人上,可以通过第一视角来达到漫游的目的,通过鼠标左键来改变视角,鼠标的滚轮来控制视角的远近。虚拟人主要是通过插件导入到场景中去,我们对虚拟人进行动作的设计,主要有走、跑、跳和空闲等几个基本的动作,要达到漫游的目的这几个动作完全能够实现。具体漫游如图4和图5所示。虚拟漫游代码如下:

voidUpdate(){

//定义物体的坐标

transform.position=mFollowTrans.position;

//按下左键

if(Input.GetMouseButton(1)){

//x轴上旋转

transform.Rotate(Vector3.up*Input.GetAxis("MouseX")*mRotSpeed,Space.World);

transform.Rotate(Vector3.left*Input.GetAxis("MouseY")*mRotSpeed);//y轴上面旋转}

floatf=Input.GetAxis("MouseScrollWheel");

mCamera.localPosition二newVector3(0,mHight,-mDistance);

mCamera.localRotation二Quaternion.identity;//前后距离的调整

mDistance-=f;

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


这样就能够在虚拟场景中自由切换视角的左右和前后,虚拟人在虚拟场景中能够自由控制观察物体的角度,更加具有真实感和沉浸感。

本文简要描述了Unity3D在室内漫游和人机交互设计中的强大功能,讨论了如何将建立完成的模型导入到Unity3D建好的场景中来。Unity3D能够完成更多的场景设计,例如主摄像机、灯光、天空盒等场景中必备的物体。实现了通过人机交互界面来控制虚拟场景中和现实生活中智能家居系统的各种设备,也能实时监控传感器的值,真正实现了虚拟与现实的结合。随着客户要求的不断提升,使得我们整个智能家居系统必须做得更加完善。因此我们的智能家居虚拟场景也应该做得更加有真实感和实时相结合,各方面的功能更加完善,交互界面更加友好。相信虚拟场景将会成为展示智能家居系统的主要手段之一。

20211120_6197d8248aa83__智能家居虚拟场景设计与实现

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭