私がワールド制作で考えていること/ヨヨヨAdCal Day5

TL;DR (Summary)

私がワールド制作時に考えていることはおおよそ、以下のようにまとめられます。

  • コンセプト(目的)とモチベーション重視での制作
  • 来る人がどのように動くかの想定
  • 調べられるときを想定した名前の決定

この内容について私の作成したワールドを紹介しつつ考えを述べる文です。

目次

  • 目次
  • はじめに
  • 本文
    • それぞれのワールドについて
    • ユーザー体験の検討
    • 名前の検討
  • まとめ
  • 謝辞

はじめに

おおよそ初めまして。あやふみ/ayafmyです。

この記事はヨヨヨねこアドベントカレンダーの5日目です。前はせぷせぷ先生のつよつよな記事ですね。まあだいたいカレンダーの趣旨はよくわからないですけども、VRChat関連の話かと見受けられたのでそのあたりの話を書きます。

adventar.org

なお、この記事では主にコンセプトやモチベーションの部分がベースでありUnity技術だとか、ライティングの技術だとか *1 は書かれていません。そのため、別段VRChatをしていなくても理解できるような話となっています。

さて、私、あやふみについてなのですが、VRChatではEventSpace: MalplenoやLoungeNOKT、SoundBarMéllonを制作、またSoundBarMéllonではイベントの運営をしています。

twitter.com

これら全て、DJ関連のクラブイベントを開催できるようなワールドとして制作しました。数個のワールドを制作したことは事実ですが、本来としては1つか2つで良いものの、制作したものに対して利用者がついた後の状態では消すわけにもいかなかったので同じ目的のワールドを数個公開していることになっています。これは時間がある時期に、簡単にできるものから制作→公開→反省・利用者の観察→制作→コンセプトを吟味→制作……のサイクルを連続で回したためです。コンセプトとモチベーションがあればあとはワールドが勝手に形をとるので、結果として数個のワールドができたことになりました。

さて、以下の記事ではそのサイクルに関してコンセプトやモチベーションをベースに書いていきます。

本文

それぞれワールドについて

それぞれのコンセプト、発想の根源などを紹介していきます。

Malpleno / Quadra [EventSpace]

f:id:outoz9:20200603222804p:plain

  • コンセプト
    • 「箱」
    • コンテキストを薄く→ 無 → Malpleno
    • 客を密集させることによるDJのモチベーション向上
  • モチベーション
    • コンセプトにあるようなワールドを見付けられなかったため。
    • コンセプトに対して需要があると感じたため。
  • 名前の由来
  • 参考
    • 豊橋技科大 コモンズ1 (TechnoTUT仕様)
    • OctBass (筑波)
    • リレーション (名古屋) (主に規模感)

この2つのワールドはほぼ同一のワールドです。Malplenoは最初に公開・制作したワールドです。対してQuadraは一番最近に公開したワールドですが、MalplenoはPC/Quest両対応のワールドとして、QuadraはPC専用のTopazChatや動画プレイヤーを使うワールドとして制作しました。上に書いてあるモチベーションやコンセプトの部分は主にMalplenoのものです。

さて、モチベーションの面について書いていくと、当時、中〜小箱がみつけられないと感じていました。当時、公開ワールドとして見付けられたのはOpen Airなフェス会場や、ケバケバしい色をした大箱などでしたが、これらには音楽に対するコンテキストが大きく、今後、そのコンテキストと異なるイベントが起こると考えられたために制作にうつりました。

最終的に制作したものは、ほぼ全てのシェーダーがQuest対応の軽いワールドになりました。なお、QuadraはTopazChatをメインに運用できるようにPCのみ対応としましたが、Malplenoの特性をほぼ引用したがゆえに、他の自分が制作したワールドよりも遥かにパフォーマンスが良い結果となりました。

