1. 程式人生 > >HTC vive基於unity的凝視互動功能(帶HTC 外掛)

HTC vive基於unity的凝視互動功能(帶HTC 外掛)

提供幾個 HTC 外掛 

1.SteamVR

2.VRTK - SteamVR Unity Toolkit

3.HTCUnity

連結:http://pan.baidu.com/s/1mhSt83Q 密碼:0e2p

帶上HTC眼鏡後盯住物體幾秒,然後彈出一個縮減時間的UI,在時間未結束以前移開視線清0

看物體觸發事件的效果的原理其實就是從攝像機上發出一條射線,然後判斷他碰到的是否是你想要觸發的物體,接著發出對應事件即可

using UnityEngine;
using System.Collections;
using UnityEngine.UI; public class VRCameraRay : MonoBehaviour
{
    [SerializeField]
    private GameObject m_Canvas;
    [SerializeField]
    private float _myTime = 3;//時間總量
    [SerializeField]
    private GameObject m_cd;     [SerializeField]
    private Image m_Image;
   
    void Update()
    {
        // 以攝像機所在位置為起點,建立一條向前發射的射線 
        Ray ray = new Ray(transform.position, transform.forward);
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit, Mathf.Infinity))
        {
            // 如果射線與平面碰撞,列印碰撞物體資訊 
            //Debug.Log("碰撞物件: " + hit.collider.name);
            if (hit.collider.name == "Debris")
            {
                m_cd.gameObject.SetActive(true);
                CD();
                Countdown();
            }
            if (hit.collider.name != "Debris") {
                m_cd.gameObject.SetActive(false);
                _myTime = 3;
                m_Image.fillAmount = 1;
            }
            // 在場景檢視中繪製射線 
            Debug.DrawLine(ray.origin, hit.point, Color.red);
        }
    }
   
    //====================倒計時=====================
    void Countdown()
    {
        _myTime -= Time.deltaTime;//時間總量-=完成一幀所用時間
        if (_myTime <= 0)
        {
            m_Canvas.gameObject.SetActive(true);
        }
    }     //============技能冷卻==============
    private bool m_isColding = true;
    void CD()
    {
        if (m_isColding)
        {
            m_Image.fillAmount -= (1.0f / _myTime) * Time.deltaTime;
            if (m_Image.fillAmount == 0)
            {
                m_cd.gameObject.SetActive(false);
            }
        }
    }
} 將本指令碼掛在到  Camera (eye)   m_Image

相關推薦

HTC vive基於unity凝視互動功能HTC 外掛

提供幾個 HTC 外掛  1.SteamVR 2.VRTK - SteamVR Unity Toolkit 3.HTCUnity 連結:http://pan.baidu.com/s/1mhSt83Q 密碼:0e2p 帶上HTC眼鏡後盯住物體幾秒,然後彈出一個縮減時間的U

HTC VIVE開發教程基礎互動功能

從這一節起我開始介紹一些vive的互動實現方式,比如手柄發出的射線,凝視,瞬移等等。SteamVR外掛內都有這三種互動的輔助類。 Extras資料夾裡面的SteamVR_GazeTracker是凝視的工具類,SteamVR_LaserPointer是射線的工具類,SteamV

curses中與鍵盤相關的互動功能curses筆記四

curses中與鍵盤相關的互動功能   與鍵盤相關的功能主要就是通過鍵盤進行輸入,關於鍵盤輸入的函式主要有如下幾個: 函式 描述 int getch(void) 類似與getchar,用

HTC VIVE Tracker的二次開發實際操作篇附軟體

HTC VIVE Tracker 作為一款優秀的VR裝置,其有著非常好的定位精度,這時,我們就可以用這一裝置來實現簡單的開發,但是網上眾多的教程中僅僅針對如何顯示資料做了解讀,但是,資料和我們自己編寫的軟體如何互動就成了一個一直困擾開發者的問題,這裡,筆者提出一種解決思路來實

HTC Vive VR房產專案開發四切換傢俱樣式

一、在VRTK中的Prefabs下將RadiaMenu拖動到SofaContainer之下 二、在Panel中預設掛載了兩個指令碼,VRTK_Radial Menu和VRTK_Radia Menu Controller,由於不需要通過手柄的touch pad等鍵進行操作,

HTC VIVE Tracker的二次開發獲取位置資訊

我們在使用HTC的VR裝置進行二次開發時其實也不單單是可以進行遊戲的開發,HTC的VIVE Tracker其本身也是一個很好的位置定位器,他可以測相對於定位器的空間座標以及翻轉角度等,這裡,我們簡單的介紹一下,如何利用HTC的追蹤器(HTC VIVE Tracker)來獲取相

前端實現多圖片上傳檢視功能UI實現

由於業務需求,需要實現多圖片的上傳,並且能夠實時檢視使用者上傳的圖片列表。因此從網上找了一個不錯的外掛,並和bootstrap UI進行的相容。基本能夠滿足需求。下面就是我的實現過程(PS:本人前端了解不太深,所以基本是實現了功能… UI沒有太多考慮…)

