亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Unity3-D的虛擬室內(nèi)裝飾展示系統(tǒng)設(shè)計(jì)

        2020-06-09 05:23:54
        關(guān)鍵詞:室內(nèi)設(shè)計(jì)用戶功能

        于 海 霞

        (合肥職業(yè)技術(shù)學(xué)院,安徽 合肥 230000)

        0 引 言

        室內(nèi)設(shè)計(jì)是當(dāng)前比較熱門的行業(yè),傳統(tǒng)的室內(nèi)設(shè)計(jì)大多是以電腦效果圖、樣板間或沙盤模型等形式向用戶展示設(shè)計(jì)效果,但它們都有不易修改的缺陷。如果用戶提出不同的設(shè)計(jì)意見,設(shè)計(jì)師無法進(jìn)行實(shí)時(shí)修改,增大設(shè)計(jì)師工作強(qiáng)度[1],且除了樣板間,其他設(shè)計(jì)方式缺少身臨其境之感。如何解決這些不足,成為設(shè)計(jì)行業(yè)面臨的共同問題。

        虛擬實(shí)境技術(shù)的不斷發(fā)展和成熟為室內(nèi)設(shè)計(jì)的轉(zhuǎn)型提供了更好的平臺(tái)和發(fā)展空間,利用虛擬技術(shù)進(jìn)行室內(nèi)設(shè)計(jì)是一種新的嘗試[2]。Unity3-D引擎是由Unity Technologies公司開發(fā)的能夠支持多平臺(tái)發(fā)布的專業(yè)虛擬現(xiàn)實(shí)引擎,可使開發(fā)周期大幅度縮短[3]。

        本文介紹基于Unity3-D的虛擬室內(nèi)設(shè)計(jì)展示系統(tǒng)的設(shè)計(jì)理念、主要功能的實(shí)現(xiàn)及運(yùn)行效果,在該平臺(tái)上可以進(jìn)行室內(nèi)漫游,根據(jù)用戶要求對(duì)室內(nèi)設(shè)計(jì)效果實(shí)時(shí)進(jìn)行修改,提高用戶體驗(yàn)度和滿意度,同時(shí)提高設(shè)計(jì)公司的工作效率,降低工作成本。

        1 系統(tǒng)概述

        1.1 系統(tǒng)設(shè)計(jì)的意義與價(jià)值

        虛擬室內(nèi)設(shè)計(jì)把傳統(tǒng)的設(shè)計(jì)圖紙變成看得見的虛擬物體和環(huán)境,使以往傳統(tǒng)的設(shè)計(jì)模式提升到數(shù)字化的所見即所得的完美境界。三維立體造型畫面感逼真,立體感和真實(shí)感強(qiáng)烈,大大提高了設(shè)計(jì)和規(guī)劃的質(zhì)量與效率[4-6]。

        虛擬室內(nèi)裝飾展示系統(tǒng)應(yīng)用Unity 3-D引擎進(jìn)行開發(fā)。設(shè)計(jì)者可以完全按照用戶的構(gòu)思構(gòu)建和裝飾虛擬的房間,并可以任意變換用戶在房間中的位置,觀察設(shè)計(jì)效果,實(shí)時(shí)更改直到滿意為止,既節(jié)約了時(shí)間,又節(jié)省了做模型的費(fèi)用[7-9]。

        1.2 系統(tǒng)功能

        虛擬室內(nèi)裝飾展示系統(tǒng)注重交互,用戶可在虛擬空間中進(jìn)行漫游查看設(shè)計(jì)效果,并可以通過點(diǎn)擊進(jìn)行交互操作。系統(tǒng)的主要功能如圖1所示。

        漫游功能提供了自動(dòng)漫游和主動(dòng)漫游2種方式。自動(dòng)漫游是系統(tǒng)按預(yù)先設(shè)定好的路線引導(dǎo)用戶進(jìn)行室內(nèi)瀏覽,不需要用戶操作;主動(dòng)漫游是用戶通過鍵盤操控按照自己的意愿進(jìn)行瀏覽。

        交互功能為用戶提供了與室內(nèi)設(shè)計(jì)交互的接口,用戶可以按照自己的喜好對(duì)現(xiàn)有的設(shè)計(jì)結(jié)果進(jìn)行調(diào)整,包括更換房屋的壁紙或地板樣式、改變家具擺放的位置或擺放方式及移除不喜歡的家具、添加心儀的家具。

        交互設(shè)計(jì)是一種目標(biāo)導(dǎo)向設(shè)計(jì),所有的工作內(nèi)容都圍繞著用戶行為去設(shè)計(jì)。目的在于讓用戶更沉浸、更方便、更有效率去完成他們預(yù)期的操作,獲得愉快的用戶體驗(yàn)。交互設(shè)計(jì)不僅豐富了室內(nèi)設(shè)計(jì)的樣式,更提高了用戶的體驗(yàn)感,與家具的交互更是能讓用戶如身臨其境,在虛擬樣板間中設(shè)計(jì)出心目中的家,真正感受到對(duì)房間的掌控權(quán),感受擁有真實(shí)房間的日常生活狀態(tài)。

        圖1虛擬室內(nèi)設(shè)計(jì)系統(tǒng)功能 圖2虛擬室內(nèi)裝飾展示系統(tǒng)設(shè)計(jì)流程

        1.3 系統(tǒng)設(shè)計(jì)技術(shù)路線

        虛擬室內(nèi)裝飾展示系統(tǒng)設(shè)計(jì)流程如圖2所示。

        首先根據(jù)戶型圖使用3-D MAX進(jìn)行模型的創(chuàng)建,將3-D MAX單位改成m或cm,有利于建模時(shí)對(duì)真實(shí)距離的掌握[10],完成系統(tǒng)建模和貼圖,并導(dǎo)出FBX文件。

        進(jìn)入U(xiǎn)nity3-D導(dǎo)入模型,貼圖并布置好燈光,進(jìn)行場(chǎng)景渲染,然后進(jìn)行系統(tǒng)功能設(shè)計(jì),包括設(shè)置攝像機(jī)、創(chuàng)建UI布局、編寫交互及UI功能腳本。最后進(jìn)行測(cè)試,通過后發(fā)布。

        2 系統(tǒng)設(shè)計(jì)

        2.1 漫游功能設(shè)計(jì)

        漫游系統(tǒng)是虛擬現(xiàn)實(shí)的靈魂,是用戶接觸的第一視角。系統(tǒng)提供了自動(dòng)漫游和主動(dòng)漫游2種方式。自動(dòng)漫游不需要用戶操作,系統(tǒng)按設(shè)定好的路線引導(dǎo)用戶觀賞。主動(dòng)漫游即用戶通過鍵盤光標(biāo)鍵或WSAD4個(gè)鍵控制漫游方向,實(shí)現(xiàn)對(duì)室內(nèi)場(chǎng)景多角度、全視野的游覽。

        無論哪種漫游方式,碰撞交互是必要的屬性之一,主要防止攝像機(jī)的穿模、自主下落及彈性碰撞等。因此需要設(shè)置1個(gè)虛擬碰撞體,用來檢測(cè)攝像機(jī)碰到墻壁、家具等其他模型的一些物理反應(yīng)[4]。

        2.2 交互功能設(shè)計(jì)

        用戶在漫游的過程中,可以根據(jù)自己的需要或喜好對(duì)室內(nèi)裝飾進(jìn)行變動(dòng),包括更換墻紙或地板的樣式、家具的位置或擺放方式,也可以移除家具或添加一些家具。

        2.2.1 更換墻紙或地板

        用戶在需要更換的墻紙或地板上點(diǎn)擊鼠標(biāo),彈出是否需要變更的對(duì)話框,確定后,就可以在彈出的樣式中選擇喜愛的樣式,從而更換風(fēng)格(圖3)。

        圖3 更換墻紙和地板樣式前后對(duì)比

        以更換墻紙為例,為了實(shí)現(xiàn)上述功能,需要完成以下操作。

        第一步:設(shè)置1個(gè)bool型全局變量button_down和take用于判定。

        當(dāng)button_down為true,則說明用戶正在普通操作,當(dāng)前可以對(duì)墻壁進(jìn)行單擊操作,如果單擊墻壁后,令button_down的值為false,禁止其他操作,take的值也更改為false,表示更換墻紙時(shí),家具不可以被更改。用戶退出更換墻紙行為后,button_down、take值再恢復(fù)為true。

        第二步:創(chuàng)建射線碰撞來單擊觸發(fā)的功能。

        創(chuàng)建UIset的c#腳本,設(shè)置camera參數(shù)來獲取主攝像機(jī),單擊墻壁后,為了不對(duì)用戶的操作進(jìn)行干擾,需令攝像機(jī)靜止,不能再隨著用戶的控制而改變。設(shè)置GameObject型數(shù)組,用于存放即將調(diào)用的UI。從鼠標(biāo)發(fā)射1條射線,射線所接觸到的當(dāng)前碰撞tag為wall時(shí),則獲取當(dāng)前碰撞的物體,將攝像機(jī)固定,彈出是否更換墻紙?jiān)儐枌?duì)話框,確認(rèn)更改后進(jìn)行第三步。

        第三步:創(chuàng)建ChangeWall的c#腳本。

        設(shè)置GameObject類型數(shù)組,用于獲取需要交互的壁紙模型,設(shè)置Texture類型數(shù)組,用于存儲(chǔ)可更換的貼圖。執(zhí)行UISet.objects.GetComponent().material.mainTexture=texture[n],更換貼圖。

        2.2.2 移動(dòng)或旋轉(zhuǎn)家具

        如果用戶對(duì)某個(gè)家具的擺放位置不滿意,可在家具上點(diǎn)擊,在彈出的快捷菜單中選擇“移動(dòng)”或“旋轉(zhuǎn)”后,按住鼠標(biāo)拖動(dòng)或旋轉(zhuǎn)家具,滿意后點(diǎn)擊“確定”就可以變動(dòng)家具的位置或擺放方式(圖4)。

        圖4 移動(dòng)家具前后對(duì)比

        當(dāng)鼠標(biāo)移動(dòng)到可交互的家具上時(shí),改變鼠標(biāo)光標(biāo)。單擊當(dāng)前可交互家具后,關(guān)閉更換地板和墻紙的功能,獲取當(dāng)前單擊鼠標(biāo)的位置,并在當(dāng)前位置繪制快捷菜單,當(dāng)單擊“移動(dòng)”或“旋轉(zhuǎn)”時(shí),調(diào)用相應(yīng)代碼,并執(zhí)行。以移動(dòng)家具為例,首先獲得鼠標(biāo)在空間中的坐標(biāo),求出被移動(dòng)家具與鼠標(biāo)物體在空間中的偏移量,將鼠標(biāo)坐標(biāo)加上偏移量作為被移家具新的位置坐標(biāo),重復(fù)鼠標(biāo)按下動(dòng)作,直到釋放鼠標(biāo)為止。主要代碼如下

        MouseScreenSpace=new Vector3(Input.mousePosition.x,Input.mousePosition.y,TargetScreenSpace.z);

        Offset=trans.position-Camera.main.ScreenToWorldPoint(MouseScreenSpace);

        while(Input.GetMouseButton(0)){

        MouseScreenSpace=new Vector3(Input.mousePosition.x,Input.mousePosition.y,TargetScreenSpace.z);

        TargetWorldSpace=Camera.main.ScreenToWorldPoint(MouseScreenSpace)+Offset;

        trans.position=TargetWorldSpace;//更新目標(biāo)物體的世界空間坐標(biāo)

        yield return new WaitForFixedUpdate();//等待固定更新

        }

        2.2.3 添加家具

        用戶點(diǎn)擊“添加家具”菜單,在彈出的子菜單中選擇需要添加的家具或裝飾物,將選中的物品添加到當(dāng)前房間中(圖5)。

        圖5 添加家具前后對(duì)比

        事先在引擎中設(shè)定距離參數(shù)distance,設(shè)定家具與攝像機(jī)之間的距離,創(chuàng)建一個(gè)用于獲取家具的物體cube,定義x、y變量,用來獲取鼠標(biāo)單擊時(shí)的位置參數(shù)。clickP用于獲取家具出現(xiàn)位置,通過調(diào)用Instantiate(GameObject,position)方法,在指定位置克隆出新的家具。主要代碼如下

        Void Update(){

        .......

        X=Input.mousePosition.x;

        Y=Input.mousePosition.y;

        clickP=Camera.main.ScreenToWorldPoint(new Vector3(x,y,distance));

        Cube=GameObject.Find(“jj_name”);//jj_name為家具模型的名稱

        Instantiate(cube,clickP,Quaternion.identity);//在clickP位置處克隆出新的物體

        }

        2.2.4 刪除家具

        如果用戶對(duì)現(xiàn)有的家具不滿意,可在家具上點(diǎn)擊鼠標(biāo),在彈出的快捷菜單中選擇“刪除”,確認(rèn)后即可刪除當(dāng)前家具。只要停止渲染該家具就可以實(shí)現(xiàn)刪除家具的效果(圖6)。

        圖6 刪除家具前后對(duì)比

        3 結(jié) 論

        虛擬實(shí)境技術(shù)是通過計(jì)算機(jī)將現(xiàn)實(shí)的物體虛擬化來構(gòu)造世界,本文通過將室內(nèi)設(shè)計(jì)與虛擬現(xiàn)實(shí)技術(shù)結(jié)合起來,開發(fā)了虛擬室內(nèi)裝飾展示系統(tǒng),對(duì)室內(nèi)設(shè)計(jì)效果進(jìn)行仿真,設(shè)計(jì)效果良好,場(chǎng)景逼真,用戶在使用過程中如身臨其境。系統(tǒng)主要包括漫游和交互功能,重點(diǎn)模擬了用戶與室內(nèi)家具的交互過程,用戶可按自己的要求隨時(shí)變換設(shè)計(jì)的效果,進(jìn)而提升用戶的體驗(yàn)度與沉浸感,提高設(shè)計(jì)公司的工作效率,降低開發(fā)成本。

        本系統(tǒng)功能只是對(duì)虛擬室內(nèi)展示功能的初探,還有許多提升的空間,如增加家具的實(shí)現(xiàn)算法、可供選擇的家具或地板墻紙的展示方式、家具在移動(dòng)過程中的流暢性等,這些都是在后續(xù)工作中需要完成的任務(wù)。

        猜你喜歡
        室內(nèi)設(shè)計(jì)用戶功能
        陳奕含室內(nèi)設(shè)計(jì)作品
        大眾文藝(2023年9期)2023-05-17 23:56:00
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        室內(nèi)設(shè)計(jì)作品
        DOE深業(yè)上城店室內(nèi)設(shè)計(jì)
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        低碳理念在室內(nèi)設(shè)計(jì)中的應(yīng)用
        上海建材(2017年2期)2017-07-21 14:02:10
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        亚洲精品国产av天美传媒| 国产av一区二区三区狼人香蕉 | 国产精品综合色区在线观看| 亚洲精华国产精华液的福利| 亚洲乱码一区二区三区成人小说| 蜜桃在线观看免费高清| 无码人妻中文中字幕一区二区| 国产自拍伦理在线观看| 好大好爽我要高潮在线观看| 欧美性猛交xxxx富婆| 成人a在线观看| 人妻少妇精品视频一区二区三区| 自拍成人免费在线视频| 无码一区二区三区免费视频| 无遮高潮国产免费观看| 久久久久人妻精品一区5555| 日韩av水蜜桃一区二区三区| 无码熟妇人妻av在线影片最多| 亚洲av无码一区二区二三区| 亚洲高清有码在线观看| 亚洲精品一区二区三区四区| 秋霞在线视频| 8ⅹ8x擦拨擦拨成人免费视频 | 成年网站在线91九色| 性猛交╳xxx乱大交| 人体内射精一区二区三区| 果冻国产一区二区三区| 中文字幕影片免费人妻少妇 | 亚洲av无码乱码国产精品| 97色伦图片97综合影院久久 | 在线观看免费人成视频| 日韩高清av一区二区| 女女同恋一区二区在线观看| 亚洲国产精品va在线播放| 综合色天天久久| 亚洲hd高清在线一区二区| 午夜精品久久久久久久无码| 亚洲人成网站免费播放| 国产精品国产三级国产一地 | 情人伊人久久综合亚洲| 国产普通话对白视频二区|