最新のお知らせNEWS
【Unityエンジニア】「『夢を叶える道具』を作り続ける」VTuberの未来を切り拓く、ANYCOLOR Unityエンジニアが見据えるビジョンとは。【従業員インタビュー】
「ライバーの配信はUnityエンジニアがいなければ行えない」
個性豊かなにじさんじライバーの配信は、ANYCOLOR株式会社(以下:ANYCOLOR)の持つスタジオやライバーの自宅など、場所を選ばず配信ができる。
それは、ひとえにANYCOLORが配信用アプリを内製で開発しているからだ。
今回は、ライバーの心臓と言っても過言ではない、配信用アプリの開発・運用を行っているUnityエンジニアに話を伺った。
ANYCOLORのUnityエンジニアは、2021年7月31日、8月1日に実施した『にじさんじ AR STAGE “LIGHT UP TONES”』(#リアルタイムARライブ)のAR開発を担当するなど、様々な領域で開発を行っている。
ANYCOLORのUnityエンジニアが、どこにやりがいを感じていて、どんなビジョンを持っているのか。この機会に知ってみて欲しい。
【取材を受けた人】
草彅:執行役員・CTO(最高技術責任者)
バックエンドエンジニア、UnityでのVRアプリ・3Dアプリ開発、SwiftによるiOSのネイティブアプリ開発と、多様な経験を経て2018年に現ANYCOLORに入社。
現在はCTOとして技術部・デザイン部のマネジメントに携わりつつ、ANYCOLORの技術品質の向上に向け尽力している。
(写真:左)
北脇:技術部 クライアントエンジニア
2010年にブラウザタイプのソーシャルゲーム開発としてキャリアを開始し、
2011年からはUnityを利用したエンジニア職を継続。
スマホアプリをメインにコンシューマーゲーム、アニメ用ワークフロー、VTuberシステムの開発を経て、2020年6月現ANYCOLORに入社。
現在はスタジオ3D配信ソフトウェア開発に従事。
(写真:右)
門谷:技術部 リードクライアントエンジニア
2018年4月、現ANYCOLORにインターンとして入社。
大学在学中にそのまま正社員に形態変更し、その後2019年3月に情報系の大学を卒業。
現在ではスタジオ3D配信ソフトウェア・にじさんじアプリといった社内のUnity製ソフトのPM業務だけでなく、にじさんじアプリの開発・保守・サポート業務に従事。
(写真:中央)
「この先の未知数が、エンジニアとして魅力だった」
ーー3人ともキャリアの最初から現在まで一貫してエンジニアを歩んでいますが、ANYCOLORのどんな所に魅力を感じてジョインしたのでしょうか?
門谷:
僕は大学から新卒で現ANYCOLORに入社したんですけど、就活で色々な企業の話を聞いていく中で、「もっと多くの企業と会ってみたい」という思いが強くなったのを覚えています。
そんな時、ちょうど“にじさんじ”のとある配信がバズったタイミングで、「この面白い配信している会社がUnityエンジニア募集している!」と知り、即応募しました。
今でこそANYCOLORには約200名の従業員がいますが、当時は3名しか社員がいなくて、今一緒にインタビューを受けている草彅さんが面接をしてくれました。
面接の中で、ANYCOLORのこれから取り組もうとしていることの話を聞いていくと、事業のスケール感や会社の成長性、そして何より人同士の距離の近さに強い魅力を感じ、スキルがマッチしていたことも相まって入社に至りました。
草彅:
門谷さんは入社してから、僕の真横で他社からもらった内定を辞退していたよね笑
門谷:
そうでしたね笑
元々ANYCOLORでインターンしていたこともあり、働くイメージも持てていたのでその場で辞退してしまいました。
辞退している電話の声が目立って、オフィスがざわついていたのは懐かしいですね。
草彅:
門谷さんは年齢こそ若いけど、ANYCOLORの開発者としては2人目という古参メンバーです。
北脇:
僕はもともとゲーム業界にいて、VTuber向けの新しいスタジオ構築のために3Dアニメーションとモーションキャプチャーの仕事をしていました。
その頃にフリーランスとして活動し始めたのですが、そのタイミングで草彅さんと会ってANYCOLORに入社することを真剣に考えるようになりました。
ずっと趣味でストリーマー界隈を観ていたことや、家族も“にじさんじ”にハマっていたので、その後押しもあって入社の決断をしました。
自分自身、ゲームを含めエンタメコンテンツに救われてきたので、経験を活かしてANYCOLORの事業そのものに協力したいというのも大きかったですね。
入社前も後も、これからVTuber業界がどうなっていくか分からないというのが、いい意味で魅力だと感じています。
草彅:
思い返すと、最初の3D配信は「体制整っていない中でよくできたな」と感じますよね笑
北脇:
手探り感すごかったですよね笑
でも、今日まで改善に改善を重ねてちょっとずつ良くなってこれているかなと実感しています。
入社のタイミング的にも美味しい所に携われているなと思ったり笑
門谷:
3D配信は僕の入社当初から相当進化していますよね。
ファンの方からも、「にじさんじの3D配信の進化の軌跡」みたいな感じでまとめてくださっていたり笑
技術の進歩を感じながら仕事ができています。
草彅:
以前「ユメノグラフィア」の記事でも話しましたが、簡単に僕の入社理由も話しますね。
スタートアップで働きたいと思い転職活動をしていた時、たまたま転職サイトで見つけたANYCOLORに応募して、現社長の田角と会話したのがきっかけです。
その話も、「こんなの作れる?」「作れます」みたいな会話だけだったんですけど、田角さんから「一緒にやろう」と言ってもらえて、頑張る田角さんを支えてあげたいと思って入社を決めました。
開発体制を常にアップデートすることの重要性
ーー改めて、Unityエンジニアの皆様が携わっているアプリについて教えていただけますでしょうか?
門谷:
僕たちが設計・開発から運用まで携わっているアプリケーションは大きく分けると2つのジャンルに分かれます。
一つが社内の3D配信で使われるアプリ、もう一つがライバーさんが自宅での配信を行うためのアプリです。後者のうち、Live2Dで配信するものがにじさんじアプリ、3Dモデルで配信するものがにじ3Dと言われているものですね。
どちらのアプリも、配信におけるプラットフォームのような役割を果たしていますので、トラブルが起きないように気をつけています。
ーー門谷さんや北脇さんがいないと、“にじさんじ”の配信そのものが行えないということですね。
やはり開発や運用には多くの関係者とのやりとりが生じるのでしょうか?
門谷:
そうですね、関係者ということであれば社内の3Dスタジオメンバーや3Dモデラーになります。
あとは、少ないですがアプリで不具合が起きてしまったライバーさんと直接やり取りをすることもあります。
開発は月単位で行っていて、月初に今月の開発内容を社内関係部署との打ち合わせを経て決定し、重要度やイベント開催予定に応じて開発の優先順位を決めるところからスタートします。
計画や要件定義が完了次第、あとは各々全力で開発し、実装テストを行います。
無事に全員分の成果物がマージできたら、社内の所管部署に展開し、月が終わりと言った流れです。
ただ、月中で当初計画にない要件調整が発生するので、それにも適宜対応しています。
特に運用保守のフェーズで言うと、配信時に何らかの不具合報告を受けたら、すぐに解決に必要な情報をスタジオ部の社員に聞きに行ったり、場合によっては直接スタジオに行って検証することもあります。
検証を経て、ネットワーク不具合が考えられる場合には、社内のインフラエンジニアと協業して修正を行うこともあります。
北脇:
ANYCOLORと他社とで決定的に違うポイントで言うと、エンジニア側でアプリを作り上げて、ユーザー(3Dスタジオ)に渡すという流れを取っていることですね。
門谷:
そうですね。VTuber業界で3Dスタジオ側と僕たちの開発側が分業体制を取っているのは珍しいと思います。
会社の成長によって、スタジオ部はスタジオ部で、開発部は開発部でそれぞれ業務に集中できるようになりましたので、開発そのものに集中できる環境は非常にありがたいですね。
とはいえ、3Dスタジオ側とも非常に近い距離感で開発をしているので、自分たちで作ったアプリを自分たちで使ってみて改善点を見つけることもできます。
現場の動きを汲み取りつつ、開発に落とし込んでいけるのも面白いポイントの一つです。
ーー2つのアプリのブラッシュアップを継続しているとのことですが、今まででリリース・運用が難しかったエピソードなどはありますか?
門谷:
“にじさんじアプリ”や“にじ3D”のアプリ不具合は、解決しないとライバーさんが配信できなくなってしまいますので、すぐに対応する必要があります。
にじさんじアプリやにじ3DではWindowsとiOS間でデータ送受信を行っており、一口に不具合と言っても「PCなのか」「iOS端末なのか」「ライバーさんのネットワーク環境なのか」など原因が様々ありますので、それを特定して究明するのが大変です。
特にそういった相談が来る時の多くは配信直前ですので、最速の対応が求められることになります。
こうした不具合の発生をできる限り事前に防止するために、ある仕組みを取り入れました。
にじさんじアプリにはコラボ機能といって、iOS端末からWindowsPCにローカル通信で送った表情データをクラウド経由で送ることで、複数のライバーさんの表情データをひとまとめにして同時に映し出す機能があります。
本来であれば複数人で使うこのコラボ機能を、あえて1人でも使用できるようにすることで、仮にライバーさんのローカルのネットワーク環境に不具合があった際にも、クラウド経由でデータのやり取りをすることができます。バックアッププランを用意しておくことで、配信の華であるライバーさん自身の姿が映らないということがなるべく無いような工夫を施しています。
もちろんライバーさんがアプリで不具合を感じた時、入念にヒアリングをすることで、根本的な解決ができるようにも心がけていますね。
北脇:
僕は3Dスタジオ配信アプリの方で二軸あります。
「描画のクオリティを上げる」のと、「もっとバラエティに富んだことをやりたいと言われる」の二つですが、後者がどちらかというと大変です。
ライバーさんの企画発案や、スタジオ部の演出相談などを実装していくと、どんどんアプリに機能が増えていくんですよね。
もちろんできることが増えるのは良いことなのですが、機能が増えすぎて扱いが難しくなってきています。増えた機能はそれぞれを組み合わせて使えることが多いので、その結果配慮すべき挙動が爆発的に増えてしまっています。
そうした「機能の収拾」に現在は苦戦しています。
門谷:
確かに。
それぞれのタイミングで開発をした機能が、統合できていないまま残り続けているのはどうにかしたいと思っています。
北脇:
今は「できることを広げていくフェーズ」から、「安定した運用ができるフェーズ」に差し掛かっていると思います。
新しいUnityエンジニアを迎えて、そういった整理作業も行っていきたいです。
ーー事業の根幹に直結している業務ですので、やりがいや意義をを感じる瞬間も多いのではないですか?
北脇:
そうですね。
私自身3D配信アプリに関わっていますので、YouTubeで面白い配信を見ると、「自分が作ったものをこういった形で使ってもらえているんだな」と感じます。
門谷:
やはり自分の成果物が多くの方に見て頂けるというのが、分かりやすいやりがいだと思っています。
社内の3D配信用のアプリを使うのは社内のスタジオ部ですが、大規模なイベントを無事に乗り越えた時は、やはり自分たちも達成感を感じます。
他にもライバーさん用のアプリにおいては、Live2Dの大規模アップデートリリースや、ライバーさんが不自由なく配信に使ってもらえている姿を見ていても、エンジニアとして携わっている意義を感じる瞬間ですね。
草彅:
お二人の言うように、作ったものがすぐ使われるというのに加えて、そのフィードバックが早いのもエンジニアとして嬉しいと思います。
また、そもそも僕たちの開発しているアプリがないと配信そのものが行えませんので、開発して良かったと率直に感じることが多いです。
「プロの仕事として、どこに出しても恥ずかしくない仕事をしていきたい」
ーーUnityエンジニアとして働くことの魅力はなんですか?
北脇:
Unityの特性上、工数を減らして開発できますので、その分映像表現に注力してものづくりができるのが魅力だと感じています。
“にじさんじ”の配信のように、新しく色々トライできるような事業にとっては、Unityが最も向いているのではないでしょうか。
僕自身10年間Unityエンジニアをしていますが、スピード感を持って自分一人でもどんどん開発できるのもUnityの魅力です。
草彅:
10年って結構長いですよね。
北脇:
はい。
でも自分のやりたいこととUnityが合致しているので、離れる理由がないんですよ。
門谷:
「形あるものを、比較的簡単に作れる」というのが、Unityの好きな部分です。
もちろん突き詰めていけば当然各プラットフォーム特有の知識が必要になりますが、そこを強く意識しなくても作れるという点が、「スピード感を持って開発したい」と考える僕の思考とマッチしていると思います。
例えば、ちょっと前にライバーさんから頼まれてルーレットを作ることになったのですが、Unityで作ったら数日でできたんですよね。
パッと作ったものをすぐに配信で使ってもらうことができるので、今の“にじさんじ”にも合っているんじゃないでしょうか。
草彅:
簡単に表現ができるのはやはり魅力ですよね。
余談ですけど、僕が一番最初に“にじさんじアプリ”を開発したんですが、僕自身見た目をそんなに拘らないタイプなんです。
それを、後から入社してきた門谷さんがUIをまるっと書き換えてきたの、今も覚えています笑
門谷:
しれっと変えてしまいました笑
草彅:
結局門谷さんの作ったものが、現在まで使われている“にじさんじアプリ”のベースUIになっていますよね。社内でしか使いませんが結構いいUIだと思います。
僕たちの作るものって、「誰が作ったから使う」なんてものではなく、「いいものはいいもの」として認め合っていくことが重要だと感じています。
ーー今後“にじさんじ”を始め、ANYCOLORは更なる発展が期待できると思いますが、Unityエンジニアとしてどのように関わっていきたいと考えていますか?
門谷:
今までずっとライバーさんのやりたいことを支えてきましたが、これからも同じように支えていきたいと思っています。
ライバーさんの強い思いのこもった企画に対し、エンジニアとして力を最大限に発揮することが我々の最も大切なミッションであり、これは変わらないの姿勢ではないでしょうか。
また、プロと一緒に仕事していく上で恥じない仕事をしていきたいとも思います。
今まではイベントを行う際の関係者は社内のスタジオ部のみだったのですが、最近ではイベントなどで映像関係の会社様や、イベントの舞台監督とも一緒に仕事をする機会も増えてきました。
「“にじさんじ”というIPがあるから」ではなく、「一緒に面白いものを作りたいから」という理由で協業してもらえるように意識を高めていきたいです。
北脇:
視聴者さんや社外の関係者からのプレッシャーは正直あります。だからこそ、その期待を超えるような満足を提供できるよう邁進していきたいです。
ANYCOLORは、ゲームでもなければアニメでも、映像作品でもない、VTuberという特殊な事業を行っています。
それゆえ、今まで存在していない領域に切り込んでいくことが重要です。
そのためにはスピード感が重要になりますので、Unityの強みを最大限に発揮して取り組んでいきたいですね。
ーー皆様既に高いモチベーションで業務に携わっていますが、Unityエンジニアとして更にやりたいことはありますか?
北脇:
Unityでできる表現の領域は、現段階から考えてもう二段くらいありますので、もっと更に上を目指していきたいです。
まだまだスキルが足りないので、高いクオリティでの表現ができるよう日々成長していきたいと思っています。
草彅:
何でも作れるようになりたい。ですかね。
ライバーさんや社長の田角さんや別部署の方など、沢山の方がアイデアを出してくれるので、エンジニアとしてそれらを絶対に開発できるようにしたいと思っています。
自分自身アイデアを出すのが苦手なのですが、その分「他の人の欲しい」を叶えられるようにしたいです。
北脇:
既存技術をパッと組み合わせて、新しいものをすぐに作れるエンジニアには憧れますよね。
門谷:
僕はアプリ開発出身ということもあり、描画やシェーダ周りに対してはまだ自分自身に課題を感じているので、3D領域における描画表現のレベルを上げていきたいと思っています。
また、「物を見る目」を養うことで、Unityにおける表現の豊かさを追求していきたいです。
ANYCOLORで仕事をしていると、自分の中では「到底作れない」と思っていたものを、他のエンジニアがすぐ作ってしまうというケースが往々にしてあります。
それを見る度、自分の技術力の低さを痛感すると共に、それ以上のやる気が湧いてきます。
北脇:
そう言えば前教えるって言ってたコード教えてなくてごめんね。
門谷:
もう本買って勉強したので大丈夫ですよ!笑
「ANYCOLORのUnityエンジニアは<開拓者>である」
ーー現在ANYCOLORではUnityエンジニアを募集していますが、どんな方に来て欲しいと思っていますか?
北脇:
やはりUnityを触ったことのある方だと嬉しいです。
しかし、現在分業化も進んできているので、いつかそれぞれの分野におけるスペシャリストが求められるタイミングもあると思っています。
“にじさんじ”は多くのことに手を広げていく段階もあり、Unity以外でもエンジニアとして何らかのプロフェッショナル性を持っていれば全然問題ありません。
様々な仕事がありますので、どんな経験でも活きると思います。
門谷:
やはりUnityに何年間か携わったことのある方がいいですね。
その上で、今の“にじさんじ”のコンテンツを見て、「こうすればもっと良くなる」と思ってくれている方であれば、すぐに活躍できると思います。
今までの経験に捉われず、自分の知見を信じてエントリーして頂けると嬉しいです。
草彅:
マインドセットで言うとどんな方になりますか?
北脇:
要件定義や設計まで一緒に考えていきたいので、ユーザーを考えつつ気が利く方だといいですね。
門谷:
手を動かすのはもちろんですが、要件に対して付随する課題を想像できるスキルがある方だとありがたいです。
ーーありがとうございます。
では、これから働く側の立場として、どんな人ならANYCOLORにフィットすると思いますか?
草彅:
受動的な考えを持つ人だとANYCOLORには合わないかもしれません。
自分から積極的に社員とコミュニケーションを取って、課題を見つけてくるのが仕事において重要だと考えています。
また、Unityエンジニアは1カ月単位の開発スケジュールを引いていますので、要件定義や開発検討に関わるスパンも速く、情報を整理できる方には良い環境かと思います。
門谷:
必要な情報を自分で取りに行けるかくらいですかね。
自主性があればANYCOLORの風土にはフィットすると思います。
北脇:
一個思ったのが、「完璧を求めすぎない」ことかもしれません。
今のフェーズ的には「どれだけすぐにユーザーに届けるか」が重要ですので。
もちろんこれからフェーズは変わっていくとは思いますが…
草彅:
そうですね、今置かれている環境に適応できる力は重要です。
門谷:
事業の動きに馴染むことを考えたら、確かに変化に順応できる人というのは重要かもしれません。
社員同士の関係性はフラットですので、思ったことは言い合えますし、上司の作ったUIもしれっとブラッシュアップして問題ありません。
草彅:
それ門谷さんから言う?笑
ーー短い取材の時間だけでも、Unityエンジニアチームの仲の良さを感じます笑
ちなみに、開発者視点でこれからANYCOLORはどうなっていくと思いますか?
北脇:
いくつか道があると思っています。
映像美のクオリティアップとかもあるとは思いますが、更にバラエティの方面にも行くのかなとは、あくまでも個人的に思っています。
ライブもできますし、お笑いや俳優に近いことなんかもできるのではないでしょうか。
門谷:
いわゆる世界初とかですよね。
北脇:
ANYCOLORのプロジェクトでは世界初をやりたがるよね笑
一個人のエンジニアとしては、夢物語を追い続けていきたいです。
門谷:
まだ誰もやっていないことをやりたがるというのは、会社としてもありますし、そういった方向も一つありそうですね。
ちょっと内向きな観点だと、開発において効率化を早めていくのが重要だと思います。
効率化により、デザイナーさんなどがクリエイティブなことに集中できる時間を増やし、他の人が面白いと思うものを実現する手助けになったら嬉しいですね。
ーー最後に、「ANYCOLORにおけるUnityエンジニア」を一言で表すと何になりますか?
北脇:
ANYCOLORにはスタジオ部やデザイナーの方々がいて、その人たちのやりたい事を実現するための道具を作っているのが我々Unityエンジニアです。
「夢を叶える道具作り」という考えは、Unityに関わらずエンジニアにとってあるべき姿だと思います。
草彅:
やりたいことを叶える方向性とは逆に、「こういう機能も作れますよ」という観点から発想する力もありますよね。
ーーあ、一言でいけますか…?笑
草彅:
すみません、この質問が一番難しいです笑
門谷:
僕も一言だと思いつきませんね…
“にじさんじ”のリリース当初は、とにかく「追いつけ追いつけ」で開発をしてきましたが、できることもどんどん増えてきたので、自分たちで考えて作っていくことが多くなってきていて……
……あ、分かりました、【開拓者】とかじゃないですか?
一同:
あーーー、開拓者だ。
ーーANYCOLORでは、事業そのものに必要な配信アプリを開発するUnityエンジニアを積極募集中だ。
スピード感とプロフェッショナルマインドを持って開発と向き合い、ANYCOLORならではのやりがいを感じてみたい方は、是非この機会にエントリーしてみてほしい。
※情報は取材当時のものです
※取材・執筆:シュンヤ ナカジマ