VRChatでのポータルワールドの作成方法



ポータルワールドを作成する利点

VRChatでいろんなワールドを訪れていると、いつの間にかFavoriteがいっぱいになってしまい、泣く泣くお気に入りを整理する…
そんな時はただFavoriteを消すのではなく、メモや倉庫代わりとなるポータルワールドを作成し、Favoriteには入れているけど行く回数は少ないワールドを置けば、Favoriteを整理してもいつでも自分のお気に入りのワールドに行くことができ、さらに友人に自分の好きなワールド達をまとめて布教する事もできますよ!

ここでは非常に簡素な内容のポータルワールドの作成方法を記載します。
そして、私がポータルワールドを作成する上で心がけた点を記載していきます。
※UnityとVCCの導入手順も記載するのはだいぶ本筋とズレてしまうので、Google先生で検索するなどすれば、非常に多くの解説サイトが見つかりますので、そちらでお願いします。

ポータルワールドの作成(ワールド準備編)

まずポータルワールドを作成するうえで、基本となるワールドそのもののベースを作成する必要があります。

まずはVCCを起動して、右上の「Create New Project」ボタンをクリックします。

続いてどのタイプのワールドを作成するか、そして名前と保存先の入力画面が表示されます。
ここではタイプを「Worlds U#」を選択しておきましょう。
※「Worlds」でも構いませんが、U#がない場合はUdonを使ったギミックを導入する場合に一手間が入ります。
昨今のVRCのワールドギミックはUdonを使っているものが非常に多いため、
U#を入れておいたほうが後々にギミックを導入する場合も楽になるでしょう。


そして左下中央左にある、水色の「Create Project」ボタンをクリックします。
すると、次はどのバージョンのVRC SDKやUdonSharpを入れるかを選択する画面が表示されます。
ここは基本的にはなにもいじらなくて大丈夫ですので、そのまま右上の「Open Project」ボタンをクリックし、生成されたUnityプロジェクトを開きます。
これでワールドを作成する準備は整いました、次からはUnityを使ってワールドの床や壁、ポータルの設置作業へ進んでいきます。

ポータルワールドの作成(床や壁、ポータル設置編)

VCCを使ってワールド生成し、Unityプロジェクトを開いた状態から始まります。

初期のUnityProjectの画面
※Unity上のタブの位置や組み合わせ、レイアウトは人によって変わってくるので、実際に上の画面になってない場合もあります。
でも大丈夫、「Scene」、「Project」、「Hierarchy」、「Inspector」の4つのタブがあれば作業を進める事ができます。

まずはSceneを保存

Unityの左上から「File」 -> Save As を選択する事で、シーンを名前をつけて保存することができます。
これは保存先も名称も時に指定は無いので、好きな場所に好きな名前で保存しましょう。

最初に床を設置

床を設置しなければ永遠に落下するワールドとなってしまうので。
といっても難しいことはないですよ、下記に記載しますね。
1.「Hierarchy」の空白部分で右クリック
2.「3D object」 -> 「Plane」をクリック

以上です、これで真っ白い四角の床が生成されました。
このままだと床が小さすぎるので、「Inspector」にある「Scale」で数値を3にして3倍に広げておきましょう。
また、たまに「Position」という設置箇所の数値が0以外の場合があるので、一旦0以外になっていれば、XYZの3箇所とも0にしておきましょう。

VRCWorldsの設置

つづいて、ここをVRCのワールドにするための機能を入れていきます。
これがなければワールドのアップロード等もできません。
ちょっと格納先がややこしいかもなので、少しずつ進んでくださいね。

1.「Project」タブにある「Packages」の左の▲を押して中身を表示させます。
2.「VRChat SDK - Worlds」->「Samples」->「UdonExampleScene」->「Prefabs」
 と進みます。
3.その中から「VRCWorlds」というプレハブがあるので、これを「Hierarchy」の空白部分へとドラッグ&ドロップします。

これで、VRCのワールドとしての準備ができました。
ちなみに「VRCWorld」設置場所が、ワールドのスポーン位置になります。
また、Sceneでの青矢印の向きを向いた状態になります。
場所や向きを変えたい場合はこれらを覚えておくといいでしょう。

作成できたワールドのテスト

