陳博+付蔚+薛震+洪洋
摘 要:面向智能家居應(yīng)用,以Unity 3D為虛擬現(xiàn)實(shí)開發(fā)平臺(tái),給出了用虛擬智能化家庭場(chǎng)景實(shí)現(xiàn)虛擬場(chǎng)景家電設(shè)備及環(huán)境監(jiān)測(cè)設(shè)備的模型設(shè)計(jì)。平臺(tái)中的虛擬人可以在虛擬場(chǎng)景中自由漫游,并且通過(guò)虛擬人手中的終端設(shè)備,實(shí)時(shí)家電控制并獲得環(huán)境監(jiān)測(cè)設(shè)備的實(shí)時(shí)數(shù)據(jù),使得家庭控制更加生動(dòng)形象,實(shí)現(xiàn)虛擬與現(xiàn)實(shí)的融合。虛擬場(chǎng)景的設(shè)計(jì)有助于智能家居的宣傳、培訓(xùn)和展示,同時(shí)讓用戶通過(guò)遠(yuǎn)程操作,也可以體驗(yàn)到真實(shí)的智能家居系統(tǒng),零距離展示智能家居實(shí)驗(yàn)室的科研成果。
關(guān)鍵詞:智能家居;Unity 3D;虛擬現(xiàn)實(shí);虛擬人
中圖分類號(hào):TP319.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2014)03-0066-04
0 引 言
隨著“物聯(lián)網(wǎng)”技術(shù)的飛速發(fā)展和信息時(shí)代的到來(lái),智能家居作為物聯(lián)網(wǎng)技術(shù)的一個(gè)實(shí)際運(yùn)用,將成為未來(lái)二十年內(nèi)一個(gè)新的經(jīng)濟(jì)增長(zhǎng)[1]。虛擬現(xiàn)實(shí)技術(shù)近幾年越來(lái)越受到各行各業(yè)的關(guān)注,已開始從實(shí)驗(yàn)室走向研究項(xiàng)目走向?qū)嶋H的應(yīng)用,在軍事、航天、建筑設(shè)計(jì)、旅游、醫(yī)療和文化娛樂(lè)及教育方面已有不少應(yīng)用[2]。虛擬現(xiàn)實(shí)技術(shù)讓用戶可以對(duì)虛擬世界進(jìn)行體驗(yàn)和交互作用,體驗(yàn)到二維動(dòng)畫所不具備的現(xiàn)場(chǎng)沉浸感[3]。
Unity 3D作為一款新興的多平臺(tái)游戲開發(fā)軟件,能夠?qū)崟r(shí)地處理場(chǎng)景中的各種模型[4]。本文主要是通過(guò)Unity 3D技術(shù)創(chuàng)建一種全新的智能家居虛擬場(chǎng)景,實(shí)現(xiàn)了虛擬與現(xiàn)實(shí)的融合。虛擬場(chǎng)景改變了以前智能家居系統(tǒng)二維的人機(jī)交互界面,通過(guò)三維場(chǎng)景,非常容易便捷地控制虛擬設(shè)備和真實(shí)設(shè)備,增加了用戶的交互性。虛擬場(chǎng)景的設(shè)計(jì)有助于智能家居的培訓(xùn)和展示,讓用戶通過(guò)遠(yuǎn)程操作也可以體驗(yàn)到真實(shí)的智能家居系統(tǒng)。
2 系統(tǒng)整體結(jié)構(gòu)
虛擬場(chǎng)景中的模型通過(guò)3D Max 2012完成建模和貼圖。用戶可以在場(chǎng)景中通過(guò)鼠標(biāo)和鍵盤自由移動(dòng)和操作虛擬人,實(shí)現(xiàn)在場(chǎng)景中自由漫游,然后通過(guò)點(diǎn)擊平板電腦,出現(xiàn)的交互式界面可以控制虛擬場(chǎng)景中燈光、風(fēng)扇、空調(diào)和電視等家電設(shè)備。也能夠看到虛擬場(chǎng)景中各種傳感器的值,達(dá)到場(chǎng)景監(jiān)控的目的。通過(guò)網(wǎng)絡(luò)編程可以實(shí)現(xiàn)虛擬和現(xiàn)實(shí)的交互,Socket套接字發(fā)送智能家居實(shí)驗(yàn)室自主研發(fā)的協(xié)議到服務(wù)器,能夠?qū)崿F(xiàn)真實(shí)設(shè)備控制,并接收到真實(shí)傳感器發(fā)回給虛擬場(chǎng)景中各種傳感器的值,真正實(shí)現(xiàn)虛擬和現(xiàn)實(shí)的融合。智能家居虛擬場(chǎng)景的總體設(shè)計(jì)思路如圖1所示。
圖1 總體設(shè)計(jì)思路
從圖1中可以看出,第一步就是對(duì)智能家居系統(tǒng)中各種模型數(shù)據(jù)采集,通過(guò)3D建模軟件建立需要的模型,將貼圖附著到建立好的模型上面,使模型更加具有真實(shí)感。人機(jī)交互設(shè)計(jì)是本系統(tǒng)的核心與難點(diǎn),通過(guò)腳本的編寫,完成控制界面的設(shè)計(jì)。用戶通過(guò)發(fā)送消息指令,通過(guò)編程實(shí)現(xiàn)消息的捕捉,Unity 3D中通過(guò)對(duì)主攝像機(jī)的控制,實(shí)現(xiàn)虛擬場(chǎng)景中的漫游。
3 三維模型的構(gòu)建
智能家居室內(nèi)設(shè)計(jì)是虛擬場(chǎng)景中的主體部分,室內(nèi)的建模主要運(yùn)用的是形體構(gòu)造表示的原理,使用建模工具3D Max 2012版從形狀和結(jié)構(gòu)上對(duì)家居室內(nèi)部進(jìn)行模擬設(shè)計(jì)。
室內(nèi)設(shè)計(jì)的實(shí)現(xiàn)方案是根據(jù)室內(nèi)設(shè)計(jì)規(guī)劃方案,逐步分解和拆分為容易構(gòu)造的簡(jiǎn)單模型,之后進(jìn)行相交集合運(yùn)算形成復(fù)雜的各種模型,同時(shí)采用材質(zhì)紋理映射等輔助技術(shù)手段,以增加模型的真實(shí)感[5]。其具體步驟如下[6]:
(1)獲得建模數(shù)據(jù);
(2)確定模型的層次結(jié)構(gòu);
(3)進(jìn)行可視建模過(guò)程;
(4)去除冗余多邊形;
(5)使用紋理映射。
通過(guò)上述的建模步驟能夠得到如圖2所示的智能家居室內(nèi)的各種模型,包括家具、家電、傳感器等模型。通過(guò)把建好的模型導(dǎo)出為.FBX文件格式,然后在Unity 3D中導(dǎo)入建好的模型。
圖2 3DMax建立的模型
4 虛擬場(chǎng)景控制與交互
4.1 風(fēng)扇和空調(diào)的控制
要控制風(fēng)扇和空調(diào),首先我們得了解transform這個(gè)類,然后再通過(guò)旋轉(zhuǎn)函數(shù)Rotate控制旋轉(zhuǎn)的速度。調(diào)整虛擬場(chǎng)景中的風(fēng)扇模型和空調(diào)模型,首先調(diào)整好風(fēng)扇扇葉和空調(diào)扇葉的x,y,z的坐標(biāo),方便調(diào)整扇葉旋轉(zhuǎn)的方向:
transform.Rotate(Vector3.down*30,Space.Self);//通過(guò)旋轉(zhuǎn)扇葉來(lái)控制電扇
i.Rotate(Vector3.right*40*Time.deltaTime);//通過(guò)控制空調(diào)扇葉來(lái)控制空調(diào)
4.2 燈光的控制
燈光的控制首先要在燈光模型上面添加一個(gè)點(diǎn)光源point light,然后對(duì)這個(gè)點(diǎn)光源的屬性進(jìn)行修改,一般都是修改光照的范圍、光照強(qiáng)度和顏色這幾個(gè)屬性,最后所編的C#腳本語(yǔ)言如下:
public void SetLightState(bool state)
{
if(state)
{
light.enabled=true;//使燈開
}
else
{
light.enabled=false;//使燈關(guān)
}
}
4.3 電視控制
要實(shí)現(xiàn)電視的實(shí)時(shí)播放,首先要將視頻源拷貝到Assets文件夾里面,然后確??竭M(jìn)來(lái)的視頻源能夠被U3D播放出來(lái)。一般將視頻源附著到一個(gè)新建的平面上,然后通過(guò)增加這個(gè)物體的Material材質(zhì),并且將Movie視頻文件給貼圖,開始時(shí)畫面是黑色,視頻啟動(dòng)之后畫面變成白色,就能正常播放視頻文件了[7]。最后的代碼如下:
void Start () {
//將視頻附給添加的材質(zhì)
renderer.material.mainTexture=mMovie;
//讓視頻可以循環(huán)播放
mMovie.loop=true;
}
void Update () {
}
public void OPenTV()
{
//視頻播放時(shí)材質(zhì)為白色
renderer.material.color=Color.white;
mMovie.Play();//播放視頻
}
public void CloseTV()
{
//視頻關(guān)閉時(shí)材質(zhì)為白色
renderer.material.color=Color.black;
mMovie.Stop();//關(guān)閉視頻
}
4.4 人機(jī)交互
Unity 3D展示模型時(shí),用戶通過(guò)人機(jī)交互界面,即可以控制場(chǎng)景中的各種家電設(shè)備,也可以實(shí)時(shí)監(jiān)測(cè)家里面各種傳感器的值。通過(guò)交互式展示智能家居中的各種設(shè)備,讓用戶對(duì)我們的系統(tǒng)有更加深入的了解,方便推廣整個(gè)智能家居系統(tǒng)。創(chuàng)建完成之后的交互界面如圖3所示,下面就是創(chuàng)建交互界面代碼(里面通過(guò)Socket套接字實(shí)現(xiàn)虛擬與現(xiàn)實(shí)的實(shí)時(shí)控制):
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;
//制作端口號(hào)的文本框mPort=GUI.TextArea(r,mPort);
//接收新的IP地址
mSocket.mIPSend=mIP;
//接收新的端口號(hào)
mSocket.mPort=mPort;
r.x=off;
r.y += height;
if(GUI.Button(r,"開燈"))// button
{
//獲得燈的組件,控制虛擬場(chǎng)景中的燈光
lightcontrol
l=mLight.GetComponent<
lightcontrol>();
// 控制虛擬場(chǎng)景中的燈光
l.SetLightState(true);
// 套接字控制真實(shí)場(chǎng)景中的燈光 mSocket
ChangeLightState(true);
}
//其他的按鍵同開燈一樣
}
圖3 人機(jī)交互界面
5 虛擬場(chǎng)景漫游
本文漫游的具體實(shí)現(xiàn)過(guò)程是將主攝像機(jī)附著在虛擬人上,可以通過(guò)第一視角來(lái)達(dá)到漫游的目的,通過(guò)鼠標(biāo)左鍵來(lái)改變視角,鼠標(biāo)的滾輪來(lái)控制視角的遠(yuǎn)近。虛擬人主要是通過(guò)插件導(dǎo)入到場(chǎng)景中去,我們對(duì)虛擬人進(jìn)行動(dòng)作的設(shè)計(jì),主要有走、跑、跳和空閑等幾個(gè)基本的動(dòng)作,要達(dá)到漫游的目的這幾個(gè)動(dòng)作完全能夠?qū)崿F(xiàn)。具體漫游如圖4和圖5所示。虛擬漫游代碼如下:
void Update () {
//定義物體的坐標(biāo)
transform.position=mFollowTrans.position;
//按下左鍵
if(Input.GetMouseButton(1)) {
//x軸上旋轉(zhuǎn)
transform.Rotate(Vector3.up*Input.GetAxis("Mouse X")*mRotSpeed,Space.World);
transform.Rotate(Vector3.left*Input.GetAxis("Mouse Y")*mRotSpeed);//y軸上面旋轉(zhuǎn) }
float f=Input.GetAxis("Mouse ScrollWheel");
mCamera.localPosition=new Vector3(0,mHight,-mDistance);
mCamera.localRotation=Quaternion.identity;//前后距離的調(diào)整
mDistance-=f;
}
圖4 客廳場(chǎng)景
圖5 臥室場(chǎng)景
這樣就能夠在虛擬場(chǎng)景中自由切換視角的左右和前后,虛擬人在虛擬場(chǎng)景中能夠自由控制觀察物體的角度,更加具有真實(shí)感和沉浸感。
6 結(jié) 語(yǔ)
本文簡(jiǎn)要描述了Unity 3D在室內(nèi)漫游和人機(jī)交互設(shè)計(jì)中的強(qiáng)大功能,討論了如何將建立完成的模型導(dǎo)入到Unity 3D建好的場(chǎng)景中來(lái)。Unity 3D能夠完成更多的場(chǎng)景設(shè)計(jì),例如主攝像機(jī)、燈光、天空盒等場(chǎng)景中必備的物體。實(shí)現(xiàn)了通過(guò)人機(jī)交互界面來(lái)控制虛擬場(chǎng)景中和現(xiàn)實(shí)生活中智能家居系統(tǒng)的各種設(shè)備,也能實(shí)時(shí)監(jiān)控傳感器的值,真正實(shí)現(xiàn)了虛擬與現(xiàn)實(shí)的結(jié)合。
隨著客戶要求的不斷提升,使得我們整個(gè)智能家居系統(tǒng)必須做得更加完善。因此我們的智能家居虛擬場(chǎng)景也應(yīng)該做得更加有真實(shí)感和實(shí)時(shí)相結(jié)合,各方面的功能更加完善,交互界面更加友好。相信虛擬場(chǎng)景將會(huì)成為展示智能家居系統(tǒng)的主要手段之一。
參 考 文 獻(xiàn)
[1]梅寒,田力威,邵一川. 基于Unity 3D的智能家居綜合管理平臺(tái)的研究與實(shí)現(xiàn)[J]. 沈陽(yáng)大學(xué)學(xué)報(bào),2013(8):303-306.
[2]曲寶,趙婭,趙琦,等.基于Virtools的虛擬家居漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009(12):130-133.
[3]干建松. 基于Unity 3D的室內(nèi)漫游的關(guān)鍵技術(shù)研究[J]. 鹽城工學(xué)院學(xué)報(bào), 2011(12):56-59.
[4]干建松. 基于Unity 3D的室內(nèi)漫游仿真系統(tǒng)[J].淮陰師范學(xué)院學(xué)報(bào),2011(12):515-518.
[5]肖靈君,劉紫薇.基于3dsMax和Virtools的虛擬校園的開發(fā)和設(shè)計(jì)[J].科技信息,2009(12):199-200.
[6]張榮華.幾何建模技術(shù)在虛擬校園漫游系統(tǒng)開發(fā)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(23).
[7]黃楊,王洋,張姝娟,等. 基于Unity 3D 的數(shù)字站區(qū)管理應(yīng)用系統(tǒng)虛擬現(xiàn)實(shí)場(chǎng)景制作研究[J]. 測(cè)繪與空間地理信息,2013(4):50-56.
Design and implementation of virtual scene for smart home
CHEN 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 household appliances and environmental monitoring equipment is proposed, which is realized by virtual intelligent family scenes. Virtual people can roam in the virtual environment freely, and control appliances and receive environment monitoring data real time through the terminal device in hands, which made the home control more vivid and achieve the integration of virtual and reality. The design of virtual scene is conducive to the improvement of the publicity, training and display of smart home, which allows users to experience the real smart home system remotely and shows the laboratory research products of smart home in zero distance.
Keywords: smart home; Unity 3D; virtual reality; virtual people
[2]曲寶,趙婭,趙琦,等.基于Virtools的虛擬家居漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009(12):130-133.
[3]干建松. 基于Unity 3D的室內(nèi)漫游的關(guān)鍵技術(shù)研究[J]. 鹽城工學(xué)院學(xué)報(bào), 2011(12):56-59.
[4]干建松. 基于Unity 3D的室內(nèi)漫游仿真系統(tǒng)[J].淮陰師范學(xué)院學(xué)報(bào),2011(12):515-518.
[5]肖靈君,劉紫薇.基于3dsMax和Virtools的虛擬校園的開發(fā)和設(shè)計(jì)[J].科技信息,2009(12):199-200.
[6]張榮華.幾何建模技術(shù)在虛擬校園漫游系統(tǒng)開發(fā)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(23).
[7]黃楊,王洋,張姝娟,等. 基于Unity 3D 的數(shù)字站區(qū)管理應(yīng)用系統(tǒng)虛擬現(xiàn)實(shí)場(chǎng)景制作研究[J]. 測(cè)繪與空間地理信息,2013(4):50-56.
Design and implementation of virtual scene for smart home
CHEN 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 household appliances and environmental monitoring equipment is proposed, which is realized by virtual intelligent family scenes. Virtual people can roam in the virtual environment freely, and control appliances and receive environment monitoring data real time through the terminal device in hands, which made the home control more vivid and achieve the integration of virtual and reality. The design of virtual scene is conducive to the improvement of the publicity, training and display of smart home, which allows users to experience the real smart home system remotely and shows the laboratory research products of smart home in zero distance.
Keywords: smart home; Unity 3D; virtual reality; virtual people
[2]曲寶,趙婭,趙琦,等.基于Virtools的虛擬家居漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009(12):130-133.
[3]干建松. 基于Unity 3D的室內(nèi)漫游的關(guān)鍵技術(shù)研究[J]. 鹽城工學(xué)院學(xué)報(bào), 2011(12):56-59.
[4]干建松. 基于Unity 3D的室內(nèi)漫游仿真系統(tǒng)[J].淮陰師范學(xué)院學(xué)報(bào),2011(12):515-518.
[5]肖靈君,劉紫薇.基于3dsMax和Virtools的虛擬校園的開發(fā)和設(shè)計(jì)[J].科技信息,2009(12):199-200.
[6]張榮華.幾何建模技術(shù)在虛擬校園漫游系統(tǒng)開發(fā)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(23).
[7]黃楊,王洋,張姝娟,等. 基于Unity 3D 的數(shù)字站區(qū)管理應(yīng)用系統(tǒng)虛擬現(xiàn)實(shí)場(chǎng)景制作研究[J]. 測(cè)繪與空間地理信息,2013(4):50-56.
Design and implementation of virtual scene for smart home
CHEN 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 household appliances and environmental monitoring equipment is proposed, which is realized by virtual intelligent family scenes. Virtual people can roam in the virtual environment freely, and control appliances and receive environment monitoring data real time through the terminal device in hands, which made the home control more vivid and achieve the integration of virtual and reality. The design of virtual scene is conducive to the improvement of the publicity, training and display of smart home, which allows users to experience the real smart home system remotely and shows the laboratory research products of smart home in zero distance.
Keywords: smart home; Unity 3D; virtual reality; virtual people