最近の記事

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

この記事は現在鋭意開発中のシングルプレイヤー専用VRエクスペリエンス「真夜中の雪うさぎ」の最近のようすを書いた記事です。恋愛ゲーム特有のオープニングムービーとかも作りたいんですけど、なんならその作詞作曲1もやりたいんですけど、どう作業時間を捻出すれば……?


コンビニの商品について

コンビニで売ってるジャンクフーズです。

VRの作品となると手に持てるアイテムはやっぱりじろじろ眺めたくなってしまうと思うので、こういったアイテム類は多少時間をかけてでも細かく作っています。製法としても文字部分だけUV2で高画質にドカンと描けるようにモデリング工程とシェーダーを工夫しています。

ちなみに、「羽山の水」のパッケージに描かれているヤツは、「原産地が日本であることを強調するために鳥獣戯画風のイラストを入れようと思ったらあまりにも画力がなさすぎて爆誕してしまった宇宙人」です。よろしくお願いします。


雪の降る町について

前に書いた「街」部分もGWを生贄に捧げることでだんだん豊かになってきました。

動画では意味深な雪の情景になっていますが、実は(ゲーム上の都合もあって)春夏秋冬すべての天気に対応しています。このあたりは何度アクセスしても同じ内容であることが当たり前のVRChatのワールドとは全く異なるやり方2なので、全く異なるやり方だなぁと思いながら作っています。

ちなみに、向かいのマンションの窓ガラスに反射している白と緑の光は一階にあるコンビニの看板です。野田っち出不精だからコンビニの二階に住んでるの。


「かご」について

真夜中の雪うさぎにおけるこれ枠。

「サリーとアン」とはよく知られた心理検査に登場する架空の登場人物です。このお話では、サリーがビー玉を自分のかごに隠したあと、サリーが外出した隙を見計らってアンがそれを別の箱に移します。その後、サリーが戻ってきたとき、ビー玉を探す場所として適切な場所はどこでしょうか?認知能力が十分に発達した子供にとってその答えは「かご」ですが、自閉症などをもった子供は「箱」と答えてしまうことがあるそうです。

Wikipediaの記事にもなんかいろいろ批判が書いてあるのでこの心理検査の正当性がいかほどのものなのかは素人の私には判断できませんが(少なくともfalse positiveは普通にありそう)、このコンセプトはコンピュータゲームのキャラクターに大いにあてはまるものがあります。すなわち、サリー=キャラクター、アン=プレイヤー、被検査者=ゲームプログラムと例えた時、プログラムはプレイヤーのあらゆる挙動を知っている(メモリから取得できる)わけですが、キャラクターはそのような真の情報ではなくキャラクターが知りうる情報のみから判断をしなければ不自然になります。

で、例のうさぎちゃんは人間なので、人間レベルの知能を過不足なく実装しなくてはなりません。柱の横に手が見えれば裏にその人がいることを推論できなくてはいけませんし、プレイヤーが物を隠せば可能性の高そうな場所から順番に地道に探し始めなくてはいけません。ので、こうして下のほうのレイヤーからコツコツと実装しています。

この動画がどのくらいハードコーディングされているかですが、球とかごを「存在」として認識させて、それに加えて存在間の関係の抽象化(動画の場合は「かごが球を内包できること」)を実装できるようにしています。あとはN分木上の存在確率として位置を予測しています。動画の最後の方法で予測位置がぷるぷるしているのは反復的な計算が入っているためです。

どのくらいの角度でこの動画のような推論ができるかについては、今のところかなり微妙で、動画と同じことを繰り返しても「むむむ、球がないってことは視界の外側に移動しているな!」とか「眼球の裏側に移動しているな!」とか考えだす場合もあります。実際のところ、普通のヒトでも見えていない物の存在する位置をただ一点に正確に予想することは不可能で、「探す」という行為でその確度を高めていくので、もうちょっと上のレイヤー(頭と体の動かし方)を実装すれば正しく探してくれるようになるんじゃないかと思います。


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

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

ちなみに、ヒロインことゆのーちゃんの開発チーム内で使われているアクセントは、由来である「スノー」ではなく「ルノー」です。


IKについて

Unityでは人間のモデルをいい感じに動かす機能が提供されています。が、VRにおけるアバターにそのまま使用するにはそれなりに機能が不足しています。そもそもこれは三人称視点の普通のゲームに出てくる人型キャラのために設計されているっぽいので、それはそう。

なので、このIK実装をベースとしたうえで細々した調整をいろいろ入れています。動画で分かりやすいところでいうと、手が肩から近いときに脇をしめたり、手が体の中心から逆側に行ったときに肘が体にめり込まないようにしたり、肩もちょっとだけ動かしたり、手の動きをわずかに胴体に反映させたりしています1

この一連のモーションはVRシステム側から降ってきたデバイスの姿勢から計算されるわけですが、デバイス→部位(手のひらとか)→IKゴール(手ボーンの根元とか)というクソめんどくさい変換が必要になってくるわけで、もっというと手がオブジェクトに拘束されるケースもあるので、先月時点での実装からアバターまわりをねじ込むのに難儀しました。MVCめっちゃ大事。いや、MとVは気合いで押し切れるんですけど、Cがね……。


部屋について

部屋です。よく見かける感じの空間ですね。どこで?


「野田」について

この人は野田さんといいます。本作の主人公であり、プレイヤーキャラクターです。

前作のアレで長々と語ったように、VRゲームにおける「主人公」を適切に描写することはかなりの難題です。前作PSFではVRメタバース/VR SNSという特殊な環境での作品ということもあってそれ相応のキャラクター設定を行いましたが(むしろ行いませんでしたが)、本作は「恋」がテーマのシングルプレイ専用コンテンツであり、前作以上に難題です。というか、恋愛モノはただでさえ心理描写に気を使わないといけないのに、「恋する側を一切描写することができない」という縛りが入るの、無理では?

この野田さんについてもいろいろ考えながらいろいろ作っているので、作品をプレイした後にはこの人のことも「分かって」もらえるとうれしいなぁと思っています。

ちなみに、この野田さんは見ての通り女性で、ヒロインであるところのゆのーちゃんも女の子です。というか、VR流行語大賞が獲れるレベルのVRコンテンツ制作スキルがあるのに最高のVR百合を作らずして他になに作るのって話でしょ。