さて、小箱であるということはつまり、人の密集が起きるということです。これはDJ側のモチベーションにも繋ると考えています。逆に言うと広いワールドでは客と客の間がスカスカになってしまい、存在する人数よりも少なくみえてしまいます *2 。 この小箱であるという実現ができていたワールドは当時既にPrivateかつPCワールドとしては存在したようなのですが、Quest対応していたワールドには存在していなかったという点はモチベーションを得るということとして重要なことでしょう *3

この時からQuad *4 に適用したボタン類にピクトグラムを入れてあります。これは言語による伝達よりもイメージを伝えた方がうまくいくという考えからです。今後制作したワールド全てにこのMalplenoで作製したピクトグラムが配置されています。この内容に関しては後述します。

また、ライティングについてですが、前述の通り小箱を作りたかったために暗い「ように見える」ライティングをしています。この要素も他のQuest対応なクラブワールドにはなかったことです。なお、Quest対応のために、ほぼすべてのLightがStaticになっています *5。しかし、Malplenoがさらに暗く見えるのは壁の設定によるものが大きいと考えています。Matcapを使って、黒体のような壁としているために暗いということですが、実際のライティングとしてはそこまで暗くないので、アバターへの参照値もそこまで暗くなりません。なお余談ですが、当時のLightProbeの置きかたはかなり杜撰であり、Quadraとして再設計する際にはすべて置きなおすことになりました。

しかし、Malplenoを制作した当時のUnityの無理解から、オブジェクトの構造が難解になってきており、加えてPC/Quest両対応へのストレスからMalplenoの対極を作ろうと考えてできたのがClub NEBAです。

Club: NEBA

f:id:outoz9:20200811183831p:plain

  • コンセプト
    • パフォーマンス無視
    • 大箱
    • VJが映える ← 配信イベントの増加
  • モチベーション
    • Malplenoの鬱憤張らし
  • 名前の由来
  • 参考
    • Twitterにあがっている大箱の写真
    • Google検索にでてくる大箱の写真

NEBAのコンセプトはシンプルで、パフォーマンスなどよりも見映えをとった箱になっています。このワールドでは何個かのMixed Light *6は存在します。しかし、DynamicなObjectはかなり少ないワールドになっています。これは、演出の部分をかなり動画に頼るワールドとして制作したためです。 その理由としては、Otographic Artsの影響が大きいです。Otographic Artsは日本のOtographic Music *7 による毎月第一火曜日に放送されているDJ配信番組ですが、特徴としてはSoU先生によるVJが全編通してつけられていることでもあると考えています。したがって、そのVJ付きの動画を流して映えるワールドをつくるという別目標もありました。

f:id:outoz9:20200811184958p:plain
Otographic Arts

画面の配置としては2+1+2+1の6画面があります。標準状態では隠してありますが床面にも動画を出せるようにしてあり(TopazChat非対応)、圧倒的な見映えが可能です*8 。やはり、動画コンテンツは映画館も同じく「大きい」ことが正義だと思われます。したがってVRのような 事実上空間を無制限に構築できる場合かなり「やりやすい」ことになります。事実、この目的は何人かの利用をみて獲得できていることがわかりました。

しかし、このワールドは制作中のライトベイク *9 に時間がかかりすぎるために途中で制作を断念して現在の状況となっています。なお、WIPというのはWork in Progressという意味です。この断念した結果生まれたのがLoungeNOKTです。

LoungeNOKT

f:id:outoz9:20200811185800p:plain

  • コンセプト
    • 中箱
    • バー・派手すぎない見た目
    • 「実用的」
  • モチベーション
    • NEBAが無理になったため
    • また、NEBAに実際の実用性が低いと感じたため
    • TopazChatの本格運用
  • 名前の由来
  • 参考
    • R Loungeの6階の「間取り図」
    • VRChat: Club Loner, club monaca
    • など

