ワールド製作のすすめ

どうも! wata23です。

この記事はワールド探索部アドカレンダー15日目の記事、そのおまけです!
記事を書いたところ、ワ探索の中で『続きが読みたい!』というありがたいお言葉を頂いたので、折角なので書いちゃいますか、と軽率に筆を取った次第でございます。

内容としては、初めてワールド作りに挑戦した時の経験談、そして得られた新しい感性の話をしたいと思います。

内容的に泥臭い話も入ってくるので、15日目の記事ほど綺麗な読後感はないと思います(なので恣意的に抜いたところはあります(笑))

それでも読みたいと思ってくれた方に、この記事をお届けしたいと思います。


Unity君に対する感情

ワールド製作をする上で避けて通れないものがあります。
みなさんにはお分かりですね?Unity君との付き合いです。

私は親しみと憎しみを込めて、君付けで呼んでます。
『Unity君……君さぁ……』
が、作業中に漏れた回数の多い言葉No.1ですね!(当社比)

私がUnity君を使い始めたのは、VRChatを始めた約2年前くらいのことでした。それ以前は名前だけしか知りませんでした。

ただ、私はUnity君に対する拒否反応のようなものは一切感じませんでした。実際に動かしてみないと何が起こるか分からないプログラミングと違って、常にプレビューできるというのはモチベーション面でかなり健全だと思います。

今の私にとって、Unity君は『憎たらしいけど、どこか憎めないところもある腐れ縁の友達』という印象です。

意外とマイルドな印象?と思った方もいらっしゃるでしょう。

その通り。これは『2019.4.31f1のUnity君に対する印象』です。

では、遡ってみましょう。
私が始めた当時のUnity君のバージョンは2017.4.15f1。

このころのUnity君(+VRChat SDK2)は、ヤンキーでした。

ワールド製作に取り組むたびに、まさに目が合っただけでガンつけられるように、私は謎の現象に苦しめられました……。
有識者に聞いても分からず、ネット上を探しても情報が出てこない。
そういったユニークな現象が多いトラブルメーカーでした。

だから、今のUnity君を見ると、
元ヤンキーだったやつが優等生面で行儀よく座ってるみたいな、そんな感じです。お前……丸くなっちまったな……。

ちなみに、この時私が苦しんだほとんどの現象は、今のUnity君(+VRChat SDK)では多分起こりません。

そんな昔のUnity君を使った、ワールド製作の体験談をしたいと思います。


初めてのワールド製作


はっきり言って、私は舐めていました。

VRChatを始めてから、初めてのGW。
有給と組み合わせて11連休でした。
この11連休で初めてのワールドを作るぞ!っと意気込んでいました。

『流石に11日つぎ込んでできないってことはないだろう』

そんな大雑把な見立ての元、初のワールド製作を開始した私を待っていたのは、Unityアセットストアの罠とVRChatの謎エラー

ワールドが一通りの完成を迎えたのは、2週間と少し経った後でした。

では時系列を順に追っていきましょう。

前もってフレンドにリサーチをしていたため、私はUnityで良さそうな家とスカイボックスのアセットを見繕って購入していました。

よって最大の苦戦ポイントはライティングになりそうだなと、私は見立てていました。

結果としては、作成開始1日目~7日目までの一週間、私はライティングと格闘していました。
当時、VRChat向けのライティングの日本語記事は、なんとほぼなかった記憶があります。

唯一記憶にあるのが、丁度作り始める1カ月前に投稿されたねこますさんの記事でした。本当にありがとうございます。

したがって細かいところは、中国語や英語のページを翻訳サイト駆使しつつ、頑張って読み取るみたいなことをしていました。なかなかの苦行でしたね……。

当然7日目に差し掛かった時点で私は思いました。
いや、11日じゃ終わらないな????と。

そして8日目にmomomaさんのsdk2スターターキットを利用して、ミラー等を入れた状態で試しにアップロードしてみました。

VRChatを起動し、いざワールドに入らんとしたところ、

ローディング画面からホームに戻される謎現象に遭遇しました……。
そして、何回やってもロード画面で戻されます。
そもそもワールドに入れないとはいったい……?

まずは自分で調べました。

一応プログラミングを学んできた身でしたので、おおむねの予想はつきました。ロード画面で戻されるということは、多分VRChat側でワールドを初期構築する際に何かがエラーを起こしているのでしょう。では一体何が?

原因は細かく絞り込んでいくのが基本なので、部分的に消してアップロードしてみました。
まず家を一部屋ずつ消してみました。直りません。
海と空を消してみました。直りません。
家全体を消してみました。……直りました。

この時点で、家全体に良くない原因があるというまさかの事実が判明しました。ただし、家の何が悪さをしているのかは分かりません。

そこでフレンドに相談したところ、VRChatにはデバッグログがあるという話を頂いたので、そちらの解読に臨みました。

