Skip to main content

Qt for Android Automotive 6.11 リリース

コメント
このブログは「Qt for Android Automotive 6.11 Released!」の抄訳です。

最新の Qt for Android Automotive 6.11 がリリースされました。これは Qt 6.11 をベースとしています。今回の Qt リリース自体には、特に 3D 機能に関して多くの新機能が追加されています。さっそく見ていきましょう。

Qt for Android Automotiveの新機能

Qt 6.11 for Android Automotiveでは、Serviceモジュールの安定化、Serviceモジュール向けの新しいシンプルな通信機能の導入、およびAndroid Automotive Vehicle Propertiesを使用する開発者の利便性向上に重点が置かれました。

Serviceモジュール

まず、Qt for Android Automotive 6.10でリリースされた2つの機能Serviceモジュール(Rendering as a ServiceおよびSurface Streaming)は、現在本番環境での使用が可能となり、技術プレビュー(TP)のステータスではなくなりました。このモジュールにより、開発者はQtアプリケーションをAndroidサービスとして実行し、そのコンテンツをネイティブのAndroidアプリケーションで使用したり、さらには遅延をほとんど生じさせることなく異なるオペレーティングシステムへストリーミングしたりすることが可能になります。

Rendering as a Service の改善

これより、開発者は QtRaaSApplication 内で QML エンジンの読み込みが正常に完了したか、エラーが発生したかを監視できるようになり、クライアントアプリケーションが読み込み失敗に対応できるようになりました。例えば、最初のフレームが準備できるまでローディング画面を表示したり、クラッシュが発生した場合に対応したりすることが可能です。

Surface Streaming の改善

サーフェスストリーミングには、特定のハードウェア向けにレイテンシを最適化できるよう、QAndroidMediaFormat上で任意のAndroid MediaFormatパラメータを直接設定し、ハードウェアエンコーダの動作を微調整できる機能が追加されました。これにより、開発者はストリーミングのレイテンシと品質をさらに最適化できます。

Serviceモジュールとの通信

サービスとして実行されているQtアプリケーションと通信するため、以前は開発者がAndroidブロードキャスト、JNI、またはRPCに依存する必要があり、不要な複雑さが生じていました。6.11では、QtRaaSApplication内でJavaからQMLルートオブジェクトのプロパティを読み書きできるようになり、ネイティブのAndroidクライアントがQtへの依存なしにQMLアプリケーションの状態とやり取りできるようになりました。getPropertyおよびsetPropertyメソッドに関する最新のドキュメントは、ドキュメントページでご確認いただけます。

Interface Framework

Interface Frameworkに、設定で簡単に有効化できるコントロールパネルという形で新たなアップデートが追加されました。Interface FrameworkにはデフォルトのAndroid車両プロパティ用の事前定義マップが用意されているため、新しいコントロールパネルにはデフォルトのプロパティセットが自動的に表示され、UIの各部分の機能を確認するために簡単にシミュレーションを行うことができます。Android Studioの車両プロパティシミュレーションパネルと比較して、このコントロールパネルははるかに快適でシンプルな操作性を提供し、車両内でカスタム車両プロパティが定義・使用された場合でも柔軟に対応します。

今後数週間以内に、このトピックについて別のブログ記事で詳しく解説する予定ですので、ご期待ください。

UIとグラフィックスの改善

Qt 6.11では、3Dレンダリング機能に多くの新機能が追加され、開発者、テクニカルアーティスト、デザイナーが、車載の組み込みデバイス上で自動車用ユーザーインターフェースの構想を具現化できるようになりました。最も重要な進歩のいくつかを見てみましょう。

新しいリアルタイムレンダリング技術:SSGI、SSR、およびモーションベクトル

Qt 6.10では、光と静的オブジェクトの相互作用を扱う技術であるライトマップベイクの改善が導入されましたが、6.11リリースでは動的な代替手段が導入されました。SSGI(Screen Space Global Illumination)は、画面上の表面で光がどのように反射するかをシミュレートするレンダリング技術であり、ポストプロセッシング効果としてリアルタイムの変化に対応します。ただし、SSGIには一定のパフォーマンスコストが伴うため、リソースに制約のあるターゲットではライトマップベイクを、特にパフォーマンスへの要求がそれほど高くないアプリケーションにおけるリッチな3D UIではSSGIを採用することが推奨されます。

A 3D UI example scene showing SSGI vs lightmap baking in the Qt 6.11 release highlights

 

 

 

 

 

 

 

 

 

 