MalplenoやNEBAにもTopazChat *10 を設置してはいましたが、特性上あまり良い方式ではなかったと考えています。このワールドではNEBAのパーツを流用して、かつ実際にイベントとして「使いやすい」ようなワールドとして制作しました。このワールドから、他の人によるフィードバックをかなり反映しています。例として、トイレの設置は他人から提案によって形にしたものです。また、NOKTは最初期の配置からかなり変えた面もあります。入口は最初には存在せず、前述の通りトイレもありませんでした。今ではカウンター部分のコライダーは調整されていますが、それもそのままメッシュコライダーにしてありました *11

f:id:outoz9:20200811190433p:plain
トイレについて

このワールドのライティングはNEBAとほぼ同一ではありますが、更に暗く、おちついた雰囲気を演出してあります。なお、初期からこれも何度かかなり変更してあり、最初のころにはPost-Processingを使っていたのですが、何度かの更新の後使わなくなり、暗さを調整してなるべくステージ付近を明るくするという調整を行っています。実装がまだできていない内容としては、終わったあとに明るくするようなことができればいいなあと考えていますが実現に至っていません。

上に述べたTopazChatの特徴として、1つのワールドに設置した場合、全てのインスタンスで流れてしまうというものがあります。これは多インスタンスで同時にイベントが可能である反面、Publicなワールドでは採用しづらいという面があります。この考えからするとそもそもPublicなワールドに置くこと自体悪手に感じられてしまいますが、しかし、TopazChatは公式のページを見て理解しない限り使い道がまったく理解できない—本体として用意されているUIはStreamKeyを書く欄とGlobal Syncだけなので—つくりになっている事から問題ないと考えています。さて、話を戻しますが、PublicなワールドでTopazChatを運用するには分離型の多チャンネル化を考えました。この仕組みはDahlia Bar (ダリア)、CLUB COLORなどにもありますが、Dahliaとはほぼ同時期かつ独立に実装したものであると感じます。これによって全てのインスタンスで流れるという効能は事実上無くなりますが、知っている人とイベントをしているインスタンス以外では操作がわかっていない限り流れないという利点も生まれます。この効能は別に考えると、次の手番の人が別のチャンネルに接続して別のインスタンスで音声テストができ、手番になった瞬間に切り替えて音出しが可能であるという作りです。この仕組みは後のワールドのほとんどに実装してあります。しかし、切り替えの都合上、どれが使っているのかわからないと切り替えることができないという難点が生じてしまいました。その結果LoungeNOKTのDiscord Serverを運用することになりました。結果として、そのServerベースでイベントなどを開催することができたので良かったのかなとも思います。

さて、前からVRChatでBoiler Roomみたいなことやると映えるのではないかと思ってつくったのが、NOKT: Boiler Styleです。これは作ったとは言えませんが一応紹介します。

NOKT: Boiler Style

f:id:outoz9:20200811193148p:plain
平成EDMアンセムかけ太郎 / DJアンセムかけ太郎

  • コンセプト
    • Boiler RoomのイベントみたいにDJと客が同じ向きのスタイル
  • モチベーション
    • みんなかわいいので
    • DJ側って全員見ないといけないし重くない?
  • 名前の由来
    • 直接的な名前を使うのは何か違うなと感じたため
    • またBoilerって名前から暖色光のライティングに変更

Boiler RoomはおおよそライブをするアーティストやDJのプレイをリアルタイムで配信・アーカイブする場、みたいな感じらしいです *12。多くのアーカイブでは箱の真ん中に卓が設置されていて、最近だとその様式を真似たリアルイベントも増えているようです。

これをもとに制作したのがNOKT: Boiler Styleとなります。なおVRChatでは圧倒的に客がかわいいのでとてつもなく映えます。なお、ステージ側にはカメラが設置してあり、そのカメラの映像を写すスクリーンがあります。これによって自分と後ろの客を見ることができます。なお、モチベーションに記載した通り、VRChatの都合上、客を見ないといけないDJが一番重くなり一番前にいる客が軽くなるという特性と、VRChat Userは鏡の前に集まりがちという特性を両方満たすことが可能であるという一石二鳥な形となりました。なお、同一のワールドを上げているのと変わらないので、ライティングをBoilerという名前から暖色光に変更しました。

