發表文章

Subversion (SVN) 淺談

SVN簡介 SVN = 版本控制 + 備份伺服器 簡單的說,您可以把SVN當成您的備份伺服器,更好的是,他可以幫您記住每次上傳到這個伺服器的檔案內容。並且自動的賦予每次的變更一個版本。 TortoiseSVN--SVN簡介 --- 基本功能操作 Checkout - 把主機上的檔案或是程式碼取出存到用戶端的電腦裡,建立連動 Update - 更新,下載最新的版本到用戶電腦裡,若資料跟主機一樣新,就不會異動 Commit - 將用戶端的變更上傳至主機 Branch/tag - 用於平行開發分支版本或是將版本定版 Switch - 切換版本 Subversion(SVN)概念與工具介紹 SVN中檢出(check out)、匯出(export)、匯入(import)、add(新增)、update(更新)的區別 --- SVN應用 SVN Repository 基本結構 trunk - 主開發目錄 (僅合併不開發) branches - 分支開發目錄 tags - 可用穩定版本 (唯讀) SVN 初始化流程 創建 repository 加入成員、設定權限 建立基本結構目錄 trunk, branches, tags 設定 properties SVN 開發流程 在開發分支(branch)上持續開發 階段開發結束將branch進度合併至trunk 將trunk發布為穩定版本(tag) 建立新的開發分支或原開發分支繼續開發 持續1~4階段循環至專案結束 SVN 使用案例 - 團隊工具庫 (以UE4為例) TeamTools trunk branches 4.25-dev 4.26-dev tags 4.25-release-1.0.20 4.25-release-1.1.35 4.26-release-2.0.52 // 由於開發專案時,工具也處於持續開發中的狀態,所以在專案使用以外部連結(external)方式指定專案開發版本(4.x-dev),除非必要(在舊版本重大除錯更新),否則新功能僅在最新開發版本(4.latest)上追加。 // 避免專案開發中需要隨著工具版本更新而重設工具版控路徑的麻煩,dev版本合併trunk後不刪除,唯有公開發布團隊外使用時才需建立tag穩定版本 SVN 使用案例 - 專案開發 (以UE4為例) MyProject trunk bran...

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 "...

[UE4] 自動存檔與備份設定

C:\Program Files\Epic Games\UE_[Version]\Engine\Config BaseEditorPerProjectUserSettings.ini [/Script/UnrealEd.EditorLoadingSavingSettings] ; True if we should automatically load a default level at start up LoadLevelAtStartup=ProjectDefault ; True if we should automatically reimport textures when a change to source content is detected bAutoReimportTextures=False bAutoReimportCSV=False ; Whether to mark blueprints dirty if they are automatically migrated during loads bDirtyMigratedBlueprints=False ; Whether to automatically save after a time interval bAutoSaveEnable=True ; Whether to automatically save maps during an autosave bAutoSaveMaps=True ; Whether to automatically save content packages during an autosave bAutoSaveContent=True ; The time interval after which to save AutoSaveTimeMinutes=10 ; The minimum number of seconds to wait after the last user interactions (with the editor) before auto-save can trigger. AutoSaveInteractionDelayInSeconds=15 ; The number of seconds warning befo...

[Work Automation] Create Game Console App (VSCode + PowerShell + Qt for Python)

圖片
Windows work automation development history : Visual Basic Script Batch File PowerShell PowerShell has two branches ( Microsoft Docs ) Windows PowerShell (Windows PowerShell 5.1, .NET Framework) PowerShell Core (PowerShell 7, .NET Core 3.1) The following is an introduction to using PowerShell and Qt in VSCode : Environment Build Install Qt 5.15.0 ( download link ) Install Qt Creator IDE Install Qt Design Studio Install Python 3.8.5 ( download link ) Install PySide2 5.15.0 ( download link ) Install PyInstaller 4.0 ( download link ) Install Visual Studio Code ( download link ) Install VSCode extension - PowerShell ( guide ) Install VSCode extension - Python ( guide ) Install PsTools ( download link ) Windows Environment Settings setup.ps1 # following power shell script must be run on administrator # enable administrator and set password net user administrator [password] /active:yes # ------------------------------ # after loging administrator account # set execution policy for run *...