6.11で新たに追加されたもう1つのリアルタイムレンダリング技術が、Screen Space Reflections (SSR) です。SSGIと同様に画面上に表示されているものを利用しますが、反射をレンダリングするために各ピクセルを「レイマーチング」し、それに応じて反射を計算します。詳細については、Qt Quick 3D におけるライトマップベイクとその他の改善点のブログ記事をご覧ください。新しいサンプルをぜひお試しください。Qtのサンプルライブラリ内のQt Quick 3D - SSGI Lightmapからアクセスできます。

さらに、SceneEnvironmentおよびExtendedSceneEnvironmentタイプを通じて、Qt Quick 3Dは3Dオブジェクトのアンチエイリアスレンダリングのための様々な技術をサポートしています。特に、時間的アンチエイリアシングとモーションブラーは、移動するオブジェクトのギザギザ感を軽減する上で有用です。Qt 6.11では、オブジェクトごとのモーションベクトルの生成機能を追加しました。これにより、計算コストと出力精度の優れたバランスが実現されます。

パーティクル・ウェザーエフェクトの改善

自動車業界のお客様からグラフィックス面で最も要望の多かった機能の一つが、リアルなウェザーエフェクトの追加でした。Qt Quick 3Dは以前からパーティクルエフェクトをサポートしていましたが、エフェクトをよりリアルに見せるために、まだ改善の余地がありました。新たに追加されたトレイルエミッターにより、雪が地面にゆっくりと積もる様子を表現できるようになり、リバースプロパティを使用することで、雨滴が表面に跳ね返る様子を表示することも可能です。

Qt Quick 3Dパーティクルによる雨エフェクト表現のブログ記事で、これらの機能を詳しくご覧ください。

Qt 6.11では、雪のエフェクトに加え、雨のエフェクトもcar-configuratorデモに追加されました。

IESプロファイルを使用したボリュームライト

3Dのリアリティを大幅に向上させる要素として、発光ライトも重要な役割を果たします。Qt 6.11の範囲内で実施された改善点の一つが、ボリュームライト用のブループリントです。これらはシーン内のメイン車両のヘッドライトに使用できるほか、シネマティックな演出が必要なシーン内のあらゆる場所で活用可能です。通常、これらのライトのレンダリングには多大なGPU処理能力が必要ですが、提案されたブループリントは負荷を最小限に抑え、滑らかなシーン、アニメーション、トランジションを実現します。

現時点ではこのソリューションがQtに完全に統合されているわけではありませんが、貧者のボリュメトリック・ライトのブログ記事で詳細を確認でき、まもなく公開予定のデモでもご覧いただけるようになります。

高度なレンダーパスのカスタマイズ

高度な視覚効果、パフォーマンスの最適化、またはカスタム技術の統合が必要なため、デフォルトのレンダリングパイプラインを超える機能を求めるユーザー向けに、Qt Quick 3Dではレンダリングパスをカスタマイズするオプションを提供するようになりました。レイヤーとタグのための新しいAPIにより、レンダリングパイプラインの各部分にどのアイテムを含めるかを指定したり、それらを異なるレンダリングターゲットに割り当てたり、個々のレンダリングパスを制御したりすることが可能になります。既存のマテリアルを使用したり、追加のシェーダーでマテリアルを拡張したり、マテリアルの特定の側面を上書きしたりできます。これらの新しい柔軟性はすべて、QMLから直接利用可能です。

フィードバックのご提供

問題がある場合は、詳細なバグレポートを bugreports.qt.io に送信してください。商用ライセンスにサポートプランが含まれている場合は、テクニカルサポートチームまでご連絡ください。また、Qt Projectのメーリングリストや開発者フォーラムでの議論への参加も歓迎します。

Qt 6.11 リリース計画

Qt 6.11 シリーズへの新しいパッチリリースを継続して行っていきます。目標として、2026年5月に Qt for Android Automotive 6.11.1 をリリースする予定です。

詳細情報

改善点の完全なリストについては、Qt 6.11の新機能およびQt for Android Automotive 6.11の新機能をご覧ください。Qt for Android Automotiveに関する詳細な技術情報については、 Qt for Android Automotive 技術ドキュメントをご確認ください。

コメント

ブログを購読

Qt 6.11 を今すぐ試そう!

最新リリースはこちらからダウンロードできます。 www.qt.io/download

 Qt 6.11 がリリースされました!アプリケーション開発者やデバイス開発者向けに、多くの新機能と改善が追加されています。 

採用情報 

現在、さまざまなポジションで採用を行っています。募集職種はこちら をご覧ください。また、Instagram をフォローして #QtPeople の働き方もぜひチェックしてください。