ここでは一度だけ自分でイベントを開催しており、それがDJアンセムかけ太郎の第一回となるのですが、結構客がばらけることがわかりました。それならMalplenoサイズに落として客の凝集度を上げてしまおうとして考えたのがOrtus DJ Lab.です。

Ortus DJ Lab.

f:id:outoz9:20201205201533p:plain

  • コンセプト
    • Boiler Room+客の凝集
    • VRDJの練習場所の構築
  • モチベーション
    • NOKT Boilerが広すぎると感じたため
    • Boiler Styleの有用性を活用したかったため
  • 名前の由来
    • ラテン語で「日の出」
    • ライティングの色をNOKT Boiler Styleから継承したため

客の凝集度をあげるにはシンプルに動ける範囲を狭くするのが一番単純な方法です。そのためにMalplenoと同じサイズで目的を達成する手法をとりました。

また、前述の通り、Boiler Styleは自分の動作を観察することが可能であるために自分のプレイを観察しフィードバック可能であるという特性から練習場所にも適していると考えられました。これに関しては当時のVRChatでDJを始める人の多くがすぐに大きなステージに上がれる強い人 *13 が割といるように感じたのですが、それに対して小さく人前で練習する需要もあるのではないかと感じたためです。

ここでMalplenoをPC向けに改装・もってきたことにより、さらに客を凝集させたり、ラウンジフロアのような雰囲気をだしたりしたいと考えました。それによってできたのがSoundBarMéllonです。

SoundBarMéllon

f:id:outoz9:20201205201234p:plain
DJアンセムかけ太郎 #5

  • コンセプト
    • サウンドバー
    • ラウンジフロア
    • DJがメインではない
    • 客の凝集度
  • モチベーション
    • NOKTの反省
    • バー・ラウンジフロアぐらいの小さい場所でBGM的なDJする場所も欲しいと感じたため
  • 名前の由来
  • 参考
    • R Lounge 7階
    • OctBassのラウンジ
    • 早稲田の茶箱
    • 栄のMiRAi
    • など

SoundBarMéllonはある種の集大成です。結局、わたしも気にいってますし、わりと来てくださる方々にも気にいっていただいていると思っています。特徴としてはコンセプトのようにラウンジ・サウンドバーという雰囲気ではありますが、加えてカウンターがかなり低いというのももう一つの特徴かなとお思います。実際、ロポリこん適合性が高いがゆえにロポリこん勢が集まる傾向にあり、ある種裏こんカフェめいている面もあります。これは本当に偶然です。

さて、私がDJをするとき最近はほとんどLowkey Tech *14 だとかOrganic Houseみたいなのをかけることが多いです。別段目立つだけがDJでもないと考えているので、このようなChillなジャンルや、Waveみたいなちょっと深い感じのジャンルのDJをするコンテキストがある場所もなかったので、それも含めてラウンジとして作りました。なお、椅子や机などが少ないのは単純にあまりVRChatとして必要がないからと、椅子の判定をつけはじめるとひっぱられて事故が起きるためです。それでもSit判定のある椅子がMéllonには存在しますが、細かい内容は後ろにまとめようと思います。

所で、SoundBarMéllonでは木曜日を定期営業日として22時からイベントをしています。このイベントはどのイベントカレンダーにも入れておらず、Twitterのみでの告知をしています。まああまり意図はないのですが、単に理由としては面倒だからということです。他に理由が無いわけではないのですが、ここでは紙面を割かないこととします。毎週木曜日という形で始めた理由は、なにかしらMéllonとして活動しておくか〜ぐらいの気概であって、特におおきな理由はありません。演者は電音研と同じようにTimetreeで管理して、フライヤー・掲示物は名前と色だけ変えるだけで問題ないように設定してあります。第12回にして様式を更新しました。そろそろFree DJって名前微妙な気がしてきたので変えたいという希望があります。しかし名前がおもいつきません。

