成人免费黄色网_曰本女同videos_男女在线观看视频_在线亚洲黄色_欧美欧美欧美欧美_bestialityvideo另类最新

  • 您的位置:首頁 > 新聞動態 > Unity3D

    UNITY3D 與 HTC VIVE 數據手套VR應用開發

    2017/11/22??????點擊:

    目前很多VR客使用UNIYT3D做VR應用開發時,*新的SteamVR1.2.1在Unity5.4.4下狂報錯,這是因為vive的sdk SteamVR在升級,會有些改動。

    下面的內容是在以下環境完成的 unity5.6.2f1

    1、導入SDK:SteamVR Plugin和Vive Input Utility

    2、將CamerRag拖入場景

    3、添加拾取對象

    添加一個3d對象,并添加腳本BasicGrabbables即可,則物體可以被拾取。物體要被拾取,還需要添加剛體組件

    4、添加觸碰對象

    添加一個3d對象,默認即可觸碰

    5、添加接觸效果

    在3d物體上添加腳本MaterialChanger,設置其參數

    Normal:默認貼圖

    Heightlight:觸碰后的貼圖

    Pressed:按下按鈕時的貼圖

    Heighlight Button:指定按鈕,默認是Trigger

    6、運行

    觸碰拾取對象時,顯示綠,

    按下按鍵后,變紅,可以移動旋轉物體

    觸碰對象可以觸碰,按下按鍵變紅,但無法移動和轉動

    7、事件響應

    vive支持以下事件

    • IColliderEventHoverEnterHandler
    • IColliderEventHoverExitHandler
    • IColliderEventPressDownHandler
    • IColliderEventPressUpHandler
    • IColliderEventPressEnterHandler
    • IColliderEventPressExitHandler
    • IColliderEventClickHandler
    • IColliderEventDragStartHandler
    • IColliderEventDragUpdateHandler
    • IColliderEventDragEndHandler
    • IColliderEventDropHandler
    • IColliderEventAxisChangedHandler
    使用方法,新建腳本如下,并把腳本添加到游戲對象,即可。
    1. using System.Collections;  
    2. using System.Collections.Generic;  
    3. using UnityEngine;  
    4. using HTC.UnityPlugin.ColliderEvent; 
    5. public class viveLearn : MonoBehaviour,IColliderEventHoverEnterHandler {  
    6.  public void OnColliderEventHoverEnter(ColliderHoverEventData eventData){  
    7.  Debug.Log ("hover");  
    8.  }  
    9. }  

    如何把數據手套集成到VIVE開發應用里?

    1.首先建立一個UNITY3D工程, 導入HTC VIVE開發包

    2.導入WONGLOVE數據手套的U3D開發包

    在U3D的資源列表里可以看到項目里有WONGLOVE_RIGHTARM.CS腳本和WONGLOVE數據手套的調用插件程序。

    3. 把WONGLOVE的調用腳本拖到場景內的主相機/ 或者其他物體上,并選擇好數據手套端口號(可以在控制面板->設備管理器)。

    4. OK, 現在已經建立好了UNITY3D+VIVE環境下數據手套的功能配置。

    6. 數據手套的主要源碼片段

    //初始化數據手套

    void Start () {
    ret_angle=new float[19];

    armsensor = new float[12];   //帶有手臂跟蹤功能擴展的數據手套專用
    feedback = new byte[5];      //帶有力反饋功能能擴展的數據手套專用
    openstate = wgInitManu(port);  //打開數據手套端口,并對手套標定變量初始化
    Debug.Log("open state:"+ openstate.ToString());

    }

    //這里是刷新程序片段
    void Update () {

    if (openstate == 1) {
        wgGetAngle (ret_angle); //讀取數據手套的角度值
        wgGetQuat (armsensor); //讀取數據手套的手臂跟蹤傳感器值
    }

    //模型手臂旋轉
    model_uparm_right.rotation   = &armsensor[0];
    model_forearm_right.rotation =  &armsensor[4];
    model_hand_right.rotation     =  &armsensor[8];
    //模型手關節旋轉,以大拇指關節為例
    Thumb_R.rotation = Quaternion.Euler (0,-ret_angle [0] ,0) ;
    Thumb_R1.rotation= Quaternion.Euler(0,-ret_angle [1] ,0) ;
    Thumb_R2.rotation= Quaternion.Euler(0,-ret_angle [2] ,0) ;
    ....此處省略其他手指的設置

    //數據手套的力反饋測試設置
    if (Input.GetKey (KeyCode.Alpha1)) {
    feedback [0] = 16; feedback [1] = 0;feedback [2] = 0;feedback [3] = 0;feedback [4] = 0;
    wgSetFeedBack(feedback);
    }
    if (Input.GetKey (KeyCode.P)) {
    feedback [0] = 0; feedback [1] = 0;feedback [2] = 0;feedback [3] = 0;feedback [4] = 0;
    wgSetFeedBack (feedback);
    }

    //按下R鍵,開始標定
    if (Input.GetKey (KeyCode.R)) {
        wgResetHand();  //標定數據手套的手指傳感器
        wgResetArm();  //標定數據手套的手臂跟蹤傳感器
    }
    if (Input.GetKey (KeyCode.Q)) {
    Application.Quit(); //禁止自動標定    //0 - 自動標定
    }
    }
    void OnDestroy () {
    if (openstate == 1) {
    wgClose ();//程序退出時,關閉數據手套調用資源,并釋放所有申請的內存資源
    openstate =0;
    Debug.Log ("Glove is closed!");
    }
    else 
    Debug.Log ("Glove is NOT closed!");
    }
    //數據手套的手勢定義實現過程
    //獲取WONGLOVE數據手套當前的手勢,例如:0x1f-石頭 0x17-剪子, 0x00-布, 0x1c-OK
    int CheckGloveStatus()
    {
    int gesture = 0; //0x1f;  // b1 1111
    //大拇指第0位,...小指第4位
    if (ret_angle [0] > 150 / 2)
    gesture += 0x01;  // 
    if (ret_angle [1] > 270 / 2)
    gesture += 0x02;  // 
    if (ret_angle [2] > 270 / 2)
    gesture += 0x04;  // 
    if (ret_angle [3] > 270 / 2)
    gesture += 0x08;  // 
    if (ret_angle [4] > 270 / 2)
    gesture += 0x10;  // 
    return gesture;
    }

    }

    7. 本U3D工程源

    如需要本U3D工程源碼,請聯系我們。




    主站蜘蛛池模板: 天堂网www在线资源链接 | www久久久久 | 欧美精品成人91久久久久久久 | 色就是色亚洲色图 | 巨大黑人一级毛片 | 九一免费视频网 | 亚洲欧美久久精品1区2区 | 67194久久| 亚洲日本中文字幕在线四区 | 大肉大捧一进一出好爽的视频 | 激情综合激情五月俺也去 | 噜噜噜久久亚洲精品国产品麻豆 | 久久人人爽人人爽人人片av二区 | 黄色一级无码毛片高清视频 | 久久国产露脸精品国产 | 亚欧在线 | 日本xxxx裸体xxxx偷 | 亚洲欧美日本视频在线观看 | 无码视频免费一区二三区 | 欧美人成在线 | 久久综合五月婷婷 | 偷窥自拍12p| 今天高清免费播放 | 久久无码喷吹高潮播放不卡 | 无码aⅴ免费中文字幕久久 国产成人在线看 | 女人被狂躁yy视频免费看 | 超清中文乱码字幕在线观看 | 一级黄色香蕉视频 | 欧美高清一区三区在线专区 | 色午夜婷婷 | 美女搡bbb又爽又猛又黄www | 国产午夜亚洲精品不卡在线观看 | 在线电影网 | 欧洲一区二区视频 | 天堂资源在线中文 | 国产福利在线 | 色偷偷噜噜噜亚洲男人 | 香蕉伊思人在线 | 精品国产网站 | 超级碰碰色偷偷免费视频 | 国产无限免费av在线播放 |