jquery+css實現自定義對話方塊功能不使用外掛

當今網路上各種jquery對話方塊外掛層出不窮,可是我為什麼要放棄這些外掛選擇自己使用jquery和css來自定義對話方塊的呢?有兩方面的原因,一個是有利於自己更加深入的瞭解css和jquery的特性,另一方面也可以更加的相容自己的專案。這裡面有幾個關鍵性的技術點,但是我們

Htc Vive入門之凝視效果眼神殺,遇神殺神,遇佛殺佛

瞅我幹嘛?瞅你咋的?誰惹我,我盯誰,盯誰殺誰。神擋殺神,佛擋殺佛。--------眼神殺,htc vive的凝視效果 1、刪除場景中的maincamera,建立一個Plane並設定屬性 2、建立一個cube並設定相關屬性 3、建立一個Canvase並設定相關屬性

Unity與Android交互-Unity接入高德地圖實現定位以及搜索周邊的功能使用Android Studio詳細操作

nac mcc 以及 分享 pack create lis red 效果 剛進公司給安排的任務就是Unity接入高德地圖,算是踩了不少坑總算做出來了,抽點時間寫個博客記錄一下 廢話不多說 先上效果圖 獲取定位並根據手機朝向顯示周邊信息 使用的Unity

關於Unity實現AR功能

get 創建 leg 子物體 機制 9.png 菜單欄 設置 developer 一. 下載“Vuforia SDK” 官網鏈接:https://developer.vuforia.com/ 1.進行註冊賬號 2.註冊完成後,在Pricing界面進行選擇免費付費版等,

關於Unity實現AR功能AR手機截圖

datetime replace ext adp screen tco 文件 unity directory 1 /************************************************* 2 * 項目名稱:AR截圖 3 * 腳本創建人

關於Unity實現AR功能攝像頭轉換與閃光燈開關控制

iso oid dir color 關於 rec mode 初始化 summary 1 /// <summary> 2 /// 攝像頭轉換 3 /// </summary> 4 /// <param name

微信公眾號實現跟關注使用者進行訊息的互動功能1封裝基本類

微信公眾號實現跟關注使用者進行訊息的互動功能,我們可以簡單的理解: (1)首先,使用者向微信伺服器傳送訊息; (2)微信伺服器接收到使用者的訊息處理之後,通過開發者配置的URL和Token 來找到第三方伺服器,並以XML形式向第三方伺服器傳送訊息。 (3)第三方伺服

OpenLayers 3 之 地圖互動功能interaction詳解

      地圖互動功能和上一篇講的地圖控制元件有些混淆,它們都控制著使用者與地圖的互動,區別是地圖控制元件的觸發都是一些可見的 HTML 元素觸發,如按鈕、連結等;而互動功能都是一些裝置行為觸發,都是不可見的,如滑鼠雙擊、滾輪滑動等,手機裝置的手指縮放等。

Unity 截圖功能安卓、IOS

我們在一些專案中可能需要截圖儲存功能(特別是AR的一些專案),將截下來的圖儲存的相簿中,從而實現分享功能。下面就Android和IOS說一下他們是如何將圖片儲存到本地圖冊的。 關於安卓端,儲存到相簿方法很簡單,就是也路徑的問題,具體方法如下: public class

OpenLayers 之 地圖互動功能interaction詳解,openlayers百度地圖

轉自:http://www.bkjia.com/webzh/1003573.html 地圖互動功能和上一篇講的地圖控制元件有些混淆,它們都控制著使用者與地圖的互動,區別是地圖控制元件的觸發都是一些可見的 HTML 元素觸發,如按鈕、連結等;而互動功能都是一些裝置行為觸

HTC Vive VR房產專案開發一手柄提示+戶型圖

一、匯入房子模型、SteamVR、TheLabRenderer、VRTK,進行相關設定,並將CameraRig拖動到場景中,但此時並沒有看到房屋模型(http://blog.csdn.net/nicolelili1/article/details/74857374) 二、

在Sublime Text 3上實現python互動功能SublimeREPL外掛安裝

原本python IDLE 3.6寫程式碼好好的,不知為何,莫名其妙地經常出現IndentationError:unexpected indent的錯誤,用Sublime Text 3開啟,發現的確又是縮排對齊的問題。網上搜索了半天,沒有解決方案,問題依舊。於是想轉用Subl

HTC Vive VR Unity 開發入門

Steam VR在Unity上的開發出奇的簡單。只要以下步驟就能夠進行Steam VR的開發。 第一步,最重要的一步,你需要一臺 HTC的Vive VR裝置。這個有點貴也有點難買。需要預定。 第二步,一臺足夠強大的主機。建議配置是I7,32G記憶體,SSD硬碟以及GTX970以上的顯示卡。換句話說,要配置一