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に新しい一意のケバブケースのプリセットIDを追加します。references/preset-contract.mdで定義されたフィールドのみを変更します。- ユーザーが明示的にエンジンレベルのレイヤー数変更を要求しない限り、レイヤー定義は正確に3つ保持します。
?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を返す。 - モデルの読み込みが完了する。
- デモモードが4本の曲線コントロールラインと3つの接続されたサーフェスをレンダリングする。
- 要求されたプリセットが視覚的に区別できる。
- ツイストアニメーションがフリーズせずに両方の曲がり方向をクロスする。
- リセットとスムージングコントロールが機能する。
- ブラウザコンソールにプロジェクトエラーが0件である。
利用可能な場合は実際のブラウザ自動化ツールを使用してください。MediaPipe内部の「OpenGLエラーチェックが無効です」という警告は、実際のエラーが伴わない限り情報として扱ってください。
報告
以下を報告します:
- 追加されたプリセットまたはエンジンの動作;
- 変更されたファイル;
- スタイルの選択と使用方法;
- 完了した検証;
- まだユーザーが必要とするカメラまたはハードウェアのチェック。