發表文章

目前顯示的是有「VR」標籤的文章

Oculus Quest with Virtual Desktop

圖片
  摘要: Oculus Quest結合Virtual Desktop(以下稱VD)軟體,可實現遠端無線高品質VR體驗。 Virtual Desktop Virtual Desktop VR Patch for Quest Oculus Quest play Steam VR games with Virtual Desktop --- Virtual Desktop - PC desktop & VR games PC端與Quest各自安裝VD軟體,PC端輸入Quest使用者ID後自動搜索配對,連線速度很快,且可網際網路連線不需要在同一網域。不過連線安全性有疑慮,自動連線無其他安全驗證方式。 VR體驗感很好,透過VR裝置上的鏡頭做室內3D空間定位,不須額外架設感應基地台,無線VR行動自由,還有穿透模式(不用取下VR裝置透過攝影機畫面看到外面實景),藉由VD畫面串流體驗高品質內容,以Wi-Fi 5連線低延遲,輸入方面除了VR控制器還有手勢辨識,可支援Oculus/Steam的VR遊戲,唯一需要注意VR裝置電量使用情形連續使用約1~2小時。 Desktop mode video bitrate : ~32 Mbps VR mode video bitrate : ~93 Mbps // 中文路徑可能造成SideQuest無法正常安裝Virtual Desktop VR Patch // 欲執行Steam或Oculus平台上的VR遊戲時,必須處於已登入的狀態 // Quest以手機無線基地台方式連線時,無法正常與VD連線 // 網際網路連線環境需開啟UPnP功能或是設定Port forwarding --- Virtual Desktop - My UE4Game 正常流程執行UE4Game時會發生無法順利連結VR模式的問題(無法全螢幕運行、VR控制器無法正常運作),需要執行以下程式開啟「Auto-inject」模式。 // 與VD中斷連線後將會關閉自動注入(auto-inject) RunMyUE4Game.vbs Set WinScriptHost = CreateObject("WScript.Shell") Return = WinScriptHost.Run("Powershell.exe -File "...

HP Reverb & Oculus Rift S 停用睡眠功能

圖片
  VR顯示器都帶有自動睡眠功能來避免螢幕老化 (burn-in),但這對開發者或是展示時有很大的困擾,當VR顯示器進入睡眠模式後,體驗內容會造成畫面嚴重延遲,若在多人連線下則會造成伺服器與客戶端失去同步,在甦醒後還有機率會發生VR顯示器需要重新定位的問題。 -------------------- HP Reverb (適用其他windows mixed reality體系頭盔)  Enable Screen Saver Mode - 啟用螢幕保護模式  此模式將停用睡眠模式,頭盔閒置時會關閉螢幕,但不會失去控制,直到重新戴上頭盔時螢幕會恢復顯示。 reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Holographic /v ScreensaverModeEnabled /t REG_DWORD /d 1  // 1 to enable screen saver mode  // 0 to disable screen saver mode  // Windows version 1903 or newer  Set Idle Timer Duration To Default - 設定休眠間隔時間 (預設15分鐘) reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Holographic /v IdleTimerDuration /t REG_DWORD /d 900000  // Warning: Changing this idle timer to longer than the default can lead to Screen burn-in on Mixed Reality Headsets  // The Mixed Reality Portal idle timer specified in milliseconds Oculus Rift S  OculusCompatCheck.exe - 相容性測試  // C:\Program Files\Oculus\Support\oculus-compat  OculusDebugTool.exe - 除錯工具 (...

UE4 3D widget for VR (will not be obscured)

圖片
準備一個Widget Blueprint    Create Advanced Asset -> User Interface -> Widget Blueprint 建立一個Actor BP    新增元件 Widget Component      - 指定Widget Class為剛剛準備好的Widget Blueprint      - 取消勾選Rendering.RenderInMainPass // 不要顯示,由StereoLayer顯示不然會有兩個    新增元件 Stereo Layer      - 勾選StereoLayer.LiveTexture // 持續更新內容      - 指定類型StereoLayer.StereoLayerType // FaceLocked=隨攝影機移動旋轉、TrackerLocked=固定位置    Event Graph 將完成的Actor BP放置在場景上

[UE4] Fullscreen vr mirror on HTC vive

Step1. 準備原始碼版本的遊戲引擎 Step2. 修改SteamVRHMD.cpp // ...\Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVR\Private int32 val; if (FParse::Value(Cmd, TEXT("MIRROR"), val)) { if ((val >= 0) && (val <= 3 )) { WindowMirrorMode = val; } else { Ar.Logf(TEXT("HMD MIRROR accepts values from 0 though 3 ")); } return true; } Step3. 修改SteamVRRender.cpp // ...\Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVR\Private int WindowMirrorMode = FMath::Clamp(CVarMirrorMode->GetValueOnRenderThread(), 0 , 3 ); else if (WindowMirrorMode == 3) { RendererModule->DrawRectangle( RHICmdList, 0, 0, ViewportWidth, ViewportHeight, 0.05f, 0.3f, 0.4f, 0.4f, FIntPoint(ViewportWidth, ViewportHeight), FIntPoint(1, 1), *VertexShader, EDRF_Default); } Step4. 儲存後重新編譯 Step5. 使用命令快速切換 (press '~' key)     hmd mirror 1 (Native mode : sin...

[UE4] Package (VR Works 4.15)

VR Works Step1. Copy original project Config Content Plugins Source [ProjectName].uproject Step2. New project switch unreal engine version (.uproject click right button) Step3. Execute and rebulid Step4. VR settings Project - Description Start in VR [checked] Engine - Rendering Instanced Stereo [Unchecked] Lens Matched Rendering [Checked] SinglePassStereo [Checked] Step5. Execute Console Command (vr.LensMatchedShadingRendering 3) Step6. Package VR Works Update Step1. Replace folder Content Source Step2. Execute Console Command (vr.LensMatchedShadingRendering 3) Step3. Package

SteamVR 效能設定 (允許非同步再投影 / 允許交錯式再投影)

SteamVR -> 設定 -> 效能 此兩項功能可以填補不能及時渲染的幀,使用組合請參考以下: 若能穩定維持在90fps 不啟用 非同步再投影 不啟用 交錯式再投影 若僅偶爾落於90fps以下 (建議) 啟用 非同步再投影 不啟用 交錯式再投影 始終無法達到90fps 啟用 非同步再投影 啟用 交錯式再投影 特殊情況 不啟用 非同步再投影 啟用 交錯式再投影 //  交錯式再投影, 交錯式再投影 會強迫其降至45fps,並在這基礎下每隔一幀進行一次重新投影,從而達到90fps的幀率 // 非同步再投影,非同步再投影會智能地插入一幀,與 交錯式再投影 相比,非同步再投影能夠有效減少畫面抖動,同時使得體驗更為流暢自然 原文參考: http://www.sohu.com/a/133881155_213766