先日、2021 年へのロードマップを発表しました。これらの目標に向けて活動しているチームの一部を紹介していきます。シリーズ第 3 回目の今回は、2D チームをご紹介します。
Unity の 2021 年へのロードマップでは、来年の注力分野の一部を明らかにしています。私たちは、本制作に使える機能をアップデートし、皆様からの Unity に足りない機能のご指摘に基づいて、主要な新機能の追加を進めていくことに尽力しています。しかし、私たちは、ワークフローや、皆様が Unity を使った時の体験全体を向上させることにも力を注いでいます。
この記事は、Unity 開発の舞台裏を垣間見るシリーズの第 3 弾です。今日は 2D とツールのチームを率いる Paul Tham と、2D のプロダクトマネージャー Rus Scammell との対談形式でお届けします。
2D チームは、Unity で 2D 体験を作る人たちに向けて、基礎的な機能をはじめ、ワールド構築、アニメーション、グラフィックス、2D 物理(Sprite Renderer、2D Tilemap Editor、2D Lights などのツールを含む)をカバーする機能セットを提供することを使命とする専任のチームです。現在、コアとなっているチームは、ソフトウェアエンジニア、ソフトウェア品質エンジニア、デザイナー、テクニカルライター、プロダクトマネージャーを含む 15 人によって構成されている強力なチームで、この他にも数人が参加し、その専門知識をもって 2D の進化に貢献しています。
「このチームは、職能をまたいだコミュニケーションを行うために作られたチームなんです。」と Rus は言います。
「チームは多様性のあるチームでもあります。メンバーには、シンガポール人、アメリカ人、スウェーデン人、イギリス人、インド人、マレーシア人、それに中国人もいます。私たちはお互いの文化を共有しているので、ランチタイムのディスカッションはとても盛り上がります」と Paul は付け加えます。
Paul と Rus はともに、PlayStation 2 向けのゲーム開発からそのキャリアをスタートさせました。Paul はその後 Ubisoft で、現在のチームの他のメンバーと知り合いました。このチームは、インディーズから大規模プロジェクトまで、様々な分野のゲーム制作やツール開発に携わる情熱的なゲーム開発者で構成されています。
「コミュニティレベルでは、プレリリース版の機能が利用可能になったときにアナウンスを行い、クリエイターがそれを試してフィードバックを得られるようにしています」と Rus は言います。「また、さまざまなモバイルデバイスでパフォーマンスのテストが行われるようにするために、一層の努力を重ねています。戦略的なレベルで、Unity の機能はまさにユーザー駆動で開発が進められているということです。」
チームはスタジオがどのように 2D ツールを使用しているかを注意深く観察し、そのフィードバックに耳を傾けています。こうした姿勢は、B2tGame 社との『Lost Crypt』の制作や、Glu Mobile 社との Isometric Tilemap の開発にも表れていました。
ユーザーが問題や不満を報告したり、解決策やアイデアを提案したりすると、この部門横断的なチームは、ユーザーが最終的に何を作ろうとしているのかを理解しようと努力します。ユーザーの問題の領域を調べることで、チームは解決策に対するより大きなニーズがあるかどうかを判断することができます。例えば、ユーザーが問題の領域を「ピクセルアート」だと報告した場合、チームは一般的なワークフローと望まれる結果を評価し、結果として得られるソリューション(機能とリソース。この場合は 2D Pixel Perfect パッケージ)がそれらの結果をサポートできることを確認します。
「設計はまた、機能がどのようにして組み合わされるかを決める重要な要素ともなります。また、その設計は、組織全体にまたがる専任の設計チームによって支持されたものが採用されます。」 と Rus は述べています。このチームは、フォーラムでコミュニティと頻繁につながり、ユーザーエクスペリエンスを評価してきた人物を、新しい UX デザイナーとして迎えました。
2D 機能が、現在のワークフローでそれを使っているクリエイターにとっては馴染みのある機能である一方で、2D ツールはその基礎となる技術とともに進化しており、全体的な改善による恩恵が期待できる部分です。
Unity 2020.2 では、新規ユーザーのために、より直感的な体験を提供しました。2D プロジェクトでの作業は、合理化されたメニューとより優れたデフォルトアセットにより、高速化を実現しました。チームは、Unity の将来のリリースに向けて、2D メニューと設定を、エディター全体へと一貫性を保ちつつ統合していくことを計画しています。
2020 年に、Unity はパフォーマンスを重点分野の 1 つとして確立させました。そしてその成果は Unity 2021 で明らかになります。2D チームはそれを推進しており、「Unity で作られた 2D プロジェクトのパフォーマンスを向上させ、2D ゲームのクリエイターのためのワークフローを合理化させます」と Rus は述べています。
2D チームが現在注力している分野は、Sprite Swap ワークフローを使った 2D アニメーションと 2D グラフィックスの 2 つです。
Rus と Eduardo(2D 部門、プロダクトマーケティング担当)は、最近の Unite Now のセッションで生産性とパフォーマンスに関するヒントを披露した。
2D アニメーションには、Unity 2020.1 で Burst に対応し、Unity 2020.2 では 2D インバースキネマティクス(IK)を統合するなどの改善が盛り込まれました。
Unity 2021 に向けて、チームは 2D アニメーションに力を入れており、Sprite Swap ワークフローを洗練させ、複数のキャラクター間でアニメーションクリップを共有しやすくしています。
Paul によると、このチームの現在のミッションは、大規模プロジェクト向けのワークフローを可能にすることだと言います。「パーツ数の多いキャラクターや、ダウンロードコンテンツ(DLC)がたくさんあるゲームでは、キャラクターがリグやアニメーション、パーツを共有できるようにする必要があります。」
すでに新機能を使用しているスタジオからのフィードバックを元に、チームはユーザー体験(UX)にさらに磨きをかけています。これらの改善により、テクニカルアニメーターは、標準的なアセットをチーム全体で共有できるように、リグ、マネキン、または参照を設定することができます。そうすると、アーティストは参照スケルトンのバリエーションを作成し、アニメーターはそれらをアニメーション化することができます。
これらのスケルトンを継承することで、バリアントにパーツの一部が存在しない、あるいは追加のパーツ(尻尾や翼など)があっても問題なく動作するようになります。ユーザーは、亜種を作成するための典型的な Unity のワークフローに従って、不要なスプライトを削除したり、新しいスプライトやアニメーションパーツをボーンの子 GameObject として追加したりする必要がありますが、アニメーション化したパーツの 2D アニメーションのフローを維持することもできます。
これは、2D アニメーション用のスプライトエディター内でのスキニングだけでなく、Sprite Swap ワークフローが一般的なスプライトのワークフローの一部とすることを目的としています。また、エディターの様々な領域において、2D が 3D と併存するようにしたいとも考えています。これは、2D 開発者を含むすべてのユーザーの開発体験を向上させるという Unity のより視野を広げたビジョンと一致しています。
チームは、これらの変更点やその他のマイナーアップデートが Unity 2021 のサイクルで試せるようになると予想しています。
Unity は常に進化しており、2D ツールは新しく出てきたテクノロジーから恩恵を受けることができます。Paul は、他のチームとの連携の取り方を次のように説明します。
「私たちは Burst や SRP といった内部にある技術を積極的に使っていきます。何かが社内でリリースされるたびに、私たちはその技術を利用して、私たちの機能の 1 つをそれに適応させます。1 つの機能でプロトタイプを作成することで、その新しい技術が 2D に適しているかどうかを明確に把握することができます。数回のテストとプロトタイピングのラウンドの後、それを社内のロードマップに載せていきます。」
そのような連携の一例として、Unity 2020.1 の 2D アニメーションでは、多数のスキニングされた頂点をアニメーションさせるような難しいシナリオのために、Burst のパフォーマンスの向上を図ったものが挙げられます。別の例として、スプライトシェイプのメッシュ計算の性能の向上が挙げられます。また、Cinemachine チームと協力して 2D Pixel Perfect との互換性を確保したり、グラフィックスチームと連携して 2D Renderer の洗練を行ったりしました。
チームの 2021 年の目標は、ユニバーサルレンダーパイプラインで 2D グラフィックスのパフォーマンスを高速化することです。また、2D のライトとシャドウのユーザー体験の向上にも取り組んでいます。
ユニバーサルレンダーパイプライン(URP)は最終的に Unity のデフォルトレンダラーとなる予定で、これには 2D プロジェクトのデフォルトレンダラーとなる 2D レンダラーも含まれています。チームは、ライトのレンダーテクスチャの最適化に懸命に取り組んでおり、特にフレームレート、メモリ帯域幅、ドローコール、2D のライトでの全体的なメモリ使用量に細心の注意を払っています。
Paul によると、この作業は低レベルの最適化コードで構成されているということです。「レンダラーが 2D プロジェクトのニーズを満たすことを保証するために、同じコードベースとレビュープロセスを使用して、URP を担当しているチームと密接に連携しています。」
また、2D レンダラーに関わる作業の一環として、セカンダリテクスチャ(2D ライト用の法線マップとマスクマップ)のレンダリングパイプラインをさらに改良しています。
Unity のパフォーマンスは、さまざまなデバイスで継続的にベンチマークが行われています。1 つのシーンに結合されたすべての 2D 機能のパフォーマンスをテストするための環境として、チームは、他のプロジェクトや測定方法の中から、特に『Lost Crypt』を選んで使いました。
全体的な改善点としては、ユーザー体験(UX)の強化や、2021 年のサイクルで計画されているインスペクターウィンドウからのテクスチャサイズの管理など、機能へのアクセスを容易にすることが挙げられます。
Rus は、期待される成果を包括的に見ていると説明します。「スタジオと話をして、制作中にツールをどのように使っているかを学ぶことで、これを実行しています。」
チームは 2021 年に URP を成熟させることを目標に、そのサポートとして懸命に仕事をしています。2D レンダラーは、次世代の 2D グラフィックスとワークフローの改善を後押しするものとして位置づけられており、アーティストからゲームデザイナーまで、誰もが、キャラクターにアニメーションを付けたり、ステージをデザインしたり、素晴らしいビジュアルを作成したりといった作業をエディターで直接行えるようになります。来年も最新の開発成果を皆様と共有していけることを楽しみに仕事を進め、Unity がどのようなプラットフォームに向けた開発においても、2D プロジェクトに最適なソリューションとしての地位を確固たるものにするべく、邁進してまいります。
この記事は、将来バージョンの Unity に向けた開発に取り組んでいる人たちを紹介し、それらの人々のインスピレーションと開発の原動力に触れる、開発者ダイアリーのシリーズ第 3 回目となる記事です。これまでの 2 回の記事では、2021 年に向けて、パフォーマンス最適化および、開発時のユーザー体験の向上に取り組むチームをそれぞれ取り上げました。見逃した方は、ぜひこれらの記事もご覧ください。
今後のブログ記事で、特に取り上げてほしいチームや機能分野がある方は、この記事のコメント欄でお知らせください。