KDAB が Kuesa という3Dのソフトウェアをリリースしました


はじめに

一ヶ月前から tQCS という、KDAB社
のアジア地域の総代理店で働いている @task_jp です。

KDAB は長年 Qt のパートナーとしてヨーロッパを中心に活躍している企業で、Qt3D の開発を行ったり、Qt for Android の開発者が在籍していたり 、Qt/C++/OpenGL 周りの一流のエンジニアが多数在籍している会社です。

また、Qt の開発では、The Qt Company に次ぐ貢献をしてきた会社です。

Qt Project Statistics の「Activity per employer for the past 16 weeks (excluding The Qt Company) 」のグラフ

で、とても良い縁に恵まれ、そこのサービスや製品を日本で売るわけになったので、最近 KDAB がリリースした Kuesa (公式サイト) というソリューションを紹介したいと思います。

Kuesa とは?

blender3ds Max® といった 3DCG ソフトで作成したシーンを Qt3D 上で再現するためのソリューションです。

  • blender, 3ds Max のプラグインを利用して glTF2 形式でデータをエクスポート
  • そのデータをインポートしアクセスするための QML エレメントを利用し、Qt3D 上にシーンを構築
  • 色を変えたり、定義済みのアニメーションを再生したりできる

というワークフローで、デザイナーが作ったものをそのまま開発者が扱えるという素晴らしいソリューションです。
PBR をベースにしているため、デザイナー側の見た目とプログラマー側の見た目が完全に一致します。

百聞は一見に如かず。以下の2つの動画を見ると、実際の作業がお分りいただけます。

How to prepare Qt 3D assets for Kuesa with 3ds Max®
How to prepare Qt 3D assets for Kuesa with 3ds Max®
How to create a fully interactive 3D app with Kuesa
How to create a fully interactive 3D app with Kuesa

普通に簡単すぎて、これが何がすごいの?という感じです。Qt 3D Studio とはなんだったのか

デモアプリを試してみよう

現時点で Windows用のバイナリmacOS用のdmgパッケージAndroid用のapkパッケージ が提供されています。これらを試せる方は、ダウンロードをして、デモアプリを実際に動かしてみましょう。

自分でビルドをしてみよう

Kuesa のインストール

ソースコードは https://github.com/KDAB/kuesa で公開されています。

ビルドには、Qt 5.12 以降が必要です。Kuesa は一般的な Qt のモジュール形式になっているため、以下ように普通にビルドをし、インストールをすることで、Qt/Quick のモジュールとして利用可能になります。

$ git clone [email protected]:KDAB/kuesa.git
$ mkdir build
$ cd build
$ qmake -r ../kuesa
$ make
$ make install

サンプルの実行

Linux

$ ./examples/kuesa/kuesa/car-scene/car-scene

macOS

$ open ./examples/kuesa/kuesa/car-scene/car-scene.app

終わりに

この Kuesa により、デザイナーがデザイナーのツールで作った3Dのシーンを、プログラマーが簡単にプログラムに取り込むことができるようになりました。
パラメーター(色など)の変更や、アニメーションの再生にも対応していますので、これさえあれば格好のいい3Dの世界の開発も効率よく行えるでしょう。

組み込み製品でのパフォーマンスが気になるところですが、KDAB社がカスタマイズや最適化のサービスも提供しているとのことですので、お困りの際には相談してみてはいかがでしょうか。

新しいソリューションのため、不安定だったり不具合があったりしますが、今後改善されていくとのことでご期待ください。

明日は @Atsushi4 さんのターンです。お楽しみに!