f:id:outoz9:20201205195107p:plain
前回のフライヤー

さて、以上のようにそれぞれのワールドで「どのような理由・モチベーション」から「どのようなコンセプト」を組みたて、そこからどう組立たかを書いてきました。さて、ワールド毎の流れではなく、ここからはほとんど全てのワールドにおいてほぼ同一の考えから構築しているものについて書いていきます。

ユーザー体験の検討

まず、このワールド群でのVRChat中でのUIやユーザー体験について書きます。反省として、最初の頃に制作したMalplenoではユーザー体験が酷いことになっており、例として動画プレイヤーのQuadをインタラクト—ただこのインタラクトという操作自体VRChatに依存しているものであるから、前提部分がありすぎている面は感じているのですが—すると後ろに動画のUIがでてくるという、あまりにも酷い構造になっていました。これが現在直せてないのはMalpleno自体のObject構造が無茶苦茶になっており、自分でも直すことができないことに起因しています。

さて、逆にそれに気付いた後になるべく工夫していた点をあげようかと思います。おそらくMéllonでは全て完備している筈です。

  • 鏡のトグルのQuadと平行に鏡を設置する
    • とにかくトグルQuadを触れる所から視界に入るところに出てくる事が重要
  • 動画プレイヤーやTopazChatを切り替えた際にはその視界中に同一のUIが出てくるようにする
  • Loli-Colliderは基本的に触った時点で発動が確認できるようにする
  • Loli-Colliderを2種類設置する時は低い方を出すトグルを上に設置して、高い方を出すトグルを下に設置する *15
  • ほぼ全てにピクトグラムをつけ、ある程度の説明を試みる

おそらく、最後の点は割合他のワールドに行ったときに悩むことが多い事項です。特に、VRChatの仕様上 *16 Tipを消しているため、なにかしらの説明を用意しなければ、事故が起こる可能性があるために私のワールドではなるべく設置をしています。なお、全てVRChat Toggleで実装しているのは、挙動がわかりやすいからと、ぶっちゃけUnityのUIの構築がわかりづらいと感じたからです。

f:id:outoz9:20200811191215p:plain
ピクトグラムについて

なお、Publicなワールドであるために、全てのワールドで説明書きや注意書きを置いていません。これは、その注意書きや説明書が読まれることが稀であると考えているからであり、その前提に立つとインタラクトした時の結果が明確に伝わることのほうが重要であると考えています。それに加えて、インタラクトした結果、想像のできないことが起きないようには配慮しているつもりです。その例として、Méllonの椅子が挙げられます。

実はMéllonのカウンター側の椅子にはSit判定があるのですが、ほんの小さな仕組みを入れています。実装してあるものとしてはシンプルで、椅子より横に来ないかぎりsit判定が有効化されないというものです。これは例としてDJ側のフロアで踊っているときなどに椅子にひっぱられないようにするために少しだけの細工として導入してみました。この仕様の理由としては、普通のワールドではSit判定ボタンなどをつけますが、インタラクトした際の起こることがわかりづらい上、Ex Menuじゃない限りどこか「意味もなく」押しに行く必要があるため体験が悪いと感じているためです。

f:id:outoz9:20201205201749p:plain
Sit判定の検討

さて、これらのようにユーザーがどのように行動し、どのような操作を期待するかを考えてトグルなどは構築しようと考えています。しかしながらこのような構築は、実際にテストして観察しなければ改善も難しいので悩ましいという点があります。

名前の検討

f:id:outoz9:20201205200607p:plain

