UE4 SwitchBoard無法啟動的原因以及解決辦法

SwitchBoard的運行原理:
????????SwitchBoard是一個基于python環(huán)境下運行的程序,所以只有當所有環(huán)境都正確的安裝的情況下才能正常啟動。這里打一個簡單的比方,當你在python的腳本文件下,輸入有一串錯誤代碼,或者錯誤修改SwitchBoard的代碼。最典型的特征的情況就是無法啟動,而且沒有任何提示。
????????按照通常軟件的設計邏輯,軟件的做法應該是拋出異常,讓用戶知道錯在哪了。這里雖然不知道為啥虛幻沒設計這個模塊,但是有一個猜測,就是使用Switchboard的團隊有兩種。一種完全不需要編程的團隊,對于這種團隊。給出復雜的報錯信息反而會很迷惑。一種則是擁有編程團隊的大組織,這種團隊有能力解決這些問題。甚至可以自定義自己的圖形界面。當然這對于了解SwitchBoard邏輯框架的大佬來講不難。
找找“無法啟動”的原因:
1. 首先我們來看看啟動Switchborad的插件目錄:

2. 首先進入到Source文件夾下,定位到”SwitchboardMenuEntry.cpp“文件第38行,看虛幻到底干了什么事情?
這里綁定了:OnLaunchSwitchboardClicked函數,找到了函數,就可以知道虛幻接下來干什么了。

3. 通過函數指定要運行的文件,然后執(zhí)行。
注意:標紅的位置,代表分別執(zhí)行的文件是哪兩個
windows:switchboard.bat
linux: switchboard.sh

4. 既然知道虛幻到底執(zhí)行了什么,我們就直接找到文件然后運行它。(比如我這里就是無法打開Switchboard的狀態(tài))

先看問題的表象:在文件導航欄直接輸入:”cmd“,然后輸入要運行的文件”switchboard.bat“。
雙擊bat:就會復現”一閃而過的現象“,因為命令行不會駐留在那。

通過這串報錯我們可以知道:”C:\Program Files\Epic Games\UE_4.27\Engine\Extras\ThirdPartyNotUE\SwitchboardThirdParty\Python\Scripts\activate“
在我們的這個目錄下缺少了啥,導致程序無法啟動。(這里就是:環(huán)境庫不全)
看看Switchboard.bat到底干了什么?
1. 定位到引擎位置,然后設置各環(huán)境變量的存儲位置

2. 然后就進入主函數了,這里定位到23行
????????這里結合第一步,你會發(fā)現bat文件是通過判斷pyVenvDir的目錄是否存在來辨別環(huán)境是否存在。
????????這里其實就是一個“坑”,假如我有了這個文件夾,但是文件夾是空的。他就執(zhí)行后面的操作了。實際上python的運行環(huán)境啥也沒裝,這就是為什么會點了啥也不發(fā)生的原因。
2. 接下來我們看第二個判斷語句:if not exist _pyVenvDir 。
這就是我們第一次點擊Switchboard進行的操作。
調用:"setup_python_venv"函數

3. 然后!看看具體干了什么:

注意:關鍵的部分來了,這是導致啟動不了的關鍵:
這里需要下載python的庫然后將他們塞到對應的python環(huán)境的文件夾里面。
由于國內網絡環(huán)境的原因,通常會出現斷連的情況。有的是超時斷連后控制臺直接跳出了。當然不排除有的運營商或者地區(qū)網絡政策不一樣能下載下來,就能正常打開。
4.那switchborad是怎么啟動的呢?參考bat中下面代碼

好了基本能知道我們在點擊按鍵,虛幻為我們干了什么?哪些環(huán)節(jié)比較薄弱,導致我們會啟動不了。
已經打不開了怎么解決呢?
步驟:
1.刪除虛擬環(huán)境的安裝目錄:
進入這個目錄:switchboardThirdParty然后刪除python文件夾


2.修改Switchboard.bat文件,更新“pip”再把原有地址換成國內的源。

添加如下地址:
注意:這里寫了很多地址,只是起備用的作用。你只需按照上圖中的填寫。只有當清華大學的庫不能用時才考慮換其他庫。
豆瓣
http://pypi.douban.com/simple/
清華大學?
https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云
http://mirrors.aliyun.com/pypi/simple/
中國科學技術大學
http://pypi.mirrors.ustc.edu.cn/simple/
3.重啟編輯器,然后點擊上方的switchboard按鈕

不正常的文件目錄:

?正常的文件目錄:

當你的目錄正常之后,意味著你已經可以啟動你的Switchboard了。
其他問題:關于一部分人,安裝好后仍然不能啟動的問題解決辦法。
***** 非常重要 *****
請不要將你的項目名設置成中文,比如官方示例的:“虛擬制片”,請務必改成英文。
不排除部分人中文名可用,這是由于部分人系統(tǒng)裝的是Windows英文版,在字符集這塊有差異。如果是開發(fā)人員我也建議您將系統(tǒng)換成英文版鏡像,并且項目中盡可能用英文或者英文不行就拼音。
?恭喜你,大功告成?。。?!
新5.0.2版本請?zhí)D到新文章:
https://b23.tv/2CWY69M