本文介紹如何在 Ubuntu Linux 下使用 OpenCode 這套開源 AI 編碼代理,透過 MCP 自動操作 Blender,自動建立 3D 場景、設置燈光、背景與相機,輸出渲染圖。

Blender 是一套功能完整且完全免費、開源的 3D 電腦圖形軟體,可以輸出電影級別的動畫,而 OpenCode 則是一個開源的 AI 編碼代理(AI coding agent)工具,兩者可以透過模型上下文協定 MCP(model context protocol)串接起來,讓 OpenCode 自動控制 Blender 進行各種 3D 場景操作,使用者只要用口語的方式告訴 OpenCode 自己的需求,OpenCode 就可以自動依照需求,在 Blender 中進行對應的操作。

前置作業

開始之前要先確認自己的系統有安裝好 Blender、OpenCode 與 uv 套件管理工具,若已經安裝過了,這裡就可以跳過。

安裝 Blender

在 Ubuntu Linux 中安裝 Blender 很簡單,只是從 Blender 官方網站下載打包好的壓縮檔,解壓縮之後就可以使用了:

# 解壓縮 Blender
tar Jxvf blender-5.2.0-linux-x64.tar.xz

解開壓縮檔之後,執行裡面的 blender 指令,確認可以使用 Blender:

# 執行 Blender
./blender-5.2.0-linux-x64/blender

安裝 OpenCode

OpenCode 的安裝只要一行指令就以安裝完成:

# 安裝 OpenCode
curl -fsSL https://opencode.ai/install | bash

安裝完成後,執行 opencode 確認 OpenCode 可用:

# 執行 OpenCode
opencode

安裝 uv 套件管理工具

安裝 uv 套件管理工具:

# 安裝 uv 套件管理工具
curl -LsSf https://astral.sh/uv/install.sh | sh

確認 uvx 指令可用:

# 確認 uvx 指令可用
uvx --version

安裝 Blender MCP

Blender MCP 是一個 Blender 的擴充功能,可使用 uvx 指令安裝:

# 安裝 Blender MCP 擴充功能
uvx blender-mcp install-addon

設定 AI 代理

在自己使用的 AI 代理設定中加入 Blender MCP 的連線方式,以 OpenCode 來說,就在 opencode.json 設定檔中加入以下設定:

{
  "mcp": {
    "blender-mcp": {
      "type": "local",
      "command": ["uvx", "blender-mcp"],
      "enabled": true,
      "environment": {
        "BLENDER_HOST": "localhost",
        "BLENDER_PORT": "9876"
      }
    }
  }
}

關於 OpenCode 的設定檔說明,請參考 OpenCode 的官方文件

如果要使用其他的 AI 代理(例如 Claude Code 或 Cursor),也可以參考 Blender MCP 的文件進行對應的設定。

啟動 Blender MCP 伺服器

啟動 Blender,在主選單選擇 EditPreferencesAdd-ons,啟用 Blender MCP 擴充功能。

Blender MCP 擴充功能

Blender MCP 擴充功能

在 Blender 的 3D 畫面中按下 n 鍵,點選「Connect to MCP Server」開啟 MCP 伺服器。

啟動 Blender MCP 伺服器

啟動 Blender MCP 伺服器

接著就可以在 OpenCode 中透過 MCP 操作 Blender 了。

透過 OpenCode 操作 Blender

當 Blender MCP 伺服器啟動之後,我們就可以開啟 OpenCode,直接使用口語的方式請 OpenCode 幫我們建立想要的 3D 場景。這裡我使用 SAM 3D Objects 建立的汽車與大樹 3D 模型作為範例的素材,讓 OpenCode 自動操作 Blender 建立出道路的場景。

這裡我使用的 LLM 模型是 Qwen3.8-27B,可能因為是免費的小模型,感覺並不是非常聰明,一開始我原本想要請它看著原始的照片,重建照片中的 3D 場景,但是它跟我說它不會看圖,它建議改成兩排行道樹的場景,我就先讓它測試它建議的方案。

OpenCode 透過 MCP 操作 Blender

OpenCode 透過 MCP 操作 Blender

剛開始它畫的車道很寬,車子與樹的比例不太對,車子與樹木的顏色也沒有正確顯示出來,我要逐一跟它講要怎麼改,花了我不少時間,而我有我想要的相機位置與視角,跟 AI 代理講這種東西真的是比我自己下去調還花功夫,跟它講完再等它調完,會比自己下去調還要久。但是如果今天我對於 Blender 操作不熟悉,甚至根本不會用 Blender,透過 AI 代理去操作就真的會輕鬆很多,不需要去學習 Blender 軟體複雜的操作。

OpenCode 透過 MCP 操作 Blender

OpenCode 透過 MCP 操作 Blender

當 AI 代理在工作時,我們可以同時查看 Blender 內的狀況,甚至手動調整,與 AI 代理共同協作。

OpenCode 透過 MCP 操作 Blender

OpenCode 透過 MCP 操作 Blender

我很快的請 OpenCode 調整好相機視角之後,產生出一張初步的渲染圖,這裡 3D 模型的顏色是 SAM 3D Objects 建模時產生的,感覺彩度偏低,另外車子與路上的標線也浮起來了,所以還要繼續慢慢跟 OpenCode 講怎麼調整。

OpenCode 搭配 Blender MCP 初步渲染圖

OpenCode 搭配 Blender MCP 初步渲染圖

接下來我請 OpenCode 依照 3D 物體原始的顏色,調整對比與彩度,然後再叫它自己上網找一輛車子的模型放在隔壁車道。

OpenCode 透過 MCP 操作 Blender

OpenCode 透過 MCP 操作 Blender

最後我請 OpenCode 幫我把每一棵樹隨機旋轉角度,不要讓每一棵樹看起來一模一樣,它還會建議我加上隨機的傾斜角度以及左右位移,但是我覺得我只要旋轉就好。

OpenCode 透過 MCP 操作 Blender

OpenCode 透過 MCP 操作 Blender

這張是最後完成的渲染圖,看起來還算漂亮。

OpenCode 搭配 Blender MCP 完成的渲染圖

OpenCode 搭配 Blender MCP 完成的渲染圖

這個場景的天空是 OpenCode 幫我加上去的,其實我不知道怎麼在 Blender 加上藍天,有 OpenCode 可以協助,對於 Blender 新手來說是可以省不少時間。

嘗試重建實景

後來我又再嘗試一次讓 OpenCode 幫我看著照片重建一模一樣的 3D 實景,最後它確實重建出正確的車子、大樹與馬路的相對位置,只是相機位置它找不出來,中間它花了好久用類似窮舉的方式渲染各種不同角度的圖,但還是不知道該把相機放在哪裡。

OpenCode 透過 MCP 操作 Blender

OpenCode 透過 MCP 操作 Blender

最後實在沒辦法,OpenCode 真的找不出最適合的相機位置與角度,我就用人工手動拉一下,十秒鐘就調整好了。

人工調整相機位置與角度的渲染圖

人工調整相機位置與角度的渲染圖

有些動作讓 OpenCode 透過 MCP 自動操作 Blender 會很方便,而某一些比較特別的動作人做起來很快,但是 OpenCode 卻做不出來。