Unity を検索

2021 年へのロードマップ:チーム「Quality of Life」

2020年10月7日 カテゴリ: テクノロジー | 7 分 で読めます
取り上げているトピック
シェア

Is this article helpful for you?

Thank you for your feedback!

先日、2021 年に向けたロードマップを発表しました。今回から、ロードマップで掲げた目標に向けて活動しているチームの一部を紹介します。この新シリーズの最初の記事では、コードネーム「Quality of Life」の下で活動しているチームに焦点を当てます。

Unity の 2021 年へのロードマップでは、来年に向けて優先的に取り組んでいく事柄を紹介しています。私たちは、皆様からいただいたご意見に基づいて、本番の開発でお使いいただける機能をアップデートし、主要な新機能をお届けできるよう、尽力しています。しかし、私たちは、ワークフローを改善し、エディターで作業する際の全体的なユーザー体験を向上させることにも力を注いでいます。

この記事では、Unity 開発の舞台裏を垣間見るシリーズの第 1 弾です。このシリーズでは、皆様により良い Unity を届けるための取り組みを行っているチームから話を聞き、何がチームを衝き動かしているのかを知り、また、チームの取り組みの進捗状況を見ることを目的としています。新シリーズの初回の記事では、「Quality of Life」という社内コードネームの下で活動しているチームにスポットを当てます。このチームを率いる Aras Pranckevičius と、プロダクトチームの Martin Gram に会い、チームの取り組みについて話を聞きました。

「Quality of Life」とは何か

私たちは皆、より質の良い生活を送りたいと願うものです。Unity でも、ユーザーの 「生活の質」、すなわち「Quality of Life」の向上に努めています。しかし、ここで言う「Quality of Life」とは実際には何を意味しているのでしょうか。それは、安定性やバグの修正、リグレッションの回避といった要素だけではありません。Unity の言う「Quality of Life(QoL)」とは、ユーザー体験を構成するどんな小さなことをも包含する概念です。端的には、集約されたワークフローと直感的なインターフェースがこれを構成します。Unity は、皆様が生産性を向上させ、クリエイティブなプロセスに集中できるようにしたいと考えています。

「イテレーション時間を短縮し、作業中断を減少させて、全体的な効率を向上させようということです。」Unity のプロダクトディレクターである Martin Gram はこのように述べています。

近年、Unity が利用される範囲が爆発的に増えています。多くの職種や業界のユーザーにサービスを提供するために、私たちは技術革新を加速させました。同時に、Unity の抱えるツールの種類が大幅に増えました。これは明らかに Unity の複雑さを増大させており、機能間でユーザー体験の一貫性を欠く場合も時としてあります。「QoL 向上を目指す活動においては、これらのギャップを埋めること、そしてエディター全体の使用感に磨きをかけることに重点を置いています」と Martin は説明します。「最近のロードマップに関するブログ記事でも述べましたが、私たちはやることを絞って、それらをより良い形で完遂することにしています。」

より高い基準を設定するチーム

Unity のすべてのチームが品質を重視し、先ほど述べたミッションに貢献していますが、この特別チームはチームをまたいで活動し、チームと各機能領域の間でよく見られる、小さな改善に専念しています。Aras は約 1 年半前にこの特別チームを結成しました。最適化チームがパフォーマンスに焦点を当てているように、Quality of Life チームは、QoL 自体を機能と捉え、その改善に焦点を当てるというアイデアをもって結成されました。

現在、チームはリトアニアのカウナスに拠点を置き、メンバーは 7 人となっています。彼らは Unity 全体にわたって存在する R&D チームと連携していますが、最も近いパートナーは、最適化チーム、シーンツールチーム、QA、プロダクトチーム、社内のプロダクションチームです。チームメンバーのうち 5 人は元々カスタマー QA を担当していましたが、これは偶然ではありません。

「最前線にいるということは、チームが多くのユーザーレポートを見てきたということです。効率化できるものは何かということについて、多くのインサイトを持っています。カスタマー QA は、顧客のバグレポートを再現することに多くの時間を費やしています。つまり、彼らはツールを開発しているだけではなく、Unity を使うことにバックグラウンドを持つ存在だということです。」と Aras は説明します。

7人のチームのうちの5人。上段左から、Paulius、Aras、Lina。下段左から、Justinas と Ignas。

チームのアイデアは、ユーザー体験と機能統合に関する数多くの改善を含む、バージョン管理機能の改善にいくつか取り組んでいたときに固まりました。例えば、Perforce 統合の修正においては、Perforce への接続が失われた場合の自動的な再接続の試行が盛り込まれています。インスペクターウィンドウの上部にある新しいバージョン管理バーではさまざまな改善が行われた中で、追加、ロック、ロック解除、送信などの操作を行うことができるようにする改善が行われました。また、インスペクターの無効化されたフィールドの値を右クリックでコピーできるようになりました。Aras が説明するように、「これらの改善点は、ユーザーから長い間要望のあった機能の例です。私たちのチームでは、これらの改善を行ったときの考え方を他の機能にも拡大して適用していきました。つまり、より多くの機能を追加しようというのではなく、既存のワークフローを磨き上げ、改善することに重点を置くことにしたのです。」

