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

(略)「真夜中の雪うさぎ」(略)。先月の記事はこちら


最近話題のAIについて

何を隠そう、最近話題のAI、Stable Diffusionをこのツイートで触っていたのは「うさぎ」のためです。ふわふわなチンチラのためじゃないよ。

このAIに関する倫理的・社会的な議論はAI専門家の皆様にお任せするとして、実は「うさぎ」の開発に際しては「こういう感じのアレがあるといろいろショートカットができるなぁ、規約がゆるい感じのアレが開発中に公開されたりしないかぁ」と常々思っていたので、まさに渡りに船で採用することにしました1。といっても「文章から画像を自動生成するシステムをゲーム内に実装する」とか「テクスチャやコンセプト画像をAIに作ってもらう」的な用途ではなくて、もうちょっと高度なアレです。というかね、みんなこの子を単なるお絵描きロボットみたいに捉えてますけどね、実際はその程度で収まるレベルのもの2では済まされなくて、「インターネットから再構成されたヒトの脳の切り身」んですよ。もうこれは作った方々に全力で感謝しつつ電極をブッ刺して「うさぎ」のパーツとして組み込むしかないんよ。

具体的に何をするかはまだ秘密ですが、超々初歩的なものとしては、txt2imgに入れるprompt自体を自動生成するように拡張したりしています3


を、カメラに応用したやつについて

最初に撮った写真の真上の生首、何?

Stable Diffusionから派生した何かをなんかうまいこと4やってVRカメラに組み込んだやつで、写っているものがうさぎと狼のどちらに近いかを判定しています。「ゲーム中で使用できるカメラに何が映っているのか」は計算すればだいたい求まるのでこのデモ動画にデモ以上の意味はないのですが、今後出てくる「手で書くよりは『Deepでポン』したほうが速い案件」のためにいろいろ実験や実装をしています。


鏡について

VRにおける一大エンターテイメントこと「鏡」です。「うさぎ」ではこの動画のようにプレイヤーのアバターが一人称視点で普通に見えたり、一つ上の動画のように半透明の手だけが見えたりします5

VRにおけるプレイヤーのアバターの最適解って、大御所でもいまだに揉めてたり、かと思えば各種UGCプラットフォームではリアルとの整合性ガン無視のkawaiiアバターが無限にアップされて意外とコミュニティに馴染んでいたり、いろいろと謎ですが、「うさぎ」ではだいたい上の動画のような感じになります。

ちなみに、本作はVRアバターの共通規格であるVRMに対応する予定はありません。自分のVRアバターを持っている人にとってはわりかしウェイトが大きい(めちゃうまギャグ)問題なのは承知の上ですが、「うさぎ」はいわゆる夢小説的なスタイルの作品ではないので、これで行きます。このへんの塩梅、ムズい。


  1. ついでにRTX3090も買いに走りました。およそにじゅうまん!
  2. その程度のレベルでもパッと見ではすごいのでネットではさまざまなご意見をいただいております(定型句)が……
  3. 先のツイートのは(A|B|...)を選択としてA (high-resolution photo|photo) of (a|a single|two|a group of|a pack of) (|brown|light brown|dark brown|white|black|black and white|black, white, and brown) (rabbit|hare) (|on the grass|on the snow|on the ground|in the forest|in the swamp|in the desert|in the bush|in the burrow|at night|in the morning) (|, the whole body|, face|, focused|, amateur photo|, photographic|, not photographic)とかそんな感じ。ところで、真っ黒な野ウサギって実在するの……?
  4. 全部書いちゃうのもアレなので実装方法および内容はご想像にお任せしますが、Unity側ではBarracudaを使用しています。
  5. といっても、実はマテリアルを変えているだけでモデルとしては同一です。