本帖最後由 geekli 於 2017-4-11 15:53 編輯 AR開發者交流羣:605785368windows AR開發者社區:app 第一部分:開發要求
Hololens 運行與Win10,應用程序是與UWP(通用windows開發平臺)構建的,開發Hololens 這樣的全息體驗對電腦的配置要求也是至關高的。
1.64位Windows 10專業版,企業版或教育版(家庭版不支持Hyper-V)
2.64位CPU
3.8GB以上的RAM
4.在BIOS中,必須具有如下功能:
5.對於GPU,需DirectX 11.0或更高版本,WDDM 1.2驅動程序或更高版本
關於Hyper-V,它是微軟的一款虛擬化產品,採用相似Vmware和Citrix開源Xen同樣的基於hypervisor的技術。
第二部分:安裝
1.啓用虛擬化,即在PC上啓用硬件虛擬化。
詳細步驟請看:https://msdn.microsoft.com/library/windows/apps/jj863509(v=vs.105).aspx
2.啓用Hyper-V
3.安裝Visual Studio 2017或Visual Studio 2015
Update3(https://developer.microsoft.com/en-us/windows/downloads)ide
4.安裝HoloLens emulator(https://developer.microsoft.com/en-us/windows/mixed-reality/hololens_emulator_archive)
5.安裝Unity (https://unity3d.com/cn/get-unity/download)
第三部分:關於Hololens 模擬器
HoloLens模擬器容許你在沒有Hololens的狀況下在PC上測試全息應用程序,並附帶Hololens開發工具集。仿真器使用Hyper-V虛擬機。
關於輸入:
關於工具欄:工具 在主窗口的右側,您將找到仿真器工具欄。工具欄包含如下按鈕:post
第四部分:開發----Hello,HoloLens! 首先咱們在unity中新建一個項目,接着添加一個簡單的3D模型進行測試,好比: 接着部署Windows Store 接着,點擊Build,生成VS項目: 啓動VS:
通常默認狀況下,從Unity導出的UWP應用程序在任何Windows 10設備上運行。因爲HoloLens是不一樣的,應用程序應該利用僅在HoloLens上可用的功能。爲此,您須要在Visual Studio TargetDeviceFamily中的Package.appxmanifest文件中設置爲「Windows.Holographic」 ,以下:
接下來,就能夠運行啦:
第五部分:輸入事件總結 1.GAZE凝視操做 在Hololens中,使用的是用戶的頭部位置與方向來gaze,而不是眼睛。 示例代碼(PS:核心在於RayCast):
[C#]
純文本查看
複製代碼
2.手勢輸入
[C#]
純文本查看
複製代碼
3.語音輸入
using System.Collections.Generic;開發工具 using System.Linq;測試 using UnityEngine;ui using UnityEngine.Windows.Speech;this
public class SpeechManager : MonoBehaviourspa { KeywordRecognizer keywordRecognizer = null; Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>();
// Use this for initialization void Start() { keywords.Add("Reset world", () => { // Call the OnReset method on every descendant object. this.BroadcastMessage("OnReset"); });
keywords.Add("Drop Object", () => { var focusObject = GazeGestureManager.Instance.FocusedObject; if (focusObject != null) { // Call the OnDrop method on just the focused object. focusObject.SendMessage("OnDrop"); } });
// Tell the KeywordRecognizer about our keywords. keywordRecognizer = new KeywordRecognizer(keywords.Keys.ToArray());
// Register a callback for the KeywordRecognizer and start recognizing! keywordRecognizer.OnPhraseRecognized += KeywordRecognizer_OnPhraseRecognized; keywordRecognizer.Start(); }
private void KeywordRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args) { System.Action keywordAction; if (keywords.TryGetValue(args.text, out keywordAction)) { keywordAction.Invoke(); } } } 4.音頻輸入 |