VRChat内の人気クラブワールド「GHOSTCLUB」。現実とフィクションの狭間を行き来するその舞台は、日常的にVRChatを楽しむ若手アーティストたちの手によるもの。ここでは、ユニークな運営方法から世界観構築のブレイクダウンまで、広く深く制作の背景を紹介する。
※本記事はCGWORLD283号(2022年3月号)の記事を一部再編集したものです


プラットフォーム:VRChat
https://ゴーストクラブ.コム
Copyright©GHOSTCLUB All Rights Reserved.
多種多様な才能が創造するVRクラブ
真夜中に定期開催されるVRクラブ「GHOSTCLUB」が誕生したのは2018年。現実とフィクションの狭間のようなクラブ空間で純粋に音楽を楽しむという独自の世界観が話題を呼び、オープン以来アップデートをくり返しながら多くのファンを熱中させてきた。公式Discordには多くのユーザーが参加しており、開催当日に会場内の様子が配信されるTwitchにも多数の視聴者がいることからも、注目度の高さが窺える。

制作はディレクターの0b4k3(オバケ)氏を中心に、約15名のクリエイターが担っている。「皆でチームを組んでいるというより、何か作業が発生する度に集まるという雰囲気です。当初はBlenderを趣味で触る程度だった私がひとりでつくっていましたが、現在はモデリング面やカスタムシェーダを用いた演出を分担して制作を進めています」(0b4k3氏)。開発に使用するDCCツールはBlenderとCinema 4Dをメインに、Substance PainterやSubstance Designer、Houdiniなど多岐にわたる。メンバーのバックボーンも様々だ。高校生の頃からCinema 4Dを使って3DCGを制作していたReflex氏、VRChatに出会ってからBlenderやUnityを始めたCap氏、あるいは本職のテクニカルアーティストとして活躍するtanitta氏など。多種多様な才能が“趣味” で集うからこそ見られる随所のこだわりも、 GHOSTCLUBのユニークな魅力と言えるだろう。では、ワールド内の主要建造物である「オウテカビル」とその周辺を題材としたメイキングを紹介していく。

前列左より、エンバイロメントアーティスト・rakurai氏、ビルダー・free458679氏、ディレクター・0b4k3氏、ジェネラリスト・Reflex氏、インストルメントアーティスト・Cap氏
後列、ワイヤリングアーティスト・tanitta氏
写真なし、ディレクター&アートディレクター・Rintaro氏
日常的にVRChatで遊んでいるメンバーならではの制作ワークフロー
「どういったワールドをつくるのか?」という初期コンセプトは、ディレクターの0b4k3氏とRintaro氏の2名が考案。Rintaro氏は日頃イラストレーターとして活動しているメン
オウテカビルの外装・内装の素材感や部屋同士の繋がりが描かれたコンセプトアートは設計図も兼ねている。free458679氏はこのアートを基に、現実のビルを参考にしながら3Dのモックアップモデルを制作。free458679氏によると、「実際の建築基準法と照らし合わせながら、天井の高さや床の厚さ、柱の間隔を考えた上で、実際にVRChat内でビル内部に入って、スケールの調整をしています」とのこと。Rintaro氏とも綿密にやり取りを行いながら、空間の没入感、リアリティが高まるように努力をしている。
ワークフローの中で特にユニークなのは、モックアップの制作後にVRChat内でモデルの中に入り、プロップの配置やケーブル配線のながれなどの必要な要素をペンで描いていくという作業。「みんなでラフモデルの中に入ってメモを描いていきます。日常的にVRChatに入っているメンバーが多いので、その中でアイデア出しをしたほうが効率良くイメージが共有できるのです」(0b4k3氏)。その後は各自で担当モデルを分担したり、雨やフォグの演出用にシェーダ開発を進めたりしながら、Unity上でシーンを構築していくながれとなる。
バーチャル空間でブレスト&ディスカッション
メンバー間のブレストや意見交換はVRChat内でモデルを見ながら行い、各クリエイターが具体的な形にする
-
VRChat上でモックアップのモデルを表示し、各メンバーがペン入れをしながらブレスト。オウテカビルは屋上にソーラーパネルがあり、各所の配電ボックスまで電力を分配している。こうした配線のながれや機材の配置場所についてはVRChat内で意見交換しながら検討した -
Rintaro氏の描いたオウテカビルの外観・コンセプトアート


クラブルームの空間設計
ビル内に用意されたクラブルームのモデルは、全体をfree458679氏がモデリングし、天井部分のディテールをCap氏が担当した
-
クラブ天井に配置されたケーブル類には必ず始点と終点があり、いずれもDJ機材や配電ボックスと接続されている。「ケーブルが途切れていたり、重なっていたりといった矛盾がないように設計しています。モデリング作業よりも、設計の方に時間がかかりました」(Cap氏) -
天井配線モデルのディテール

