うさぎ開発まとめ(2022/2)

この記事は現在鋭意開発中のシングルプレイヤー専用VRエクスペリエンス「真夜中の雪うさぎ」の最近のようすを書いた記事です。で、あなたの恋が一体なんなんですか……?


開発環境について

前三作(と私が呼んでいる「1%の仮想」と「アスタリスクの花言葉」と「PROJECT: SUMMER FLARE」)はVRChatのワールドとして開発していましたが、今作は普通のVRゲームとしての開発となります。そんなわけで、ここしばらくはOpenXR+XR Interaction Toolkitでの開発方法についていろいろ勉強しつつ基礎的なレイヤーの実装を進めています。

OpenXRはSteamVRやOculusなどの特定の環境に依存せずにVR/AR/MR開発を行うことができる規格で、詳しいことを知りたい方はこんな記事を読むよりこりん神(@korinVR)の解説記事を読むほうがいいと思います。OpenXR+XR Interaction Toolkitは発展途上につきもろもろの対応が完全には整備されていないらしいのですが、本作についてはどうせ開発期間が延び延びになるのが目に見えているので、将来性を考えてこの開発環境を選定しています。


ロコモーション(移動方法)について

XR Interaction ToolkitではContinuous Move (Turn) Providerというスクリプトをペッと貼っ付けると(ジャンプは自分で実装する必要がありますが)ぶいちゃライクなロコモーションがすぐに実現できます。しかし、前作の開発経験から言って、この操作方法だけで開発を行うと、動作確認のたびにヘッドセットをつけて外してを繰り返すのがハチャメチャに時間的・体力的負担になります。特に「ドア」のようなコントローラを使って動かす系のギミックは、動作確認自体が開発における律速段階になりえます。とくに体力消費がヤバい。

そんなわけで、「デスクトップモード」(WASDとマウスで移動・視点移動)と「擬・VRモード」も実装しました。後者はVRモードのうちHMDの制御のみをデスクトップモードに切り替えるモードで、トラッキング空間におけるHMDの位置をPCのモニタ前に固定する1ことで手だけをVRコントローラで操作することができます。とくにぶいちゃ式ロコモーションは普通のFPSのバインド(WASD+マウス)と左右の手の機能が一致しているため、左手だけコントローラとか、右手だけコントローラとか、両手ともコントローラとかもごく自然に使用できます。これは実際に使ってみるとメチャクチャ新感覚&便利で、手をわちゃわちゃ動かす系のギミックのデバッグは正直これがないとやってられないです。ただし、モニタで見ると遠近感が全くつかめなくなるので、オブジェクトを持とうとしてスカることが頻発します。


オブジェクトの把持について

持つことのできるオブジェクト(XR Interaction ToolkitにおけるGrab Interactable、VRChatでいうPickup)をいい感じに持てる機能も作ってみました。というのも、VRChatのPickupではオブジェクトがたかだか1点(”Exact Gun”や”Exact Grip”)でしか持てなかったり、もしくはどこでも持ててしまって手にめり込んだりと快適な操作が損なわれるのをつくづく不満に思っていたからです2。この実装はオブジェクト内に置かれたアンカーと手のひらの姿勢からアンカーごとのペナルティをそれっぽく計算して、ペナルティが最小となるような箇所で持つという簡単な手法をとっています。アンカーについては位置と回転の自由度に応じていろいろな種類を実装しているので、(上の動画では「位置固定・角度4方向」しか使っていませんが)棒でも球でも複雑な形状でも好きな箇所をいい感じにつかめるようになっています。端を把持

把持中の指の姿勢については適当にレイを飛ばしてmuscle値を設定しています。ちなみに、これを書くために自分の指をまげまげしていて気づいたんですが、親指以外の指って根元から数えて第二関節と第三関節が常にほぼ同じ角度だけ曲がるんですよね。この近似を使うとそれぞれの指の曲げ伸ばし方向は二自由度になるので、指先を目標点に動かすためのmuscle値を簡単に計算することができます。

繊細な指の動きが要求されるオブジェクトの場合、オブジェクト特有の指アニメーションを使いたい場合があります3。この場合は前述のアンカーが便利で、アンカーにmuscleを上書きするようなパラメータを設けておくとごく自然にアニメーションを実現できます。


モデリング工程について

モデルを用意する工程もいろいろ試行錯誤しつつやっています。前作PSFでは、装飾用のオブジェクトやワールドマップは適当な繰り返しテクスチャを設定して、重要度の高いオブジェクトのみSubstance Painterを通すような工程で作っていました。ただ、今作では全部ある程度のクオリティで作りたいので、数十個の同じサイズ感のオブジェクトをまとめて1マテリアルを使用するように調整しています。こうするともちろん手戻り時のUV・テクスチャまわりの作業を最小化する必要があるので、文字などの細かいテクスチャ部分は別UV・別テクスチャで出すようにして、メインのUVはあとからいくらでも変更できるようにしています。

ちなみに、現時点でメッシュ数でいうと200個くらいは作っていて、最終的には1000とかいくんじゃないですかね。ヤバい。


カメラについて