まずはここで実際にワールドとして入れるかどうかテストしてみましょう。
Unityの上にある「VRChat SDK」->「Show Control Panel」とクリックします。
まずはVRChatのアカウントでログインをします。
そうすると表示が変わり4種類のタブが表示されるので、「Builder」タブをクリックします。
ここまでの作業で特に問題がなければ右下の「Build&Test」ボタンがクリック出来るので、
まずは「Force Non-VR」にチェックを入れてから「Build&Test」ボタンをクリックしてワールドをテスト用にアップロードします。
※Force Non-VRにチェックを入れればデスクトップモードで起動させることができます。チェックを入れなければVRモードで起動してしまうので、簡単な確認の場合はチェックを入れたほうが速く、楽に確認することができます。


記載した手順で入った画面、なにもないから当たり前ではあるが、非常に殺風景。

記載した手順で入った画面、なにもないから当たり前ではあるが、非常に殺風景である。
とりあえず床が抜けていないこと、歩けることが確認できたらテストはOKです。
※テスト用のワールドでログインした場合はそこから他のワールドに移動する事ができないので、もしポータルでの移動まで見たい場合は、
テスト用ではなくプライベート用にワールドをアップロードして確認しましょう。

それではいよいよ、本題のポータルの設置に進んでいきます。

ワールドにポータルを設置する

ワールドへのポータルの設置方法ですが、Unity上で全て行っていきます。
先程「VRCWorlds」のプレハブが置いてあった所に「VRCPortalMarker」というプレハブがあります。
これがワールド上のポータルとなるプレハブなので、
これをまずはHierarchyにドラッグ&ドロップします。
このプレハブの位置がポータルの位置になるので、まずはPositionをZを10に、XとYは0にしておきましょう。
また、青矢印が正面or背面になるので、今後多数ポータルを置く時には覚えておきましょう。

そして、どのワールドのポータルにしたいかの設定を入れていきます。
この設定をする際にワールドのURLが必要になるので、Web上でポータルを置きたいワールドのページを開き、URLをメモ帳なりなんなりに一度置いておきましょう。

◆解説
World:設置するポータルのタイプを設定します
 ・None:タイプ無し、基本的にはこのタイプを選択する。
 ・Hub:VRC公式のワールドが強制的に選択される。
 ・Home:ローカルでそれぞれのユーザーのホームワールドに繊維するポータルになる。

Room Id:どのワールドへのポータルにするかを設定します。
ワールドのURLの「wrid_」を含めた以降の文字列を入力します。
例えば下記の「[JP] Tutorial world」のURLの場合は

https://vrchat.com/home/world/wrld_bf51e60f-f372-48b1-a757-88ba8331d926

wrld_bf51e60f-f372-48b1-a757-88ba8331d926
この部分が「Room Id」で入力する部分になります。

Custom Portal Name:ワールドに置かれているポータルで表示される名前を変更できます。
ここが空欄の場合はワールドの名前がそのまま表示されますが、もし変えたい場合は、ここに表示したい名前を入力する事で変更されます。

では、「VRCPortalMarker」の「Room Id」に、「[JP] Tutorial world」のID「wrld_bf51e60f-f372-48b1-a757-88ba8331d926」を入力しましょう。
これでどのワールドへのポータルになるかの設定は完了です。

またテスト用ワールドをアップロードして、設置したポータルが繋がっているか確認してみましょう。

ここで画像のように「[JP] Tutorial world」へのポータルに変化していれば、ポータルの設置は完了です!

あとは設置したいポータルの数だけ「VRCPortalMarker」のプレハブをコピーして設置していき、
ワールドのIDを一つ一つ変えていけば、その分異なるワールドのポータルを設置することができます。

上画像は7個分のポータルのプレハブを7個置き、Xを2ずつ変えて置いて、
それぞれ異なるワールドのIDを設定した図です。

以上でワールド上へのポータルの設置作業は完了です。
ポータル一つ一つ設定したり置いたりするのは少し手間ですが、一度設定完了すればもういじる必要はないので、まずは5個や10個ほど置いていってみましょう!
私も最初に作ったポータルワールドは、四角い部屋に適当にポータルをポンポン置いた簡単な作りでした。
非公開の身内向けの物でしたが、これが好評でせっかくならとパブリック向けに作ったのが始まりだったのです。

身内向けでもいいですし、Favorite整理する時に消したくないワールドの置き場に、まずはポータルワールドを作ってみてはどうでしょう?

本格的にポータルワールドを作りたい場合

※下記の文章はあくまで筆者自身の思想ですので、人によって合う所と合わない所があるでしょう、それをまずは書いておきます。
VRCには様々なワールドがあります。景色を楽しむ所だったり、雑談を楽しむ所だったり、ゲームを楽しむ所だったりと。
それぞれに合わせたワールドの作りがあります。
その中でもポータルワールド用の作りというのもあります。