クラブルーム内などで強い存在感を放つ機材類の制作
クラブルーム内などに設置してある各機材のデザインはオリジナルだが、非常にリアルで機能的な見た目に仕上がっている
-
Cap氏が制作したGHOST DECK。様々なメーカーのDJ機材の特徴を融合したデザインだ。数種類の外観を混ぜたようなミキサー(中央)やアナログレコード(左右)が配置され、ライブコーディングによる音楽制作を見越したキーボード(ミキサー横)も用意。「実在の機材ではないが、ニセモノに見えない」デザインを目指したという。前頁で解説した天井配線同様に、機材にはしっかりとケーブルが結線されている -
-
スピーカーが連結されたラインアレイスピーカー。これもワンメッシュではなく、ユニットごとに組み合わせが可能なつくりになっている。「後から何か編集をする、要素の増減するといった対応が効率的に行えるように、ユニットごとに分割できるようなモデリングを普段から意識的に行なっています」(Reflex氏) -
没入感を高めるリアルなテクスチャ
VRではオブジェクトに至近距離まで近づけるため、テクスチャの解像度が低いと現実感が削がれてしまう。そのため、セカンダリマップの活用や高解像度テクスチャのタイリングによりディテールを担保した。一方、タイリングされたテクスチャはすぐに気づかれてしまうという問題もある。それについては、UVの異なるモデルを用意してテクスチャ同士をわずかにずらしながら配置することでタイリング感を軽減している。テクスチャ制作にはSubstance Painterを活用し、サイズは2Kを標準とした

大量のケーブル配線にはHoudiniを活用
エントランスを含む建物全体の配線はtanitta氏が担当(Cap氏制作のフロア内配線は除く)


Houdiniによるケーブル生成のブレイクダウン



細かなこだわりが生んだ一体感あるライティング

クラブルームのライティングでは、Unityの有料アセット「Bakery - GPU Lightmapper」(以下、Bakery)でベイクした複数のライトマップをリアルタイムで合成することにより動的な光を表現している。フロアにある16系統のサイドランプの明かりは、各々に対応する独立したライトマップにランプの明るさを乗算したものを足し合わせて計算。正面のモニタ群はざっくりと8つの区画に分割され、各区画の平均色をランプの明るさのようにして同様な計算を行うことで、動きに応じた光の挙動を違和感なく生成している。また、Linearly Transformed Cosineの簡易実装やBakeryの指向性ライトマップのSHモードを用いることで光源の反射を擬似的に再現したほか、部屋自体からの反射光はリフレクションプローブを毎フレーム更新することで実現されている。加えてVRChat特有の事情として、各アバターが固有のシェーダを用いているため、明るさの基準が異なったり、光源の影響を受けないケースがある(暗いシーンでは光って見えてしまう)。これに対処するため、アバターのライティングは一定の光源下に保ちつつ、本来の照明の光量を画面全体に乗算することでアバターの明るさを制御している。この処理によって全てのライトが消えた際に真っ暗闇の空間をつくることができた。こうした細やかなこだわりの積み重ねが、フロアの圧倒的な没入感につながっている
世界を美しく覆う独特なフォグ表現
GHOSTCLUBの世界では、フォグも特徴的な役割を果たしている。これはUnityのデフォルトではなく、背景や天候を担当しているrakurai氏が開発したものだ
-
一般的なフォグ表現はカメラの距離情報からオブジェクトの塗り分けを行うというシンプルなしくみ -
今回開発したフォグ。カメラ距離にオブジェクトの高さ方向の情報を追加することで地平からの高さによっても濃淡が変化する。また、3Dノイズのアニメーションによる霧の揺らぎや粗密の表現も実装している。フォグ効果の出始め位置と完全に覆われ隠れる位置にそれぞれ別の色を指定し、距離に応じてグラデーションさせる機能も搭載した

ノイズを巧みに利用して奥行きあるリアルな雲を生成
空全体を覆う分厚い雲だが、使われたメッシュは1枚のPlaneメッシュのみだ。カスタムシェーダで複数のノイズテクスチャをオフセットしながら大量にレイヤーすることで、淀みのある雲に見せている。当初、雲の淀みを描くために、プロシージャルノイズとドメインワープ処理によるアニメーションを用いていたが、フラグメントシェーダ内でのノイズ生成は処理負荷が高い。そのため、ベースとなるフラクタルノイズは1枚のテクスチャとして事前に用意し、UVを調整しながら複数回重ね合わせて代替した。また、空中にPlaneメッシュを置いただけではビル群と干渉するため、深度値を用いて交差判定を行い、重なる部分はアルファをフェードして境界をぼかしている

写実的な雨と記号的な雨
本作で使用した雨のエフェクトは2種類で、それぞれ異なる性質をもつ。ひとつはUnityパーティクルによるプレイヤーの視界付近に降る写実的な雨だ。GrabPass(レンダリング画面の取得)を利用して、綿密な透過表現や雨粒越しに見た背景の歪みなどを表現できるが、UnityパーティクルはCPU負荷が高いため、広範囲には適用できない。そして、もうひとつは遠景用の広範囲に降る雨。シンプルな三角ポリゴンを指定範囲内でランダムに配置し、頂点シェーダにより三角ポリゴンを縦方向に引き伸ばし、それらを高速でアニメーションさせている。「『攻殻機動隊』での雨の表現が細長く白い線だったことを思い出して、rakurai氏に依頼しました。抽象的な雨というか、雨を記号として捉えた表現ができ、ねらい通りの背景になりました」(0b4k3氏)

TEXT_神山大輝(NINE GATES STUDIO)
EDIT_海老原朱里 / Akari Ebihara(CGWORLD)、山田桃子 / Momoko Yamada