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

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


コンビニの商品について

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

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

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


雪の降る町について

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

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

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


「かご」について

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

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

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

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

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

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


  1. もちろん歌はヒロインであるところのゆのーちゃんで(実はCV決定済み!!!)
  2. 正確に言えば去年のバーチャルマーケットでもやってたらしいし何なら私もSDK3すらない2018年にやってたので、やろうと思えば普通にできるのですが。