本記事は、スタジオブロスが提供する3DCG変換サービスで活用している自社ツール等を紹介する特集の第1回目です。
全3回にわたり、各ツールの用途や使い方、さらに一部ツールの内部実装についても解説していきますので、ぜひご覧ください。
変換ツールのご紹介
3DCGデータの変換ワークフローをスムーズに進めるためには、チェックや自動化などのツールの活用が欠かせません。
本記事でもご紹介しているピボットの問題や、テクスチャパスといった細かな調整と修正が必要な場面でも、煩雑な作業をシンプルにするために、弊社では様々な独自ツールを導入しています。
今回は、その中から以下の3つのツールをご紹介いたします。
- 変換プロジェクト作成ツール
- 事前チェックツール
- Unreal Engine(以下、UE)のインポート&レンダリングツール
Mayaでの変換準備、作業
変換プロジェクト作成ツール紹介
変換を始めるにあたって、こちらのツールを使用します。
このツールは、変換するMayaのフォルダを選択すると、変換用のConvertフォルダの作成とレンダリングを自動的に実行します。

変換するフォルダを選択し実行すると、ConvertプロジェクトにMayaデータがコピーされ、レンダリングが始まります。
しばらく待つと、コピーとレンダリングが終わりました。
変換用のConvertフォルダからMayaフォルダの中を見ると、変換するMayaデータ、レンダリング用のライトシーン、前後のレンダリング画像が出力されたoutputフォルダの3点が生成されています。

outputフォルダには前後のレンダリング画像とjsonが出力されました。
一緒に出力されたjsonは、このあとUEへインポートした際に使うカメラ位置などの情報が入っています。
このレンダリングツールは、アセットのバウンディングボックスの大きさ、位置を自動で見つけ、カメラ位置を調整してくれるので、優れものです。
事前チェックツール紹介
さて、次はMayaでの変換手順の紹介になります。
ここでも開発したMaya専用のツールを活用しています。
紹介にあたって、下の画像のようなシーンを用意しました。
これはGroupの下にboxがついているだけの、ごくシンプルなシーンです。

このシーンを確認すると、boxのTransformに-100と、Local Spaceに100が入っていました。
これは、メッシュがzに-100移動して、ピボットがzに100移動することで、結果的に原点にメッシュとピボットがある状態を示しています。
これを、一度このまま変換してみましょう。

すると、Transformの赤枠部分に、先ほどの-100の値が変換されて入ってきました。
しかし、ピボット位置がMayaと変わってしまうため、box右側になっています。
これは、UEはLocal Spaceの値を持つことが出来ないため、メッシュの移動値だけが変換されてしまいピボットがズレてしまうといった症状になっています。

そこで、本変換においてこのような症状に対処するための事前チェックツールを用意しています。
事前チェックツールを実行すると、ピボットに関するエラーが表示されました。

事前チェックツールで修正をかけると、このようにオフセットが整理された綺麗な値になります。

また、このシーンではテクスチャパスが絶対パスになったままのものがありました。
このように、変換の際にエラーとなりうるものをツールを用いてチェック、修正し、変換を進めていきます。
UEでの変換作業
UEのインポート&レンダリングツール紹介
UEでの変換作業に使用する自社ツールの紹介です。
UEでのレンダリングは、社内での変換結果確認用の様々な角度からレンダリングを行ったものと、お客様に提供するMayaとの比較用の前後2枚をレンダリングしています。

Editor Utility Widgetで作成したツールに、Mayaからエクスポートしたファイルをドラッグアンドドロップします。
すると、このツールはMayaでレンダリングした際に出力されたjsonから、カメラの位置などを引っ張ってきてくれます。
この状態でimport→convertの手順を進めるだけで、UEでの変換作業が完了します。

変換を開始すると、ウィンドウ内に現在の状態を表示しながら変換が進みます。
画像のようにRendering…の表示のときは、レンダリング用のシーケンサーの作成、MRQでレンダリングを行っています。

変換がすべて終了するとFinishedと表示されました。
UEでの変換作業は、この2ボタンで基本的には終了です。

変換結果比較
レンダリングされた比較確認用の画像はこのようになります。
AC_groundUnitA
Maya

UE

AC_groundUnitB
Maya

UE

AC_groundUnitC
Maya

UE

今回使用したアセットについて
今回使用したアセットは、モデリングブロスが、Epic Gamesが運営する3Dアセットマーケットプレイス「FAB」にて販売しているエアコン室外機アセットパックです。
こちらのMayaデータを、アセットごとにファイルを分けて変換しました。
終わりに
変換ツールの紹介と変換ワークフローの流れについてご紹介しました。
変換サービスでは、今回紹介したツール以外にも様々な症状に対応するツール類を用意しています。
第2回では、UEにインポートした後の自動でレンダリングを走らせる際にMRQを動かすブループリントについて解説をしていきます。
次回テックブログ更新をお楽しみに!