Skip to main content

VRChatワールドを作ろう

このチュートリアルでは、VRChatで実際に歩き回れるワールドをAIと一緒に作っていくよ。テーマは「海沿いのカフェテラス」。砂浜のそばにウッドデッキのテラスがあって、パラソルの下でのんびりできる -- そんな心地よいワールドを目指そう。

前提条件

VRChatワールドを作るには、いくつか準備が必要。

必要なもの
  • Unity 2022.3.22f1 -- VRChatが指定しているバージョン。これ以外のバージョンだと正しく動かないことがあるよ
  • VRChat SDK (Software Development Kit) -- VRChat用の機能をUnityに追加するパッケージ。VRChatの公式サイトからダウンロードできる
  • VRChatアカウント -- ワールドをアップロードするために必要
  • OpenForge MCPのセットアップ済み環境

あなた:

VRChat用のUnityプロジェクトを新しく作って。VRChat SDKが入っている状態で

AIの動き: VRChat SDK付きのUnityプロジェクトが作成される。VRChatワールド制作の準備が整うよ。

ステップ1: 地形を作る

まずは海沿いの砂浜と海面から。

あなた:

Terrainを作って。80メートル x 80メートルのサイズで、手前半分は平らな砂浜にして。奥の半分は高さ0のまま、海面として使うから

AIの動き: Unity上にTerrain(地形)オブジェクトが作られて、手前側が砂浜の地面になる。

あなた:

砂浜のテクスチャは明るいベージュの砂にして。海面側には高さ0の位置に半透明の青いPlaneを敷いて、海に見えるようにして

AIの動き: Terrainに砂のテクスチャが適用されて、奥側には海を表現する半透明の青いオブジェクトが配置される。

Terrainって?

Terrainは「地形」のこと。平面を山や谷のように変形させて、自然な地面を作る機能だよ。テクスチャ(表面の模様)を塗ることもできる。

あなた:

スクリーンショットを見せて

ステップ2: ウッドデッキを作る

砂浜の上にカフェテラスの土台を建てよう。

あなた:

砂浜の海寄りの位置に、横12メートル x 奥行き8メートルの長方形のウッドデッキを作って。素材は明るい木目の板張りで、砂浜から30センチほど浮かせて

AIの動き: 砂浜の上に、長方形の木製プラットフォームが作られる。

あなた:

デッキの下に、支柱を8本つけて。木製の太い角柱で、等間隔に並べて

AIの動き: プラットフォームの下に、均等に配置された8本の木の支柱が追加される。

ステップ3: パラソルとテーブルを設置する

テラスの上に、カフェらしい家具を並べよう。

あなた:

ウッドデッキの上に、大きなビーチパラソルを3本立てて。等間隔で並べて、色は白とネイビーのストライプにして

AIの動き: デッキの上に3本のパラソルが設置される。ポールと開いた傘の形状が作られるよ。

あなた:

各パラソルの下に丸テーブルを1つずつ置いて。直径80センチで、白い天板にして。それぞれのテーブルの周りに椅子を3脚ずつ並べて

AIの動き: パラソルの下にテーブルと椅子のセットが3組配置される。

ステップ4: ボードウォークを作る

砂浜からウッドデッキまでの通路を作ろう。

あなた:

テラスの入り口側から砂浜を横切って奥に15メートルくらい伸びる木製のボードウォークを作って。幅は2メートルで、砂の上に直接置いた感じにして

AIの動き: 砂浜の上に木製の板張りの通路が、テラスに接続するように作られる。

あなた:

ボードウォークの両側に、低い木製のポールを等間隔で立てて。ロープで繋いだ感じにして

AIの動き: ボードウォークに沿ってポールが追加され、ポール間にロープ状のオブジェクトが配置される。

あなた:

全体が見える角度でスクリーンショットを撮って

ここでカフェテラスの全体像を確認しよう。

ステップ5: ライティング -- 夕暮れのシーン

海沿いのカフェだから、夕日が差し込む時間帯にしよう。

あなた:

ディレクショナルライトを夕日のようなオレンジ色に設定して。海の方角から差し込む低い角度で、長い影が伸びるようにして

AIの動き: メインライトがオレンジ色に変わって、夕方の雰囲気になる。

あなた:

パラソルのポールに沿って、小さな提灯風のポイントライトを各パラソルに2個ずつ吊り下げて。暖色の柔らかい光で

AIの動き: 各パラソル付近に暖色のライトが配置されて、テラスがほんのり照らされる。

あなた:

ボードウォークのポールにも同じような提灯風のライトを4つほど追加して。足元が見える程度の明るさで

AIの動き: ボードウォークに沿って控えめなライトが追加される。

あなた:

テラスの奥のカウンター付近に、少し明るめのペンダントライトを2つ吊り下げて。メインの明かりとして

AIの動き: テラス奥にペンダントライト風のオブジェクトとライトが追加される。

夕暮れのライティングのコツ

夕暮れのシーンでは、ディレクショナルライトの角度と色が雰囲気の鍵を握る。太陽の角度を低くして影を長くすると、夕方らしさが強まるよ。提灯やペンダントライトの暖色と合わせると、居心地の良い空間になる。

ステップ6: スカイボックス -- 夕焼けの海を設定する

ワールドの主役、夕焼けの海の景色を設定しよう。

あなた:

スカイボックスを夕焼けの海に設定して。水平線に太陽が沈みかけていて、空がオレンジから紫へグラデーションしている感じ。雲が少しあって赤く染まっているイメージで

