2020年4月末 VRChat開発陣の近居報告生放送レポート

2020年4月22日、VRChat開発スタッフによる、近況報告生放送が行われた。このレポートでは、その放送で伝えられた情報をまとめ、日本語にして伝えさせていただきます。また、一部は公式生放送の後、とある非公式放送に運営が凸してきて、さらに出した情報も入れています。この翻訳・レポートは非公式なものであり翻訳ミスなどがあるかもしれません。あらかじめご了承ください。


放送はCommunity Managerで司会進行役のTupper氏と、Chief Creative Officer(監督・デザイナーみたいな感じ)のRon氏が本題に入る前に最近のコロナ衝動の影響に関して軽く触れた。VRChatのスタッフが6年前から完全リモートワークになってて、作業に影響がないどころか、むしろ今も求人募集などで人数を増やしている最中という。一方、外出できず会えない友達や家族に会える手段になれればと思い、実際ユーザー数も増加中。

画像13

左・Tupper氏 右・Ron氏

また、最近VRChatを主題とした生放送が増えていることに加え、UdonやUnity 2018アップデートのリリースもユーザー増加の要因となっているという。今後は新機能にシフトして、特に以前からプロトタイプクオリティともいえる部分を変えたいと述べた。また、以前はスタッフの人数が足りなくて、新機能を実装してる間バグ修正がおろそかになって、その逆も然りだったが、スタッフの人数が増えたことにより、バグ修正と新機能の班を分ける余裕が出たという。

最近のアップデート

新機能に入る前はまず、最近リリースされた「VRChat 2020.1.1」アップデートのおさらいから入った。今までのアップデートより規模が大きかったせいでかなり時間がかかったが、その途中でUnityエンジンのバグ特定に貢献出来たり、Udonをはじめにいくつか新機能を追加できたという。

いくつか残っているバグにも触れた。まず、急にクラッシュする現象に関しては、主な原因を修正できたが、今後も監視し続けるという。また、マスターユーザーの声がループするバグも把握しているという。動画プレイヤーの挙動に関しては、主な問題が修正されたが、まだ調整中。最後に、Questに関しては、リリース直後がかなり問題が多く、一部修正はできているが、今後も修正作業を続けるとのことだ。

Unity 2018のアップデートはかなり大変だったらしく、道中たくさんのバグなどが出た。Unity社、Oculus社、Valve社などの協力に感謝の言葉を述べた。Unity 2018がUdonには必須だった上、Particle System Force FieldやConstraintなどの新機能や、エディタのUI改善、そしてエンジン側の最適化や今後の最適化につながる内部機能などが追加された。

Udon

Udonに関するコーナーでは、Udonチームから二人が登場した。まずはCubed氏、Udon開発リーダー。

画像1

次は最近VRChatチームに加わったMomoTheMonster氏(略してMomo氏)

画像2

Momo氏が主にかかわっているのはUdonの開発と、コミュニティとの対話。また、以前はDeadmau5氏のライブなどにもかかわったという。

Udonの基本的なおさらいや、いくつかのワールド紹介のほか、アメリカ時間24日(金)を締め切りに、Udonワールド欄のためのワールドを募集しているという。

Udonが一応リリースされたとはいえ、まだ「Live Alpha」状態となっているとのこと。「Live Alpha」ということは、通常のクライアントで遊べるワールドが作れるが、SDKの調整がまだまだ続く上、いろいろと未実装の機能があるので、完成とは程遠い状態だそうだが、手に取って試してほしいらしい。

なぜUdonを作ったか、という話にも触れたが、要約するとトリガーシステムは複雑な機構が作りづらい上、メンテ負担が非常に高かった。その代わり、Udonを作ることでできるだけUnityの機能を開放することにしたという。

今後のUdonの方針に関しても少し触れた。拡大機能などエディタ機能のほか、「Subprogram」という概念が追加される予定らしい。「Subprogram」とはカスタムノードを作る機能だ。元々ノードグラフでカスタムノードを組む予定だったらしいが、UdonSharpやUdonPyの反響を受けて、それにも対応できる仕様に変更しているという。将来は好きな言語でノードを作って、配布できる形にしたいらしい。また、MIDIやOSC機能を追加することで、ライブ演奏も支援したいという。

VRCSDK2とSDK3の違い

放送では、VRCSDK2とVRCSDK3の違いについても少し触れた。今までの旧SDKがSDK2となり、UdonがSDK3に組み込まれたという。

まず、VRCSDK2が廃止されるわけではなく、今後もコンテンツが作れるが、今後はサポートのみとなって、大きな新機能を期待できないという。大きなバグ修正のみという方針になっていくらしい。

VRCSDK3に関してはいくつかUdonとつながる新機能も予定されているという。例えば、動画プレイヤーの仕様を見直して、同期を改善した上で、より制御できるようにしたいことと、今までVRC_Panoramaが画像読み込みに使われたが、それ専用の機能を用意したいなど。某所のイベントカレンダーみたいな使い方を支援したいという旨も述べた。

