放浪軍師のアプリ開発局

Xamarin.Formsを使ってAndroid,iOS,UWP,WPFで動くアプリを開発したりしています。Unityも始めます。尚、このブログはわからないところを頑張って解決するブログであるため、正しい保証がありませんのでご注意ください。

Unityでどんなアプリを作ろうか?実はAIも始めます。

始まりました放浪軍師の Unity アプリ開発。今回は私が Unity でどんなアプリを作りたいのかを説明しようと思います。できるかどうかは正直まったくわかりませんがね!

Unity で作りたいアプリケーション

実は今回、作りたいアプリケーションは2つ存在します。一つずつ紹介。

カメラ不要VTuber配信アプリケーション 【声だけVTuber(仮称)】

通常 VTuber が3Dモデルを用いて配信を行う場合は Luppet 3tene FaceRig hitogata などを使用すると思います。

luppet.appspot.com

3tene.com

store.steampowered.com

sites.google.com

もちろん性能はそれぞれで素晴らしいのですが、これらは総じて顔の動きをカメラで取得しその動きに合わせて3Dモデルを追従させるような作りをしています。

f:id:roamschemer:20200219233012g:plain:w300
↑:hitogata での収録してみた様子。顔の表情などを追従してリアルタイムで反映する。すげぇ…

つまりどれもがWebカメラが必須PCへの負荷も大きいです。位置調整などのセットアップも若干面倒だったりもします。その為、単純な配信なら良いものの、ゲーム配信となるとゲームそのものの負荷もありますので、弱いPCを持っている場合は思うように配信が行えないという事が起こります。場合によっては収録中にフリーズという目も当てられない惨状を喰らいます(経験談)。

そこで、カメラなしでも3Dモデルを動かせるような VTuber 向けアプリがあれば便利なのでは?と考えました。

  • カメラなしでのお手軽配信!!
  • 声の喜怒哀楽を読み取って表情変化!!
  • しかもすげー軽い!!
  • さらに無料!!

こんなのあったらゲーム実況なんかでは便利じゃないですかね?もちろんWebカメラを持ってない方や貧弱PC持ちにも好まれそうですし、実況プレイヤーから VTuber へ簡単に移行できたりもしそうです。

…さて、この声だけVTuber(仮称)には一つ大きな難関がそびえたちます。声の喜怒哀楽を読み取って表情変化?そう、必要になる知識はAIです。AIって無茶苦茶難しそうじゃないですか?もちろん私もそう思ってました。でも

AI(Artificial Intelligence) をもっと身近にもっと簡単にをテーマに自分の得意な分野に AI という 手段 を掛け合わせてみよう!!

というテーマで発足したxAI(えっくすあい) Meetupというコミュニティに先日参加してきたところ、その認識はくつがえりました。

xai.connpass.com

ここで色々な方の登壇を聞いていてわかったのですが、AIエンジニアリングは現在

  • AIそのものを一から作成するエンジニアリング
  • できあいのAIと何かを掛け合わせて新しい物を生み出すエンジニアリング

の大きく二つに分かれているようです。大方の人が想像するとおり、前者はどっかの学者さんが頑張る奴で私が容易に到達できる部分ではないでしょう。ただ、後者であれば意外と簡単にできそうな感じでした。ならばやるしかないでしょう!やります!やってやんよ!やるんだよ!

…っつー訳でこれから始めるのはUnity + AIという領域になります。大丈夫かな…。

VTuberみたいな抽選アプリケーション 【夏狂乱からの挑戦】

さて、こちらは以前からちょくちょく説明していますが、現在 Xamarin.Forms で作成し既に公開している乱ちゃんProject の Unity 版を作ろうと考えております。実家のような安心感。

www.gunshi.info

…というのも元々は乱ちゃんProjectって単なるアプリケーションとして作成されたものだったんですよね。それがAVATAR2.0という VTuber 集団にハマった影響をモロに受けて夏狂乱(かきょうらん)という名と絵師さんによるかわいらしい姿を獲得し、まるで VTuber のような振る舞いをする抽選アプリケーションとして半ば無理やり生まれ変わらせた。…という経緯を持っています。

www.youtube.com
↑:AVATAR2.0 デビュー一周年記念PV。これほどにエモい歌詞が他にあろうか…。

