有幾個 ePOE 工具讀取的是畫面上一小塊固定區域,而不是剪貼簿:靈魂之井的已揭露階級讀取、符文偵查、祭祀戰利品掃描器,以及倉庫開啟/格位懸停輔助功能。這些讀取是透過 OCR——光學字元辨識——完成的,而且現在除了 Windows,也能在 Linux 上運作。
兩套引擎,自動替你選擇
ePOE 在同一個服務背後內建兩個 OCR 後端,並會自動在兩者之間選擇。完全不需要設定。
- Windows OCR——Windows 內建的辨識功能(
Windows.Media.Ocr)。速度快、不需要下載,是 Windows 上的預設引擎。 - 內建的跨平台引擎——搭配 OpenCV 的 Tesseract,以 WebAssembly 形式在應用程式中執行。它是 Linux 上唯一的引擎(Linux 上沒有 Windows OCR),也是 Windows 內建引擎萬一無法啟動時的備援。
在 Windows 上你使用的是內建引擎;在其他平台,以及內建引擎無法啟動的 Windows 電腦上,則由隨附的引擎負責。無論哪一種,這些工具——以及它們的快捷鍵和頁面——的行為都完全相同。
隨附的資源檔(約 6 MB)
跨平台引擎需要大約 6 MB 的模型與函式庫檔案。在一般安裝的版本中,這些檔案會隨應用程式一起提供,所以直接就能用。只有在尚未下載這些檔案的純開發用程式碼中才會缺少它們;這種情況下,隨附的引擎會回報自己無法使用,而 Windows 會安靜地改用內建的 OCR。在缺少這些資源檔的 Linux 上就沒有可退而使用的 OCR,因此掃描器會告訴你無法讀取畫面。
Linux 的文字框限制
Windows 內建引擎會為每個辨識出的單字回傳它在畫面上的位置。隨附的引擎會回傳每一行的文字,但不包含每個單字的位置。對於讀取獎勵盤面或物品名稱——ePOE 需要的是文字本身,而不是它們的像素位置——這沒有任何差別。唯一有影響的,是要在某個確切單字上繪製東西的功能,例如讓倉庫價格標記對齊特定格子:在 Linux 上,因為只能根據整行來定位,所以位置會比較粗略。文字仍然會被正確讀取;受影響的只有像素級的精準定位。
它從不讀取遊戲記憶體
無論使用哪一套引擎,OCR 都只會查看 ePOE 在本機擷取的一塊有限的畫面區域,並在你自己的電腦上讀取。它不會碰 Path of Exile 的記憶體,擷取的像素也永遠不會離開這台電腦。使用哪一套引擎是每台電腦各自的資訊,因此它也是雲端同步永遠不會帶到你其他電腦上的設定之一。