跳至主要內容

自訂效果

如果設定裡沒有你想要的效果,就請代理來做:每次點擊時泛起的波紋、像呼吸一樣明暗變化的暗角、最後幾秒淡出成黑色。代理會把效果寫成一個小小的 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 中。