ネットワークIKに関して

IKとは、コントローラーなどの情報をもとに、体全体の体制を逆算する過程を指す言葉。この計算がかなり負担がかかるため、約一年前から計算の結果だけ自分のPCから他のプレイヤーに送信する形となっていたが、これもデータ量が多いため難しかったという。早い動きに追いつけないなど問題点が多く、あまり良いとは言えなかったという。特に、VRChatでダンスを楽しんだ人たちに影響が大きかったという。

2020.1.1リリースとともに新しいネットワークIK使用が導入され、精度や遅延の改善だけでなく、帯域使用量も減らすことに成功したという。アバターに組み込まれたペンも使い物になったと、比較動画も再生した。

この改善には、ネットワークシステムを完全に作り直す必要があったらしく、かなり大がかりのプロジェクトとなったらしい。以前のネットワークIK変更のリリース直後から始まった。また、直前に呼び出されてもフルトラをつけてくれるテスターたちに感謝の言葉を述べた。

最後に、これらのネットワーク関連の改善点はdanlyさんの手柄らしいので、もしVRChatで会えたら感謝しましょう。

新しいステータスタイプ

新しく追加されたオレンジ(Ask Me)ステータスにも軽く触れた。自分の現在地を隠しつつ、リクインなどを通す機能なので、つけることによりジョインを制限できるという。

Avatar Constraintsや最適化

Unity 2018で追加された、Constraintコンポーネントにも軽く触れた。Constraintコンポーネントを使うことで、一つのオブジェクトを別のオブジェクトに追従させることができる。IKFollowerやRigid body、Jointなどの必要がなくなり、より軽いシステムで同じあるいはそれ以上の演出ができる。すでに両手で武器を持ったり、パーティクルエフェクトが追従したり、あるいは蜘蛛型アバターの足の動きなどに使われる例が上がっているという。

また、2020.1.1リリースでいくつかメモリーやUI最適化も入っているという。とはいえ、メモリー使用の主な原因がアバターらしいので、大きすぎるテキスチャー解像度を使わないようにと呼び掛けた。

今後 新UIに関して

最近のリリースの話題が終わったところで、現在進行中新UIプロジェクトについても語った。

まず、現在のUIが「辛うじて使える」と認識しているそうで、プロトタイプ同然のものらしい。一部、スペースがないのでボタンを横に追加したりなど、いつかUIを見直したいことが明白である。

新UIに関しては現在、VRChatの中でプロトタイプを作って実際に試したりなどしている段階で、完成にはさらに数か月かかるらしい。計画が進むことにつれ、外部の人をアルファーやベータテストに招待して意見を集めるという。

新UIでは、新パッチが入ったなどの情報をユーザーに伝えたり、拡張できるようにしたりなど新機能を追加するだけでなく、いろんな使い方に応じれてカスタマイズできるようにしたいという。

新UIのコンセプトアートを一部出しながら詳しく説明した。このコンセプトアートがあくまでもコンセプトだけで、完成したものがまた少し違うかもしれないということも悪しからず。

画像3

まずは新しいクイックメニュー。よく使う機能を今まで通りボタンで出すことで、体が覚えてるボタン操作をできるだけ妨げないようにするという。ただし、別ページに移行するにはボタンではなく、下のタブ操作で呼び出せるという。

Udonらしきタブも見えるが、将来はワールド側でUIの外見をカスタマイズできるようにしたり、あるいはテレポートなどのワールド機能をメニューで呼び出せるようにしたいという。

画像4

画像5

次はWingsという、クイックメニューの横に設置できる表示について触れた。フレンドの位置や、アバターのクイック変更など、よく使う機能を選択して、呼び出しやすい位置に設定できるようにしたいという。またこの中にチラッと予定されていると思わしき新プロフィール表示も見れる。

Explore VRChatという、初心者向けのWingも要したいという。今年、初心者体験を重視して、初心者が「パチンコ台」にそのまま放り込まれる現象を改善したいそうです。

画像6

次はメインメニューのサンプルも出した。中央にDashboardという、何ができるか・何がしたいかわからない人向けの概要ページが表示されるが、最後に使ったページも保持してくれるらしいので、慣れた人が別のページで最初から開くようにできるという。また、SDKを使って、自分好みの拡張UIページを作れるようにしたいという。データ表示だけでなく、アバター変更のショートカットなどがカスタムUIで作れるようにしたいという。

新UIのリリースに関しては、具体的な日付は発表されなかったが、半年以内に出したいそうです。また、新UIのためのグラフィックデザインアーティストを募集する予定らしい。

Avatar 3.0

次に、今後導入される予定の新しいアバターシステムを紹介するために、その担当者であるHackspanner氏が呼ばれた。Hackspanner氏が2016年からアバターシステムを担当していて、今のジェスチャー、表情、目の動きなどのアバター関連システムを実装した者だそうだ。しばらくは他のタスクに追われてたけど、最近はAvatar 3.0に集中できてるという。

画像7

