為什麼要讓 Claude 連接 3ds Max?一次分享我的動機、成果與經驗

我是一名動作美術人員,工作上常常需要一些能加快流程的小工具 —— 但這類工具通常得靠開發人員幫忙寫,而美術跟開發之間隔著一層溝通成本:講需求、對方理解、做出雛形、我再回饋哪裡不對,一輪一輪下來很耗時,有時候方向一開始就理解錯了,或是做出來的東西根本不是我要的,最後有些需求就直接不了了之。

我是在公司上班的時候先聽同事聊起 Kiro AI,才知道原來已經有這種等級的 AI 助理;後來又輾轉聽到同事說,大家其實更多人在用 Claude。會真正下決心買來裝上試試看,是因為我意識到:如果這種 AI 真的能寫程式、能動手做事,那我就不用再透過開發人員這一層溝通。

我可以自己把想法講清楚,Claude 就直接動手幫我做出來,不用先說服誰、不用排開發人員的時間、也不用擔心對方理解錯我的需求 —— 溝通的對象就是我自己在跟它對話。

試了之後證實是對的。老實說,我腦子裡一直都有一些想做的小工具——但因為是美術人員,自己寫不出來,過去這些點子要嘛得拜託開發人員幫忙,要嘛乾脆想想就算了:有些需求真的太瑣碎、太個人化,可能整個部門就只有我自己會用到,開口拜託都覺得不好意思佔用別人時間,結果十之八九不了了之。有了 Claude 之後不一樣了 —— 不管這個需求多小眾、多不起眼,我都可以直接跟它講,它就直接動手做出來,不用再衡量這件事值不值得麻煩別人。整個工作進度因此明顯快了很多,現在幾乎每天都在用。

我平常工作環境是以 3ds Max 為主力工具,那些過去卡在腦子裡沒能實現的工具點子,絕大多數也都跟 3ds Max 場景脫不了關係。如果 Claude 能直接伸手進 3ds Max 的場景裡 —— 不是叫它寫一段 MAXScript 讓我自己貼進 Listener 執行,而是真的讓它「看得到」場景裡有什麼物件、能直接改物件的位置和材質、能執行任意 Python / MAXScript 指令 —— 那就等於多了一個懂 3ds Max、24小時待命、還會寫程式的助理,坐在我旁邊看著螢幕跟我對話,而且這次連「跟人溝通」這一步都省了。

這其實是同一個邏輯的延伸:AI 助理現在已經能讀懂大部分工程與設計脈絡,但大多數時候它只能「建議」,沒辦法「動手」。如果能打通這道牆,工作流程會完全不一樣 —— 不用再把場景資訊複製貼上給 AI 看,也不用把 AI 給的程式碼再手動貼回去執行,整個來回可以省掉。

連接之後,實際能做什麼

透過 MCP(Model Context Protocol,一個讓 AI 助理呼叫外部工具的開放協議),Claude 接上 3ds Max 之後可以:

  • 讀取整個場景:物件清單、位置、縮放、材質、燈光、攝影機、目前的 frame range 等等,不用你手動描述場景長什麼樣
  • 修改物件屬性:位置、旋轉、縮放、可見度、名稱、線框顏色,用自然語言講一句話就能改
  • 執行任意 MAXScript / Python 指令:遇到需要複雜邏輯的操作,不用自己寫,直接請 Claude 幫你生成並跑
  • 批次調整與命名:例如一次選取、重新命名、統一調整一批物件的屬性,省掉手動一個個點的時間
  • 觸發渲染:結合腳本執行能力,把渲染輸出也交給它處理

簡單講,任何「你會寫 MAXScript / Python 腳本去做的事」,現在都可以直接用講的,讓 Claude 幫你寫好、跑好、回報結果。

ClaudeMCP clientstdiomax_mcp.pyPython37(外部行程)stdio MCP serverHTTP :7700server.pypymxs(Max內部Python)dotNet Timer 100ms 輪詢3ds Max場景MAXScript 的 python.Execute 是唯一能穿透這層封裝、碰到場景的路

我的經驗分享

跟其他部分 DCC 軟體不一樣,3ds Max(尤其是我用的 2021 版)這邊沒有現成、裝一裝就能用的方案。我找過的兩個開源專案都卡關:一個要求 3ds Max 2023 以上,版本直接不符;另一個的安裝程式鎖定 3dsmaxpy.exe,但我這台機器上的 3dsmaxpy.exe 其實還是舊的 Python 2.7,裝不上去。

