AR Film Creator
將捆綁的專案作為新專案的真實依據。除非使用者明確要求更改互動方式,否則保持相機、追蹤、幾何、遮擋和伺服器管線穩定。
路由請求
- 分類請求:
- 新專案:實例化
assets/browser-ar-template。 - 僅樣式變更:編輯
src/filter-presets.js。 - 行為變更:先編輯預設幾何或動態值。
- 引擎變更:僅在預設欄位無法表達請求時,編輯
src/app.js。
- 新專案:實例化
- 對於每次樣式或行為變更,請先閱讀
references/preset-contract.md。 - 將視覺簡介翻譯成參數時,請閱讀
references/filter-recipes.md。 - 在變更追蹤、幾何、渲染順序、遮罩、啟動或檔案結構之前,請先閱讀
references/architecture.md。
建立專案
執行:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/New-ArFilmProject.ps1 -Destination "<絕對輸出路徑>"
要求目標路徑不存在或為空。請勿隱式覆寫現有專案。
自訂樣式
- 保留一個現有的預設集作為已知良好的備用方案。
- 在
src/filter-presets.js中新增一個唯一、以 kebab-case 命名的預設集 ID。 - 僅變更
references/preset-contract.md所定義的欄位。 - 除非使用者明確請求引擎層級的圖層數量變更,否則請保持恰好三個圖層定義。
- 透過
?preset=<預設集-id>測試預設集。 - 確認未知的預設集 ID 會回退到
transparent-film。
保護引擎不變量
- 保留 MediaPipe Tasks Vision 固定的 URL 和模型回退行為。
- 保留雙手的螢幕位置排序。
- 保留控制列
4、8、12和20。 - 保留相鄰表面之間的共享邊界。
- 允許摺疊和扭轉過渡;不要重新引入自相交凍結。
- 保留合成順序:背景、膠片、手部/前臂、控制項。
- 保留 localhost 啟動和相機權限錯誤處理。
- 除非使用者明確要求另一個技術棧,否則保持衍生的專案免建置。
驗證
執行:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/Test-ArFilmProject.ps1 -ProjectPath "<絕對專案路徑>"
然後啟動本機伺服器並驗證:
- 根目錄、CSS、
app.js和filter-presets.js回傳 HTTP 200。 - 模型完成載入。
- 示範模式渲染出四條彎曲的控制線和三個連接的表面。
- 請求的預設集在視覺上可區分。
- 扭轉動畫在兩個彎曲方向上都能通過,不會凍結。
- 重置和平滑控制功能正常。
- 瀏覽器控制台沒有任何專案錯誤。
在可用時使用真實的瀏覽器自動化工具。除非伴隨實際錯誤,否則將 MediaPipe 內部的「OpenGL 錯誤檢查已停用」警告視為資訊性訊息。
報告
報告:
- 新增的預設集或引擎行為;
- 變更的檔案;
- 如何選擇和使用該樣式;
- 完成的驗證;
- 仍需使用者處理的相機或硬體檢查。