Webエンジニアが語る、XRプロダクトを開発する難しさと面白さ
続いて伊藤氏は、WebエンジニアがXRプロダクトを開発する上での難しさと面白さを「UI/UXデザイン」「システム構成」「アプリケーションアーキテクチャ」「テスト」「体制」の観点で説明した。
UI/UXデザインでは、事例やノウハウが少ないため、実際にプロトタイプを試すまで成果を予測しにくい。このプロセスは時間を要し、デザインと開発の計画が重要になる。一方、プロトタイプのテストを通じて、「こんなことができたら良いな」という期待や創造性が湧き、デザイナーも開発者も創造性を楽しむことができる。
システム構成は、大部分が一般的なWebアプリと似ており、データ登録も「いいね」機能程度で、高いデータ記録品質を求められていない。しかし、コミュニケーションやマルチプレイの部分はWebアプリとは異なり、プレイヤーの位置や動きを同期させるために頻繁なデータのやり取りが必要で、特に大人数を同期させる場合は専用サーバーが必要になり、コストが急増する。現在はP2Pを利用して小グループでコストを抑えているが、参加人数が増えるとコストも上昇する。コストを抑えつつ、マルチプレイの参加人数を増やすことは、エンジニアにとって楽しめる挑戦でもある。
アプリケーションアーキテクチャは、Unityの場合あまり意識せずに作られることが多いことから、情報が少ない。このギャップを埋めるため、TISでは試行錯誤を重ねてきた。その結果、「Extreal」というフレームワークを開発し、これをOSSとして公開している。伊藤氏は、世の中にノウハウがないなかで試行錯誤するプロセスは非常に楽しく、XRの普及に貢献する可能性を感じられる点も魅力だとした。
テストは、品質要求に基づく範囲で行う。3Dプロダクトのテストでは利用体験の確認を優先し、大きな機能リリース時にはモンキーテストで不具合を洗い出す。現在は新規事業開発の初期段階なためテスト自動化やCI/CDは導入していないが、今後は3Dプロダクト開発特有の面白さが生まれると期待している。
最後の観点は体制について。XR分野は歴史が浅く、有識者が少ないため、エンジニアを集めに苦労する。社内外からの採用や協業を継続しながら、組織的な学習と育成に注力している。この一環として、「Extreal」に機能やノウハウを集約し、BURALIT開発でのアーキテクチャ説明会や公開設計レビュー、ノウハウの文書化を進めている。
また、マルチプラットフォーム対応や学習のしやすさから、Unityでの開発を続けているが、ウェブ開発と比較すると開発体験が見劣りする印象がある。例えば、コードを変更してから動作確認するまでに数秒かかるため、開発者のリズムを損ねている。そこで、WebXRなどのWebアプリでXRを開発する環境としてReact-three-fiberに注目している。Three.jsを基にしたJavaScriptライブラリをReactベースでコンポーネント化し、開発を容易にするものだ。
このように、TISでは中長期的視点のコア技術戦略の下、XRを研究開発し、その成果を新規事業に適用している。得られたノウハウはフレームワーク化し、他事業部の利用を可能にすることで市場創造と競争力強化を目指している。また、技術ノウハウを共有するサイト「Fintan」を通じて、基本戦略を公開し、オープンイノベーションを推進している。
伊藤氏は最後に「『エンジニアの皆さん、XRを始めませんか』と伝えたいと思います。XRはまだ普及していない状況ですが、今後注目される可能性があります。新しい体験は成長につながると思いますので『一緒に頑張りませんか』というのが、私たちからのメッセージです。XRのデザイナーエンジニアを募集していますので、ぜひエントリーしてください」と呼びかけた。
講演資料はFintanにて公開中!
本講演の資料は技術ノウハウ共有サイト「Fintan」にて公開されています。ぜひご覧ください。