Imervue 使用手冊
GPU 加速影像工作站,提供 四個頂層分頁。本手冊大部分內容圍繞這四個分頁組織。
分頁 |
功能 |
|---|---|
Imervue |
瀏覽、檢視、整理、搜尋、批次處理圖庫。見「Imervue 分頁 — 圖片瀏覽與圖庫」。 |
Modify |
非破壞顯影管線 — 滑桿、曲線、LUT、遮罩、修圖、多影像合成。見「Modify 分頁 — 非破壞顯影」。 |
Paint |
本格的なラスター描画 風格的點陣繪圖工作室,含筆刷、圖層、動畫、漫畫工具、PSD I/O。見「Paint 分頁 — 本格的なラスター描画 風格繪圖」。 |
Puppet |
從零打造的 2D 綁骨偶動畫器 — 網格、變形器、參數、動作、物理。見「Puppet 分頁 — 2D 綁骨偶動畫」。 |
接下來的「快速開始」、「參考」、「外掛系統」、「MCP 伺服器」屬於跨分頁的章節,所有分頁通用。
快速開始
打開 Imervue 後,你會看到三個區域:
┌──────────┬──────────────────────┬──────────┐
│ 資料夾 │ │ EXIF │
│ 樹狀圖 │ 圖片瀏覽區 │ 資訊欄 │
│ │ │ │
└──────────┴──────────────────────┴──────────┘
左邊:資料夾目錄,點選資料夾就能瀏覽裡面的圖片
中間:圖片顯示區,會以縮圖網格展示所有圖片
右邊:EXIF 資訊欄,顯示圖片的拍攝資訊
開啟圖片
方法 |
操作 |
|---|---|
開啟資料夾 |
|
開啟單張圖片 |
|
拖曳開啟 |
直接把圖片或資料夾拖進視窗 |
從檔案總管開啟 |
右鍵圖片 > ``Open with Imervue``(需先註冊檔案關聯) |
最近開啟 |
|
支援的圖片格式
常見格式:PNG、JPEG、BMP、TIFF、WebP、GIF、APNG、SVG
RAW 格式:CR2(Canon)、NEF(Nikon)、ARW(Sony)、DNG(Adobe)、RAF(Fujifilm)、ORF(Olympus)
瀏覽圖片
縮圖網格模式
開啟資料夾後,所有圖片會以縮圖網格排列。
操作 |
方法 |
|---|---|
瀏覽圖片 |
滑鼠滾輪上下捲動 |
移動畫面 |
按住滑鼠中鍵拖曳 |
進入大圖模式 |
左鍵點擊任一張縮圖 |
調整縮圖大小 |
上方選單 |
縮圖排列密度 |
|
Hover 預覽彈窗 |
滑鼠懸停縮圖 500 ms 顯示放大預覽 |
框選多張圖片 |
左鍵拖曳框選 |
方向鍵移動 |
|
縮圖會顯示狀態徽章:左緣色條(色彩標籤)、左上 ❤(最愛)、右上 ★(書籤)、左下評分星。 尚未載入完成的縮圖以旋轉點陣占位符顯示。
清單(詳細)模式
按 Ctrl + L 可在縮圖格與可排序的清單檢視之間切換,欄位為:預覽 · 標籤 · 名稱 · 解析度 · 大小 · 類型 · 修改時間 · 星等評分(可直接點擊設定 0 – 5 星)。
雙擊列(或按 Enter)進入大圖模式;按 Esc 回到清單。縮圖與元資料在背景執行緒惰性載入,
面對大型資料夾仍保持流暢。
大圖模式(Deep Zoom)
點擊縮圖後進入大圖模式,可以高畫質瀏覽單張圖片。
操作 |
方法 |
|---|---|
放大/縮小 |
滑鼠滾輪、或觸控板捏合 |
拖曳平移 |
按住滑鼠中鍵 |
上一張圖 |
|
下一張圖 |
|
跨資料夾跳轉 |
|
瀏覽歷史 |
|
依編號跳轉 |
|
隨機圖片 |
|
適應寬度 |
按 |
適應高度 |
按 |
重設縮放 |
按 |
回到縮圖模式 |
按 |
全螢幕 |
按 |
劇場模式 |
|
OSD 資訊疊加 |
|
像素檢視 |
|
色彩模式 |
|
分割檢視與雙頁閱讀
不需開啟 Compare Dialog 也能並排顯示兩張:
操作 |
快捷鍵 |
|---|---|
分割檢視(任意兩張並排) |
|
雙頁閱讀(當前 + 下一張) |
|
雙頁閱讀(右至左,漫畫用) |
|
返回先前模式 |
|
在雙頁模式下,方向鍵一次前進兩張。RTL 變體會交換左右面板,讓第 1 頁顯示在右側。
多螢幕視窗
按 Ctrl + Shift + M 會在副螢幕開啟一個無邊框的第二視窗,鏡像顯示主 viewer 當前的圖片。
主視窗可以繼續獨立瀏覽——適合展覽、雙螢幕修圖流程、客戶簡報。再按一次 Ctrl + Shift + M 關閉,
或在第二視窗內按 Esc。
整理圖片
評分與最愛
在大圖模式下,可以快速幫圖片打分數:
操作 |
按鍵 |
|---|---|
加入最愛 ❤ |
|
評 1~5 星 |
|
色彩標籤 (F1 – F5)
獨立於星等之外的 旗標式色彩 flag,適合快速分類(例如:紅=刪除候補、綠=精選、藍=待修)。
操作 |
按鍵 |
|---|---|
紅 / 黃 / 綠 / 藍 / 紫 |
|
批次套用到選取 |
框選多張縮圖後按對應 F 鍵 |
依色彩篩選 |
|
狀態列會顯示目前圖片的色彩 chip;縮圖左邊緣顯示對應色條;**清單模式**有獨立的「標籤」與「星等」欄可排序,星等欄可直接點擊設定 0 – 5 星。
書籤
把常用的圖片加入書籤,方便日後快速找到。
操作 |
方法 |
|---|---|
加入/取消書籤 |
大圖模式下按 |
管理書籤 |
|
標籤與相簿
用標籤和相簿分類管理你的圖片。
操作 |
方法 |
|---|---|
開啟管理介面 |
按 |
幫圖片加標籤 |
右鍵圖片 > |
加入相簿 |
右鍵圖片 > |
依單一標籤/相簿篩選 |
|
多標籤過濾 (AND / OR) |
|
排序與篩選
功能 |
選單位置 |
|---|---|
依名稱排序 |
|
依修改日期排序 |
|
依檔案大小排序 |
|
依解析度排序 |
|
升冪/降冪 |
|
依副檔名篩選 |
|
依評分篩選 |
|
依色彩標籤篩選 |
|
進階過濾 |
|
清除篩選 |
|
瀏覽模式(縮圖格 / 清單)
切換圖片瀏覽器在縮圖格與可排序的詳細清單之間:
Ctrl + L— 切換 縮圖格 ↔ 清單選單:
縮圖大小>瀏覽模式> 縮圖格 / 清單清單模式下任一欄(包含「標籤」)皆可排序;雙擊列或按
Enter開啟大圖模式。
編輯圖片(修改分頁)
切換到上方的 「修改」 分頁,就能進入編輯模式。也可以在大圖模式下按 E 或右鍵 > 修改 進入。
┌────────┬──────────────────────┬────────────┐
│ 工具 │ │ 繪圖屬性 │
│ 列 │ 畫布(直接繪圖) │ 調色、筆刷 │
│ │ │ 曝光調整 │
└────────┴──────────────────────┴────────────┘
標註工具(左邊)
工具 |
圖示 |
說明 |
|---|---|---|
選取 |
⬚ |
選取已畫的標註,可拖曳移動 |
矩形 |
▢ |
畫矩形框 |
橢圓 |
◯ |
畫橢圓或圓形 |
直線 |
╱ |
畫直線 |
箭頭 |
→ |
畫箭頭 |
手繪 |
✎ |
自由手繪線條 |
文字 |
T |
在圖上加文字 |
馬賽克 |
▦ |
框選區域打馬賽克 |
模糊 |
◌ |
框選區域加模糊 |
Tip
在修改分頁中按 ← → 可以切換上一張/下一張圖片。
筆刷類型(右邊)
筆刷 |
效果 |
|---|---|
鋼筆 |
標準細線,最常用 |
麥克筆 |
較粗、半透明的筆觸 |
鉛筆 |
細淡的線條 |
螢光筆 |
寬大、高透明度,像真的螢光筆 |
噴霧 |
噴點效果 |
書法 |
粗細隨筆劃方向變化 |
水彩 |
柔和暈染效果 |
炭筆 |
粗糙質感筆觸 |
蠟筆 |
蠟質手感 |
繪圖屬性(右邊)
屬性 |
說明 |
|---|---|
顏色 |
點擊色塊選擇繪圖顏色 |
線寬 |
拖動滑桿調整筆觸粗細(1~40) |
不透明度 |
調整透明度(0%~100%) |
字型 |
選擇文字工具使用的字型 |
字型大小 |
調整文字大小(6~200 px) |
影像調整(右邊下方)
滑桿 |
功能 |
|---|---|
曝光 |
調整整體亮度 |
亮度 |
微調明暗 |
對比 |
調整明暗對比 |
飽和度 |
調整色彩鮮豔程度 |
白平衡 — 色溫 |
冷暖偏移(藍 ↔ 黃);適合混合光源或室內照片 |
白平衡 — 色調 |
洋紅 / 綠偏移;修正日光燈偏色 |
陰影 |
提亮或壓暗暗部細節 |
中間調 |
調整中間色調,不影響純黑與純白 |
高光 |
救回過曝或進一步推亮 |
鮮豔度 (Vibrance) |
飽和度感知提升 — 保護膚色與已飽和色彩 |
這些調整是 非破壞性 的:每個滑桿皆寫入 per-image 的 Edit Recipe,隨時可以按 重設 或
Ctrl + Z 逐步還原。Recipe 會在重啟後保留,也可透過 XMP sidecar 匯出 / 同步(見中繼資料一節)。
儲存與復原
按鈕 |
說明 |
|---|---|
儲存 |
將標註和調整寫入原始檔案 |
復原 |
取消上一步操作 |
重做 |
重做已復原的操作 |
重設 |
清除所有影像調整 |
繪圖工作區(繪圖分頁)
第三個頂層分頁 — 繪圖 — 是 本格的なラスター描画 風格的繪圖工作區,支援多分頁文件、
向量與點陣圖層、漫畫工具、動畫影格,以及 PSD 匯入/匯出。從分頁列切換進入,
或在大圖模式下按 E 將目前圖片送入新繪圖分頁。
UX 體質升級:本格的なラスター描画 風格、會跟著 zoom 縮放的筆刷大小游標、每個工具獨立 的游標圖示、畫布底層的透明格紋、拖放高亮覆蓋、每個 tab 的「已修改」星號、 undo / redo toast 確認、status bar 的 autosave 狀態段、開啟時自動偵測前次 session 的 autosave 並提示還原。
進階快捷鍵:Tab 一鍵隱藏 / 還原所有 docks 進入專心模式、Ctrl+Tab
切換分頁、, / . 循環筆刷種類、0–9 數字鍵以 10 % 為單位設定
不透明度、Alt+[ / Alt+] 切換 active 圖層、畫布右鍵彈出 Undo /
Redo / Select All / Deselect / Fit / 100 % 快捷選單。
顏色 dock 加入「透明 / 無顏色」槽(背景預設為透明),fill 與魔棒會尊重 alpha 邊界,擦除過後不再有殘留 RGB 污染重畫的軟邊。
+------+----------------------+----------------+
| 工具 | | 顏色 · 筆刷 |
| 列 | 畫布(繪圖) | 圖層 · 縮覽 |
| | | 素材 · … |
+------+----------------------+----------------+
右側面板(顏色、筆刷、圖層、縮覽圖、素材庫、歷史、色票、參考、直方圖、動畫)
全部分頁化進同一欄位,畫布因此能保留完整可見高度。拖曳任何 dock 的標題列
可重新排列或浮動,再透過 設定 > 工作區排版… 儲存命名後的版面。
工具列(左側)
工具 |
快速鍵 |
用途 |
|---|---|---|
筆刷 |
|
以目前筆刷類型繪畫 |
橡皮擦 |
|
對作用中圖層做透明度擦除 |
油漆桶 |
|
容差 / 連續區域 / 取樣全部圖層 的填色 |
滴管 |
|
從畫布吸取前景色 |
移動 |
|
平移作用中圖層或選取區 |
矩形 / 套索 / 魔棒 / 快速選取 |
|
選取工具,含 替換 / 加入 / 減去 / 交集 模式 |
文字 |
|
內嵌文字編輯,可調字型 / 大小 / 粗體 / 斜體 |
漸層 |
|
線性 / 放射 / 角度 / 菱形 漸層填色 |
模糊 / 塗抹 |
|
局部像素操作 |
鋼筆(貝茲) |
|
向量路徑,可編輯錨點 / 控制把手 |
仿製印章 |
|
Shift+點擊設定來源,點擊蓋印(含羽化) |
對話框 |
|
漫畫對話泡泡,自動產生指向尾巴 |
矩形 / 橢圓 / 直線 / 多邊形 |
|
向量形狀(含描邊與填色) |
裁切 |
|
含長寬比預設的互動式裁切 |
變形 |
|
自由 / 縮放 / 旋轉 / 傾斜 變形把手 |
手形 |
|
拖曳平移畫布 |
縮放 |
|
點擊放大,Alt+點擊縮小 |
筆刷
筆刷 |
效果 |
|---|---|
鋼筆 |
銳利的抗鋸齒線條,日常使用 |
麥克筆 / 螢光筆 |
半透明寬筆觸,會疊加堆疊 |
鉛筆 |
細而帶點紋理的鉛筆線 |
噴霧 |
由密度與流量驅動的散落點 |
書法 |
筆觸寬度隨方向變化 |
水彩 |
濕邊渲染與柔和混合 |
炭筆 / 蠟筆 |
粗糙紋理筆觸(含壓力傾斜) |
每種筆刷都在 筆刷 dock 與上方 選項列 中提供 大小 / 不透明度 / 硬度 /
密度 / 混合模式 控制。設定 > 壓力曲線… 可重映數位板壓力到寬度或不透
明度;編輯 > 擷取筆刷尖端… 可把選取區轉成自訂筆刷尖端。
圖層
圖層 dock 提供縮圖、可見性切換、就地重新命名、拖曳排序,以及作用層的混合
模式 + 不透明度。圖層 選單再加上:
**新增 / 向量 / 複製 / 向下合併**(
Ctrl + Shift + N/Ctrl + Shift + V/Ctrl + J/Ctrl + E)遮罩 — 新增遮罩 / 由選取區產生 / 反向 / 套用 / 刪除 (
Ctrl + Shift + M新增;Ctrl + Alt + Shift + M由選取區產生)剪裁遮罩 — 將上方圖層剪裁至目前 alpha(
Ctrl + Alt + G)圖層效果 — 投影 / 外光暈 / 描邊;可清除全部效果
參考圖層 — 把某層固定為滴管取色來源
1-bit 圖層 — 切換為線稿用的二值化圖層
依顏色拆分圖層 — 把單色平塗層拆成多層,便於重新填色
漸層映射 — 預設子選單(懷舊 / 夕陽 / 藍曬 …)
選取
使用矩形 / 套索 / 魔棒 / 快速選取後,編輯 選單中的 描邊選取區… 可用目前
筆刷沿選取邊緣描繪。Q 切換 快速遮罩模式 — 用任何筆刷以紅色精修選取邊
緣,再按 Q 把它轉回選取區。
動畫
動畫 dock 把文件變成影格序列:
新增影格把目前圖層狀態存成一個關鍵影格。點擊縮圖跳到該影格。
``洋蔥皮``(檢視選單)以低不透明度疊上相鄰影格。
透過 檔案 > 匯出頁面 匯出(漫畫閱讀器用 CBZ;列印用 PDF),或 動畫匯出 輸出 MP4 / GIF。
漫畫選單
動作 |
說明 |
|---|---|
分鏡切割 |
|
切換網點圖層 |
把作用層轉成網點(halftone)圖層 |
蓋印頁碼 |
在多頁文件上加上頁碼 |
集中線 |
放射 / 平行 / 爆破 三種集中線產生器 |
動作閃光 |
漫畫風的爆裂 / 衝擊閃光疊加 |
對話框工具 |
拖出泡泡,再放下指向說話者的尾巴 |
濾鏡
濾鏡 開啟每個效果的即時預覽對話框:
色階 — 黑 / Gamma / 白 滑桿(含個別色板)
曲線 — 可拖曳節點(RGB / R / G / B),單調三次曲線插值
色調分離 — 將顏色量化成 N 階
臨界值 — 依切點轉成純黑 / 白
自動色彩平衡 — 用灰色世界 / 白點演算法消除色偏
底片顆粒 — 可調尺寸與強度的亮度雜訊
轉換為網點 — 報紙風的點狀網點
檢視輔助
檔案 I/O
工作區排版
設定 > 工作區排版… 把 dock 排列、工具選項狀態、可見面板儲存成一個
名稱,再以一鍵切換 — 例如 “繪畫” 排版突顯筆刷與顏色 dock,”合成” 排版展開
圖層與歷史 dock。
旋轉與翻轉
操作 |
快捷鍵 |
選單 |
|---|---|---|
順時針旋轉 90° |
|
右鍵 > 修改 > 順時針旋轉 |
逆時針旋轉 90° |
|
右鍵 > 修改 > 逆時針旋轉 |
水平翻轉 |
– |
右鍵 > 修改 > 水平翻轉 |
垂直翻轉 |
– |
右鍵 > 修改 > 垂直翻轉 |
無損旋轉(JPEG) |
– |
右鍵 > 無損旋轉 |
匯出圖片
單張匯出
右鍵圖片 > 匯出 / 另存為
選擇格式:PNG、JPEG、WebP、BMP、TIFF
調整品質(有損格式可調)
預覽檔案大小
選擇儲存位置
匯出預設組合
對於常見輸出目標,檔案 > 以預設匯出 可一鍵套用正確的縮放、格式與品質:
預設 |
流程 |
|---|---|
Web 1600 |
長邊 1600 px、JPEG 品質 85、sRGB;適合部落格 / 論壇上傳。 |
Print 300 dpi |
全解析度 TIFF / 高品質 JPEG,附 300 dpi metadata 與色彩管理,送印專用。 |
Instagram 1080 |
正方(1080 × 1080)或直式(1080 × 1350)裁切,品質 90 JPEG。 |
預設可與下面的浮水印疊加搭配使用 — 啟用浮水印後,所有預設匯出都會自動附上。
浮水印疊加
檔案 > 浮水印… 提供非破壞性疊加設定,只在匯出時套用,不會動到原始像素。
模式:文字或圖片。圖片浮水印支援含 alpha 的 PNG。
位置:9 格錨點(四角、四邊、正中央)。
不透明度:0 – 100 %。
縮放:以匯出長邊百分比計算,會自動依預設尺寸縮放。
批次匯出
選取多張圖片後,右鍵 > 批次匯出
統一格式轉換
設定最大寬度/高度(自動等比縮放)
品質控制
進度條即時顯示
製作 GIF / 影片
選取多張圖片後,右鍵 > 建立 GIF / 影片
支援 GIF 和 MP4 格式
可拖曳排列順序
設定每秒幀數(FPS)
自訂尺寸
循環播放選項
動畫圖片播放
開啟 GIF、APNG、動態 WebP 時,會自動播放動畫。
按鍵 |
操作 |
|---|---|
|
播放/暫停 |
|
上一幀 |
|
下一幀 |
|
加速播放 |
|
減速播放 |
圖片比較
在縮圖模式下框選 2~4 張圖片,右鍵 > 比較圖片。
對話框共有四個頁籤:
頁籤 |
用途 |
|---|---|
並排 |
同時顯示 2 或 4 張圖片,各自自適應縮放。 |
重疊 |
兩張圖以 α 滑桿混合(0 → 只看 A、100 → 只看 B)。需選取 2 張。 |
差異 |
顯示 |
A | B 分割 |
before / after 分割檢視,可拖動垂直分割線掃動。適合展示 Develop 調整或匯出差異。需選取 2 張。 |
尺寸不同時會自動以 Lanczos 將 B 重新取樣為 A 的尺寸。超大圖片內部會限制長邊 ≤ 2048 px 以保持即時反應。
幻燈片
按 S 或右鍵 > 幻燈片,開始自動播放所有圖片。
可調整每張停留時間
可開啟淡入淡出效果
搜尋圖片
按 Ctrl + F 或 /,輸入關鍵字即可搜尋當前資料夾中的圖片名稱。
搜尋支援 模糊匹配**(前綴 > 子字串 > 子序列 三級排名)與 **子字串高亮。
按 Enter 或雙擊結果跳至對應圖片。
若想依 編號 跳轉,改按 Ctrl + G 開啟跳頁對話框。
複製與貼上
操作 |
方法 |
|---|---|
複製圖片到剪貼簿 |
大圖模式下按 |
貼上剪貼簿圖片 |
|
自動監控剪貼簿 |
|
Note
自動監控功能開啟後,每當剪貼簿出現新圖片(例如用截圖工具),就會自動開啟標註編輯。
刪除圖片
操作 |
方法 |
|---|---|
刪除當前圖片 |
按 |
刪除選取的多張圖片 |
框選後按 |
圖片會移到系統資源回收桶,可以從那邊還原。
批次操作
在縮圖模式下框選多張圖片後,右鍵可以進行:
功能 |
說明 |
|---|---|
批次重新命名 |
使用模板 |
移動/複製 |
把圖片移動或複製到其他資料夾 |
全部旋轉 |
一次旋轉所有選取的圖片 |
批次匯出 |
統一轉換格式和大小 |
加入標籤 |
幫所有選取的圖片加上同一個標籤 |
加入相簿 |
把所有選取的圖片放進相簿 |
RGB 直方圖
在大圖模式下按 H,會在畫面上顯示 RGB 直方圖,方便判斷曝光狀況。再按一次隱藏。
設定桌布
大圖模式下右鍵 > 設為桌布,一鍵將當前圖片設為系統桌布。
支援 Windows、macOS、Linux(GNOME)。
多視窗
檔案 > 開新視窗,可以同時開啟多個 Imervue 視窗,各自獨立瀏覽不同資料夾。
觸控板手勢
手勢 |
動作 |
|---|---|
捏合 |
在大圖模式放大/縮小(以捏合中心為錨點) |
水平滑動 |
上一張 / 下一張圖片 |
Windows 檔案關聯
讓你在檔案總管中直接用 Imervue 開啟圖片:
檔案>檔案關聯>註冊 Open with Imervue需要系統管理員權限
之後右鍵任意圖片就能看到
Open with Imervue選項
如果要移除:檔案 > 檔案關聯 > 移除檔案關聯
外掛系統
Imervue 支援外掛擴充功能。
操作 |
選單位置 |
|---|---|
查看已安裝外掛 |
|
下載新外掛 |
|
開啟外掛資料夾 |
|
重新載入 |
|
語言切換
語言 選單可以切換介面語言:
English
繁體中文
简体中文
한국어
日本語
切換後需要重新啟動才會生效。
所有快捷鍵一覽
瀏覽
按鍵 |
功能 |
|---|---|
|
上一張/下一張圖片 |
方向鍵 |
縮圖模式下平移畫面 |
|
微調平移 |
|
跨資料夾跳至前/下一個含圖片的兄弟資料夾 |
|
瀏覽歷史 返回 / 前進(類似瀏覽器) |
|
依編號跳至圖片 |
|
隨機跳一張 |
滑鼠滾輪 / 捏合 |
放大縮小 |
水平滑動 |
上/下一張圖片 |
滑鼠中鍵拖曳 |
平移畫面 |
|
全螢幕 |
|
劇場模式(隱藏所有外殼) |
|
切換 縮圖格 ↔ 清單(詳細) |
|
分割檢視(兩張並排) |
|
雙頁閱讀 / 右至左(漫畫) |
|
副螢幕鏡像視窗 |
|
回到縮圖模式/退出全螢幕/關閉雙圖或清單模式 |
|
適應寬度 |
|
適應高度 |
|
重設縮放 |
編輯
按鍵 |
功能 |
|---|---|
|
進入修改分頁 |
|
順時針旋轉 |
|
逆時針旋轉 |
|
復原 |
|
重做 |
|
刪除圖片 |
整理
按鍵 |
功能 |
|---|---|
|
加入/取消最愛 |
|
評分(再按取消) |
|
色彩標籤:紅/黃/綠/藍/紫(再按清除) |
|
分揀:Pick(標為保留) |
|
分揀:Reject(標為淘汰) |
|
分揀:取消旗標 |
|
加入/取消書籤 |
|
標籤與相簿管理 |
工具與疊加層
按鍵 |
功能 |
|---|---|
|
模糊搜尋(子字串高亮) |
|
複製圖片到剪貼簿 |
|
從剪貼簿貼上 |
|
RGB 直方圖 |
|
OSD 資訊 / Debug HUD(VRAM、快取、執行緒) |
|
像素檢視(≥ 400 % 顯示網格與游標下 RGB 值) |
|
循環色彩模式(正常/灰階/反相/懷舊) |
|
幻燈片 |
動畫播放
按鍵 |
功能 |
|---|---|
|
播放/暫停 |
|
上一幀 |
|
下一幀 |
|
減速 |
|
加速 |
圖庫與中繼資料管理
Imervue 會在 %LOCALAPPDATA%/Imervue/library.db``(Windows)或
``~/.cache/imervue/library.db``(POSIX)維護一個 SQLite 索引,用於跨資料夾
搜尋、階層式標籤、智慧相簿、感知雜湊、筆記與分揀旗標。下列功能多半位於
``Extra Tools``(額外功能)選單下。為了方便尋找,該選單依功能分為八個子選
單:``Batch``(批次)、``Library & Metadata``(圖庫與中繼資料)、
``Views``(檢視)、``Workflow``(工作流程)、``Export``(匯出)、
``Develop (Non-Destructive)``(調整)、``Retouch & Transform``(修復與變形)、
``Multi-Image``(多張合成),下列路徑皆以
``Extra Tools > <子選單> > <工具> 的形式呈現。
圖庫搜尋
Extra Tools > Library & Metadata > Library Search 允許新增多個**根目錄**並在背景建立索引,
之後可依副檔名、最小寬高、檔案大小或檔名片段查詢,並把結果當作虛擬相簿
載入檢視器。
智慧相簿
Extra Tools > Library & Metadata > Smart Albums 以友善名稱儲存一組過濾規則(副檔名、最小
尺寸、色彩標籤、評分、最愛、分揀狀態、階層式標籤、檔名片段)。再次套用時,
會依規則篩選目前資料夾。
相似圖片搜尋
Extra Tools > Library & Metadata > Find Similar Images 會對當前深度縮放的圖片(或第一張選
取圖)計算 64 位元 DCT pHash,並依 Hamming 距離遞增列出索引中的近似圖。
可藉由「Max distance」調整寬鬆度。
自動標記
Extra Tools > Library & Metadata > Auto-Tag Images 會將經驗式標籤套用於 auto/...
(photo / document / screenshot / landscape /
portrait)。若系統已安裝 onnxruntime 並於 models/clip_vit_b32.onnx
放置 CLIP 模型,還會加入 CLIP 內容標籤。執行時以工作執行緒處理,具即時進
度列。
階層式標籤
Extra Tools > Library & Metadata > Hierarchical Tags 管理樹狀結構標籤(如
animal/cat/british)。選取節點即可列出該節點與所有子節點下的圖片;可
一鍵為目前選取的圖片加上或移除標籤。此系統與右鍵選單的扁平標籤並行。
Token 批次重新命名
Extra Tools > Batch > Token Batch Rename 提供即時預覽,輸入如
{date:yyyymmdd}_{camera}_{counter:04}{ext} 的樣板,即可看到每個檔案的新
名稱;衝突會被標示。支援 tokens:{name} {ext} {counter[:NN]} {date[:fmt]}
{width} {height} {wxh} {size_kb} {camera} {year} {month} {day} {hour}
{minute}。
中繼資料匯出
Extra Tools > Library & Metadata > Export Metadata (CSV / JSON) 會為目前檢視的每張圖片
輸出一列,包含 EXIF、尺寸、色彩標籤、評分、最愛、階層式標籤、分揀狀態與
筆記。適合用於試算表或外部流程。
XMP Sidecar(other XMP-aware photo managers 互通)
Imervue 支援讀寫 Adobe XMP sidecar 檔(photo.jpg ↔ photo.xmp),
讓星等、標題、描述、關鍵字與色彩標籤可與 other XMP-aware photo managers、other XMP-aware photo managers、Bridge
等 XMP 感知工具雙向同步。
為當前圖片匯入 XMP — 從 sidecar 讀取星等 / 標題 / 關鍵字 / 色彩標籤 寫入內部資料庫。
為當前圖片匯出 XMP — 將當前星等 / 標題 / 關鍵字 / 色彩標籤寫入 圖片旁的 sidecar 檔。
批次匯入 / 匯出 — 將同樣操作套用至目前選取或整個資料夾。
XML 解析透過 defusedxml 進行,避免 XXE / billion-laughs 等攻擊。
若未安裝 defusedxml,XMP 選單項目會自動隱藏,也不會寫出 sidecar。
EXIF 側邊欄 亦提供可點擊的 星等快速條 — 設定的星等即為 XMP 匯出的值。
分揀(Pick / Reject)
旗標式的三態旗標。P 將當前圖片或所有選取 tile 標為 Pick;
Shift + X 標為 Reject;U 取消旗標。Filter > By Cull State 可
只顯示某一種狀態;Extra Tools > Workflow > Culling 提供對話框介面並附有
Delete all rejects 按鈕,可從磁碟永久刪除被淘汰的檔案。
暫存籃
Extra Tools > Workflow > Staging Tray 是跨資料夾的暫存籃。可將任意 tile 加入
籃中(重啟後保留),再一鍵把整個籃移動或複製至目的資料夾。適合從多次
拍攝中彙整出精選再匯出。
雙窗格檔案管理
Extra Tools > Workflow > Dual-Pane File Manager 提供 雙窗格的雙樹
檢視,可在兩個資料夾之間直接移動或複製選取項目。
時間軸檢視
Extra Tools > Views > Timeline View 以「日/月/年」方式分組目前圖片集
(date-grouped library views 樣式)。日期優先使用 EXIF DateTimeOriginal,否則退回檔
案修改時間。雙擊圖片即可進入深度縮放。
拖放至外部應用程式
由**已選取** tile 按住拖曳,可將檔案直接丟到檔案總管、Chrome、Discord 等 支援檔案 URL 的應用程式;拖曳預覽為 tile 縮圖。
單張圖片筆記
EXIF 側邊欄包含自由文字 Notes 區塊,輸入內容會經短暫去抖後自動寫入 索引;筆記依圖片路徑儲存,重新掃描資料夾也能保留。
進階 Develop 與合成
色調曲線(Tone Curve)
Extra Tools > Develop (Non-Destructive) > Tone Curve 開啟可拖曳控制點的曲線編輯器,提供 RGB、
R、G、B 四條通道。點擊空白處新增控制點、拖曳移動、右鍵刪除。點之間
以 monotone cubic 插值,曲線儲存在 recipe 中,顯示時非破壞性套用。
套用 .cube LUT
Extra Tools > Develop (Non-Destructive) > Apply .cube LUT 可選擇任意 Adobe .cube 檔案
(1D / 3D,最大 64³)。LUT 以 lru_cache 依路徑 + mtime 快取,使用
三線性插值套用,並透過強度滑桿與原始影像混合。LUT 路徑與強度儲存在
recipe。
虛擬副本(Virtual Copies)
Extra Tools > Workflow > Virtual Copies 為同一張圖建立多組命名的 recipe
快照。儲存目前編輯後可繼續實驗,之後再切回任一版本。副本與主
recipe 一起保存,即使把主 recipe 重設為 identity 也不會消失。
HDR 合成
Extra Tools > Multi-Image > HDR Merge 以 OpenCV Mertens 曝光融合合併多張
不同曝光的照片。可勾選 Align 先以 cv2.AlignMTB 對齊手持晃動,
輸出寫到使用者指定路徑,不影響來源檔。
全景接圖
Extra Tools > Multi-Image > Panorama Stitch 以 OpenCV Stitcher 接合重疊
影像。風景 / 城市用 Panorama 模式;平面文件或畫作用 Scans
模式。可自動裁掉拼接產生的黑邊。
景深合成(Focus Stacking)
Extra Tools > Multi-Image > Focus Stacking 融合不同對焦距離的多張影像。
演算法以 Laplacian 變異數計算每像素清晰度,挑出該處最清楚的來源,
再用高斯平滑避免接縫。預設啟用 ECC 對齊以補手持輕微位移。
修復筆刷
Extra Tools > Retouch & Transform > Healing Brush 以長邊最大 720 px 的預覽顯示影像。
左鍵新增圓形斑點,右鍵移除既有斑點,半徑滑桿控制新斑點大小。
套用時使用 OpenCV inpainting(Telea 速度快,Navier-Stokes 較平滑)
修補區域,輸出為新檔。
鏡頭校正
Extra Tools > Retouch & Transform > Lens Correction 提供四個純 numpy 滑桿:
徑向失真 ``k1``(桶型 / 枕型)、暗角補光,以及紅 / 藍通道的色差
徑向縮放。因影像尺寸可能改變,結果輸出為新檔而非寫入 recipe。
地圖檢視
Extra Tools > Views > Map View 透過 Leaflet + OpenStreetMap(需
PySide6.QtWebEngineWidgets)顯示目前圖庫中所有有 GPS 的照片。
未安裝 WebEngine 時降級為 (路徑, 緯度, 經度) 列表。
行事曆檢視
Extra Tools > Views > Calendar View 以 QCalendarWidget 標示有
照片的日期(依序嘗試 EXIF DateTimeOriginal → DateTimeDigitized
→ 檔案 mtime)。點選日期列出當日照片,雙擊於主視窗開啟。
人臉偵測
Extra Tools > Retouch & Transform > Face Detection 以 OpenCV Haar 正面臉部分類器
偵測臉部並以矩形標示。在清單雙擊輸入人名,儲存後寫入 recipe 的
extra['face_tags']。此為經典技術,適合「找出臉的位置」,但非
現代 CNN 辨識的替代品。
局部調整遮罩
Extra Tools > Develop (Non-Destructive) > Local Adjustment Masks 讓使用者堆疊筆刷 / 放射
/ 線性漸層遮罩。每個遮罩有各自的曝光、亮度、對比、飽和度、色溫、
色調 delta 與羽化滑桿,儲存在 recipe.extra['masks'] 並以非破壞
方式於載入時混入原圖。
色調分離
Extra Tools > Develop (Non-Destructive) > Split Toning 對陰影與高光分別套用不同色相與
飽和度,並以平衡樞紐決定交界位置。儲存於 recipe.extra 並在
develop pipeline 的 tone curve 之後套用。
複製印章
Extra Tools > Retouch & Transform > Clone Stamp 以羽化方式複製來源區塊到目的地,
為硬邊版本的修復筆刷。Shift+點擊設定來源,一般點擊蓋章,右鍵復原。
結果輸出為新檔,不會動到原圖。
裁切 / 拉直
Extra Tools > Retouch & Transform > Crop / Straighten 結合 0..1 正規化裁切矩形與
任意角度拉直。輸出會自動裁切到最大內接矩形,旋轉後的照片不會有
黑邊。
自動拉直
Extra Tools > Retouch & Transform > Auto-Straighten 以 Hough line 偵測主要的地平
線或垂直線,提出建議的旋轉角度。可以在套用前微調角度。
降噪 / 銳化
Extra Tools > Retouch & Transform > Noise Reduction / Sharpening 先以邊緣保留的
bilateral 降噪,再以 unsharp mask 銳化。「僅亮度通道」會保留色噪,
但能壓平明度雜訊而不糊掉色彩邊緣。
天空 / 背景
Extra Tools > Retouch & Transform > Sky / Background 將偵測到的天空以漸層取代,
或直接把背景做成透明 / 白底。安裝 rembg (U²-Net) 時會自動啟用
神經網路前景分割。
螢幕校樣
Extra Tools > Develop (Non-Destructive) > Soft Proof 載入 ICC 描述檔,將圖片轉進目的色
域再轉回,並以洋紅顯示往返過程中被裁切的像素 — 列印前快速檢查
色域的工具。
GPS 地理標記
Extra Tools > Library & Metadata > GPS Geotag 讀取現有 EXIF GPS 座標並允許編輯
或設定新的十進位度數。需要安裝 piexif;會直接寫入 JPEG 檔。
列印排版
Extra Tools > Export > Print Layout 把多張圖片排版成多頁 PDF,可設
定頁面大小、方向、格線、邊界、內距與裁切標記。需要安裝
reportlab。
Puppet 工作區(Puppet 分頁)
第四個頂層分頁 — Puppet — 是從零打造的 2D 綁骨偶動畫系統。功能對標 Live2D(網格變形綁骨、參數、動作、物理、表情、姿勢群組、對嘴、攝影機追蹤),但**不依賴任何專利 SDK**、不使用 live2d-py,採用完全開放的 .puppet 檔案格式。
Note
端到端教學 — 從全新安裝到 OBS 直播或產出 MP4 — 在倉庫根目錄的
puppet_guide.zh-TW.md``(英文版 ``puppet_guide.md、簡體中文版 puppet_guide.zh-CN.md)。
本章是參考手冊;那份是逐步走讀。
端到端流程
匯入 PNG — 工具列
Import PNG…跑puppet.auto_mesh.puppet_from_png:依 alpha 三角化、單一 drawable、可立即渲染。加變形器 — ``Add Rotation Deformer``(錨點 + 角度)或 ``Add Warp Deformer``(rows × cols Bezier lattice;邊界外頂點直通)。
加參數 —
Add Parameter在右側 Parameters 擺放欄加滑桿(自動命名Param1、Param2…)。設 keys — 拖滑桿到極端值、編輯 deformer form、按 Set key。對中立值跟另一端重複。Runtime 接著會在滑桿移動時於相鄰 keys 之間 lerp 各欄位。
儲存 —
Save As…把 rig + 紋理 + 動作 + 表情 + 物理寫成單一.puppetzip,可分享或之後用Open Puppet…重開。
範例
倉庫內附完整 rig:examples/puppet/march_7th.puppet — 307-drawable 的 Cubism Live2D 角色,倉庫內轉換好。紋理跟每參數頂點 morph 全烘進 .puppet zip,使用預設 requirements.txt 就能開,無需散布 Cubism SDK。
該 rig 帶 203 個 Cubism 標準參數(ParamAngleX/Y/Z、ParamEyeLOpen/ROpen、ParamBreath、ParamMouthOpenY …),所以所有標準輸入驅動(攝影機、眨眼、對嘴、游標追蹤)不用調整就能驅動。內附 18 個循環動作 — 作者轉換的 Cubism idle 迴圈,加上 Idle 群組和 Gesture 群組的參考手勢。
Puppet 分頁工具列 → Examples ▾ 下拉直接選 March 7Th 或自己的 .puppet 開啟。下方 Motions 擺放欄點任一個動作即播。
執行內附範例 — 逐步走讀:
啟動 Imervue。原始碼跑:
python -m Imervue;裝好的版本:直接執行Imervue執行檔 / app bundle。examples/資料夾已經打包進 wheel 跟 Nuitka EXE,rig 檔案會在安裝目錄底下。點視窗頂端的 Puppet 分頁。
工具列 → File > Examples > March 7Th**(或工具列上的 **Examples ▾ 下拉)。307-drawable 的 rig 居中載入,參數欄會填滿 203 個 Cubism 標準參數滑桿。
在底部 Motions 擺放欄單擊任一個動作條目(
zhaiyan、zhaoxiang、idle_breath、tap_head…)。立即開始播放;再點一次停止,或選別的動作交叉淡入。切換工具列上的即時輸入 toggle 讓 rig 跟著你動 — Drag-track head**(頭跟著游標)、**Auto-blink**(自動眨眼)、**Auto idle + **Idle motions**(呼吸 + 隨機 idle 動作)、**Mic lip-sync**(麥克風 RMS 帶動嘴型)、**Webcam tracking**(MediaPipe FaceLandmarker 驅動頭 / 眼 / 嘴)。
工具列 Reset to rest 把所有動作停掉、所有即時驅動取消勾、清掉 expressions / pose 覆寫,所有參數復位 — 標準的「重新開始」按鈕。
之後要開別的 rig:File > Open Puppet… 從磁碟挑任何
.puppetzip;File > Examples ▾ 永遠連到內附清單。
OBS 直播整合
兩條輸出,都把角色獨立渲染到 off-screen framebuffer(不含棋盤格背景與編輯器外殼)再送到串流端。輸出長邊上限 1080 px,避免 Cubism 原生畫布(March 7th 是 3503×7777)被 DirectShow 虛擬攝影機驅動拒絕。
A. Virtual Camera — 在 OBS《視訊擷取裝置》來源清單裡以 webcam 形式出現。pip install pyvirtualcam 加上平台驅動:OBS Studio 26+(Windows/macOS)會附 OBS Virtual Camera 驅動,第一次打開 OBS 點 Start Virtual Camera 註冊;Linux 用 v4l2loopback-dkms + modprobe v4l2loopback exclusive_caps=1 card_label="Imervue"。工具列 Output > Virtual camera 開始串流。
DirectShow / AVFoundation / v4l2loopback 都**只有 RGB、沒有 alpha 通道**,所以 Imervue 在角色以外的區域填**洋紅色 `#FF00FF`** 當色鍵。OBS 端去背:
視訊擷取裝置來源右鍵 → Filters
Effect Filters > + > Color Key
設定 Key Color Type =
Custom Color、Custom Color = HEXFF00FF、Similarity =80–300、Smoothness =30–50
濾鏡跟著來源走,下次啟用虛擬攝影機自動套用。
B. NDI 輸出 — LAN 上 < 50 ms 延遲、原生 RGBA,OBS / vMix 可以直接把角色疊到自己的場景上、不用色鍵。pip install ndi-python,加上 NDI Tools runtime 與 obs-ndi 外掛。工具列 Output > NDI output 開始廣播(預設來源名 Imervue Puppet)。
ndi-python 只 ship source distribution、pip 拿到後從 C++ 編。Windows 需要 Visual Studio Build Tools 2022(含 C++ 工作負載)、CMake 加到 PATH、NDI SDK(從 <https://ndi.video/for-developers/ndi-sdk/> 取得,跟 NDI Tools 不同)裝在預設位置、環境變數 NDI_SDK_DIR 指向 SDK。
詳細逐步與疑難排解見 puppet_guide.zh-TW.md § 1.2。
錄製自訂動作
不想手動編 keyframe?用即時 take 錄:
工具列 Record motion 打勾,會跳出命名對話框。
錄製時拖滑桿、開 Webcam tracking、讓物理跑 — 任何會寫參數值的事情都可以。
Record motion 取消勾 — 錄製器把 30 Hz 串流烘焙成一個
Motion:每個真的有變動的參數一條 linear-segment 軌(沒變動的丟掉)。新動作立刻出現在底部 Motions 擺放欄。
存進 .puppet 的方式跟手寫 keys 的動作完全相同。
工具列參考
動作 |
用途 |
|---|---|
Open Puppet… / Examples ▾ |
從磁碟載入 |
Import PNG… / Import PSD… / Import Cubism… |
PNG 自動 mesh、PSD 分層拆 drawable、Cubism rig sample-and-reconstruct。Cubism 檔案選擇器同時接受 |
Save As… |
把目前 rig 寫成 |
Add Rotation Deformer / Add Warp Deformer / Add Parameter |
從工具列 author rig |
Drag-track head |
游標偏移 → |
Auto-blink |
|
Mic lip-sync |
麥克風 RMS → |
Webcam tracking |
MediaPipe Tasks API FaceLandmarker → 頭部 yaw / pitch / roll + 眼 + 嘴(需 |
Auto idle / Idle motions |
標準參數上的呼吸 + 漂移,加上 Idle 群組動作的隨機循環 |
Edit mesh |
拖曳 canvas 上的頂點微調 mesh |
Record motion |
把參數變化錄成新的 |
Capture frame… / Record… / Export all motions… |
存單張 PNG、開關 GIF / WebM / MP4 錄製、或批次把每個動作各別 render 成檔(全部用跟串流相同的角色獨立 off-screen render) |
Output > Virtual camera / NDI output |
直播輸出 — 見上面的「OBS 直播整合」 |
Reset to rest |
Motion player 直接停、所有 live driver 取消勾、清空 expressions / pose groups、參數復位 |
Fit to Window |
Canvas 上重新置中 + 縮放 rig |
選用依賴
sounddevice— 麥克風對嘴opencv-python+mediapipe— 攝影機臉部追蹤imageio-ffmpeg— MP4 / WebM 錄製(已隨幻燈片影片功能附帶)pyvirtualcam— 虛擬攝影機輸出(見「OBS 直播整合」)ndi-python— NDI 輸出(見「OBS 直播整合」)使用者自備 Cubism Native SDK DLL —
.moc3 → .puppet轉換(Live2D Free Material License 禁止散布;放在<cwd>/sdk/或設CUBISM_CORE_DLL環境變數)
任何缺失都會優雅停用 — 對應工具列 toggle 會自動彈回去並提示安裝。File > Install dependencies… 可一次裝齊所有 Python 選用包。
桌寵工作區(Desktop Pet 分頁)
第五個分頁 — Desktop Pet — 把任何 .puppet 角色當成無邊框、透明背景的桌面浮層放到你的桌面上。分頁本身是控制面板;真正的角色是另外一個獨立的最上層視窗,與整個 Puppet runtime 共用一切(動作、表情、物理、idle driver、麥克風 / 攝影機輸入)。桌寵可以對點擊有反應、跑計時器驅動的動畫、追隨你的游標、其他 App 全螢幕時自動藏起來,還能用你寫在 JSON 檔裡的台詞說話。
本章是這個分頁的完整參考手冊,章節安排如下:
快速上手 — 從「我剛打開 Imervue」到「桌面上出現桌寵了」的五步流程。
載入 rig — 檔案選擇器、內附範例、跨啟動的還原。
浮層視窗 — 所有視窗層級的行為(拖曳移動、邊緣吸附、點擊穿透、位置鎖定、永遠置底、全螢幕自動隱藏、隱藏時暫停、透明度、尺寸、多螢幕還原)。
互動模型 — 左鍵 hit area、完整右鍵選單、系統匣。
Live driver — 六個可開關的輸入 driver 與其選用依賴。
桌寵腳本 — 一個 JSON 檔,讓你能換掉桌寵的台詞、安排提醒,並對每個 hit area / 每個 motion 綁定反應。
持久化 — 哪些東西會跨啟動記住、以及完整的設定 schema。
製作新桌寵 — 指向 Puppet 分頁與
.puppet檔案格式。疑難排解 — 常見狀況與處理方式。
快速上手
切換到 Desktop Pet 分頁。
點 Load bundled March 7th 用內附的角色,或 Open Puppet… 選自己的
.puppet檔。浮層出現在桌面上,Show pet on desktop 勾選框會自動勾起來。(要在不關閉 Imervue 的情況下把桌寵藏起來,把勾選框取消、或用系統匣圖示。)
把角色拖到想要的位置,放開時靠近螢幕邊緣會吸附貼齊。
從分頁或桌寵的右鍵選單挑你要的 Live driver — idle 呼吸、眨眼、游標追隨、麥克風對嘴、攝影機追蹤。
你設定的一切都會跨啟動保留下來,所以步驟 5 是每個 rig / 角色一次的決定。
載入 rig
分頁提供三條載入途徑:
Open Puppet… — 從硬碟挑任何
.puppet檔。Load bundled March 7th — 開啟內附在
examples/puppet/march_7th.puppet的 rig。Resolver 會先查 ``examples_dir()``(對 Nuitka 打包 / pip 安裝版本是 frozen-safe),找不到再退回 repo 根目錄相對路徑,所以這顆按鈕在兩種執行模式下都能用。上次的 rig — Imervue 啟動時會從
last_rig_path設定欄位自動還原上次載入的 rig;Desktop Pet 分頁會靜默重建浮層,所以你和上次離開時的狀態之間只差一個點擊。
載入成功會自動勾起 Show pet on desktop,桌寵立刻現身。失敗時勾選框不會動,錯誤訊息會寫在分頁的狀態列上。
浮層視窗
角色待在一個獨立於 Imervue 主視窗之外的最上層視窗。視窗是無邊框、不出現在工作列、預設永遠浮在所有其他視窗的上面。
行為 |
細節 |
|---|---|
無邊框浮層 |
沒有視窗外框、沒有最小化 / 關閉按鈕、不出現在工作列。整個可見表面就是角色本身。 |
透明背景 |
角色沒覆蓋到的地方完全透明,後面的桌面 / App 像素級透出來。 |
拖曳移動 |
在身體任意位置左鍵按下、拖、放開。游標移動少於 6 px 才會被當成點擊;移得更遠就視為拖曳,點擊處理器不會觸發。 |
邊緣吸附 |
在螢幕邊緣附近放開(預設:24 px 以內),桌寵會「卡」上去貼齊邊緣。閾值可在 0(關閉)到 200(很黏)之間調整。X、Y 兩軸各自獨立判斷,所以拖到角落時會同時吸附兩條邊。 |
越界夾回 |
拖到螢幕邊緣外才放開的,會被夾回螢幕內。你沒辦法把桌寵丟到螢幕外面、再也抓不回來。 |
點擊穿透模式 |
開啟後,所有滑鼠事件穿過桌寵直達後面的東西。角色仍然看得見,但無法拖、無法右鍵、也無法用來觸發動作。桌寵純粹當裝飾時打開它。 |
鎖定位置 |
停用拖曳移動,但不影響點擊穿透。把桌寵放好了、不想被誤拖時很有用。 |
永遠置底 |
把桌寵從永遠置頂翻成永遠置底。桌寵會待在所有其他視窗的後面,像桌面小工具。同時取消接受 focus 的旗標,所以點桌寵不會把它升到前面。 |
全螢幕自動隱藏 |
一個 1 Hz 的背景輪詢監看桌寵所在螢幕上的前景視窗。當該視窗覆蓋 ≥ 99 % 螢幕、且每邊容差 ≤ 4 px(真正的全螢幕和無邊框視窗遊戲都抓得到),桌寵自動藏起來。全螢幕結束後桌寵會回到原本的位置。Windows 上偵測器走 Win32 |
隱藏時暫停 |
~30 FPS 的繪圖 tick 和 1 Hz 的腳本 tick 都會在 |
尺寸預設 |
小(200 × 300)、中(320 × 480)、大(480 × 720)。桌寵以目前中心為錨點縮放,調尺寸時不會跳位。Snap 會在 resize 之後重跑一次。 |
透明度滑桿 |
10 – 100 %。作用在視窗層級(透過 |
位置記憶 |
每次放開後吸附完成的 |
互動模型
桌寵透過三個獨立通道回應滑鼠輸入。
左鍵點身體
點擊位置會反映射回 puppet canvas 座標(抵銷 canvas 的平移 / 縮放),再丟進現有的 hit_test 流程。結果如下驅動行為:
如果有
HitArea覆蓋了被點到的 drawable、且該 area 有綁定 motion,就播這個 motion。不論 motion 有沒有播,桌寵都可能彈出對話泡泡 — 台詞挑選的優先順序見 桌寵腳本 段。
沒有任何 hit area 覆蓋點擊時,桌寵退回打招呼(從腳本的
greetings清單,或內建 fallback)。
拖曳移動的手勢會壓抑點擊處理器,所以移動桌寵不會觸發動作 / 對話。
右鍵點身體任意位置
開啟右鍵選單,結構如下:
Hide pet — 最上層動作,關閉浮層。
Live drivers 子選單 — 六個可勾選 toggle(Auto idle、Idle motions、Auto-blink、Drag-track head、Mic lip-sync、Webcam tracking)。勾選狀態鏡像 live driver 的真實狀態,所以選單顯示的就是目前在跑什麼。
Play motion 子選單 — 由當前 rig 的
document.motions清單填入。選一項就播該動作(如果腳本對該動作綁了台詞,可能會同時觸發桌寵的聲音)。Apply expression 子選單 — 由 rig 的
document.expressions填入。選一項會切換該表情的參數 overlay。五個最上層的可勾選 toggle:Lock position、Click-through、Always on bottom、Hide on fullscreen、Speech bubble — 快速存取分頁裡同樣的 toggle。
Size 子選單 — Small / Medium / Large;目前的預設會被勾起來。
沒載入 rig 時,motion / expression 子選單會 disabled。
系統匣圖示
系統匣圖示(僅在支援系統匣的平台上建立)提供第四個操作面,給最常用的動作:
左鍵單擊切換桌寵顯示。
右鍵開啟選單:Show pet**(可勾選)、**Click-through、Open puppet…、Hide pet。
可勾選的 Show / Click-through 項目透過
sync_visibility/sync_click_through鏡像分頁的勾選狀態,所以不論使用者從哪邊切,狀態都會同步。
Live driver
每個 live driver 都是第一次開啟時才 lazy-create,所以沒在用的 driver,閒置的桌寵不會花任何 timer / thread 成本。每個 driver 的狀態會被保存;開啟、關閉 Imervue、再重啟,桌寵會帶著同樣的 driver 重新打開。
Driver |
做什麼 |
選用依賴 |
|---|---|---|
Auto idle |
在標準參數( |
無 |
Idle motions |
每幾秒從 rig 的 |
無 |
Auto-blink |
每 ~4.5 秒沿著平滑的 cosine 曲線闔眼再睜眼。Driver 會強制寫入該參數,所以其他會碰到 eye-open 的 driver 不會壓掉眨眼。 |
無 |
Drag-track head |
頭和眼睛會轉向全域游標位置,即使游標不在桌寵上也一樣。驅動 |
無 |
Mic lip-sync |
麥克風 RMS 振幅驅動 |
|
Webcam tracking |
MediaPipe FaceLandmarker 以 ~30 FPS 讀你的攝影機,驅動頭部姿態 + eye-open + mouth-open 參數。會開一個小的即時預覽視窗讓你確認攝影機有看到你的臉。 |
|
兩個帶選用依賴的 driver 會優雅降級:所需套件沒裝時,勾選框會自動彈回去,分頁的狀態列會顯示「install sounddevice」/「install opencv-python + mediapipe」提示。
桌寵腳本 — 自訂台詞與排程事件
桌寵的對話泡泡內容來自一個 JSON 檔,你可以自己寫,並從分頁上的 Pet script 群組載入。腳本管四件事:
Greetings — 沒有更具體匹配時的預設點擊台詞。
Hit-area responses — 按
HitArea.id分桶的台詞。Motion lines — 按 motion 名稱分桶的台詞,桌寵開始播該 motion 時觸發(不論是 hit area 觸發還是右鍵選單觸發)。
Scheduled chimes — 計時器驅動的台詞,每
every_seconds秒(monotonic 牆鐘時間)觸發一次。
Schema(有版本 — 未來的欄位會向前相容):
{
"version": 1,
"name": "March 7th — playful voice",
"greetings": [
"Hi!", "Hello hello!", "Need a break?"
],
"hit_responses": {
"HitAreaHead": ["Hey, my head!", "Stop poking!"],
"HitAreaBody": ["Hehe~", "Pat pat?"]
},
"motion_lines": {
"wave": ["Hi!", "Hello!"],
"curtsy": ["Cheers!"]
},
"scheduled": [
{"every_seconds": 1800, "messages": ["Stretch break!"]}
]
}
載入規則:
每個桶內的清單以 round-robin 取樣,所以使用者不會連續兩次看到同一句。
未知的最上層 key 會被忽略(向前相容 — 未來的 v2 檔在 v1 runtime 上仍能載入)。
垃圾清單項(型別錯誤、scheduled 項格式錯誤、
every_seconds為零或負數)會被跳過 — 一筆爛資料不會弄爛整個載入。只有完全無法 parse 的 JSON 才會 raise 錯誤、把路徑寫到狀態列上。hit-area / motion / greeting 的層疊:左鍵點擊先查
hit_responses[area.id]、再查motion_lines[area.motion]、再查greetings,最底層才是內建預設打招呼集。時間追蹤用
time.monotonic,所以筆電休眠或系統時鐘跳變不會把排隊的事件一次連發出來。
Reset to default 會丟掉使用者腳本、回到內建打招呼集;保存的腳本路徑也會清空,下次啟動不會再載入它。
可用的範例放在 examples/desktop_pet/march_7th.petscript.json — 六句打招呼、兩個 hit-area 桶(head / body)、三個 motion 台詞(wave / curtsy / cheer),以及一個 30 分鐘的伸展提醒。
持久化
所有 Desktop Pet 狀態都透過 ``user_setting_dict[“desktop_pet”]``(Imervue 標準使用者設定檔裡的一個 slot)來回。每個欄位在載入時都有預設值 + 範圍夾取,所以損壞的設定檔不會讓啟動 crash。
欄位 |
預設值 |
備註 |
|---|---|---|
|
|
啟動時若檔案仍存在會自動還原。 |
|
|
啟動時若腳本仍可 parse 會自動還原;無法讀的腳本會靜默退回預設。 |
|
|
上次拖曳放開的螢幕座標 |
|
|
|
|
|
夾取到 |
|
|
|
|
|
|
|
|
與永遠置頂互斥。 |
|
|
設成 |
|
|
夾取到 |
|
全 |
以 driver id 為 key 的子 dict( |
|
|
Imervue 啟動時自動顯示浮層。 |
|
|
設成 false 時對話泡泡永遠不彈。 |
設定 dict 的 merge 行為是淺一層的:缺少新 key 的舊設定檔,載入後仍會產生完整的狀態 dict(預設值補洞);你存過的新 key,即使降級到不認得它們的舊 runtime 上也能保留下來。
製作新桌寵
任何 .puppet 檔都能當 Desktop Pet 的角色用 — Desktop Pet 分頁純粹是 renderer + 互動殼層;rig 的製作在 Puppet 分頁裡發生(見 Puppet 工作區(Puppet 分頁))。
製作自己的桌寵 rig:
切換到 Puppet 分頁,透過 File > Import PNG… 或 File > Import PSD… 匯入美術素材,或透過 File > Import Cubism… 拉入 Cubism 模型。
製作旋轉 / warp deformer、參數、動作、表情,以及(選用)綁定到身體部位的 hit area,讓 Desktop Pet 的左鍵處理器能觸發動作。
透過 File > Save As… 把 rig 存成
.puppetzip。切回 Desktop Pet 分頁,用 Open Puppet… 載入新檔。
如果你的 rig 定義了 HitArea 項目,可以在 .petscript.json 裡寫對應的 hit_responses key(key 要對得上 area id),就能為每個 hit area 寫自訂對話泡泡台詞。
疑難排解
桌寵出現在灰色矩形裡,而不是完全透明。 OS 層級的半透明背景屬性需要 alpha-aware 的 GL surface 加上嵌入 GL widget 的對應屬性。確認沒有任何第三方視窗管理工具在浮層視窗上覆寫 ``WA_TranslucentBackground``(Linux 上某些自製視窗管理員會這樣做)。Windows / macOS 上應該「直接能用」。
「Load bundled March 7th」說檔案找不到。 Resolver 先查 examples_dir()``(打包版用的 frozen-safe 位置),再退回 CWD 相對路徑。兩者都沒有 rig 時,狀態列會列出預期路徑。檢查你安裝中附的 ``examples/ 資料夾 — 如果是從原始碼 checkout 執行,要從 repository 根目錄啟動 Imervue。
桌寵被點了不講話。 三個檢查點:
確認 Speech bubble on click toggle 是開的(在分頁或右鍵選單裡)。
如果你載了自訂腳本,確認 JSON 能 parse — 分頁的狀態列會顯示載入錯誤。
如果 hit-area 點擊沒反應,那個 area 大概是沒綁 motion 而且腳本裡也沒有對應 area id 的
hit_responses項。要嘛在 Puppet 分頁把 motion 綁上去,要嘛把 area id 加到腳本的hit_responses。
Webcam tracking 勾選框自己彈回去。 Webcam tracking 需要在 Imervue 跑的同一個 Python 環境裡裝 opencv-python 和 mediapipe。用 pip install opencv-python mediapipe 安裝。裝完後,切換勾選框應該會跳出一個小預覽視窗顯示偵測到的臉部 landmark。
桌寵沒在其他 App 全螢幕時自動藏起來。 全螢幕偵測器以 1 Hz 輪詢前景視窗。Windows 上用 GetWindowRect Win32 API;macOS / Linux 上沒有可靠的跨平台對等物,會 no-op(桌寵保持顯示)。在 Windows 上:確認 Hide when other app is fullscreen 是勾的,並確認全螢幕視窗確實覆蓋了與桌寵同一個螢幕的 ≥ 99 %。
桌寵的位置在跨啟動之間漂到螢幕外。 這發生在桌寵原本所在的螢幕在下次啟動時不再連接(筆電 dock、第二個螢幕被拔掉)。這種情況下桌寵會自動退回主螢幕的右下角 — 把它拖到你想要的地方,下次保存就會覆蓋掉那個過時的位置。
命令列啟動
imervue # 正常啟動
imervue 圖片路徑 # 直接開啟指定圖片
imervue 資料夾路徑 # 直接開啟指定資料夾
imervue --debug # 啟用除錯模式
imervue --software_opengl # 使用軟體渲染(顯卡不支援時)
MCP 伺服器
Imervue 內建一個 Model Context Protocol 伺服器,讓 AI 助理(Claude Code、Claude Desktop、Cursor、Cline …) 可以直接呼叫專案的純邏輯輔助函式,而不需要啟動 GUI。一行指令啟動:
python -m Imervue.mcp_server
伺服器不依賴 Qt,各工具按需懶載入。
可用工具
工具 |
用途 |
|---|---|
|
列出資料夾內的圖片(路徑、大小、修改時間)。傳
|
|
單張圖片的尺寸、格式、EXIF、XMP sidecar。缺資料就回對應的 空值,不會 raise。 |
|
僅讀 XMP 的快速路徑 — 評等、色標、關鍵字、標題、描述。 |
|
圖片格式轉換。目標格式由目標檔案的副檔名決定( |
|
用 puppet 插件的 auto-mesh 從 PNG 建出 |
|
開啟 |
所有工具的回傳會 JSON 序列化後包進 MCP 的 content / text
信封;客戶端可從 text 欄位再 parse 回結構化資料。
Claude Code(專案層級)
repo 根目錄已附專案層級的 .mcp.json:
{
"mcpServers": {
"imervue": {
"type": "stdio",
"command": "python",
"args": ["-m", "Imervue.mcp_server"]
}
}
}
用 Claude Code 開啟 repo 任何子目錄都會自動探索到這個伺服器。 首次使用時 Claude Code 會詢問是否啟用專案 MCP 伺服器,接受即可。
Claude Desktop
把同樣那段加進 Claude Desktop 的設定檔:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
請使用絕對工作目錄,或啟用裝了 Imervue 的 venv —
python 必須能解析到能 import Imervue 的直譯器。
通訊協定
伺服器走 MCP 2025-03-26 版的 stdio JSON-RPC 2.0:
initialize— 握手,廣告capabilities.tools。tools/list— 列出已註冊工具與其 JSON-Schema 輸入定義。tools/call— 用{"name", "arguments"}呼叫工具,結果回 在content陣列。notifications/*— 靜默接受(不回應)。
實作在 Imervue/mcp_server/:
server.py— 協定迴圈 + 工具註冊表tools.py— 各工具的 handler 與預設工具集__main__.py—python -m Imervue.mcp_server進入點
自訂工具可以直接 MCPServer 然後 MCPServer.register(),
透過 MCPServer.handle_message() 餵訊息(或直接呼叫
run() 跑 stdio 迴圈)。