…で、当然3Dなキャラクターになった乱ちゃんを色々するには今まで学んできた Xamarin.Forms では到底不可能で、なんとかそれっぽく動いてはいますが、これは単純に .Gif 画像を駆使して頑張っているだけだったりします。そこで、3Dモデルを本格的に動かす為に Unity を始める事にしました。機能としては今までの乱ちゃんProjectと同じ配信者がコラボっぽく抽選できる VTuberっぽいアプリケーションというテーマを継承し、かつ Unity でできる表現力を最大限に生かした乱ちゃんを作っていけたらいいなと思っています。この辺の経緯は先日投降した動画でも話していますので、お暇でしたらご覧ください。先ほど上で紹介した hitogata を使ってVTuberっぽくなった私が見られますよ!

www.youtube.com
↑:久々に動画作った

…で、これには先ほど説明したような、使用者の音声に反応するような機構を取り入れたいと思っています。あっちと違うのは、乱ちゃんは基本的に邪魔をしてくる存在なので、

  • プレイヤーが「やめてくれー!」と叫ぶと満面の笑み
  • プレイヤーが「ナイス!」と叫ぶと悲しい顔

…みたいなプレイヤーの声と逆転するような機能になるかと思います。とっても面白そうじゃないですか?また、3Dモデルを自由に差し替え可能にして、どんなキャラクターでも抽選を楽しめるようにできると夢が広がるんじゃないかなと考えています。そしてゆくゆくは乱ちゃんのVR空間デビュー!まで果たせたらいいな!

Unity + AI を学ぶ理由

さて、なぜに初心者が Unity だけでなく AI までやるのか?実はこんな無謀とも思える目標を立ち上げたのには理由があります。こちらも先日の話(xAI Meetup の翌日)なのですが、福岡XR部というコミュニティーのイベントXRミートアップ@福岡に参加してきた時の事です。

fukuoka-xr-club.connpass.com

ここでマイクロソフトの新型MRデバイス「HoloLens 2(ホロレンズ 2)」を体験させて頂いたのですが、これが本当に、もう言葉に表せないぐらい物凄かったんです!本当に凄かった!

www.microsoft.com

恥ずかしながらVR体験もしたことなかった私は、ただ眼鏡状のデバイスをかけるだけで目の前に広がるMRの世界に驚愕しました。

  • 空間に浮かんだパネルを自分自身の手でタッチして操作
  • 目線だけで読み進めることができる電子辞書
  • そして触れると何故かほんのり暖かく感じる炎のオブジェ…

子供の頃に夢見た未来。それがここに確かにありました

そしてその時、わたしは思ったんです。

今はまだ HoloLens2 は383,800円(税別)と一般人が手にできるレベルではない。

でもこういったデバイスは何かブレイクスルー的な事が起きた時、一気に価格は下がるもの。

そしたらこれが売れないはずがない!!!

…最初にスマホが登場した時、誰もが携帯電話にこんな機能は必要ないと言っていた。

…でも翌年には、大多数がガラケーを捨ててスマホを所有していた。

あの再現が必ず来る!

誰もがスマホを捨て、MR デバイスを身に着けて外を歩く日がきっとくる!!!

社会人はMRデバイス越しに電話をし、運転手はMRデバイス越しに地図を確認し、子供たちはMRデバイスかめはめ波を打ち合う。

そんな世界が間違いなく来る!!!

しかもそう遠くない未来に!!!

本気でそう思わせるものがそこにはありました。そうなった時、Unity が使えれば、そしてこの MR を最大限に生かすために必須である AI も使えれば、そこらのエンジニアとは大きく差を付けて走り出すことができる!…今の私はハッキリ言ってエンジニアとしては下の下です。謙遜でもなんでもなく本気でクソです。更に歳もそこそこ行っています。そんな世界がくる頃にはもう結構な年かもしれません。さらに言えば、私が今の会社に求められているのは、間違いなくこれではないでしょう。

・・・でも、

・・・・それでも、

・・・・・そんな世界が見えた以上はやるっきゃないでしょう!

だって子供の頃に夢見た未来がすぐそこに来てるんだよ!!!

まとめ

ハハハ…、柄にもなく(?)熱く語ってしまいました。でもそれぐらいHoloLens 2は衝撃的でした。MRエンジニアになる。こんなのは夢のまた夢かもしれません。夢のままなのかもしれません。…でもエンジニアな私はこう答えます。

エンジニアが夢を追わなくて、いったい誰が夢を実現できるんだ!

頑張ろう!エンジニアな俺様!!!