ですが、いくら検索してもデバッグログの中にそれらしいError文がありませんでした……。

ざっくりと補足します。
VRChatのデバッグログにおける警告文は主に2つあります。
一番重大なのがErrorです。このレベルになるとプログラムがそもそも動かない可能性があります。
次がWarning。これは何かしら問題があるが、動いていることを示唆しています。ものによっては影響なしということで放置されやすく、沢山あります。

つまり、怪しげなErrorはなかったので、私はたくさんあるWarning文の中から怪しげなものを探す必要がありました。しかも、Unityについての専門的な知識は一切ないので手探りで……。

それから1週間ちょっと、怪しいところを手探りで調べるという苦行が行われました。

正直諦めようかなと思った時もありましたが、
ここで引いてしまっては苦手意識だけが残ってしまうので駄目だな、
と思ったので頑張りました。

そして、ついに原因を突き止めました。

今でもちょっと良く分かっていないのですが、
サブスタンスデザイナーで作られたマテリアルの読み込み設定によっては、VRChat側で読み込めないようでした。

ここからは朧げな記憶なのですが、
初期設定はcompressed on images(圧縮画像形式?)になっているのですが、こちらをDiscard(破棄?)にしたところ、ワールドが正常にロードできました。

解決した時は、
「分かるかこんなもの~~~~~!!!」
って叫んでしまいましたが、無理もないと思います。

(ちなみにこの項目はUnity2018.4.20f1に移行した時に変わり、該当の項目はなくなりました。そして何故かワールド容量が100MB増えました……多分こいつのせいだろうなと思っています)

正直この時のエラーに悩まさせられた時間を思うと、最近起こったUnityの不調はチワワみたいなもんですね。

アセットストアにあるアセットは玉石混合なので、気を付けろ!
というのが最初のワールド製作で得られた教訓でした。

以上が、私の最初のワールドの制作記録でした。泥臭かったでしょう?

竣工してしばらく後の自撮りです
ワールドは当時の私がいたコミュニティの人達向けに作ったので非公開です

ワールド作りで得られた感性


ここからは私がワールドを制作していて良かったなと思っていることを話します。

皆さんがワールドを巡っているときに、『綺麗だな』とか『素敵だな』と思う表現に出会うことがあると思います。

ワールドを制作していると、そういった素敵な表現を見た時に、
『これは一体どうやってるんだろう?』という疑問が先に来てしまうことがあります。クリエイター病ですね。

ただ、そういった疑問はVRChatの中でだけ起こるものかと言われると、実はそうではありません。

ワールドを制作すればするほど、一つの結論に辿り着くと思います。
すなわち、『現実の表現が神すぎる』と……。

ワ探部の13日目の記事でWaka123さんの記事の中に、『結局VRは現実の下位互換でしかないのか…みたいなガッカリ感が、うっすら心の中にありました。』という一文があります。

これはある面においてはまさしくその通りだと思います。

なにせ!現実はマテリアルもポリゴンもテクスチャもライティングも使い放題ですからね!!!!!!!

そう!現実の表現は実に情報量が多く、贅沢です。

ですが……


普段生活している人々の多くはそんなことを意識していません。
これは私が勝手に面白いと思っていることの一つです。


ワールド製作をしている方々は知っています。
水面の揺れは処理が重い。
物理演算は処理が重い。
流れるボリューム感のある空は処理が重い。
リアルタイムなライティングは処理が重い……などなど。

現実では、その重たい処理の全てがリアルタイムに行われ、しかもラグは一切ありません。

だからこそ、ワールド製作をすると分かるんです。
現実の贅沢な表現が。


ワールド製作を始めてから、よく空を眺めるようになりました。
(もっとも、私は田舎に住んでいますので、車の運転中などは否応なしに目に飛び込んでくるのですが)

昔と比べると、空を美しく見れるようになったと思います。

何の変哲もない夏の、空に浮かぶのんびりとした平凡な雲でさえ、いとおしく思えるようになってきました。
その表現の贅沢さを知っているから。

夕暮れ時や雨上がりの後の美しい空は、一層美しく見えるようになりました。その表現の難しさを知っているから。

普段、何気なく見ているものでさえ、
『VRChatに持っていくにはどうしたらいいんだろう?』
と考えると、その表現のリッチさに気が付き、途端に面白くなってきます。

だからこそ、これはワールド製作をしていたからこそ得られた感性なのでしょう。

ここで一つお裾分けしましょう。
最近、私が散歩していた時に撮影した写真です。

霜で真っ白になったツタ植物

この日は良く晴れた寒い日でした。
道端にあった何の変哲もないツタ状の植物が、真っ白く染まっている様子を取っただけの写真です。

私はこれが非常に美しく見えました。
あなたもワールド製作、してみませんか?




この記事が気に入ったらサポートをしてみませんか?