ShutterPact — VRフォトコンのルールを明文化するツール
VRChatのフォトコンは、個人が気軽に主催できるのがいいところだ。けれどそのぶん、ルールの粒度は主催者によってかなりばらつく。
Unityエディタでの撮影は許可されているのか。アバターのモニターぼかしはどうか。AIツールはどこまで使っていいのか。こういった問いへの答えが曖昧なまま運営されることも多くて、参加者との認識ズレが生まれやすい。
ルールを書くこと自体が面倒というのも一因だと思う。「こんな細かいことまで書かなくていいか」と省いた一文が、あとになってトラブルのもとになる。
ShutterPactは、そういう状況をどうにかしたくて作ったツールだ。
何ができるか
VRChatフォトコンの主催者向けに作ったルールを生成するWebアプリだ。フォームに沿って情報を入力すると、SNS告知用のPNG画像(1200×675px)とDiscordに貼れるMarkdownの2形式で出力できる。
インストール不要で、アカウントもいらない。ブラウザで完結する。
8つのステップ
入力は8ステップに分かれている。
- 基本情報 — コンテスト名、主催者名、開催期間、テーマ
- 撮影環境 — ゲーム内カメラ・アバターのぼかし・VirtualLens2等のギミック使用可否、Unityエディタなどの可否、他プラットフォームの追記
- 加工ポリシー — 無加工から RAW 現像・合成・デジタルペインティングまで6段階で設定
- AI使用ポリシー — 禁止 / アップスケールのみ可 / AI補助ツールのみ可 / 利用可 の4択
- コンテンツポリシー — ゴア・性的・政治的表現の扱い、各種ガイドライン準拠の設定
- 応募条件 — 最低解像度、ファイル形式、投稿先(X / Discord / GoogleForm / 自由入力)、ハッシュタグ、応募数、主催者へのメンション要否
- 特記事項 — 上記に収まらない補足を自由記述
- プレビュー & エクスポート — PNG保存・Markdownコピー・URL共有
URLにすべて保存される
こだわった部分として、入力内容をURLのハッシュに自動保存する設計にした。ページを閉じてもURLさえ残しておけば入力が復元される。サーバーもDBもなく、クライアントサイドだけで完結している。
URLを誰かに送れば、同じ設定で編集を引き継いでもらうこともできる。共同主催のフォトコンで「ここだけ変えてほしい」という使い方にも向いている。
技術スタック
Vite + React + TypeScript で書いた静的SPAで、Cloudflare Pagesにデプロイしている。UIはTailwind CSS v3とshadcn/uiを使った。ステップ間の遷移アニメーションはFramer Motion。
PNGの生成にはhtml-to-imageを使っている。DOMをそのままキャンバスに描いてくれる。
使ってみてほしい
自分がフォトコンに参加したり、「これ毎回考えるの大変そうだな」と思い続けていたものを形にした。作ったあとで実際に自分でも使ってみたが、まぁわかりやすくできたのではないかと思う。
CalenderBot と合わせて、VRChatのフォトコン文化が少し使いやすくなればいいと思っている。
ShutterPact から使えるので、フォトコンを主催するときに試してみてほしい。
この記事を公開した日の夜、仕事から帰ってきたばかりのところから勢い駆動開発をしたので、まだまだ至らない部分もあると思う。皆様からのフィードバックをお待ちしています。