見出し画像

だいあぱん検出アプリ作ってみた(オンラインプリッカソン#1)

プリッカソンって?

「プリッカソン」は「プリティーシリーズ」の「ハッカソン」です。
前回(オフライン)の様子はこちらから

今回は2020年3月の様々な情勢の影響もあり、初のオンライン開催となりました。

ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とはソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである。

プリッカソンの理念は公式ページから引用します。

「ものづくりは好きぷり?じゃあ、大丈夫ぷり!」
プリティシリーズ(プリティーリズム/プリパラ/プリチャン)を技術の面から支えていきたい,そんな思いから生まれたハッカソン.
プリパラ&プリティーリズムと自分の技術を組み合わせて,面白いことをしていきましょう!
「マイチケの写真を撮って、画像処理でコーデのデータを管理するアプリを作るぷり!」
「プリパラのある店舗をマップアプリで見られるようにするガァル!」
「○○ちゃんの誕生日だから,お祝いの絵を書くなちゅ♪」

やったこと

昔から気になっていた3D Object Trackingを試してみようと思いました。気にはなっていたものの追跡したいオブジェクトがなかったので手を出していなかったのですが、昨今のだいあぱんブームによりだいあぱんを追跡してみくなったのでこの機会に手を出してみようと思いました。(所謂やってみた)

使った記述は下記の記事を参考にしていただければ問題ないかと思います。2017年の記事のためUnityの設定など若干異なりますが大筋は同じです。

Vuforia Object Scanner

3D ObjectをVuforiaImage Targetに指定するために追跡したい物体の3次元形状を取得する必要があります。VuforiaではVuforia Object ScannerというAndroidアプリが用意されているので高価な機材なしにスマホ1台で3次元形状を取得できてしまいます。

ダウンロードしたzipにはVuforia Object Scannerのapkの他に下のようなpdfが含まれています。

画像1

これはスキャンするオブジェクトの目印となるもので、実際に印刷をして現実空間に配置し、その上にスキャンしたいものを配置して3Dスキャンを開始します。

ちなみに印刷しようとしたらインク切れで大変なことになったので、仕方なくネット印刷に登録して近くのセブンイレブンで印刷してきました。(ワンちゃん狙ってインク切れ印刷Verで試してみましたが、当然認識してくれなかったので失敗におわりました)

画像3

スキャンする物体を置く場所が小さかったので、割と大きめなだいあぱんとキラッCHUがスキャン可能か心配でしたが問題なくスキャンできました。

だいあぱん(約H280mm×W150mm×D150mm)
キラッCHU(約H300mm×W300mm×D150mm)

Vuforia Object Scannerの詳しい使い方は上記のリンク先(説明は英語ですがアプリの使い方は簡単です。基本的に録画ボタンを押すだけで特に迷わずスキャンできました)に記載されているので割愛します。

Vuforia設定(Unity2019.3.5f1)

上記の記事でUnityでの操作も紹介されているので、設定に関してここで話すことはほとんどありません。

今回ちょっと引っかかったのはVuforiaの初期設定が変更になっていたことです。昔は[Player Setting]→[XR Setting]→[Vuforia Augmented Reality Support]で利用可能だったのですが、いつの間にかPackage Managerのほうに移動していたみたいです。Vuforia Engine ARを探してインストールして下さい。

画像2

バーチャルだいあぱん

今回だいあぱんを認識したときに召喚するバーチャルだいあぱんですが、ゆ~(@prpyuu)さんが作成したモデルを使用させていただきました。

配布形式がMMDだったのでFBXに変換することでUnityで使用することができるようになりました。ブラックだいあぱんも同梱されているのがはなまるかわいいです。

さて、折角のMMDですしモーションを付けたいな(だいあぱんがカメラの方に顔を向けたり手を振ってくれたり)と思ったのですが、残念ながら今の自分の技術では

画像4

という感じになってしまいましたので実現できませんでした。

もしかしたらBlenderで開いてみたら何かわかるかと思ったのですが、そもそもBlender自体を触ったことがなかったので

画像5

という感じになりました。このあたりは今後の個人的な目標ですね。

ちなみにバーチャルだいあぱんと言えば、八尺8r/やさかはちる(@Yasaka_Hatiru)さんが作成したモデルもあります。

こちらはShade3D(有料ソフト)を使用しているようなので若干手を出しにくいのですが、とても気になるのでいつか決心できる日が来ると信じてDLしました。

間に合わなかったこと

よく見ると召喚したバーチャルだいあぱんがプルプルしています。

これはバーチャルだいあぱんをだいあぱんの認識するGameObjectの子要素にそのままぶち込んでいるので認識結果の影響をもろに受けているからです。デモ動画ではなるべく安定するようにカメラを近づけていますが、遠方から移すと相当めだってしまいます。

だいあぱんを認識した時にバーチャルだいあぱんが出現する基準座標を設定し、基準座標をだいあぱんの座標に対してゆっくり補完するように動かせば見栄えがよくなるかもしれません。

だいあぱんは自立するので問題なかったのですが、キラッCHUはどうしても自立しなかったので横に倒したまま3Dスキャンしたのでこういう状態になっています。時間があればキラッCHUを起こしてあげた状態を認識して「ありがとッチュ!!!」と字幕を出したかったです。

オンラインプリッカソン感想

初のオンライン開催ということでどうなるか心配でしたが、なんやかんや上手く開催できていたように思います。

割ともくもく会な感じでしたが人がいて作業している感じは伝わってくるので良い刺激になっていたと思います。今回はいませんでしたが普段立地的に参加しにくい人も参加できると思うので可能性が広がったように思いました。

また機会があれば参加したいです!

この記事が気に入ったらサポートをしてみませんか?