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

        ?

        沉浸式虛擬海底仿真系統(tǒng)構(gòu)建及關(guān)鍵技術(shù)研究

        2023-06-15 09:27:10李婷婷付力婭
        關(guān)鍵詞:效果系統(tǒng)設(shè)計(jì)

        李婷婷,唐 媛,付力婭

        (大連東軟信息學(xué)院 數(shù)字藝術(shù)與設(shè)計(jì)學(xué)院,遼寧 大連 116023)

        0 引 言

        近年來(lái),隨著科技的不斷發(fā)展,以計(jì)算機(jī)技術(shù)、虛擬網(wǎng)絡(luò)為特征的信息社會(huì)正在越來(lái)越多地改變著信息的傳播方式[1-2]。沉浸式虛擬現(xiàn)實(shí)(Immersive Virtual Reality,IVR)是虛擬現(xiàn)實(shí)技術(shù)的一種,沉浸式虛擬現(xiàn)實(shí)強(qiáng)調(diào)利用計(jì)算機(jī)生成一種模擬環(huán)境,使用戶沉浸到該環(huán)境中,與虛擬世界中的物體進(jìn)行自然的交互,通過(guò)視覺(jué)、聽(tīng)覺(jué)和觸覺(jué)等獲得對(duì)虛擬世界的感知[3-4]。從20世紀(jì)80年代開(kāi)始,國(guó)內(nèi)外學(xué)者們嘗試采用先進(jìn)的虛擬現(xiàn)實(shí)技術(shù)構(gòu)建“數(shù)字海洋”并為體驗(yàn)者提供逼真的感受。例如:Miandji等基于GPU技術(shù)模擬海洋水面細(xì)節(jié)特征[5];Li等通過(guò)shader編程實(shí)現(xiàn)大范圍海面光照效果[6];潘牧野和劉篤仁基于Direct3D構(gòu)建了3D場(chǎng)景中的水面效果[7];王平俠和胡瓊杰利用VC編程實(shí)現(xiàn)了海洋世界中的水泡效果,為虛擬海洋模擬提供參考[8]。上述海洋水體生成方法大都從海洋平面的構(gòu)建及渲染出發(fā),對(duì)于如何真正發(fā)揮數(shù)字技術(shù)對(duì)海洋生物環(huán)境展示及動(dòng)態(tài)交互需要進(jìn)行深入的分析和細(xì)致的研究。由此,該文基于虛擬現(xiàn)實(shí)技術(shù)開(kāi)發(fā)沉浸式海底世界交互系統(tǒng),采用3D立體模型建構(gòu)虛擬海底世界,為海底生物運(yùn)動(dòng)設(shè)定軌跡路線并實(shí)現(xiàn)語(yǔ)音交互功能,使得海洋生物能夠更加形象、立體、直觀地呈現(xiàn)在廣大觀眾面前,為海洋知識(shí)的傳播提供更多的渠道選擇和更為立體的展示空間。

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

        1.1 流程設(shè)計(jì)

        沉浸式虛擬現(xiàn)實(shí)技術(shù)海底交互系統(tǒng)采用模塊化方式,利用市面主流引擎進(jìn)行開(kāi)發(fā),目前市面主流引擎包括Unity、Unreal、Cocos2D、CryEngine等[9]。其中,Unity和Unreal可以算得上是目前市場(chǎng)上最熱門的引擎,也各自擁有為數(shù)眾多的開(kāi)發(fā)者。Unity引擎是由Unity Technologies公司開(kāi)發(fā),可以輕松實(shí)現(xiàn)三維視頻特效及虛擬漫游交互效果[10]。因此,本項(xiàng)目基于Unity引擎實(shí)現(xiàn),系統(tǒng)流程設(shè)計(jì)如下:

        首先,進(jìn)行角色設(shè)計(jì),將海底生物以2D形式進(jìn)行展示。然后,在3ds Max、Maya等三維軟件構(gòu)建模型和貼圖,完成3D立體模型的制作,并將角色模型導(dǎo)出fbx格式文件作為海底世界場(chǎng)景素材。接下來(lái),將制作完成的3D立體模型導(dǎo)入U(xiǎn)nity引擎中進(jìn)行場(chǎng)景搭建。最后,根據(jù)用戶提出的交互指令基于C#腳本進(jìn)行交互漫游、碰撞檢測(cè)、特效實(shí)現(xiàn)等交互功能開(kāi)發(fā),并實(shí)現(xiàn)渲染輸出,系統(tǒng)流程設(shè)計(jì)如圖1所示。

        圖1 系統(tǒng)流程設(shè)計(jì)

        1.2 交互設(shè)計(jì)

        沉浸式虛擬現(xiàn)實(shí)技術(shù)的海底交互系統(tǒng)內(nèi)設(shè)計(jì)實(shí)現(xiàn)一群海洋生物在海洋內(nèi)游動(dòng),并且可以根據(jù)用戶指令進(jìn)行交互行為。沉浸式虛擬場(chǎng)景下交互有很多種方式,例如:語(yǔ)音交互、手勢(shì)交互、觸覺(jué)交互和多通道交互等[11]。該系統(tǒng)交互主要分為兩種方式:一種是鼠標(biāo)交互,體驗(yàn)者通過(guò)鼠標(biāo)點(diǎn)擊海洋生態(tài)系統(tǒng)屏幕即可從屏幕上方隨機(jī)出現(xiàn)一種海洋生物。另一種采用語(yǔ)音交互,體驗(yàn)者通過(guò)麥克說(shuō)出海洋生物名字,系統(tǒng)在感知到語(yǔ)音輸入后在屏幕上方出現(xiàn)對(duì)應(yīng)的海洋生物形態(tài),并伴隨語(yǔ)音介紹。這兩種交互方式可以滿足不同體驗(yàn)者的參觀需求,提升參觀者的好奇心,激發(fā)人們熱愛(ài)海洋,保護(hù)海洋的環(huán)保意識(shí)。

        1.3 角色設(shè)計(jì)

        角色方面主要采用卡通形式,利用PS軟件繪圖功能設(shè)計(jì)了一些海洋世界生物,包括:海龜、燈籠魚、小丑魚、燕魚、河豚、水母、鱔魚、章魚、箭魚、海馬等。在設(shè)計(jì)海洋世界生物過(guò)程中遵循生物一致性、畫面整體性、比例協(xié)調(diào)性等原則,在充分考慮到用戶體驗(yàn)及美感后設(shè)計(jì)海底生物如圖2所示。

        圖2 角色設(shè)計(jì)

        2 系統(tǒng)實(shí)現(xiàn)

        2.1 場(chǎng)景搭建

        在三維空間中采用3ds Max軟件或者M(jìn)aya軟件制作海底生物造型,包括藻類、珊瑚以及海底浮游生物。將制作完成的海底生物模型導(dǎo)入U(xiǎn)nity引擎中搭建海底世界,并用在海洋生物表面加入顏色、陰影、亮度、紋理等表面屬性,從而使得整個(gè)景物模型更加逼真,如圖3所示。

        圖3 場(chǎng)景搭建

        2.2 系統(tǒng)交互

        在沉浸式海底世界交互系統(tǒng)中,為提升參觀者的交互性,設(shè)計(jì)了鼠標(biāo)交互和語(yǔ)音交互兩種方式,參與者可以通過(guò)鼠標(biāo)在海洋世界屏幕上點(diǎn)擊任意地方或是通過(guò)麥克說(shuō)出魚類的名字,系統(tǒng)接收到指令后都會(huì)在屏幕上彈出具體魚類信息,并實(shí)例化出氣泡特效,具體實(shí)現(xiàn)方法如下:

        if(檢測(cè)到交互信息)

        {

        GameObject GO =Instantiate(fishPrefab[Random.Range(0, fishPrefab.Length)], spawnPosition.position, Quaternion.identity)as GameObject;

        GO.GetComponent ().enabled = true;

        GO.GetComponent ().enabled = false;

        GO.transform.Find ("Bubbles").gameObject.SetActive (true);

        }

        2.3 碰撞檢測(cè)

        系統(tǒng)中使用射線來(lái)完成相關(guān)的算法,它的定義為:射線上的點(diǎn)=射線的原點(diǎn)+t*射線的方向,t用來(lái)描述它距離原點(diǎn)的位置,它的范圍是[0,無(wú)限遠(yuǎn))。平面被描述為:

        XndotX=d

        其中,Xn是平面的法線,X是平面上的一個(gè)點(diǎn),d是平面到原點(diǎn)的距離,碰撞檢測(cè)部分代碼如下所示:

        Ray rayNoraml = new Ray(Vector3.zero,Vector3.up*10);Debug.DrawRay(transform.position,transform.forward,Color.red,10);

        if (Input.GetMouseButtonDown(0))

        {

        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit hit;

        if(Physics.Raycast(ray,outhit,1 000,1 <

        {

        Debug.Log(hit.collider.name);

        Debug.Log(hit.point);

        if (hit.collider.tag == "Enemy")

        {undefined}

        }

        }

        2.4 粒子特效

        粒子特效可以增加場(chǎng)景美觀性,大多數(shù)場(chǎng)景特效都采用粒子系統(tǒng)完成。粒子系統(tǒng)的原理是將若干粒子組合在一起,通過(guò)改變粒子的屬性來(lái)模擬海底世界自然效果[12]。像海底世界中的氣泡從形狀、大小和顏色方面都是富于變化的,如果用傳統(tǒng)的建模方法,很難比較真實(shí)地模擬它。但是,粒子系統(tǒng)卻可以解決海底世界中的氣泡模擬問(wèn)題[13]。

        在實(shí)際系統(tǒng)應(yīng)用中,為了逼真地模擬虛擬世界中的海底效果,需要將氣泡粒子構(gòu)建成不斷運(yùn)動(dòng)演化的粒子系統(tǒng),每一個(gè)粒子都有自己的“生命”。在粒子的一生中要?dú)v經(jīng)四個(gè)階段。階段1:“出生”。在這一過(guò)程中粒子系統(tǒng)會(huì)按照初始的定義屬性產(chǎn)生一定量的粒子。階段2:“成長(zhǎng)”。在這一過(guò)程中,粒子系統(tǒng)會(huì)按照模擬的氣泡運(yùn)動(dòng)規(guī)律進(jìn)行運(yùn)動(dòng)。階段3:隨著時(shí)間推移,粒子的生命值在不斷下降,進(jìn)入“衰老”時(shí)期。階段4:當(dāng)粒子的生命值降低至0,粒子死亡,被系統(tǒng)清除[14]。

        具體實(shí)現(xiàn)時(shí),繪制粒子氣泡的步驟如下:

        Step1:分析氣泡物理特性,根據(jù)氣泡物理特點(diǎn)定義粒子屬性。

        Step2:分析氣泡在海洋中的運(yùn)動(dòng)規(guī)律,建立氣泡粒子的動(dòng)態(tài)運(yùn)動(dòng)規(guī)律。

        Step3:根據(jù)粒子氣泡屬性分析結(jié)果定義系統(tǒng)中氣泡粒子的初始化參數(shù)值。

        Step4:根據(jù)氣泡粒子屬性變化動(dòng)態(tài)改變其運(yùn)動(dòng)規(guī)律。

        Step5:刪除系統(tǒng)中生命值已經(jīng)為0的粒子。

        Step6:每隔固定時(shí)間重新繪制氣泡粒子。

        其中,Step3~6反復(fù)執(zhí)行,模擬氣泡的動(dòng)態(tài)變化過(guò)程。

        (1)粒子出生及成長(zhǎng)。

        粒子系統(tǒng)是一個(gè)統(tǒng)一的整體,這個(gè)系統(tǒng)中包含了若干個(gè)粒子,粒子的出生是根據(jù)粒子系統(tǒng)屬性進(jìn)行賦初值的過(guò)程,每個(gè)粒子在獲得屬性后將按照粒子系統(tǒng)運(yùn)動(dòng)規(guī)律進(jìn)行動(dòng)態(tài)演變,從而表現(xiàn)出動(dòng)態(tài)效果,具體實(shí)現(xiàn)代碼如下:

        temp=Time.time;

        if (temp - temp2>intervalTime) {

        Vector3 newPosition;

        newPosition=new Vector3(Random.Range(transform.position.x-1, transform.position.x+1), Random.Range(transform.position.y-1, transform.position.y+1), Random.Range(transform.position.z-1, transform.position.z+1));

        Instantiate(Bubble[Random.Range(0, Bubble.Length)], newPosition, Quaternion.identity);

        temp2 = Time.time;

        intervalTime = Random.Range (minTime, maxTime);

        (2)粒子衰老及死亡。

        粒子的整個(gè)生命過(guò)程中是動(dòng)態(tài)變化的,為了表現(xiàn)出粒子的動(dòng)態(tài)特性,粒子在運(yùn)動(dòng)過(guò)程中會(huì)伴隨著生命衰亡,當(dāng)生命值降低至0時(shí),系統(tǒng)默認(rèn)粒子死亡,將停止繪制粒子,具體實(shí)現(xiàn)代碼如下:

        void Update () {

        if(transform.GetChild (0).localPosition.y>40)

        {

        Destroy (gameObject);

        }

        }

        3 實(shí)驗(yàn)與分析

        隨著虛擬現(xiàn)實(shí)技術(shù)的興起,體驗(yàn)者在產(chǎn)品體驗(yàn)效果上的需求不斷提高,沉浸式虛擬現(xiàn)實(shí)頭盔不斷推陳出新,先后開(kāi)發(fā)了多種機(jī)型,比較出名的有Oculus Rift DK1、Oculus Rift DK2、Oculus Rift CV1和HoloLens等[15],如圖4所示。

        圖4 沉浸式虛擬現(xiàn)實(shí)頭盔

        為了驗(yàn)證系統(tǒng)運(yùn)行效果,該文進(jìn)行了大量仿真試驗(yàn)。仿真試驗(yàn)在配置為Intel 酷睿i3 9300、CPU頻率 3.7~4.3 GHz、DDR4 2 400 Mhz 8G內(nèi)存及Intel HD Graphics 630(128 M)核心顯卡的PC機(jī)上,沉浸式頭盔選用Oculus Rift DK2,編譯環(huán)境為Visual Studio 2017,代碼編寫采用C#語(yǔ)言,基于Unity平臺(tái)實(shí)現(xiàn),運(yùn)行測(cè)試效果如圖5~圖12所示。

        圖5 海底世界效果測(cè)試

        圖6 海底氣泡效果測(cè)試

        圖7 燈籠魚交互效果測(cè)試

        圖8 海馬交互效果測(cè)試

        圖9 劍魚交互效果測(cè)試

        圖10 鯊魚交互效果測(cè)試

        圖11 水母交互效果測(cè)試

        圖12 小丑魚交互效果測(cè)試

        4 結(jié)束語(yǔ)

        虛擬現(xiàn)實(shí)技術(shù)為保存和傳播海洋文化提供了非常好的條件。一方面,可以借助人機(jī)交互、視頻及3D建模等先進(jìn)的數(shù)字技術(shù)對(duì)海洋生物特征進(jìn)行最大限度的保存。另一方面,可以最大程度地保證海底交互系統(tǒng)中海洋生物的真實(shí)性。未來(lái)沉浸式海底交互系統(tǒng)可以用于數(shù)字博物館的構(gòu)建。數(shù)字博物館作為城市文化建設(shè)的一部分,關(guān)乎城市的對(duì)外形象,反映著城市人文和歷史,是城市形象的綜合體現(xiàn)。虛擬現(xiàn)實(shí)技術(shù)背景下構(gòu)建的沉浸式海底世界交互系統(tǒng)可以突破傳統(tǒng)藝術(shù)在表現(xiàn)形式上的局限性,從單一感官的信息傳遞演變?yōu)槎喔泄俚?交互式的展示形式,使體驗(yàn)者能夠體驗(yàn)實(shí)時(shí)的形象化交互,對(duì)未來(lái)數(shù)字博物館的發(fā)展起到推動(dòng)作用。

        猜你喜歡
        效果系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        按摩效果確有理論依據(jù)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        迅速制造慢門虛化效果
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        抓住“瞬間性”效果
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        亚洲精品乱码久久久久99| 国产无遮挡又黄又爽高潮| 精品国产免费一区二区三区| 麻豆影视视频高清在线观看| 国产剧情麻豆女教师在线观看| 99re在线视频播放| 强d乱码中文字幕熟女1000部| 日韩人妻一区二区中文字幕| 国产实拍日韩精品av在线| 久久精品国产99国产精品亚洲| 亚洲人成人网站在线观看| 国产精品麻豆aⅴ人妻| 国产无套视频在线观看香蕉| 久久久国产精品粉嫩av| 狠狠综合久久av一区二区三区| 国产毛片视频一区二区| 亚洲精品无码专区| 国产亚洲精品久久久久久久久动漫| 日本手机在线| 又爽又猛又大又湿的视频| 国产专区国产精品国产三级| 国产 精品 自在 线免费| 99亚洲男女激情在线观看| 国产96在线 | 亚洲| 娇柔白嫩呻吟人妻尤物| 国产日韩精品视频一区二区三区 | 无码的精品免费不卡在线| 毛片一级精油按摩无码| 麻豆国产精品伦理视频| 91精品国产92久久久| 日韩精品久久久久久久电影蜜臀 | 免费无码av片在线观看| 亚洲国产成人AⅤ片在线观看| 91久久精品一区二区喷水喷白浆| 中国亚洲av第一精品| 在线观看特色大片免费视频| 激情偷乱人成视频在线观看| 精品午夜久久网成年网| 日韩有码中文字幕第一页| 开心五月骚婷婷综合网| 成视频年人黄网站免费视频|