カメラ、いいですよね。私自身は写真撮影の才がないのでVRChatなどで本格的な撮影はしていませんが、「現在のVRメタバース内で完結できる創作活動」のうち一番メジャーなものがカメラを使った撮影になるのではないかと思っています(例で言うとVRChatワールド探索部さんの記事など)。コントローラの自由度的にも、視覚的体験がメインであるVRというプラットフォーム的にも。

実は本作はこの「写真撮影」にもフォーカスしたいと思っていて()、他のVRソーシャルプラットフォームと同じように好きな時にカメラを手に取って写真を撮れる機能を実装する予定です。というか、もっととてもデカい要素のうちのほんの一部分がカメラ機能になるのですが、それはまたいずれ。

上のカメラのモデルはこのカメラ機能用に作ったものです。本作のUI実装担当(私)はVRChatのカメラのようなビームベースのUIが嫌いなので、手で直感的に操作できるようなカメラのUIをいろいろ考えています。上のものは向かって右側の取っ手でカメラをつかんで左のノブで機能(フィルターやフォーカス設定など)を操作するものになる予定です。なんとも珍妙な形状ですが、実際に手に持ってみるとスマホカメラを横置きで操作するときの手の動きとほぼ同じになるので、わりと直感的になると思います。そうだと思いたい。


恋するうさぎと開発告知

この記事は現在鋭意開発中のシングルプレイヤー専用VRエクスペリエンス「真夜中の雪うさぎ」のあれこれを書いた記事です。ポエムです。


ヨツミです1

前作こと「PROJECT: SUMMER FLARE」の公開にともなう嵐のような一連の対応も終わり、設定資料集こと「サマーフレア作戦概略」も無事公開し、気づけば年も明けて2022年の1月になったところです。おかげさまで作品や活動に関してインタビューしてもらったり(MoguLive様VRChatワールド探索部様)、「夏」が2021年のVR流行語大賞を受賞したり(バーチャルライフマガジン様2、YouTubeやnoteにプレイ動画や考察・感想記事を上げてくださった方もそれなりにおられて、界隈の規模自体がだんだんと拡大しているのだなぁということをひしひしと感じています。

で、VRChat界隈に対するLoveについては拙著「作戦概略」に書き残してきたので「それ」に対する言及はそっちに譲ることにして、次回作の話です。うさぎちゃんですよ!

作品の形態について

告知のツイートに書いたように、「真夜中の雪うさぎ」は前三作「1%の仮想」「アスタリスクの花言葉」「PROJECT: SUMEMR FLARE」のようなVRChatのワールドではなく、独立したVR作品になります。こういう形態にした理由はたくさんあって、その理由のいくらかは「作戦概略」やインタビューの内容からふんわり察してもらえると思いますが、やっぱり私としては人の物の見方をまるっきり変えてしまうような強い作品を作りたいわけで、VRChatワールドの表現能力や技術の限界を考慮したうえで独立した作品を作ることにしました。PSFの開発最初期の記事では「私にはコミュニティ外から人を引っ張ってくるほどの知名度もモチベーションもない」とか書いてるのに、考えって変わるもんですね。ほんとに。

プラットフォームについては実はまだ何も考えていないのですが、現時点での最安牌はPC VR対応でSteamでの配信になります。というか、数年の開発期間(予定)中にVR市場がどう変化していくのかが全く予想できず、かつ作品の内容もハチャメチャなもの(予定)なので、「ほとんどのハードに対応していて審査が一番通りやすいプラットフォーム」を開発期間中に選定することになると思います。要求スペックに関しても内容上高くなることが予想されるため、Questシリーズなどのスタンドアローン機への対応は未定です。ムーアさんが正しければスタンドアローン対応ができて、正しくなくなればできないことになります。

作品の内容について

「真夜中の雪うさぎ」はキャッチコピーの通り「恋」がテーマになります。恋、いいですよね。したいですよね。そういうやつです。本当にドキドキしてしまうような3、そんな内容を目指しています。「シングルプレイヤー専用」という文言も例に漏れずダブルミーニングです。この人ダブルミーニング好きすぎか?

これ以上の詳細な内容は、今後進捗のツイートやら記事やらを見てもらえるとおのずと察してもらえると思いますので、現時点ではひみつです。ただ、めちゃくちゃ下のレイヤーからえっちらおっちら建築していくので、しばらくはそれが何なのかは分からないかもしれません。というか、現時点の私にも何が出来上がるのか完全には分かっていません……

「うさぎ」について

告知画像にも出ているうさぎの子は「ゆのー」ちゃん(暫定)です。見てのとおり、ゆきうさぎユキウサギのダブルミーニングです。真夜中になると現れる彼女がこの作品の主役を務めることになります。ちなみに、雪うさぎでよく使われる植物である南天の花言葉の一つは「私の愛は増すばかり」です。愛、増したいですよね(?)。

開発スケジュールについて

この作品は私にとって(PSFやその前身を除くと)はじめてのUnityゲーム・VRゲーム制作で、かつ内容もめちゃくちゃ開発が難しい部類のものなので、詳細な開発スケジュールは未定です。Twitterのほうにちょくちょく進捗や開発にともなう「うめき」をツイートしたり、このブログに記事を書いたりすると思うので、しばらくはそちらのほうをお楽しみください。