作っちゃったわー。世界、作っちゃったわー( ´∀`)
世界作ってました。
最近、私…世界を作ってました。
「???」と思った方もいるかもしれません。ち、違います!嘘じゃないです!本当なのです。
こんな感じの世界(ワールド)を作っていました。↓
「VRChat」という、バーチャル世界でコミュニケーションが出来るゲームがありまして…
このゲームでは、チャットをするためのワールド…世界を自分で作ることが出来るのです。
実は私…この「VRChat」のワールド制作を、2018年…今から4年前に挑戦したことがありました。
結果どうなったか?
見事に挫折しました!(∩´∀`)∩
情報量が少ないわ、コンテンツを作るのが大変すぎるわで、バッキバキに挫折しました。
しかし先日、Meta Quest2を買ったので、また再挑戦したくなってきました。
ワールド制作の動画や記事を書いてくださる方々のおかげで…4年前よりも情報量が増えました。
Boothのようなプラットフォームで、配布・販売されているアセットも増えました。
そうした背景もあり、自分でも「頑張れば」出来そうな気がしてきたわけです。
要は、ワールド制作のハードルが下がってきたということですね。
意識低めの目標設定
そんなわけで、ワールド作り【リベンジ編】がスタートしました。
まずは目標設定からです。
長期的な目標は高くても良いと思いますが、短期的な目標を、身の丈以上に高く設定しすぎると、心が折れます。※実体験より
今回の目標は、クオリティよりも何よりも「ワールドを公開すること」としました。
クオリティが低かろうが、何がなんでも公開するぞ。という突破力重視のスタイルです。
ワールドの中身どうしよう
目標が設定出来たら、次にどういったワールドの内容を作るか、です。
まず、現実から逃れて、1人、あるいは数人程度でボーッと出来る空間を作りたい。と考えていました。
私は海や空をボーッと眺めるのが好きなので、海と空、この2つの要素を優先順位高めで制作することにしました。
まずは作ってみる
というわけでまずは、海と空だけ作ってみることにしました。
VRChatのワールドは、Unityというソフトウェアで組み立てていきます。
Unityというソフトは、元々ゲームを作るためのゲームエンジンと呼ばれるソフトなのですが、ゲーム以外の用途にもよく使われています。
そのUnityで、まずは空から作っていくことにしました。
雲が動く空を作りたい
UnityではSkyboxという、空の画像を背景に配置する機能があります。
しかし通常のSkyboxですと、雲が動かないため違和感があります。
そこで「AIO Dynamic Sky」という有料アセットを使うことにしました。
アセットというのは、Unityの拡張アイテム見たいなものですかね。
アセットは、Unity公式のものもあれば、非公式のものもあり、無料のものもあれば、有料のものもあります。
ちなみに「AIO Dynamic Sky」は私が購入したときの価格は21.98ドルでした。
その時の相場で、3200円くらいですかね。円安はUnityのアセット買うのにもしんどい!( ;∀;)
アセットは、主にUnityアセットストアというところで購入、入手することが出来ますが、
アセットによっては、VRChatで使うことが出来ません。
なんならVRChatでは使えないアセットの方が多いんじゃないかな…(;´・ω・)
「AIO Dynamic Sky」は、実際にVRChatのワールドで使われているのを見かけたので、採用することにしました。先人の方々によって助けられています…。
ちなみに、VRChat向けに作られたアセットは、UnityアセットストアよりもBoothで多く見つけることが出来ました。
Boothも忘れずにチェックしましょう。
「AIO Dynamic Sky」で作成した空はこんな感じです。
夏の真っ青な空をイメージしています。(飛んでいる鳥については後述)
プリセットが色々入っているのですが、入っていたプリセットは少しイメージと違ったので、パラメーターをいじくり回して、この空を実現しています。
鳥を飛ばしたい
空に海鳥を飛ばしたかったので、アセットストアやBoothを調べてみたところ、Noriben Lunchさんと言う方のアセットを発見したので、これを使うことにしました。
Noriben Lunchさんのアセットはどれも素敵なのでオススメです。
VRChatのワールド制作に挑戦してみたい方はぜひチェックしてみてください。
海を作りたい
海は「Stylized Water Shader」というアセットを使っています。
VRChatにも使えるようなので購入してみたのですが、いくつかの表現がVRChatだと使用できませんでした。
悲しいことに、私が使いたかった水面の反射も使用できませんでした。(よくみると、アセットの説明に、水面反射はVR非対応と書いてありました。よくみてなかった…(;´ ▽ ` ))
しょうがないので、VRChat用のミラーを海の下に敷いて、空の反射を実現しました。
うーん。全然スマートじゃない…。
こまけぇこたぁいいんだよ!完璧よりも目指すより、まずは終わらせろ。と、心のザッカーバーグが囁くので、とりあえずこれでいくことにしました。
初心者にとってQuest対応は、ちょっとハードルが高い
少しややこしいのですが、VRChatはWindows用VRChatと、Meta Quest用VRChatで、ワールドの制限が違います。
Meta Quest用のワールドは、少ないデータ量と負荷の少ない表現が求められます。
データ量や負荷を抑える工夫というのは、専門的なことが多く、初心者にとっては頭がくらくらします。
「海の上のアトリエ」は、頑張ってQuestに対応したのですが、途中何度か心が折れかけました。
ワールド制作初心者の方は、Quest対応はパスして、まずはWindows用ワールドの制作から始めた方が良いかもしれません^^;
環境音について
海や海鳥の音は、Unityアセットストアで購入したものを使用しております。
アセットストアには沢山の環境音、効果音が販売されているのでありがたいです…( ;∀;)
余裕があれば、自分で海とカモメの鳴き声を実際に録音しに行きたいところ。
建築物について
建築物はBlenderで制作しております。
最初は灯台にカフェがくっついているような案や、水上都市のようなアイデアがありました。
しかし、そもそも可能なのか?と言う不安があったため、適当な3Dモデルを作り、作り込む前に動かしてみることにしました。
まずは灯台のようなワールドを試作してみると、灯台の上に登ったところで世界の「果て」が見えてしまうことがわかりました。
「果て」を見えないように、海を大きくするか…山で囲うか、フォグで見えなくするか…いずれにせよ、色々と調整が必要そうです。
また、灯台を登る時に、螺旋階段を登るのが辛いことがわかりました。
階段で視界がガタガタするわ、螺旋でグルグルするわ…酔いそうになります。
実際にテストすることって、大事ですね…
次に水上都市のようなアイデアですが、簡単な試作を作ってテストしてみたところ、試作の時点で既に負荷が大きいことがわかりました。
また、制作物の量が多いので、膨大な時間が必要そうでした。(そりゃそうだ)
この試作を作るだけでも多くの時間がかかったのに、全部作り込むにはどれだけ時間がかかることやら…
灯台案も、水上都市案も、不可能では無さそうですが、最初のワールド制作としてはハードルが高すぎる…と言うことで、もっとハードルを下げることにしました。
試作を作ることで、なんとなく難易度や、全体的な作業量が見えてきた。と言う感じですね。試作大事('ω')
そこで、「休憩所」規模の小さなワールドにすることにしました。
デザイン画はこんな感じでした。相変わらず適当なデザイン画ですね( ;∀;)
仮のタイトルは「海の休憩所」英訳はOcean Loungeでした。
VR空間の感覚は、画面とも現実とも違う
パソコンのディスプレイで見たときの感覚と、VR空間での感覚は、想像以上に違います。
そのため何度もVRゴーグルを装着し、感覚を確認しました。
VRの空間は現実の空間と比べると、解像度が圧倒的に低いので、わかりやすく、くどいくらいに表現しないと伝わらないように感じました。
例えば面取り(角の削り取り)。現実ではあまり見ないようなレベルで大きく削らないと、VRの解像度では面取りした感じが伝わらないように思います。
キャンバスについて
部屋の中央には椅子とテーブルを置く予定でした。
しかし、素敵なドローイング用のアセットをBoothで見つけたので、椅子とイーゼル、そしてキャンバスを置くことにしました。
booth.pmこれによって「休憩所」という設定から「アトリエ」という設定になりました。
行き当たりばったりですねw
元は書道用のアセットなのですが、お絵かき用としてもすごく良い感じです(∩´∀`)∩
制作の流れ
全体的な流れとしては、こんな感じでした。
1.Unityをインストール(VRChatに対応したバージョンを使うこと)
2.VRChatSDK(ワールド用)をUnityプロジェクトにインストール。
3.必要な場合はUdon#をインストール。
※なお、VRChat Creator Companionを使うと1~3の手順を効率化出来るようです。
4.アセットはBoothやUnityアセットストアなどから用意。
5.自分でモデリングするものはBlenderを使って制作。
6.何度もテストをして改良。
7.コミュニティラボ公開(仮の一般公開、プレオープンみたいなもの)
8.審査を通過すると、自動的に一般公開
私は、「ま、後から改良すれば良いか。」と思い、大まかに形が出来た段階でコミュニティラボ公開してしまいました。
どうせ大して人も来ないだろ〜。と思っていたのですが、思っていたよりも多くの方が、来場してくださいました。
結果的に、すぐにコミュニティラボの審査を通過してしまいました。
これは正直予想外の嬉しい誤算でしたが、まだライトマップも無いような状態だったので少し恥ずかしかったです…
本来は、ある程度作り込んでからコミュニティラボ申請した方が良いと思います(;´・ω・)
この時点では、椅子もイーゼルも仮のままでした。
その後、椅子やイーゼルもアップデートし、ライトマップ(陰影)も焼いて改良しました。
ライトマップを綺麗に焼くのはなかなか大変でした。ここは結構ハマりポイントな気がします。
ちなみに、「Bakery」というアセットを使うと、GPUを使って効率的にライトマップを作成出来るようです。(対応していないGPUがあるので、マシンスペックは要確認)
サムネイルは重要
サムネイルから来る来場者も多いですから、サムネイルはとても重要です。
ワールドのサムネイルは、お店の入り口…看板や店構えにあたる部分なので、ちゃんと作ったほうが良いと思います。
例えばこのサムネも何回か改良しています。
さて、そんな感じで出来たVRChatワールド「海の上のアトリエ」
まだまだ荒削りなところも多いですが、ぜひボーッとしに、遊びに来てください(・ω・)ノ
また、この記事を見てワールド制作に興味を持った方、ぜひワールド制作に挑戦してみましょう。
学ぶことも多いですし、何より楽しいですよ(∩´∀`)∩
Unityの勉強として挑戦してみるのも良いかもしれません!
おまけ:トラストレベルについて
VRChatにはトラストレベルというものがあり、一定以上のトラストレベルが無いとワールドを公開出来ません。
VRChatもやっているし、ワールドも公開したいのだけれど、トラストレベルが足りないよう!という方…
VRChatのサブスク「VRChat+」に登録すると、初回限定でトラストレベルがブーストされるらしいです。公式のFAQに記述があります。
VRChatに課金すれば、VRChatの運営も助かりますし、運営が助かるということはユーザーも助かるので…Win-Winですね(・ω・)ノ
その後サブスクを解除してもトラストレベルは下がらないようなので、お金が無いよう!という方は、ひと月だけ課金する。というのも手かもしれません。
もちろん長期的に運営を支援したいよう!という方は、継続して課金すると良いのではないでしょうか。
最後に
最後に、VRChatのワールド制作に関してブログや動画を投稿してくださった先駆者の方々、アセットを作ってくださった方々、本当にありがとうございました。
あなた方のおかげでワールドを完成させることが出来ました。ありがとう、ありがとう。m(_ _)m
よければチャンネル登録やTwitterフォローなどお願いしまーす(・ω・)ノ!