【Pretia Tech Interview vol.2】 体験のコア、開発者コンソール
こんにちは!プレティアテクノロジーズです。
ARクラウドの研究開発をするプレティアの技術についてお伝えしていくPretia Tech Blog。
第2回はフルスタックエンジニアのPeteに、ARクラウドPretiaの体験のコアである「開発者コンソール」について、Peteに話を聞きます。
Natsathorn Yuthakovit (Pete)
シニアフルスタックエンジニア、大のゲーム好き。8年間さまざまな分野で開発経験を積み、現在はXRのゲームにおける可能性を探究している。Pretiaでは開発者コンソールの開発をメインで担当。
—
Hiro: こんにちは!最初に、開発者コンソールについて教えていただけますか?
Pete: 開発者コンソールは、開発者が自分のマップやアカウント、チームメンバーを管理する場所です。
ARクラウドPretiaは3つのコンポーネントで構成されています。
3Dスキャナーは携帯電話を使ってマップをスキャンすることができます。
Unity SDKはマップをUnityにインポートして独自のアプリケーションを実装するために使用することができます。
開発者コンソールでアセットを管理することができます。WebUIからマップやAPIキー、アプリへのアクセスなどを制御するためのものと理解してもらえればと思います。
Hiro: ありがとうございます。次に使っている技術について教えてもらえますか?
Pete: 当初から、開発者コンソールは頻繁に機能を追加する予定のプロジェクトでした。
そのため、チームメンバーがすぐに作業に取り掛かれるような技術スタックである必要がありました。
何度か議論を重ねた結果、ReactJS、Typescript、TailwindCSSを採用していましたが、1年間の開発期間を経て現在はTailwindCSSからChakraUIに移行しています。TailwindCSSのReactJS版と言えるでしょう。
Hiro: なぜReactJSを採用したのでしょう?
Pete:
最近では、ReactJSやVueJSのようなモダンなJavascriptライブラリを使用するのが普通になっています。
これは、HTMLやCSSのような旧来の方法と比較して、プロジェクトの構造化、再利用性、スケーラビリティに優れています。
VueではなくReactを選んだ理由は、どちらも似ていますが、Reactの方が経験があり、より自信があるからです。
Hiro: ありがとうございます。
次に、開発者コンソールの特徴でもある「マップの可視化」機能について教えてください。
Pete: 通常、3Dスキャナでマップをスキャンするとき、何をスキャンしたかはわかりますよね?
しかし、スキャンした後、スキャンしたマップをプレビューできるのがUnityだけだとしたらどうでしょう。
Unity上でプレビューを見るためには、いくつかのステップが必要です。さらに、撮影したその場でいちいちPCを開いて確認しなければいけない体験は開発者にとってクールなことではありません。
そこで、WebUIで表示できるようにすればいいのではと考えました。開発者にフィードバックをもらい、非常に有用であることがわかったので、機能を追加していきました。
最初は点群だけでしたが、今ではアンカーやプレーンもWebUI上で確認することができます。
Hiro: 僕もこの機能の便利さをいつも感じています。
特に屋外でマップをスキャンする際に、スマートフォンから点群を確認でき、再撮影するかどうかをPCを見ずに決めることができるのがとてもありがたいです。
このプロジェクトに取り組む中で難しい部分があったと思いますが、どう解決してきたのでしょう?
Pete: Webアプリケーションで3Dビューワーを作るというのは一般的ではないので、最初はどの技術を使うか・どう実装するかについて迷いました。
Unityで活用しようかとも思いましたが、私たちはReactを使っているのでReactJSのために特別に設計された「React-three-fiber」というツールを見つけ、それを活用することに決めました。
また、開発にあたっては、ウェブ開発チームだけでなく、社内のUnityのエンジニアや3Dのプロフェッショナルとも密接に連携して、彼らの期待に応えられるようなものにしました。
Hiro: 最後に、DevConsoleで今後開発を予定している機能を教えてください。
Pete: スマホから見ることはできるものの、まだモバイルブラウザへの最適化をしていないので、その部分の改善を考えています。
さらに、まだ詳細決定したわけではありませんが、チームメンバーから多くのアイディアが出ています。面白いところでは、Unityを介さずにWebUI上で直接オブジェクトの位置などを調整するようなアイデアもあります。
Hiro: ありがとうございます。開発者コンソールで3Dモデルを操作できるようになれば、面白いことになりそうですね。
ほかに何か共有したいアイデアはありますか?
Pete: 新機能も考えていますが、同時にどんな機能を追加すればARの開発プロセスが効率化されるとか、不満が解消されるとか、開発者からのフィードバックがあればとても嬉しいです。
ベストで使いやすいAR開発プラットフォームであることが私たちの目標です。
Hiro: ありがとうございました!
---
プレティアでは、採用を強化しています!少しでもご興味をお持ちいただけましたら、ぜひお話しましょう!
採用サイト
Meety