AIの動き: スカイボックスが夕焼けの海の空に変更されて、シーン全体が海辺の夕暮れの雰囲気になる。

あなた:

スクリーンショットを見せて。テラスの椅子に座って海を眺めた角度で

ここで夕焼けのカフェテラスの雰囲気を確認しよう。

ステップ7: スポーンポイントを設定する

VRChatワールドには、プレイヤーがワールドに入ったときに最初に立つ場所(スポーンポイント)を設定する必要がある。

あなた:

ボードウォークの入り口あたりにVRChatのスポーンポイントを設定して。プレイヤーが入ったときにテラスと海が見える向きで

AIの動き: VRCSceneDescriptorコンポーネント付きのオブジェクトが配置される。これがプレイヤーの初期位置になる。

スポーンポイントとは

スポーンポイントは「出現場所」のこと。ワールドに入った瞬間にプレイヤーがどこに立つか、どの方向を向くかを決めるもの。テラスと海の全景が見える場所に置くと、最初の印象が良くなるよ。

最適化 -- 快適に遊べるようにする

VRChatワールドは多くの人がアクセスするから、動作が重くならないように最適化が大事。

ドローコールを確認する

ドローコールとは、画面に何かを描くための命令の回数のこと。多すぎると動作が重くなる。

あなた:

今のシーンのドローコール数を教えて

AIの返答例: 「現在のドローコール数は約85です。」

ドローコールの目安

VRChatワールドでは、ドローコールは100以下を目指すのが望ましい。200を超えると、スペックの低いPCやVRヘッドセットでカクつくことがあるよ。

ポリゴン数を確認する

ポリゴンとは、3Dモデルを構成する小さな三角形のこと。多いほど滑らかだけど、重くなる。

あなた:

シーン全体のポリゴン数を教えて

AIの返答例: 「シーン全体のポリゴン数は約45,000です。」

最適化のための調整

あなた:

ポリゴン数が多すぎるオブジェクトがあれば教えて

AIの返答例: 「パラソルの布部分が1本あたり3,000ポリゴンあります。LODを設定するか、ポリゴン数を減らすことをおすすめします。」

あなた:

パラソルのポリゴン数を半分くらいに減らして。見た目にあまり影響がない範囲で

AIの動き: パラソルのメッシュが簡略化されて、ポリゴン数が削減される。

最適化チェックリスト

VRChatにアップロードする前に、以下を確認しよう。

  • ドローコールが200以下か
  • ポリゴン数が全体で100万以下か(理想は50万以下)
  • テクスチャのサイズが大きすぎないか(1枚あたり2048x2048ピクセル以下が望ましい)
  • ライトマップ(事前計算された光の情報)をベイクしたか

あなた:

ライトマップをベイクして

AIの動き: シーンのライティング情報が事前計算されて、実行時の負荷が軽くなる。見た目も良くなることが多いよ。

VRChatでテストする

いよいよ、実際にVRChatで歩き回ってみよう。

あなた:

VRChatのローカルテスト用にビルドして

AIの動き: ワールドがビルドされて、VRChatクライアントが起動する。自分だけが入れるテスト用のワールドとして読み込まれるよ。

テスト中に確認するポイント:

  1. スポーンポイント -- 入った瞬間にテラスと海が見えるか
  2. ボードウォーク -- 問題なく歩けるか(コライダーが正しく設定されているか)
  3. ウッドデッキ -- 歩き回れるか、テーブルや椅子にぶつかるか
  4. ライティング -- 暗すぎないか、明るすぎないか
  5. 夕焼けの海 -- 椅子に座ったときに綺麗に見えるか
  6. パフォーマンス -- カクつかないか

あなた:

テストしてみたけど、ボードウォークの途中で地面をすり抜けてしまう。コライダーを確認して

AIの動き: ボードウォークのコライダー(当たり判定)を確認して、すり抜けないように修正してくれる。

コライダーって?

コライダーは「当たり判定」のこと。これが設定されていないと、プレイヤーがオブジェクトをすり抜けてしまう。床、壁、ボードウォークなど、プレイヤーが触れるものには必ずコライダーが必要だよ。

仕上げとアップロード

テストで問題がなければ、VRChatにアップロードしよう。

あなた:

セーブして。「アップロード前の最終版」という名前で

あなた:

VRChatにワールドをアップロードして。ワールド名は「海沿いのカフェテラス」、説明は「夕焼けの海を眺めながら、テラスでのんびり過ごそう」で

AIの動き: ワールドがVRChatのサーバーにアップロードされる。アップロードが完了すると、VRChat内からワールドにアクセスできるようになるよ。

まとめ

このチュートリアルで学んだこと:

  • 地形の作成 -- Terrainで砂浜と海面を作った
  • 建築物の配置 -- ウッドデッキ、パラソルとテーブル、ボードウォークを設置した
  • 夕暮れのライティング -- 夕日と提灯で温かみのある雰囲気を作った
  • スカイボックスの設定 -- 夕焼けの海の空を表現した
  • VRChat固有の設定 -- スポーンポイントやコライダーを設定した
  • 最適化 -- ドローコールやポリゴン数を調整した
  • テストとアップロード -- 実際にVRChat内で確認してアップロードした

すべてAIとの会話だけで完結できたね。自分だけのVRChatワールドを作る第一歩、おめでとう。