考量到使用HoloLens做混合實境開發時,有時直接疊合上2D影片,
可能還比較能快速發展出想實做的點子來。
此時不僅是呆呆地貼上影片,而是將影片中除了主體以外的背景去背,
然後做播放,便是一個重要的功能。
2018年8月6日 星期一
2018年8月4日 星期六
解決Mixed Reality Capture的延遲問題
這個問題頗為重要又相當棘手,但實際上早在一兩年前,
有些程式高手已經解決,並且將解法免費分享在GitHub上。
想要看到戴HoloLens眼鏡的人看到些什麼,一般可以用電腦開啟網路瀏覽器,
並且以網路連線HoloLens,就可以開啟Device Portal,
觀看Hologram與環境疊合後的混合實境結果。
可是,這項功能所看到的畫面向來會延遲個4-5秒鐘,
這對於APP展示或Oral Presentation非常不便。
後來,找到了一個已經早早被分享出來的解法。
在GitHub上有人分享一套稱為MixedRealityCompanionKit的套件,
裏頭有許多好用的小東西,其中的MixedRemoteViewCompositor就可以解決延遲的問題。
有些程式高手已經解決,並且將解法免費分享在GitHub上。
想要看到戴HoloLens眼鏡的人看到些什麼,一般可以用電腦開啟網路瀏覽器,
並且以網路連線HoloLens,就可以開啟Device Portal,
觀看Hologram與環境疊合後的混合實境結果。
可是,這項功能所看到的畫面向來會延遲個4-5秒鐘,
這對於APP展示或Oral Presentation非常不便。
後來,找到了一個已經早早被分享出來的解法。
在GitHub上有人分享一套稱為MixedRealityCompanionKit的套件,
裏頭有許多好用的小東西,其中的MixedRemoteViewCompositor就可以解決延遲的問題。
2018年7月20日 星期五
HoloLens 的 Sharing 功能 (程式碼解說)
本文將仔細介紹微軟網站所提供的 MR Sharing 240: Multiple HoloLens devices [前往]。
我就不仔細翻譯網站所提供的文件,此處我只想做個紀錄,主要是關於程式碼的部分。
目標:我想要用聲控說「play」,讓animator開始執行動作。
animator 已經事先寫好animator controller,並且指定好條件設定。
我想讓兩台HoloLens之間,可以同步執行上述這件事情。
我就不仔細翻譯網站所提供的文件,此處我只想做個紀錄,主要是關於程式碼的部分。
目標:我想要用聲控說「play」,讓animator開始執行動作。
animator 已經事先寫好animator controller,並且指定好條件設定。
我想讓兩台HoloLens之間,可以同步執行上述這件事情。
2018年7月18日 星期三
如何抓到Camera 的 transform.rotation 在X,Y,Z軸的值
在Unity裏頭的rotation,是一個相當複雜的概念。
直覺來說,我們會想說在X軸上看旋轉個幾度,Y軸上看旋轉個幾度,Z軸上看旋轉個幾度。
但實際上似乎又無法這樣設定。
以下有個特別的方式,既可以保持變數型態是 Quaternion,又可以從我們直覺的方式來做旋轉角度的設定。
直覺來說,我們會想說在X軸上看旋轉個幾度,Y軸上看旋轉個幾度,Z軸上看旋轉個幾度。
但實際上似乎又無法這樣設定。
以下有個特別的方式,既可以保持變數型態是 Quaternion,又可以從我們直覺的方式來做旋轉角度的設定。
2018年7月14日 星期六
將 Unity 專案部署到 Android 平台
這件事情比我想像中還要容易許多,尤其是放暑假後,
因為能專心地改寫程式,所以就一鼓作氣的把Android專案寫完。
我原本寫來部署到HoloLens用的Unity專案,也因為已經將程式架構定下來了,
所以將它改成部署給手機(Sony, Androida)使用,就變地快速許多。
以下整理一下,改寫過程使用到的關鍵網頁資源:
因為能專心地改寫程式,所以就一鼓作氣的把Android專案寫完。
我原本寫來部署到HoloLens用的Unity專案,也因為已經將程式架構定下來了,
所以將它改成部署給手機(Sony, Androida)使用,就變地快速許多。
以下整理一下,改寫過程使用到的關鍵網頁資源:
2018年7月3日 星期二
HoloLens 專案的快速測試與開發
誠如我在這篇文章「HoloLens建置(build)與部署(public)」(連結) 所討論的,
一個APP的完整部署流程,大約需要20分鐘,其流程相當耗時,這是不利於程式開發的。
因此,以下介紹四種測試方式,從簡易到完整流程,開發者可依現有軟硬體情況與需求交叉使用。
一個APP的完整部署流程,大約需要20分鐘,其流程相當耗時,這是不利於程式開發的。
因此,以下介紹四種測試方式,從簡易到完整流程,開發者可依現有軟硬體情況與需求交叉使用。
2018年7月2日 星期一
2018年7月1日 星期日
HoloLens 建置(build)與部署(publish)
開始談如何建置與發佈之前,先跟各位介紹一下開發HoloLens時硬體與軟體的邏輯關係。
想要自撰一個HoloLens APP,你的電腦需要先安裝好
1. Unity
2. Visual Studio
Unity是一個可供對3D模型作互動並且撰寫C#語法(或Java語法)的平台,
開發者可在Unity上匯入3D模型,也可以透過Visual Studio撰寫C#語法,
而且Unity與Visual studio所撰寫的C# script之間會有所連動,
藉此就可以依著開發者需求,寫出您所想要執行的功能。
寫好的Unity專案,必須建置(build)出C#的Visual studio專案。
這個步驟對HoloLens app佈署來說是必須的。
最後,再由Visual studio專案進行佈署(deploy),
把寫好的專案佈署到HoloLens眼鏡上。
總結來說,佈署順序是:
Unity → Visual Studio → HoloLens
① ②
想要自撰一個HoloLens APP,你的電腦需要先安裝好
1. Unity
2. Visual Studio
Unity是一個可供對3D模型作互動並且撰寫C#語法(或Java語法)的平台,
開發者可在Unity上匯入3D模型,也可以透過Visual Studio撰寫C#語法,
而且Unity與Visual studio所撰寫的C# script之間會有所連動,
藉此就可以依著開發者需求,寫出您所想要執行的功能。
寫好的Unity專案,必須建置(build)出C#的Visual studio專案。
這個步驟對HoloLens app佈署來說是必須的。
最後,再由Visual studio專案進行佈署(deploy),
把寫好的專案佈署到HoloLens眼鏡上。
總結來說,佈署順序是:
Unity → Visual Studio → HoloLens
① ②
2018年6月29日 星期五
場景切換時等待個幾秒鐘才切換過去
這是書上普遍都會用的方法
我參考Loading new scene after time [連結] 的寫法
改成適合我的專案的code。
解釋一下:
事先寫了名為LoadLevelAfterDelay的IEmumerator。
要用的時候,使用StartCoroutine呼叫LoadLevelAfterDelay。
IEmumerator也可以寫一些參數進去,以下的例子是寫sceneName這個參數,決定要切換去哪個場景。
你也可以寫delay參數,決定要等待幾秒鐘。
參考資料 [連結1] [連結2]
我參考Loading new scene after time [連結] 的寫法
改成適合我的專案的code。
解釋一下:
事先寫了名為LoadLevelAfterDelay的IEmumerator。
要用的時候,使用StartCoroutine呼叫LoadLevelAfterDelay。
IEmumerator也可以寫一些參數進去,以下的例子是寫sceneName這個參數,決定要切換去哪個場景。
IEnumerator LoadSceneAfterDelay (string sceneName) { yield return new WaitForSeconds(0); SceneManager.LoadScene(sceneName, LoadSceneMode.Single); }
這個指令另外寫到其他function裡面
StartCoroutine(LoadSceneAfterDelay("BaseballMain"));
你也可以寫delay參數,決定要等待幾秒鐘。
IEnumerator LoadSceneAfterDelay (string sceneName, float delay) { yield return new WaitForSeconds(delay); SceneManager.LoadScene(sceneName, LoadSceneMode.Single); }
StartCoroutine(LoadSceneAfterDelay("BaseballMain",2));
訂閱:
文章 (Atom)