HTC Vive VR房產專案開發四(切換傢俱樣式)
一、在VRTK中的Prefabs下將RadiaMenu拖動到SofaContainer之下
二、在Panel中預設掛載了兩個指令碼,VRTK_Radial Menu和VRTK_Radia Menu Controller,由於不需要通過手柄的touch pad等鍵進行操作,移除掉VRTK_Radial Menu Controller指令碼,並且將VRTK_IndependentRadiaMenuController指令碼(允許環形選單掛載到物體上)掛載到Panel物體上
三、對SofaContainer進行設定,與物體進行互動。選中SofaContainer-->Window-->VRTK-->Setup Interactable Object-->進行屬性設定-->Setup selected object(s)
然後在右側自動生成了如圖所示的指令碼配置
四、給SofaContainer新增一個BoxCollider,這樣才能與物體進行互動
五、匯入沙發的模型
將模型拖入Hiearchy檢視並調整大小和位置
但是可以看到材質已經丟失了,找到材質,看到shader還是Standard
手動將材質改為Valve/vr_standard,並且將該材質重新賦給Febo沙發,就恢復正常了
六、建立指令碼並新增到物體上
using System.Collections; using System.Collections.Generic; using UnityEngine; using VRTK; public class Furniture : MonoBehaviour { //傢俱資訊列表 public FurnitureData[] furnitureList; private int currentTextureIndex = 0; private int currentFurnitureIndex = 0; //環形選單 private VRTK_RadialMenu menu; void Start () { menu = GetComponentInChildren<VRTK_RadialMenu>(); //變數傢俱集合,將傢俱設定為隱藏 foreach (FurnitureData data in furnitureList) { data.furnitureModel.SetActive(false); } //將第一個傢俱顯示出來 furnitureList[0].furnitureModel.SetActive(true); updateMenu(); } void Update () { } // 選擇材質 public void SelectTexture(int index) { if (currentTextureIndex != index) { //給材質賦值 furnitureList[1].furnitureModel.GetComponent<Renderer>().material.mainTexture = furnitureList[1].textures[2]; currentTextureIndex = index; } } //選擇傢俱 public void SelectFurniture(int index) { if(currentFurnitureIndex != index) { furnitureList[index].furnitureModel.SetActive(true); //顯示傳遞過來的模型 furnitureList[currentFurnitureIndex].furnitureModel.SetActive(false); //隱藏當前的模型 currentFurnitureIndex = index; //將當前模型的角標重新賦值 } } private void updateMenu() { for(int i = 0; i < 3; i++) { //每選擇一個傢俱模型,就顯示相應的縮圖 menu.buttons[i].ButtonIcon = furnitureList[currentFurnitureIndex].textThumbs[i]; menu.RegenerateButtons(); } } }
using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] public class FurnitureData{ public GameObject furnitureModel; //傢俱 public Texture[] textures; //模型貼圖列表 public Sprite[] textThumbs; //縮圖 }
七、將指令碼Furniture掛載到SofaContainer上,設定集合長度是3,並給funiture model傢俱模型賦值
八、將準備好的材質賦給模型
九、新增材質縮圖
將jpg格式的縮圖匯入到unity中後需要改成Sprite型別
十、分別設定radiomenu的按鈕點選事件
分別指定button的縮圖
十一、執行後
瞬移到沙發旁邊
當接觸物體的時候彈出環形選單
點選第二個方框按鈕換成淺色沙發
點選第一個方框按鈕切換成椅子
點選第三個方框按鈕再次切換成深色沙發
注:參考資料:http://edu.manew.com/course/344/learn#lesson/5753
相關推薦
HTC Vive VR房產專案開發四(切換傢俱樣式)
一、在VRTK中的Prefabs下將RadiaMenu拖動到SofaContainer之下 二、在Panel中預設掛載了兩個指令碼,VRTK_Radial Menu和VRTK_Radia Menu Controller,由於不需要通過手柄的touch pad等鍵進行操作,
HTC Vive VR房產專案開發一(手柄提示+戶型圖)
一、匯入房子模型、SteamVR、TheLabRenderer、VRTK,進行相關設定,並將CameraRig拖動到場景中,但此時並沒有看到房屋模型(http://blog.csdn.net/nicolelili1/article/details/74857374) 二、
HTC Vive VR Unity 開發入門
Steam VR在Unity上的開發出奇的簡單。只要以下步驟就能夠進行Steam VR的開發。 第一步,最重要的一步,你需要一臺 HTC的Vive VR裝置。這個有點貴也有點難買。需要預定。 第二步,一臺足夠強大的主機。建議配置是I7,32G記憶體,SSD硬碟以及GTX970以上的顯示卡。換句話說,要配置一
機器學習專案開發過程(End-to-End Machine Learning Project)
引言:之前對於機器學習的認識停留在演算法的分析上,這篇文章主要從專案開發的角度分析機器學習的應用。這篇文章主要解釋實際專案過程中的大致方針,每一步涉及的技術不會介紹很細緻。機器學習專案開發步驟如下: 1. Look at the big picture. 2. Get the dat
小米VR一體機遊戲開發日記(第二天)
unity裝了一個晚上終於裝完了,不知道為啥要裝個VS 2017,搞得我完全不知道入口在哪?在“程式”裡面找半天沒找到在哪裡開啟,後來在安裝資料夾裡找到了unity.exe,執行居然報錯,什麼“應用程式****報錯 ”之類的。百度了一下,缺了一些dll,在這個地方找到了,ht
加密專案開發筆記(4)——PC後續
在做完PC軟體的基礎功能後,接下來就是後續的功能完善和進一步拓展了 2018-10-28更新 加入U盤認證功能 加入拖拽檔案功能 加入MD5碼完整性校驗 解決在接收伺服器金鑰時UI無響應的情況 加入頂欄選單 U盤認證 U盤認證作
STM32專案開發總結(一)
前些日子用stm32做了一個小專案,現在對專案中出現的一些奇怪問題總結如下。這裡不做程式碼層面的探討。 首先大致介紹一下專案:該專案希望實現高密的遠端資料採集及控制。下位機主控晶片是STM32F1系列晶片,TIAD轉換晶片,同時還有Lora射頻模組實現無線通訊,GPS模組及
企業專案開發--cookie(1)
此文已由作者趙計剛授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 注:本章程式碼基於《第五章 企業專案開發--mybatis註解與xml並用》的程式碼,連結如下: http://www.cnblogs.com/java-zhao/p/5120792.html 在實際專案中,我們會儲
企業專案開發--cookie(3)
此文已由作者趙計剛授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 2.2.3、AdminController 1 package com.xxx.web.admin; 2
企業專案開發--cookie(2)
此文已由作者趙計剛授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 2.1.3、CookieUtil:(cookie的基本操作:增刪查,注意沒有改) 1 package com.xxx.util; 2 &n
Scala 專案開發實戰(2)
今天是學習王家林老師大資料的第二天,今天主要講的是Scala的基礎語法知識,下面開始Scala的開發之旅。 Tuple 使用 列印輸出 triple 中的內容 Arra
敏捷外包工程系列之四:外包與敏捷開發專訪(IIOM獨家專訪)
本文是敏捷外包工程系列的第四篇。(之一,之二,之三,之四)本文是2012年05月初IIOM(國際外包管理學院)的專訪。傳統認為敏捷開發是面向產品研發的,在外包專案裡邊比較難用,因為需求由客戶牽制,而“擁抱變化”極有可能導致專案延期超支,等等。本文提及了敏捷開發對外包專案的幫助
【java專案實戰】一步步教你使用MyEclipse搭建java Web專案開發環境(一)
首先,在開始搭建MyEclipse的開發環境之前,還有三步工具的安裝需要完成,只要在安裝配置成功之後才可以進入下面的java Web專案開發環境的搭建。 1、安裝工具 第一步,下載並
unity 通過使用 photon networking Pun 實現 HTC Vive VR的多人聯網。進階版 《二》
——pun的配置,以及實現頭盔以及兩個手柄的同步。 下載完pun並匯入後如圖所示 有這些東西,pun的介紹還是很清楚的,有很多demo可以學習,而且文件自帶。很容易上手。 首先,就是伺服器的配置了。就是圖中箭頭所指向的。開啟它, 可以看到很多設定,很顯然一般最重要的都在
Angular6 + Ng-Zorro專案開發總結(一)
專案概述 開發一個多功能平臺,具有展示產品,申請服務開通,申請記錄檢視等功能,與公司內部系統相連線,初步功能較為單一, 後期可能會擴充套件新功能。 專案選型 由於上一個專案選擇的Abp框架,配合使用的是angular6的前端框架,這次我還是繼續選擇ang
基於vue-cli網上商城專案實戰開發——搭建一個完整的SPA專案開發框架(一)
基於vue-cli腳手架,結合實際專案經驗,搭建一個完整的SPA專案框架。 安裝vue-cli腳手架 先貼出官方的命令列工具使用方法 官方命令列工具 鑑於此過程比較緩慢,我這裡推薦使用淘寶映象來安裝。依次執行以下步驟 (本人mac,需要sudo獲
物聯網之STM32開發四(中斷系統)
STM32-中斷系統 內容概要: STM32中斷系統概述 外部中斷控制器EXTI 按鍵中斷例項 串列埠中斷例項 STM32中斷系統概述: 內容概要: 中斷的基本概念 巢狀向量控制器NVIC 中斷及異常向量表 中斷優先順序 中斷的基本概念: 處理器中
Java專案開發心得(二):使用EhCache+SSM實現資料快取
在專案的開發過程中,經常會考慮到提高使用者訪問效率,降低伺服器的壓力,這個時候會用到資料快取。當前實現快取的技術有很多, 例如: jCache、Ehcache以及快取伺服器redis,redis作為分散式系統重要的組成部分,該技術的使用以及相關的一些問題會在後面的文章當中詳細介紹。
Java專案開發心得(一):利用Java技術實現查詢手機號碼歸屬地
鑑於最近專案涉及到查詢歸屬地的問題,今天在此做一下技術分享,如果有更好的建議,還請讀者大神指出。 迴歸正題,關於手機號碼歸屬地,想要查詢的無非是執行商、省份、市之類的資
專案開發細節(小專案後端完整細節)
XXX酒店專案總結(後端開發)1.專案功能: a)業務邏輯: i.使用者: 1.使用者通過APP註冊(手機號),然後登入,可以修改賬號密碼;忘記密碼,可以通過手機號重新設定密碼;退出登入;檢視自己的資料;修改自己的資料;