2D 角色換色變體五種做法實測:從 SAM 2 換色到 ControlNet 重上色定案

2D 角色換色變體五種做法實測:從 SAM 2 換色到 ControlNet 重上色定案

做 2D 遊戲的應該都遇過這題:同一個角色要再出幾種配色,顏色要一眼分得出來,整套動作格每一格還得一致。聽起來是「調個色相就好」的小事,實際做下去踩了五條路。環境是 Unity 加 Python,素材是逐格 PNG 精靈圖。先講結論:最後定案是 ControlNet img2img 重上色,但起點不是原圖,是 Meta SAM 2 部位遮罩換色出來的結果,跑完再用鎖定遮罩把斑點、眼睛、效果符號換回去。下面是每條路怎麼翻車、怎麼活下來的。

閱讀全文 →

invalid_auth 之後 is_connected() 還是 True:Slack bot 靜默近 12 小時

invalid_auth 之後 is_connected() 還是 True:Slack bot 靜默近 12 小時

環境:事故機器實際在跑的是 Python 3.14.3、slack_sdk 3.44.0 的內建(builtin)SocketModeClient,外面包 Bolt 的 SocketModeHandler(它預設就是用這個 builtin client),程序跑在 macOS launchd 底下、KeepAlive 開著。症狀:Slack 端回了一次 invalid_auth 之後,SDK 自己重連(推定,沒有 log),is_connected() 之後回 True,程序沒有結束,但之後再也沒有任何事件被處理。原本的看門狗只看 is_connected():它在 00:09:13 記過一次「socket disconnected (1/5)」,之後就沒再記;它的程式碼在 is_connected() 回 True 時把計數歸零,所以計數沒累積到 5,也就沒有重啟。

閱讀全文 →