自訂效果
如果設定裡沒有你想要的效果,就請代理來做:每次點擊時泛起的波紋、像呼吸一樣明暗變化的暗角、最後幾秒淡出成黑色。代理會把效果寫成一個小小的 GPU 著色器,OpenScreen 會在預覽以及每次匯出(MP4 和 GIF)中繪製它,Windows、macOS 和 Linux 上都是如此。
效果來自代理:內建聊天,或是 Claude Code、Codex 等 MCP 用戶端(請參閱 AI 剪輯)。效果進入專案後,你可以在編輯器裡自行調整。
請求一個效果
描述你想看到什麼,以及在什麼時候出現,例如「每次點擊都有波紋」、「最後兩秒淡出成黑色,字幕也一起」。代理會寫出效果、把它放到時間軸上,並且可以用 getFrames 查看結果,不必匯出影片。
效果知道游標在哪裡、每次點擊落在哪裡,知道經過縮放和版面配置之後,螢幕錄影和攝影機在影片中的位置,也知道目前的時間。因此,光暈可以跟著滑鼠移動,波紋可以從每次點擊的位置泛起,無論縮放把它移到了哪裡。
在編輯器中
專案裡一有效果,時間軸上就會在全螢幕攝影機區域下方出現效果專用的一列。每個區塊都會顯示效果的名稱。你可以像其他區域一樣移動、調整長度、複製貼上或刪除它,Ctrl/Cmd + Z 可以復原修改。同一時間只會播放一個效果:貼到另一個效果上會被拒絕。
點擊區塊即可開啟它的檢查器:
- 每個設定對應一個控制項:代理為效果提供的每個設定,會顯示為滑桿、開關、顏色或點。
- 作用於,也就是效果繪製在哪裡:
- 畫面(預設):螢幕錄影、攝影機、游標和背景,位於你的標註和字幕之下,文字保持清楚可讀。
- 文字:只作用於標註和字幕。
- 兩者:整個畫面,包括文字,例如連字幕一起覆蓋的淡出成黑色。
- 開銷:輕、中、重或很重(請參閱下文)。
- 程式碼:唯讀的著色器程式碼,附有複製程式碼按鈕。要修改它,請代理來改。
把複製的效果貼到另一個專案時,它的程式碼也會一起帶過去。
開銷
開銷是根據程式碼估算的:計算效果為每個像素讀取畫面的次數。同一份程式碼在任何電腦上都會得到相同的等級。不會因為開銷而拒絕任何效果:效果越重,適合它的片段就越短。
| 等級 | 典型效果 | 適合 |
|---|---|---|
| 輕 | 暗角、調色、點擊波紋 | 整部影片 |
| 中 | 色差、輕微模糊、故障效果 | 幾十秒 |
| 重 | 強烈模糊、散景 | 一個轉場、一個精彩時刻 |
| 很重 | 光線步進、模擬 | 幾秒鐘:匯出依然準確但較慢,在效能較弱的 GPU 上預覽可能會變慢 |
效果無法編譯時
代理的程式碼會在效果被接受之前編譯。編譯失敗的程式碼會連同編譯器的錯誤一起被拒絕,專案保持不變。
在另一台電腦上開啟的專案,仍可能遇到判斷不同的編譯器。這時效果不會被繪製,它的檢查器會顯示無法在這台電腦上編譯以及錯誤訊息,匯出則會在沒有該效果的情況下繼續。
他人的專案
專案會帶著其中效果的程式碼,所以開啟別人的專案會執行不是你寫的程式碼。這段程式碼只在 GPU 上執行,無法存取你的檔案、網路或應用程式的記憶體。
給代理開發者
相關工具是 addEffect、setEffect、setEffectDefinition 和 getEffect,用 removeModifier 移除效果。完整的規範,也就是 effect(uv) 函式、它能讀取的內容及其規則,在 MCP 資源 openscreen://effects/contract 中。