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

#はじめに

一ヶ月前から [tQCS](http://qt5.jp/left-the-qt-company.html) という、[KDAB社
](https://www.kdab.com/) のアジア地域の総代理店で働いている @task_jp です。

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Thanks for attending the <a href="https://twitter.com/hashtag/Embedded?src=hash&amp;ref_src=twsrc%5Etfw">#Embedded</a> <a href="https://twitter.com/hashtag/Technology?src=hash&amp;ref_src=twsrc%5Etfw">#Technology</a> &amp; <a href="https://twitter.com/hashtag/IoT?src=hash&amp;ref_src=twsrc%5Etfw">#IoT</a> events 2018, we had a blast!<a href="https://twitter.com/hashtag/qt3d?src=hash&amp;ref_src=twsrc%5Etfw">#qt3d</a> <a href="https://twitter.com/hashtag/qtdev?src=hash&amp;ref_src=twsrc%5Etfw">#qtdev</a> <a href="https://twitter.com/hashtag/ET2018?src=hash&amp;ref_src=twsrc%5Etfw">#ET2018</a> <a href="https://twitter.com/hashtag/Japan?src=hash&amp;ref_src=twsrc%5Etfw">#Japan</a> <a href="https://twitter.com/hashtag/Yokohama?src=hash&amp;ref_src=twsrc%5Etfw">#Yokohama</a> <a href="https://t.co/xHsPgK5Kcr">pic.twitter.com/xHsPgK5Kcr</a></p>&mdash; KDAB (@KDABQt) <a href="https://twitter.com/KDABQt/status/1063432670837972992?ref_src=twsrc%5Etfw">November 16, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


KDAB は長年 Qt のパートナーとしてヨーロッパを中心に活躍している企業で、[Qt3D](https://doc.qt.io/qt-5/qt3d-index.html) の開発を行ったり、[Qt for Android の開発者が在籍していたり](https://www.kdab.com/qt-on-android-episode-1/) 、Qt/C++/OpenGL 周りの一流のエンジニアが多数在籍している会社です。

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

> [Qt Project Statistics](https://www.macieira.org/blog/qt-stats/) の「Activity per employer for the past 16 weeks (excluding The Qt Company) 」のグラフ
> ![Activity per employer for the past 16 weeks (excluding The Qt Company)](https://qiita-image-store.s3.amazonaws.com/0/13867/f1a82951-c9ae-c71d-e1b8-5534363fe322.png)

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

# Kuesa とは？

[blender](https://www.blender.org/)、[3ds Max®](https://www.autodesk.co.jp/products/3ds-max/overview) といった 3DCG ソフトで作成したシーンを Qt3D 上で再現するためのソリューションです。

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

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

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

> How to prepare Qt 3D assets for Kuesa with 3ds Max®
> [![How to prepare Qt 3D assets for Kuesa with 3ds Max®](http://img.youtube.com/vi/6W3gMEk_PbE/0.jpg)](http://www.youtube.com/watch?v=6W3gMEk_PbE)
> How to create a fully interactive 3D app with Kuesa
> [![How to create a fully interactive 3D app with Kuesa](http://img.youtube.com/vi/dIdrQMkGVPI/0.jpg)](http://www.youtube.com/watch?v=dIdrQMkGVPI)

普通に簡単すぎて、これが何がすごいの？という感じです。~~[Qt 3D Studio](https://doc.qt.io/qt3dstudio/getting-started.html) とはなんだったのか~~

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

現時点で [Windows用のバイナリ](https://downloads.kdab.com/kdab/kuesa/kuesa-car-scene.zip)、[macOS用のdmgパッケージ](https://downloads.kdab.com/kdab/kuesa/kuesa-car-scene.dmg)、[Android用のapkパッケージ](https://downloads.kdab.com/kdab/kuesa/kuesa-car-scene.apk) が提供されています。これらを試せる方は、ダウンロードをして、デモアプリを実際に動かしてみましょう。

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

## Kuesa のインストール

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

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

```
$ git clone git@github.com: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
```

![car-scene](https://qiita-image-store.s3.amazonaws.com/0/13867/c483dd24-dbd2-d8a7-dfce-af61ebe98625.png)


# 終わりに

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

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

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

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