OverwriteYamaPlayerPlaylist
- Digital0 JPY



◆概要 VRChat World用Unityプロジェクトのシーン上にある YamaPlayer https://booth.pm/ja/items/4768863 のプレイリストを 指定したjsonのプレイリストに一括で上書きします。 jsonはYamaPlayerのプレイリスト編集画面でエクスポートしたものを使用します。 ◆使い方 ① Unity Editorの上部メニューの 「Tools/PoppoWorks/Overwrite YamaPlayer Playlist From Json」 を開きます。 ② YamaPlayerのプレイリスト編集画面でエクスポートしたJSONファイルを「Select Json」ボタンから選択します。 ③ 一覧からプレイリストを上書きしたい YamaPlayer のチェックを ON/OFF で選択します。 ④リストの項目をクリックするとHierarchy上で選択されますので、上書き対象のオブジェクトを間違わないよう確認してください。 ⑤ 最下部の「Overwrite Selected YamaPlayers」ボタンを押して実行します。 ◆ライセンス ライセンスはCC-0です。ご自由にご利用ください。許諾なく改変再配布可能です。 ◆お問い合わせ 何かしら問題があれば、Twitter (@hato_poppo_life) などでご連絡ください。 対応できる範囲で対応させていただきます。 下記GitHubのissueでも問題ありませんが、気づくまで時間がかかるかもしれません。 https://github.com/hatolife/OverwriteYamaPlayerPlaylist ◆補足 寄付などは受け付けておりません。 VRChatやTwitterでお友達になっていただいたほうが嬉しいです。 コードはCodexを用いて作成しました。 --- 以下 Codex 作成の README.md の抜粋 --- # OverwriteYamaPlayerPlaylist ## 概要 `YamaPlayer` のプレイリストを、JSON ファイルから一括で上書きする Unity Editor 用ツールです。 現在ロード中のシーン内にあるすべての `YamaPlayer` を一覧表示し、対象を個別に ON/OFF したうえで、各 `PlayListContainer` の既存プレイリストを削除して JSON の内容へ置き換えます。 ## できること - シーン内の全 `YamaPlayer` を一括処理 - `YamaPlayer` ごとに置き換え対象を ON/OFF - 検索で `Scene`、`Name`、`Hierarchy Path` を絞り込み - 並び替えを `Name`、`Path` から選択 - `All On/Off` と `Filtered On/Off` に対応 - `YamaPlayer` 名と Hierarchy 上のパスを一覧表示 - リスト上で選択した `YamaPlayer` を Hierarchy でも選択 - JSON の再読込 - JSON のプレイリスト数、総 track 数、各 playlist 名の要約表示 - 実行前の対象確認ダイアログ - 実行後のエラー一覧表示 - 最後に使った JSON パス、検索条件、並び順、対象 ON/OFF 状態を保持 - 既存プレイリストを削除して JSON の内容で置換 - Undo 対応 ## 前提 - Unity Editor 上で使うツールです - 対象は現在ロード中のシーン内にある `YamaPlayer` です - JSON は YamaPlayer Playlist Editor のエクスポート形式を想定しています ## 使い方 1. Unity メニューから `Tools/PoppoWorks/Overwrite YamaPlayer Playlist From Json` を実行します 2. ウィンドウ上部の `Select Json` でインポートしたい JSON ファイルを選択します 3. 必要なら `Reload` で同じ JSON を再読込します 4. 検索欄で対象を絞り込みます 5. 一覧から対象にしたい `YamaPlayer` のチェックを ON/OFF します 6. 必要に応じて `All On`、`All Off`、`Filtered On`、`Filtered Off` を使います 7. 一覧上の `Name` または `Hierarchy Path` をクリックすると、その `YamaPlayer` が Hierarchy 上でも選択されます 8. `Overwrite Selected YamaPlayers` を押して実行します ## 注意点 - 実行すると対象 `YamaPlayer` の既存プレイリストは消えます - 選択した `YamaPlayer` すべてが同じ内容に上書きされます - プレハブアセット自体ではなく、ロード中シーン上のインスタンスを更新します - JSON の内容が不正で `playlists` を読めない場合は処理を中断します - 一部だけ失敗した場合でも、成功した対象はそのまま更新され、失敗内容はウィンドウ下部と完了ダイアログに表示されます



