婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 如何在Unity中使用VR暴風魔鏡藍牙手柄

如何在Unity中使用VR暴風魔鏡藍牙手柄

熱門標簽:外呼系統怎么群發短信 400電話申請到底哪家好 谷歌地圖標注日期 400電話辦理費用低 地圖標注項目幾個月 宿遷怎么辦理400電話 蘇州呼叫中心外呼系統哪家強 鶴壁高頻外呼系統多少錢一個月 聯通外呼系統電腦app軟件

一、藍牙手柄按鍵的響應

在暴風魔鏡的官網下載了最新的SDK后導入Unity項目,發現SDK中的DEMO全部是非手柄控制的,然后只能參照著SDK里面的接口說明文檔自己研究~~結果發現接口文檔非一般的坑,一開始是直接在MojingInputManager.cs里面直接填充,直到最后才發現用IntegrateInputManager.prefab替換場景中原有的MojingInputManager.prefab以后就可以跟檢測Unity的輸入一樣檢測到手柄的輸入了,以下為源碼(詳情可直接參考接口文檔3.9節):

 //搖桿上移
        if (CrossPlatformInputManager.GetButtonDown("UP"))          
	    {
	        Debug.LogWarning("Up_Get");
            up = 1;
	    }
        //搖桿下移
        if (CrossPlatformInputManager.GetButtonDown("DOWN"))
        {
            Debug.LogWarning("Down_Get");
            up = -1;
        }
        //搖桿右移
        if (CrossPlatformInputManager.GetButtonDown("RIGHT"))
        {
            Debug.LogWarning("Right_Get");
            right = 1;
        }
        //搖桿左移
        if (CrossPlatformInputManager.GetButtonDown("LEFT"))
        {
            Debug.LogWarning("Left_Get");
            right = -1;
        }
        //搖桿回到中間位置
        if (CrossPlatformInputManager.GetButton("CENTER"))
        {
            Debug.LogWarning("CENTER_Get");
            up = 0;
            right = 0;
        }
        //按下確定(OK)鍵
        if (CrossPlatformInputManager.GetButtonDown("OK"))
        {
            Debug.LogWarning("OK_Get");
        }
        //按下取消鍵
        if (CrossPlatformInputManager.GetButtonDown("C"))
        {
            Debug.LogWarning("Cancle_Get");
        }
        //按下菜單鍵
        if (CrossPlatformInputManager.GetButtonDown("MENU"))
        {
            Debug.LogWarning("MENU_Get");
        }

二、UGUI的事件檢測

VR項目中最坑的地方就是原有的UI都不再適應,雖說很多SDK的官方都說只要把UI設置成世界坐標即可,但是原有的UI都是跟隨視角移動的,改成世界坐標后要多奇怪有多奇怪,所以為了更加的和諧,還是針對VR設計一套UI比較好~(以上僅代表個人觀點,不喜勿噴~ )。 OK,現在假設已經準備好UI的素材了,那么開始搞起~假設沒有什么其他的特殊要求,在加入Canvas后在屬性面板修改如下兩個參數即可 

第一個Render Mode就是渲染模式了~將其改為World Space,第二個Event Camera為事件響應的攝像機,在沒有手動添加攝像機的情況下,場景中應該會有如下三個攝像機: 

VR模式效果如下 

在停用左右眼攝像機,只打開主攝像機時效果如下
主攝像機在非VR模式時會打開,在VR模式下默認關閉。Canvas里面響應的攝像機就選擇主攝像機即可(如果沒有跟UI之間的交互此處也可不必設置),如此這般就可以在VR場景中看到Canvas里面的UI了。
若需求里面有跟UI之間的交互(比如點擊按鈕等等),那么Canvas的Event Camera必須設置,然后在EventSystem上面掛載SDK里面的GazeInputModule腳本如下圖所示 

其中Cursor里面的物體是剛剛和那三個鏡頭廝混在一起的準星,觸發操作全靠它了~ 如果僅僅是這樣還是不行的~做到這一步在準星移動到BUTTON上面的時候只有懸浮效果(即高亮),點擊遙控器的OK鍵的時候是沒有任何響應的(本想參考官方DEMO找到應對方法的···結果DEMO全部不是手柄控制的,所以只能自己想辦法解決了o(╯□╰)o),在嘗試了多種方法之后,最終找到的可行方法是~~修改GazeInputModule腳本,將它的點擊檢測里面加上CrossPlatformInputManager.GetButtonDown("OK")就OK啦~

以上就是如何在Unity中使用暴風魔鏡藍牙手柄的詳細內容,更多關于在Unity中使用暴風魔鏡藍牙手柄的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Unity實現VR中在黑板上寫字效果
  • Unity3D基于陀螺儀實現VR相機功能

標簽:錫林郭勒盟 鄂爾多斯 襄陽 遵義 莆田 雙鴨山 哈爾濱 丹東

巨人網絡通訊聲明:本文標題《如何在Unity中使用VR暴風魔鏡藍牙手柄》,本文關鍵詞  如,何在,Unity,中,使用,暴風,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何在Unity中使用VR暴風魔鏡藍牙手柄》相關的同類信息!
  • 本頁收集關于如何在Unity中使用VR暴風魔鏡藍牙手柄的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 达拉特旗| 新余市| 四子王旗| 上林县| 读书| 新竹市| 黔西县| 伽师县| 闽侯县| 晋中市| 惠水县| 江门市| 略阳县| 孟津县| 兴和县| 都江堰市| 清新县| 老河口市| 博客| 临夏县| 凭祥市| 通道| 大邑县| 璧山县| 安庆市| 保靖县| 荆州市| 大余县| 宁陕县| 叙永县| 郸城县| 阳泉市| 萨嘎县| 浮山县| 察哈| 清水县| 扬中市| 浦北县| 衡阳县| 宁强县| 西平县|