サムネがバグった状態になる
症状
サムネイル表示時、こういった表示になるページが発生する
原因
サムネイルを取得する際、動画のIDが正常に取れない場合に発生します。
現在確認している具体的な発生パターンは以下の2種類です。
- 設定している動画が現在非公開である
- スプレッドシート側の式がおかしくなり、動画のIDが正常に出力されなくなっている
特に原因1.において、YoutubeMusicは仕様上たまに動画IDが変わるようで、ある日突然こうなることもあります。
対処法
まずは原因の動画を特定する必要があります。
サムネを取得できない動画を探せばいいのですが、大量にある動画から探すのはつらいので探し方の手順です。
動画の数が少ない(120個以下)の人は、手順3から、B
は0として読んでください。
-
タグによる絞り込みを行わない状態で、何曲目で発生するかざっくり把握します。これを
A
曲目とします。 -
A
を66で割り、整数の部分を求めます。これをB
とします。例えばA
が50ならB
は0、A
が100ならB
は1です。 -
ギミックの「URLDictionary」を選び、ThumbnailUrlsと書かれた部分を上から
B
だけ数えた場所にあるURLをコピーします。
Bが0なら一番上をコピーする -
Chromeなどブラウザで開いてください。10秒くらいかかります。
-
開いた画像の中に、以下のような画像があるはずなので、探します。無ければコピーする欄を上下にズラして試してください。
動画が無い時のサムネ -
上の画像が、何の動画の次かを把握します(左上から右下に向かって並んでいます)。
-
スプレッドシート上で見つけ、該当の動画を消すか別の動画に差し替えてください。
-
VRChat上でReloadボタンを押し、直っているか確認します。まだバグっていれば他にもあるので手順1から繰り返します。
ここまでで直れば以上です。お疲れ様でした。
ここまでで直らない場合、原因が2.である可能性が高いです。
- 導入手順のスプレッドシート作成をもう一度行ってください。
- 既存の行の削除の際、以下の手順を踏んで行ってください。
- 動画を追加し直してください。
- まずB列C列をコピペする
- 次にタグ列をコピペする
- VRChat上でReloadボタンを押し、直っているか確認してください。
以上です。お疲れ様でした。
蛇足
本当はサーバー側で弾ければいいんですが、サムネ画像の取得にYoutubeAPIを使っていない(使えない)ので厳しい…というのがあります。
VRChatがUnity2019だった時は、非公開の動画が混ざっていても他のサムネには影響しなかったんですが、Unity2022になったタイミングで画像のデコード処理が変わったようでこのような症状が発生するようになりました。つらい。