リアルな景色にアバターが出現!?写真アプリ「FumiFumi」制作者が語る開発秘話

「大好きなアバターを現実世界に登場させたい」
「アバターの表情やポーズを自由に表現したい」

そんな願いをかなえてくれるアプリ「FumiFumi」が2022年8月にリリースされました。VRM形式の3Dアバターデータを読み込んで表情やポージングを設定、背景に撮影済みの写真を組み合わせることで、手軽に合成できるのが特徴です。

開発したのは、ARやVR領域を中心に活動する青木そらすさん。企業で働くかたわら、個人制作で初音ミクと写真が撮れる「みくちゃ」などをリリースしてきました。

新作の「FumiFumi」がリリースされるまで、かかった歳月は約3年。制作の根本に「自分が欲しいものを作る」を挙げる青木さんは、どのような経緯で制作に至ったのでしょうか?開発中の苦労、得られた手応えや学びを交えて、「FumiFumi」完成までの道のりと、個人開発への情熱を伺いました。

青木そらす(@open_sorasu
企業に勤めながらVR・ARの開発をする。2014年に初音ミクと写真が撮れるARアプリ「みくちゃ」を作る。2017年には所属していたVR制作会社で、初音ミクの3Dモデルと360度写真を合成できる「RICOH THETA SC Type HATSUNE MIKU」の制作に携わる。

目次

原動力は「ないならつくればいい」

──もともとVRやARの開発をしていたのですか?

青木:いや、最初はゲーム業界を目指していました。ゲーム専門学校で、C++やDirectXなどを学び、趣味でUnityを触っていました。卒業後は、就職した企業でAndroid向けのゲーム開発に携わっていましたね。2010年くらいのことです。

──どのようなきっかけでVRやARへ興味が移ったのでしょうか?

青木:2013年3月にリリースされた「Domino’s App feat. 初音ミク」というARカメラアプリがきっかけです。カメラをドミノピザの箱にかざすと、初音ミクと写真が撮れるアプリでした。

当時の私には衝撃的で、そのアプリが大好きになってしまうほど(笑)。しばらくしてサービスが終わってしまったときは、あまりにも残念で……。でも、私はエンジニアで作れる力もあるのだから、「ないなら自分で作ればいい!」と思ったんです。そこで開発したのが、初音ミクと写真が撮れるARアプリ「みくちゃ」です。

3dModeled by ままま

──次に手がけられたのが、初音ミクの3Dモデルと360度写真を合成できる「RICOH THETA SC Type HATSUNE MIKU」です。この制作はどういった経緯で?

青木:「みくちゃ」に目を留めてくれたプロジェクトの担当者の目から、「作ってもらいたいサービスがあるので、ぜひうちに来てください!」と声をかけていただいたんです。それを機に、転職もして制作しました。

──今回の「FumiFumi」も個人制作です。発端はなんだったのでしょうか?

青木:「みくちゃ」同様に、私自身が欲しくて作ったアプリです。

2016年頃からVtuberのキズナアイなど盛り上がりを見て、初音ミクとは異なる「3Dキャラクターで自由に表現する文化」を感じていて。今後もVtuberは増えていくでしょうし、私自身もアバターを作って、Vtuberのように自由に表現してみたいという気持ちを抱きました。

2018年に、3Dキャラクターを手軽に作れる「VRoid Studio」が、ピクシブという大きな企業からリリースされたことにも衝撃を受けまして。簡単に服が選べたり、色が塗れたりと、間口を開いて文化を広げるツールだと思いました。

ただ、VRoid Studioで3Dキャラクターは作れても、当時はまだまだ表現するためのツールが追いついていないように感じました。それこそ、かつて初音ミクを踊らせることができる「MMD(MikuMikuDance)」がありましたけれど、あれも難しい人には難しくて。

──私もMMDは挫折してしまった思い出があります……。

青木:私もです(笑)。MMDの例に限らず、直感的に動かせるツールはやっぱり楽しいものです。だからこそ、使う人にとってより簡単に、アバターを表現できるツールを作ろうと開発したのが「FumiFumi」なんです。

自分が使うツールから「誰もが使えるアプリ」に

──制作からリリースまで、どのような計画で進めていかれたのですか。

青木:当初は自分が使うためだけのもので、一般向けにリリースする予定はありませんでした。制作自体は「みくちゃ」の経験を活かせたので時間はかからなかったのですが、使いたい機能だけを詰め込んだので、ひどいUIでした(笑)。

──そこからなぜリリースをしようと?

青木:ツールを使った写真をアップすると、VtuberやVRoidコミュニティの人たちから「何のアプリを使っているの?」と質問を受けることが多くて。同じような悩みを抱えている人が多いんだな、と感じました。私はエンジニアで技術を持っていますが、コミュニティの人たちは発信や表現がメインで、Unityを使ってゼロから撮影スタジオを作るのは難しいでしょう。

そんな人たちでも簡単に使えるアプリへ改良できれば喜ばれると思って、リリースを決めました。

──リリースまでどれくらいの時間がかかりましたか。

青木:約2〜3年です。3Dソフトの操作を知らない人でも直感的に使えるアプリにするため、UIを作り込むのに時間がかかりました。そもそも、参考にできそうな「VRMファイルを読み込むアバター用のアプリ」が無かったのも、苦戦したポイントでしたね。

──前例がない中で、UI設計で参考にしたものは?

青木:アプリのペルソナに考えていたのは、3Dソフトを使えない10代や20代の人たちでしたから、彼らがよく使うアプリを参考にしました。特に、カメラアプリの「SNOW」や「BeautyPlus」のUIは勉強になりましたね。

──確かに、FumiFumiの操作にはカメラアプリの快適さを感じます。

画面下部のボタンでアバターのポーズや表情を細かく調整できる

青木:あとは、私のパートナーの協力も大きいです。「このUIはわからない」「この機能は使わない」などフィードバックを都度もらって、改善しました。客観的に見てくれるパートナーからしても使えないものは、想定ユーザーも使えないんだろうなと考え、良い指標になりました。

──3年も一人で開発に向き合うと、不安になったりしませんでしたか?

青木:不安だらけですし、嫌になる瞬間ばかりですよ(笑)。たとえば、真似をされるかもしれないという不安。企業にアイデアを先取りされ、大人数で短期間に開発されたら……と思うだけで苦しかったです。

あとは、近しいアプリの開発話を見つける度に焦りましたね。着手は私のほうが早くても、他の人たちが同じようなものを先にリリースをしてしまったら、「FumiFumi」は後発で「真似された」と思われかねないですから。幸いにも、3Dソフトがわからない人たちまでケアしたアプリは出てこなかったので、運がよかったです。

リリース前は、クローズドでVRoidコミュニティの人たちにユーザーテストの協力をしてもらいました。そこでの反応を見て安心できたこともあり、自信を持ってリリースできましたね。

自分が欲しい機能にニーズがあるかを立証していく

──リリースから約4ヶ月経ち、たくさんの人たちが「FumiFumi」の写真をSNSにアップしていますね。

青木:ポジティブな反応が多くて、素直に嬉しいです。なかには、毎日投稿してくれる人もいて。「FumiFumi」で表現したいことをそのまま実行してくれているのは、私にとっても開発の目的でしたから、ちゃんとユーザーへ届いてよかったです。

──想定していなかったユニークな使われ方などはありましたか?

青木:実際にある景色の写真を使うことを主に想定していましたが、ゲーム画面のスクリーンショットにアバターを重ねている人がいましたね。あとは、自分自身を3Dスキャンしてデータ化し、アバターと合成しているユーザーがいて。「こんな使われ方もあるのか!」と面白かったです。

「FumiFumi」があると「この景色にアバターを出現させると面白いかも?」と、ふだんから写真を撮ることもさらに楽しくなるんですよね。

──これからはアップデートを重ねていくのでしょうか?

青木:私としては最終形態でリリースしたので、これ以上の発展は現状では想定していないです。もしかしたら、簡単に設定できるポーズを増やしたり、機能を追加する可能性はありますが。

──今後、青木さんがどんなことに挑戦していきたいか、​​ぜひお聞かせください。

青木:今後は、趣味でメタバース領域で開発をしていきたいと考えています。多くの人が注目していますが、私が「欲しい」と思える機能はまだ世に出ていないと感じています。

「あれが欲しい」「これが不便だ」と言うだけでは、エンジニアとして役割を全うしていない気がするんですよね。欲しい機能があるならば、それを作って他者にも役立つかを自ら立証していきたい。その領域が、今はメタバースだな、と思っています。

企業で働く経験は、個人開発にも活きてくる

──これから個人でアプリやゲームを作っていこうとする人も多いと思います。青木さんは長年、個人開発をされていますが、昔に比べて環境は良くなりましたか?

青木:断然、開発しやすくなりました。理由はいくつかありますが、一つにはUnityの環境そのものが良くなりました。たとえば、Unity4の時代にモバイル開発をするためには、ソフトウェアの開発キット「SDK(Software Development Kit)」やJavaの開発キット「JDK(Java Development Kit)」を別途ダウンロードして設定する必要がありました。でも、今はワンクリックで環境が整います。

もう一つは、マネタイズ方法が簡単になりました。「Unity IAP」を使うとアプリ内課金システムが簡単に実装できるのは、開発のハードルが下がった要因の一つだと思います。

──企業で働くかたわらで個人開発を続けてらっしゃいますが、一本に絞ろうと思ったことはないのでしょうか?

青木:企業で働いて得た経験が、個人開発にも活きることは多いですよ。個人開発なら「すぐに実装してしまおう」と手を動かしがちなところ、企業では「むしろ、この機能を追加してから実装した方が後々の手間がかからない」といった、自分の視野からでは気づけなかったようなアドバイスがもらえます。企業で働くことは個人開発にも決して無駄ではないですし、良い影響もあると考えています。

──青木さんが考える「個人開発とはどのようなものか」を教えてください。

青木:良くも悪くも全て自分で決められることですね。やればやるほど作品の完成は近づくし、休めば休むほどリリースは遠のいてしまいます。

私はコツコツ開発するのではなく、やる気があるときに一気に進めるタイプです。一応、毎日パソコンは開きますが、進まない時は進まない(笑)。ただ、アプリに活かせそうなことを思いついた時は、自分専用のDiscordサーバーにメモを貯めておくなど、忘れないように工夫しながら進めていますね。

──最後に、個人開発を頑張る人たちに向けてエールをお願いします。

青木:ぜひ、世の中に作品を出してください。いろんな人に見てもらわないと評価はもらえないですし、改善点も見つからない。さらに、ユーザーの反応が一番のモチベーションにもなります。勇気をもって、いろんな人に体験をしてもらってみてください。

(文・つじの結い/写真・木村文平)

目次