Avatar 3.0が来るならAvatar 2.0とは何か?と思う方もいるかもしれないが、現在のシステムが2.0と後付け命名されたという。新システムは依然の発表でAvatar 2.0と呼ばれたが、SDK3に導入されることになったので、混乱を避けるために新システムも統一して3.0にしたらしい。ちなみに、1.0は大昔、Tポーズしかできないデフォルトアバターを指してることとなっているそうだ。

Avatar 3.0の主な更新点といえば、まずはAnimation Controllerに直接介入できるようになったところだ。VRChatが提供したAnimation Controllerを変えるだけでなく、五つのAnimation Controllerをレイヤーで重ねてカスタマイズできるらしい。

画像8

レイヤーを変えることで、基本動き、アイドルアニメーション、ジェスチャーなどを変えることができる。また、最適化のため、ボーンを操作するアニメーション(ネットワークIKなどで同期できるやつ)とそうでない物を分けているという。細かいところはまだ変更される可能性があるが、今までより汎用性が高く、例えばジェスチャーは両手だけでなく、足やしっぽなどを操作できたり、左手と右手で完全に別のジェスチャーを用意できるようになるという。

ジェスチャーは今まで通り使えるが、アバターの機能を呼び出すための新しい入力も導入され、今までジェスチャー8個とエモート8個の制限から解放される。この新しいコントロールはらせん型の「Action Menu」で呼び出せるという。

画像14

ボタンを押して呼び出した後、スティックなどを回してどんどん進んで操作するとのこと。呼び出せるのが絵文字、そしてアバターに組み込める「アクション」と「ムード」。らせん型メニューの操作は体で覚えて素早く操作の位置が覚えれるほか、最後に使ったオプションも一番上に保持され、素早く出せるようになっているという。

「ムード」とは、一度起動したあと、解除されるまで続くアバターの状態だそうで、例えば悲しげな顔だったり、ダメージを負った風の移動アニメーションに変えたりすることができるらしい。ムードが設定したまま、ほかのエモートやアクションも呼び出せたりできるそうだ。

また、アクションの設定で開始・ループ・終了アニメーションも設定できるらしくて、今のデフォルトで入っている「Die」エモートに、任意のタイミングまで維持して、その後アバターが立ち直るアニメーションが再生される例を見せた。終了アニメーションがあった場合でも、一瞬で解除する方法もあるらしい。

アクションメニューに入っている項目はアイコンとテキストを任意に設定できて、アバターそのものについているのでパブリックアバターなどの場合は他の人もどんなアクションが入っているかが分かりやすくなる。ジェスチャーによる操作もできなくはないが、アクションメニューのほうが使いやすいという。

アニメーションコントローラーそのものに介入できるので、アニメーションステートも設定できるようになっていて、その状態もネットワーク同期の対象になるとのこと。今までさまざまの機構を作るために複数のAnimatorを使うアバターが多かったが、これからは一つで済むはずだそうだ。

画像10

瞬き、目の動きを操作するEyelookシステムもいろいろ代わるらしい。今まではリグ、シェープキーなどを特定な形にしないといけなかったが、Avatar 3.0で細かく設定できるようになるらしい。例として、Genericアバターで設定する画面が出された。

画像12

瞬きをシェープキーだけでなく、ボーンの回転で表現できたり、目の動きをエディタでテストできたりなどの新設定項目のほか、システムに目と口の位置が提供されより自然な目の動きを表現できるようになるらしい。

口パクシステムもアニメーションコントローラーの入力に回せるようになって、シェープキーの発動だけでなく、例えばボーンを動かしたり、マテリアルを変えたり、パーティクルを出したりすることもできるという。特に、二次元絵で描かれる顔の口パクアニメーションがUV座標をずらすことでできるようになったという。また、口パクで発動されたアニメーションは必ずしも声に合わせて終了しなければならないとは限らないらしい。

画像12

他にも、浮いている移動アニメーションなどのために足が自動的に動く機能が切れるようになったり、ステーション(椅子)でアニメーションコントローラーを書き換えたりできるようになるらしい。

新しくなったアバターシステムで設定できる項目が大幅に増え、できることが大幅に増えている代わりに少し複雑になっているが、ユーザーがテンプレを作って配布することで初心者にも使えるようになると期待しているらしい。また、一ヵ所だけ変えたいのにすべてのアニメーションを変えるのも難しいので、配布こそはできないが、特定の名前のアニメーションを作ることで、カスタムコントローラーからデフォルトアニメーションを呼び出せるようにする予定らしい。

既存のアバターに関しては、直接変換する機能は予定されていないらしい。新しい機能を活用して作りなおすべきと見られているらしい。ただし、既存のSDK2アバターもある程度アクションメニューで操作できるようにしたいらしい。

いつ出るかというと、これもまた具体的な日付が出されてないが、おそらくはUIアップデートより前とのこと。感想を聞くために早めに出したいらしい。リリース後にも、片手の動きだけアニメーションで操作できるようにするなど、さらに機能を追加する予定という。

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