何も分からん人にとって、Unityとは理不尽との戦いだ。
もっとゲーム感覚で服を選べたらいいのにと思いつつ、理想の姿を追い求めてよく分からない英語に悪戦苦闘。先生に八つ当たり気味で怒られている気分です。なんなら、英語を見た時点で戦うことを放棄したくなるまであります。
「ツールを使え!」と思った人もいるでしょう。でも言わせてほしい。
ツールを使ってもアバター改変ダメなときがある!
「ツールを使ってさっさとアップロードだ!」と思っているときにエラーや思わぬ挙動をすると、「楽にするためのツールがストレス製造機になるんじゃないよ!」と狂います。
そして、X(Twitter)やフレンドに愚痴りながら現実逃避。
そしてある日、ふと気づきました。「ツールの取り扱い」を知る記事があっても、「エラーの取り扱い」を知る記事はないのでは……?
ツールの取り扱いは、ネットに解説記事や説明のドキュメントが転がっています。でもUnityを普段から触っているゲーム制作者ならいざしらず、普通の人からすれば「エラー」とは「理不尽」であり、対処できないもの。でも、「エラー」の正体が分かれば、たとえエラーが発生したとしてもストレスが抑えられるのでは……?
なので、今回はアバター改変をするときにお世話にならない人はいないであろうツール「Modular Avatar」の制作者bd_さんに「エラーへの向き合い方」を教えてもらいました。
向き合うと聞いてみると怖いと感じますが、意外と難しい話ではありません。初心者からVRChatにどっぷり浸かっている人まで、知ってもらいたい情報が詰まっているのでぜひご覧ください。この記事の内容を読めば、きっとこれからのVRChatが楽になるはずです。
エラーが発生しているとき、裏では一体何が起きているのか
ーーツールを使っているときにエラーが起きた場合、内部ではどのような状況になっているのでしょうか。
bd_ エラーには一般的な問題とUnity独自の問題があって、その中にケースが多く含まれています。
まずは一般的な問題。最初に考えられるのは「そもそもツールの使い方を間違えている」ケース。ツール制作者が想定していない使い方をして、エラーが発生する流れですね。
次に考えられるのは「制作者は想定していないけども、直してしかるべき」ケース。後は「単純にバグが発生した」ケース、「ツール間の干渉が発生した」ケースがあります。
もう1つ考えられる種類がUnity独自の問題です。Unity側の問題だと、ランタイムエラーなのかコンパイルエラーなのかによって変わってきます。
コンパイルエラーは1つでも発生するとUnityのプロジェクトが機能しなくなります。そしてコンパイルエラーは、エラーを指し示すコンソール上でログを消そうとしても消えません。コンパイルエラーがよく起こるシチュエーションとして、Unityの新しいバージョンを更新するときに新しいUnityのバージョンに対応していないことがあります。
コンパイルエラーの対処法は、エラーの元になったツールを更新するか削除するかの2択です。根本的な対処をするには、ツール制作者でないとできません。
ランタイムエラーは、コンパイルエラー以外のエラーだと思ってもらえれば問題ありません。
ーーとなると、エラーが発生したときにまず行ってほしいことは「ツールの使い方が正しいのか」でしょうか。
bd_ そうなりますが、ユーザーが「正しいツールの使い方」をしているのか確認するのは難しいと思います。なので、まず行ってほしいのは「エラーメッセージの文面」を読むことです。
エラーメッセージには、何が原因でダメなのか基本的に書いてあります。その一方で見落としがちではあるのですけどもね。
エラーメッセージを読むときも注意があって、複数行にまたがって表示されている場合があります。なのでエラーメッセージの最後を見て「なんか壊れた!」と思うかもしれませんが、エラーメッセージの前後も確認して「なぜ壊れたのか」を確認してほしいです。
エラーメッセージで分からないときに、ツールの使い方を確かめます。でも先ほど話した通り、ツールの使い方が正しいかどうかは本人には分からないと思います。
エラーメッセージで解決法が分かったり、ドキュメントで見直して気づけたりしたら問題ないと思いますが、確かめてもダメだったら本人には気づけません。なので、ツールを使っていて分からなくなったらフレンドやツール制作者に助けを求めてみてください。
よくX(Twitter)で「Modular Avatar使えなかった〜」といった諦める投稿をすると思うのですが、私がエゴサーチして調べるのも大変なので直接言ってください。
ーーたしかにそうですね。ポストするにしても、表記ブレやツールの名前が本文に含まれない場合もありますしね。
bd_ エゴサーチをして使い方が間違っていたり、バグを発見したりして解決することもあります。でも制作者に直接リプライを送ってもらうのが、もっとも確実です。
もちろん、詳しい人がフレンドにいたら先に聞いてもらうのもありです。でも、ツール制作者に直接言ってもらいたい理由があります。
ユーザーが何度も使い方を間違える箇所があれば、ツール制作者だと「根本的な解決」ができます。たとえば、エラーを分かりやすくしたり、そもそも間違った使い方でも動くようにプログラムを修正したりする解決手段があります。
エラー報告のやり方を知ろう!
ーーエラーをフレンドやツール制作者に伝えるときに、どのようにして伝えればいいのでしょうか。
bd_ 助けを求めるときに必要なのは「何をしたのか」「何をしたかったのか」「何が起きたのか」「何を起こそうと思ったのか」の4つです。よく抜け落ちるのは「何をしたかったのか」ですね。
そもそもツールを使って何をしようか分からないと、「想定外の使い方」をしてエラーが起きた場合があります。
なので、どういった目的で、どういった操作で行ったのかスクリーンショットや動画で出してください。スクリーンショットするときにトリミングする場合があると思いますが、そのまま出してください。本人が思っている箇所と違う箇所でエラーの原因がある場合もあります。
エラーメッセージがあれば、全文見られる形にしてスクリーンショットを送ってください。あるいはエラーメッセージのコピー&ペーストでも構いません。もしもUnityが動かない場合は、anatawa12さんが作ったConsole Log Saverを使ってください。外部ツールのため、Unityが動かないときでもエラーメッセージを取得して共有できます。
この他にも、ツールのバージョン、Unityのバージョン、VRChatSDKのバージョンも共有するようにしましょう。
実はイベント「アバター改変なんもわからん集会」第3回の講演にて、プラナリアさんが「なんも分からんときの質問方法」として詳しく解説しています。Discordサーバーがあるのですが、サーバー内にはアーカイブも残っているので見てください。
ーー「アバター改変なんもわからん集会」に行けば、もし周りに頼れる人がいなくても解決できるかもしれないでしょうか。
bd_ 「アバター改変なんもわからん集会」には、改変めっちゃできる人や初心者、ツール制作者もいます。集会以外にもDiscordでやり取りできますので、イベントに参加できなくても利用してください。
イベントは隔週開催で行われていて、最新情報は公式XアカウントかDiscordサーバーに入れば分かります。
ツール制作者は怖くないからエラー報告はどんどんしてほしい
ーーVRChatでよく使われているツールの制作者は日本人や日本語が通じることが多いので、積極的に連絡を取りやすいですよね。
bd_ 制作者にとって1番困るのは「みんな知っているけども、みんな迂回するから制作者は知らない」ことですね。つまり、「誰も制作者を呼んでいないのである!」既出の内容だとしても、エラーがあったらツールの制作者に報告してください。
ーー誰も火事で通報しないような状態になるわけですね。他人に迷惑をかけないことは美徳かもしれませんが、役割を果たすのが重要であるツールにおいては、しっかり声を出すことが大事なんでしょう。それに既出の内容だったら対処もすぐにできますしね。
bd_ 既出の内容であれば対処もすぐにできるのもありますが、対処への優先度が変わります。困っている人が複数人いると分かれば、優先して解決するべきと判断できますからね。
実際にあった話をすると、レアケースだと思っていたエラー報告が、実はコミュニティ内で困っている人が多数だったことがあります。制作者だけだと、みんなどのようにツールを使っているか分からないからどこから修正するか分かりません。
またユーザーが既出の内容と思っても、ツール制作者から見ると違う内容の場合もあります。ユーザーからすればアップデートが来るまで直るのを待つ選択肢をとればいいと思うかもしれませんが、ツール制作者としては、報告がないと修正ができなくて困っちゃいます。
ーーやっぱりユーザーとツール制作者からするとエラーに対するイメージが違うのかもしれませんね。
bd_ そもそも私の場合は報告数が少ないので、どんな些細なことでも報告してほしいです。もちろん報告が殺到したら運用について考えないといけないのですが、今は気軽に報告してほしいです。
ーー多くの人に使われているであろうModular Avatarですら報告が殺到していないことを考えると、報告は本当に来てないでしょうね。せっかくツール制作者の意見が多く届く場だと思うので、最後にツール制作者として伝えたいことがあればお願いします。
bd_ ツール制作者は怖くないよ?
ーー(笑)今回はインタビューありがとうございました。
ツール制作者からすると、もっと気軽にエラー報告をしてもらいたいのは意外でした。ツール制作者は怖くない……
あくまでも気軽に相談してほしいことは、今回インタビューしたbdさんの意見のため、すべてのツール制作者の総意ではありません。とはいえ、今回語ったツール制作者から見たエラーの捉え方は参考にするべきです。
エラーを報告するのが失礼にならないだろうかと不安に思っても、今回のインタビューで語られた方法で報告すれば嫌な顔はされないでしょう。
この記事で得られた「エラーへの向き合い方」は多くの人に共有してください。共有された分だけ、ツール制作者のエラーに対する知見が深まり、最終的にあなたにメリットがやってきます。
ぜひ、エラーからは逃げずに向き合ってみてください!