雑多に決めているように見える名前についてです。それぞれ上の文では由来について書いてきました。全体を通して名前として意識していた点は2点あり、まずユニーク性が高いことと、英語1〜2単語+特殊単語のほぼ2〜3単語で組むということです。英語の部分はおおよそそのワールドがどのように使われるかを想定した単語になっています。逆に特殊単語についてはVRChatのWorldに同一の名前が多くなく、かつTwitterなどで検索した上でもある程度ユニーク性が高いものを選択しています。 NOKT以降に関してはなるべく覚えやすいという部分も重視するようにはなっています。エスペラント由来のMalplenoは音馴染みが薄く覚えられておらず、また、NEBAもNevaと間違えられることが多かったためです。NOKT以降はMéllon以外はラテン語語彙から引いてきていますが、おそらく覚えやすさという点において、ラテン語のようなある程度広まっている単語は問題ないのかなと思ったりしています。

一点予想外だったのはMéllonで、これはギリシャ語のμέλλον -- 「未来」からきていますが -- これをわざとMelonと読み替えて絵文字の🍈で表現することが割合一般的になったこととです。これによって更に認知度があがっているように感じます。

これらのように、なるべくユニークな名前をつけると、実際にVRChatのサイトでも検索しやすく、知った後のフローがシンプルになると言えるでしょう。

まとめ

以上のような事項が私がワールドを制作しているときに考えていることです。他の人がどのような考えで作っているのか、どこに意識を置いているのかはかなり気になります。まとめとして、私が考えていることはおおよそ、以下のようにまとめられます。

  • コンセプト(目的)とモチベーション重視での制作
  • 来る人がどのように動くかの想定
  • 調べられるときを想定した名前の決定

以上です。いまだ未熟ではありますので上に書いたすべては実現できていないと今でも思っています。ご意見などございましたらDMなどでご連絡ください。なお、本来的には利用している全てのユーザーの動きを見てその先を考えたり、機能など実装したりしていきたいとは考えていますが、VRChatの特性上できていないことが悲しいことです。

なお、ここでは書かなかった、間取りやメニュー部分の文字組み、色の設定や細かいライティングなどに関してはN日後の自分が気をむけば書くことになるでしょう。

さて、次の日のヨヨヨねこアドベントカレンダーの記事は以下です、よろしくおねがいします。

neoki-teimon0.hatenablog.com

謝辞

使用した全てのアセット作者に感謝いたします。特にVRC_HouseBuilderが存在しなければ上記の全てのワールド考えは実現していませんでした。

また、この文章の校正を手伝っていただいた六橋氏に感謝致します。加えて、NOKT系列のワールド利用者・フィードバックをくださる方々に感謝いたします。そして、SoundBarMéllonの『店長』をしてくださっているQ330氏にも感謝いたします。

最後に、この記事を書く機会を頂いたseptem47先生に感謝いたします。ありがとうございました。

本ワールド群における制作資金の一部は特別定額給付金(新型コロナウイルス感染症緊急経済対策関連)によりました。

*1:それ私も知りたいんだが?

*2:しかしながら、VRChatの特性上、広いワールドの方が視界中に入るアバターを減少させることができ、必ずしも広いワールドが悪いと言いたいわけではないです。

*3:上が見えないとモチベーションになりますね。

*4:板のようなオブジェクト、図を参照。なお、VRChat上ではこれをトグルとして役割を与えることが可能です。

*5:Lightをワールド自体に焼きつけているという理解で良いでしょう。

*6:ワールドに存在しているときに個別に光の状態を計算する必要があるようなLight。

*7:https://twitter.com/otographic

*8: しかしながら元々クラブでも起こることだとは思うんですが激しい点滅には頭がつかれますね。

*9:あらかじめライトによる明るさを計算しておくこと。

*10: https://booth.pm/ja/items/1752066

*11:ただしこれはLoungeNOKT: Boiler Styleでは直っていない面です

*12: cf. http://1overf-noise.com/music-info/about-boiler-room/

*13:私がステージ上がるの苦手なので本当に強いと思っています

*14:これはSpotifyのPlaylist名からとっています。きいてみてね Lowkey Tech on Spotify

*15:これは指摘されて気付きました、ありがとう!!

*16:今どうか知らないんですけど、自撮りするとコントローラーが映りこんだりする。