• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Unity3D的VR交互實(shí)現(xiàn)方法研究

    2020-07-23 16:35:17何燕紅孫麗娟劉寶麗劉海艷
    商情 2020年33期
    關(guān)鍵詞:交互

    何燕紅 孫麗娟 劉寶麗 劉海艷

    【摘要】VR作為一種計(jì)算機(jī)仿真系統(tǒng),已經(jīng)開(kāi)始由單一向多元、由分立向融合方向演變,應(yīng)用產(chǎn)業(yè)也在不斷的擴(kuò)大。本文對(duì)利用Unity3D引擎實(shí)現(xiàn)VR交互的方法進(jìn)行了分析和探討,著重闡述了射線交互方法的實(shí)現(xiàn)過(guò)程。

    【關(guān)鍵詞】Unity3D;VR;交互

    1 VR介紹

    1.1VR基本概念

    VR(虛擬現(xiàn)實(shí))技術(shù)是一種能夠創(chuàng)造和體驗(yàn)虛擬世界的計(jì)算機(jī)模擬系統(tǒng)。它能夠允許使用者在虛擬空間中體驗(yàn)一個(gè)模擬人類(lèi)視覺(jué)、聽(tīng)覺(jué)觸覺(jué)等感官的虛擬場(chǎng)景;虛擬現(xiàn)實(shí)是對(duì)真實(shí)世界的模擬,一方面它能對(duì)現(xiàn)實(shí)環(huán)境作逼真的描述,另一方面還能使得人們?cè)谟^察虛擬環(huán)境的時(shí)候猶如身臨其境,可以與之進(jìn)行交互。

    1.2VR技術(shù)的發(fā)展趨勢(shì)

    目前,VR技術(shù)已經(jīng)廣泛應(yīng)用于城市規(guī)劃、室內(nèi)設(shè)計(jì)、工業(yè)仿真、古跡復(fù)原、橋梁道路設(shè)計(jì)、房地產(chǎn)銷(xiāo)售、旅游教學(xué)、水利電力、地質(zhì)災(zāi)害、教育培訓(xùn)等眾多領(lǐng)域,讓一些在現(xiàn)實(shí)條件中難以演練難以實(shí)現(xiàn)的事情,可以通過(guò)VR技術(shù)進(jìn)行實(shí)現(xiàn),為更多的行業(yè)提供更多的可能。

    1.3VR技術(shù)的特征

    (1)多感知性,是指視、力、觸、運(yùn)動(dòng)、味、嗅等感知系統(tǒng)。

    (2)交互性,是指當(dāng)人處于虛擬世界時(shí),依然可以像在現(xiàn)實(shí)中一樣,通過(guò)觸碰、使用某些具體物品,感受到所用物品存在于人與物品之間的互動(dòng)信息。

    (3)構(gòu)想性,指人處于虛擬世界,將所想的物品所做的事情展現(xiàn)在虛擬世界里,甚至在虛擬世界中還可以把在現(xiàn)實(shí)世界不可能存在的事和物都呈現(xiàn)出來(lái)。

    2 VR交互設(shè)計(jì)要素

    2.1VR的交互方式

    在虛擬現(xiàn)實(shí)的情境中,交互的方式主要分為以下4種:視線交互、按鍵交互、射線交互與碰撞器交互。其中,視線交互僅需頭戴式顯示器即可實(shí)現(xiàn)交互,手柄按鍵交互需要判斷手柄按鍵是否按下以及按下的力度,手柄射線交互需要獲取手柄當(dāng)前的坐標(biāo)和旋轉(zhuǎn)角度再配合手柄按鍵來(lái)實(shí)現(xiàn)射線與物體的交互,手柄碰撞器交互則需要獲取手柄當(dāng)前的坐標(biāo)以及其附帶的碰撞器組件并判斷是否與物體進(jìn)行碰撞之后才能實(shí)現(xiàn)與物體的交互。

    2.2VR用戶(hù)界面的操作方式

    (1)使用準(zhǔn)星。在VR環(huán)境中,攝像頭的控制權(quán)限完全掌握在使用者手中,當(dāng)攝像機(jī)本身動(dòng)作與輸入有差異或使用者視線未處于頭戴式顯示設(shè)備的中央時(shí),會(huì)破壞使用者沉浸感,所以要保證十字形或者圓形的準(zhǔn)星放置使用者的正前方。進(jìn)行交互時(shí)將準(zhǔn)星懸停在可交互對(duì)象上,彈出提示信息以提示使用者對(duì)象可交互。

    (2)使用恰當(dāng)?shù)囊曈X(jué)深度。和一般應(yīng)用程序使用的UI不同,VR的UI具有縱深屬性。因此,如果在VR中與UI的內(nèi)容過(guò)近的話,就無(wú)法看清UI的全貌,但是,如果UI太遠(yuǎn),用戶(hù)則無(wú)法看清UI中包含的內(nèi)容。同時(shí),文本的大小和UI元素的比例也會(huì)影響用戶(hù)體驗(yàn)。

    (3)使用固定的速度。VR的變速運(yùn)動(dòng)對(duì)用戶(hù)體驗(yàn)有負(fù)面影響,就人體生理結(jié)構(gòu)看,視覺(jué)信息是通過(guò)眼睛獲取并反饋到前庭系統(tǒng)的。當(dāng)眼睛的感知與前提系統(tǒng)不一致時(shí),用戶(hù)會(huì)感到惡心或眩暈,這種不適在VR環(huán)境下的主要原因是眼睛感知到了速度的變化,而前庭系統(tǒng)卻沒(méi)有相應(yīng)的感覺(jué),從而導(dǎo)致不適,這和暈動(dòng)病的原理一致,所以盡可能避免在VR環(huán)境中使用變速運(yùn)動(dòng)。

    3 VR交互功能的實(shí)現(xiàn)

    因?yàn)樵诔R?jiàn)VR項(xiàng)目開(kāi)發(fā)中一般采用Google VR,借助Unity3D VR平臺(tái)實(shí)現(xiàn),使用與其配套的SDK和Google Cardboard進(jìn)行項(xiàng)目體驗(yàn),所以本文針對(duì)射線交互進(jìn)行研究。

    3.1模擬頭部的轉(zhuǎn)動(dòng)

    在Unity3D引擎中實(shí)現(xiàn)的VR的交互時(shí),可采用第一人稱(chēng),用相機(jī)模擬用戶(hù)的頭部,實(shí)現(xiàn)仿人類(lèi)視線和頭部轉(zhuǎn)動(dòng)。在實(shí)現(xiàn)時(shí),需要設(shè)置上限最大視角,根據(jù)鼠標(biāo)移動(dòng)的快慢,獲取相機(jī)左右旋轉(zhuǎn)的角度;根據(jù)鼠標(biāo)移動(dòng)的快慢,獲取相機(jī)上下旋轉(zhuǎn)的角度,并對(duì)角度進(jìn)行限制。功能實(shí)現(xiàn)部分代碼為:

    float rotationX=transform.localEulerAngles.y+Input.GetAxis(“Mouse X”) * sensitivityX;

    rotationY+=Input.GetAxis(“Mouse Y”)*sensitivityY;

    rotationY=Mathf.Clamp(rotationY,minimumY,maximumY);

    transform.localEulerAngles=new Vector3(-rotationY,rotationX,0);

    this.transform.Translate(new Vector3(Input.GetAxis(“Horizontal”),0,Input.GetAxis(“Vertical”))*Time.deltaTime);

    3.2視線交互

    相機(jī)發(fā)射射線進(jìn)行交互,檢測(cè)到有交互對(duì)象,則去獲得它身上的功能腳本,獲取成功后開(kāi)始計(jì)時(shí),到達(dá)3秒,觸發(fā)功能。若用戶(hù)中途離開(kāi),則重新計(jì)時(shí)。準(zhǔn)星能夠吸附到對(duì)象,沒(méi)有交互對(duì)象時(shí),重置準(zhǔn)星的位置。功能實(shí)現(xiàn)部分代碼為:

    Ray ray=new Ray(transform.position,transform.forward);

    RaycastHit hit;

    if(Physics.Raycast(ray,out hit,100)){

    canvasPoint.transform.localScale=hit.distance*canvasOriginalScale*0.05f;

    canvasPoint.transform.position=hit.point;

    canvasPoint.transform.forward=hit.normal;

    if(hit.transform.gameObject!=curInteractiveObj)

    if(curInteractiveObj!=null){oldInteractiveObj=curInteractiveObj;

    oldobjDoing=oldInteractiveObj.GetComponent();

    if(oldobjDoing){

    oldobjDoing.leave();

    }}

    curInteractiveObj=hit.transform.gameObject;

    objDoing=curInteractiveObj.GetComponent();

    if(objDoing){objDoing.hovered();

    }}

    else{counttime+=Time.deltaTime;

    if(counttime

    reticleImage.fillAmount=counttime/gazeDurationTime;

    }...

    4 結(jié)語(yǔ)

    本研究闡述了射線交互的實(shí)現(xiàn)方法,用相機(jī)模擬用戶(hù)頭部發(fā)射射線進(jìn)行交互,檢測(cè)交互對(duì)象是否有觸發(fā)事件,并進(jìn)行事件交互。在使用準(zhǔn)星時(shí),需要立體渲染(制造視覺(jué)深度),并要保持恒定的速度。(通信作者:劉海艷)

    參考文獻(xiàn):

    [1]周曉成,張煜鑫,冷榮亮.虛擬現(xiàn)實(shí)交互設(shè)計(jì)[M].化學(xué)工業(yè)出版社,2016.

    [2]張勝男,高如玉,高權(quán).基于全景圖的科普?qǐng)鲳^漫游系統(tǒng)設(shè)計(jì) [J].電子世界,2017(2):150-152.

    [3]誤雁波.著 Unity 3D平臺(tái)AR與VR開(kāi)發(fā)快速上手[M].清華大學(xué)出版社,2017.

    猜你喜歡
    交互
    實(shí)驗(yàn)激發(fā)思維 問(wèn)題交流智慧
    淺析色彩在人機(jī)交互界面中的作用
    基于圖形用戶(hù)界面的多點(diǎn)觸控交互技術(shù)綜述
    大學(xué)英語(yǔ)教師“交互”信念、知識(shí)與教師專(zhuān)業(yè)發(fā)展
    科技視界(2016年24期)2016-10-11 22:11:01
    虛擬現(xiàn)實(shí)技術(shù)概論
    科技視界(2016年11期)2016-05-23 11:28:14
    關(guān)于信息化教育模式的大學(xué)教育變革的探討
    科技視界(2016年5期)2016-02-22 12:54:54
    新晃| 秭归县| 玛曲县| 谢通门县| 沙雅县| 来凤县| 大埔县| 青神县| 玉林市| 扶沟县| 上高县| 武穴市| 海门市| 阜阳市| 锦屏县| 乃东县| 韩城市| 奎屯市| 伊宁市| 漳州市| 加查县| 湟中县| 唐山市| 枣阳市| 鸡西市| 远安县| 衡东县| 龙陵县| 胶南市| 疏勒县| 伽师县| 呼伦贝尔市| 蒲江县| 尉犁县| 固阳县| 武鸣县| 南漳县| 凤庆县| 富蕴县| 松溪县| 曲松县|