私自身がポータルワールドを作る上で心がけたポイントはこちらですね。
最初作った時から管理を進めるうえで気づいた物もあります。
・何度も同じ所を繰り返し移動できる構造。
・ワールドの構造は初心者向けの、わかりやすく簡素な構造で。
・今後の拡張性を非常に高く重要視する。
・オブジェクトの数が非常に多くなるため、Unity上でも管理しやすいやり方で進める。
・表示するポータルの数が多くなると負荷がかかってくるので、
 最初からポータルを表示しないようにする。

普通に景色を楽しんだりするワールド等とは気をつけるポイントもかなり違ってきますので、一つ一つ解説していきます。

何度も同じ所を繰り返し移動できる構造。

ポータルワールドはいろんなワールドに行くために、何度も何度も同じ道を繰り返し移動する事になります。
その道が複雑で長ければ長いほど、繰り返し進むたびに段々と苦痛の方が勝ってくるので、各ポータルへの道は簡単に進みやすいようにしましょう。
もしくは、繰り返し通ることが気にならないようにするのもアリです。

ワールドの構造は初心者向けの、わかりやすく簡素な構造で。

ポータルワールドは誰でも訪れるワールドですが、どちらかというとまだワールドの探し方もうまく把握できていない初心者向けにしたほうが助かる人も多く、また操作も慣れていないだろうから簡単に構造を把握出来るくらい簡単にしたほうが、初心者の人が自分で探すもいいし、上級者の人が初心者案内する場合もスムーズに案内出来るだろうから、簡素な構造にしておきましょう。

今後の拡張性を非常に高く重要視する。

VRCのワールドは現時点でも19万オーバーと非常に多いですし、今後も非常に増えていきます。
なので今後も設置するポータルはどんどん増えていきます。
もしポータルの設置数は変えずに、どんどん入れ替える形ならば問題は無いですが、もしポータルをどんどん追加していく場合は、
その度に構造をあれこれ入れ替えていては非常に手間になってしまいます。
なのでいくらでも拡張できる構造を前提に考えておきましょう。

オブジェクトの数が非常に多くなるため、Unity上でも管理しやすいやり方で進める。

ポータルワールドのオブジェクト数は凄まじいです。
例えば自分のポータルワールドは、ポータル数だけでも800個を超えており、そこにサムネ用の板ポリやポータルの区切り等も増えています。

なので自分の場合は、ワールド全体での部位、PCとクエスト、各通路毎、ワールド一つ一つの区分けと分けており、PCのフォルダのようにワールドの入れ替えをする場合はワールド一つ一つの区分けをそのまま移動すればOKなように、また設置したワールドの名前をつける事で、新しく設置するワールドがすでに設置されていないか、検索を書ける事ですぐに分かるようにしてあります。
また今後増設するために情報が入ってないポータル及び板ポリが組み込まれた塊を置いてあるので、通路を増設する際はそれをコピペして名前を変え、通路の終端パーツを移動させれば通路の増設が完了します。
さらに終端パーツは入り付近にあるワープゲートと繋げてあるため、
新しく追加された通路へもすぐにアクセス出来るようにしてあります。
このように、無限の拡張性と繰り返し移動出来る構造、また初心者にわかりやすい簡素な構造を実現しています。

表示するポータルの数が多くなると負荷がかかってくるので、最初からポータルを表示しないようにする。

これはポータルワールドを更新する上で気づいた事なのですが、ただポータルを設置するとワールドに入った時にすべてのポータルの読み込みが発生します。
20個や30個程度ならちょっと待つだけで問題はなかったのですが、それが数百個単位になると読み込みに非常に時間がかかり、中にはそのまま落ちてしまう人も発生していました。
そこでその対策に最初はポータルを表示しないようにして、ワールド上のサムネ用板ポリをUSEする事で、グローバルでポータルが出現するようにしました。
これで最初にワールドに入ったときの負荷をほぼ無い程に軽減し、
またグローバルでポータルが出るため、移動する時に別インスタンスではぐれる可能性を下げました。

以上、私が知っている簡単なポータルワールドの作り方と、
私がポータルワールドを作る際に心がけている箇所、また気づいた箇所およびその対処法でした。

以前にワールド情報の探し方というnote記事を書いているので、よければそれでワールド情報を探し、気に入ったワールドがあればこの記事で作成したポータルワールドに設置していってみてください、
そして良ければ私にそのポータルワールドを!ぜひいろんなワールドを見せてくださいな!!!

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