チームのミッションは「製品をより快適に使うための改善を継続的に加えていくこと」とシンプルなものです。これは、エディターをより直感的にし、ワークフローを最適化することを意味します。「Unity は使うのが楽しくなるようなものでなければなりません。私たちは、クリエイターが時間を無駄にせず、より生産的になることを望んでいます。」

チームはプロダクトチームと緊密に連携して優先順位を設定し、フォーラムやソーシャルメディア、『Megacity』や『DOTS Sample』などのデモに取り組む Unity 内部の制作チームなど、あらゆる方面からの提案にオープンに対応しています。

Unity 2020.2 でより良い QoL を実現

最新の TECH ストリームとなる Unity 2020.2 ベータ版の公開に伴い、QoL に関する改善がいくつか追加されました。

Unity 2020.2 では、エディター全体にわたり、数多くの細かな品質改善が施されています。シーンウィンドウの移動、回転、拡大縮小ハンドルの線が太くなり、また太さが調整可能になりました。メッシュインスペクターでブレンドシェイプを視覚化できるようになりました。プレイヤー設定で、スクリプトの #define 設定が配列として表示されるようになりました。複数のプレハブを同時にシーンにドラッグできるようになりました。Frame Selected 機能を、既にフレーム内に表示されているオブジェクトのピボットポイントにズームインするために使えるようになりました...というように、実に数多くの改善点が盛り込まれています。

Unity 2020.2 で Aras が最も気に入っている改善点は、インスペクターで配列とリストの要素が並び替え可能になったというものです。また、[NonReorderable] 属性を使って、これを無効にすることもできます。これは小さな機能ながら、フォーラムやソーシャルメディアにおける多くのユーザーからの要望を受けて行われた変更の好例です。数回のクリックで要素の順序を変えることができるようにすることで、配列やリストの管理を楽にするだけの機能ですが、それが多くのユーザーの要望を受けて実現されたということです。

ベータ版で現在利用可能なものについて詳しく知りたい方は、ブログ記事をチェックして、10 月 8 日(日本時間 10 月 8 日 25 時(10 月 9 日午前 1 時))のウェビナー(英語)に参加されることをおすすめします。

2021 年に予定されていること

2021 年へのロードマップを見据えて、チームの計画はその勢いを保ち、さらにいくつかの改善すべきポイントをすでに設定しています。しかし、Aras はまた、最終目的地というものはないとも強調しています。Unity の改善は決して終わりのないプロセスです。Quality of Life チームは、ベータ版プログラムとの連携や、コミュニティからの意見を広く取り入れる動きを強化していく予定です。

ここでは、2021 年の Unity に搭載される予定の 3 つの機能について先取りして触れたいと思います。

LOD Group インスペクターの改良:LOD の相対的な画面サイズのパーセンテージをテーブル形式のビュー(ラベル、値)で表示できるようになり、正確な値を入力できるようになりました。LOD Group インスペクターは、マルチ選択編集をサポートし、LOD レベルごとの三角形の数を表示し、また、その三角形の数の表示は LOD レベル間で変動します。また、LOD Group インスペクターはオブジェクトのローカル空間でのサイズ設定も公開します。

複数の LOD グループを選択した状態で LOD レベル間の遷移を編集する
異なる LOD レベルでのメッシュの複雑さを概略で表示

再生モードに入るまでの時間の短縮:これは再生モードに入る際に発生するメッシュの静的バッチングプロセスの最適化に関連するものです。私たちのテストでは、この改善により、30,000 個の静的オブジェクトを持つシーンで再生モードに入るまでの時間が約 2 秒短くなったことが確認されています。

また、テクスチャインポート時間の最適化については現在も作業が進められている最中ですが、改善点の一部はすでに Unity 2021.1 に搭載されています。これらは、アセットのインポート時間の中で最も長い部分の高速化に寄与します。

ここに挙げたものは、いくつも行われている改善の代表例です。「こうした改善は小さなことですが、ユーザーのワークフローに大きな違いをもたらします。何百万人ものユーザーが 1 日に何度もタスクを繰り返すことを考えれば、ほんの 1 秒の違いやたった 1 回のマウスのクリックが積み重なって、本当に大きな違いになってきます。」と Aras は締めくくりました。

改善してほしい部分を教えてください

エディターでここを改善してほしいというポイントや、この機能が強化されればエディターの使い心地が変わるというポイントがありましたら、ぜひこの記事のコメント欄やフォーラムで、Quality of Life チームにお知らせください。

舞台裏をさらに知りたい方へ

この記事は、将来バージョンの Unity に向けた開発に取り組んでいる人たちを紹介し、それらの人々のインスピレーションと開発の原動力に触れる、開発者ダイアリーのシリーズ第 1 回目となる記事です。今後のブログ記事で、特に取り上げてほしいチームや機能分野がある方は、この記事のコメント欄でお知らせください。

2020年10月7日 カテゴリ: テクノロジー | 7 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

取り上げているトピック