後來才搞懂問題出在哪:3ds Max 2021 真正的 Python 3 環境,其實是「藏」在軟體內部的,只能透過 MAXScript 去呼叫,外部的 Python 進程根本碰不到場景。搞懂這一層之後,只好自己動手搭一座橋,讓一段 Python 程式碼直接在 3ds Max 內部執行、開一個小型伺服器讓 Claude 呼叫。

1
找不到現成方案

兩個開源專案都卡關 —— 一個要求 2023 以上版本,另一個鎖定的 3dsmaxpy.exe 還停在 Python 2.7,兩條路都走不通。

2
搞懂內部 Python 被封裝住

2021 版真正的 Python 3 環境藏在軟體內部,只能透過 MAXScript 的 python.Execute 呼叫,外部進程完全碰不到場景。

3
自己動手搭橋

讓一段 Python 程式碼直接在 3ds Max 內部執行、開一個小型 HTTP 伺服器,外部的 MCP server 再透過 HTTP 呼叫進來。

4
踩坑

MAXScript 語法眉角、中文 Windows 編碼問題,還有一次照直覺用多執行緒寫伺服器,直接把 3ds Max 的指令視窗卡死。

5
改用計時器輪詢,穩定運作

改成用 dotNet Timer 每 100 毫秒非阻塞輪詢一次請求,問題才真正解掉,之後就一路穩定運作到現在。

每一個坑當下都讓我懷疑是不是該放棄,但每次解掉一個問題,就更確定這條路是通的。真正解掉「卡死」這個坑的關鍵,就是放棄執行緒、改成用計時器輪詢:

start_server.ms
-- 用 dotNet Timer 每 100ms 非阻塞輪詢一次請求,不阻塞 Max 主執行緒
fn mcpTick s e = (python.Execute "tick()")
maxMCPTimer = dotNetObject "System.Windows.Forms.Timer"
maxMCPTimer.Interval = 100
dotNet.addEventHandler maxMCPTimer "Tick" mcpTick
maxMCPTimer.Start()

搞定之後,最直接的感受跟我自學 Maya、把 Claude 也接上去時一樣:場景資訊不用再自己描述了。以前想處理場景,得先花時間截圖、寫清楚有哪些物件、座標多少;現在 Claude 直接讀場景,一秒就知道全貌,對話效率完全不一樣 —— 而且因為 3ds Max 是我每天工作真正在用的軟體,這次的效益比 Maya 那次還更直接。

如果你也用 3ds Max、也想試試看,我把完整的安裝步驟(包含所有踩過的坑跟解法)整理成一份專門給 AI 讀的指令檔,不需要你自己一步步照著操作 —— 直接把檔案丟給你的 Claude,讓它自己讀、自己判斷、自己完成安裝。

下載:讓你的 Claude 直接幫你安裝

使用方式很簡單:

  • 下載這份 md 檔案
  • 把檔案內容貼給你的 Claude(或直接把檔案路徑告訴它,請它讀取)
  • 跟它說「請照這份指令幫我安裝 3ds Max 的 MCP 連接」
  • Claude 會自己執行指令、建立檔案、確認每一步是否成功,過程中如果需要你確認(例如 3ds Max 版本、安裝路徑),它會直接問你

不需要你自己看懂 MAXScript 或 Python 細節,把「照著做」這件事整個交給 AI 就好。

📄 給 AI 助理讀的可執行安裝指令

如果你在設定過程中卡關,歡迎留言交流。如果你用的是 Maya,設定過程簡單很多,可以參考另一篇《讓 Claude 直接操作 Maya 場景:安裝與設定完整教學》。這個系列還有第三篇,講的是完全不同的情境——《讓 Claude 直接操作 WordPress:MCP 裝了,但真正好用的是 Claude for Chrome》,如果你也在用 Claude 維護自己的網站,可以看看。

在〈為什麼要讓 Claude 連接 3ds Max?一次分享我的動機、成果與經驗〉中有 2 則留言

  1. 自動引用通知: 讓 Claude 直接操作 Maya 場景:安裝與設定完整教學 - 樹讀

  2. 自動引用通知: 讓 Claude 直接操作 WordPress:MCP 裝了,但真正好用的是 Claude for Chrome - 樹讀

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端
0