UE4マーケットプレイスにアセットパックを出品するまでのお話
今回は先日UE4マーケットプレイスに出品した「Bridge Pack」の制作過程についてです。
計画
僕は去年中頃からBlenderとSubstance Painterを用いたアセット制作を始めていたので、出品するものは3Dモデルと決めていました。
どのような種類のモデルを作るかについては、キャラクターの場合はスケルタルメッシュとしてスケルトンの用意が必要になり場合によってはアニメーションの対応も必要になるので現時点ではハードルが高く、それらの作業が必要無いスタティックメッシュと決めました。
UE4ではレベル制作を行う事が多かったので、その経験から背景プロップに焦点を絞りました。
更に、マーケットプレイスでは橋のアセットが少ない点に気付き、橋オンリーのアセットパックを作ってみれば需要があるのではないか、という事で橋のスタティックメッシュを制作することにしました。
制作作業
制作の主な流れは以下になります。
デザイン → プロトタイプモデリング
→インゲームチェック → UV・テクスチャ含めたモデリング
→ インゲームでのセットアップ → 最終チェック
制作は全アセット同時進行ではなく、1つのアセットが終わったら次のアセットへと進めていました。
クオリティを統一するなら同時進行の方が良さそうですが、初めて出品する事もあり、まずは1つアセットを完成させてそのフィードバックで修正していく事にしました。
デザインはまずアセットの方向性から考え、PBR用マテリアルを使用するリアリスティックなアセットとしました。また、広いレベルに配置する際のパフォーマンス・手間・需要等を考えてシンプルでオーソドックスな橋を作る事にしました。
アセットの仕様を統一する為、この時点である程度のスペックも決めました。
テクスチャはPBR用にベースカラー・ノーマルの2枚とAO・ラフネス・メタリックを合成した1枚の合計3枚で構成。タイリングやテクスチャの共有はせずに全てメッシュ固有のテクスチャを作成。マテリアルはテクスチャをそのまま出力する非常にシンプルな構成。メッシュはハイポリにせず1万ポリゴン以下。
これらの仕様は広いレベルにアセットを配置する際のパフォーマンスと、BlenderとSubstance Painterで作業するに当たっての効率の良さを考慮しました。
反面、アセットの汎用性・拡張性に乏しくなっています。これは後々の審査の際にコンテンツの価値として影響する事になります。
プロトタイプモデリングでのメッシュ作成は全体のシルエットが出来上がる程度に留め、インゲームチェックで橋のスケールをチェックしました。自動生成したコリジョンの上をサードパーソンキャラクターで歩き、問題なく通れるかを基準にしました。
上部構造物がある橋の場合、コリジョンの形状によってはキャラクターが入りきらない事があるのでそれをチェックし、問題があればスケールを拡大していました。
上がデザイン段階のBlender上モデル、下はインゲームチェック後にスケールを拡大して再度UE4へインポートしたものです。
両者を見比べてもスケール差があるように見えませんが、前者は高さがキャラクターと同程度で頭が引っかかってしまいました。
橋のスケールを調整したら更にUV・テクスチャ含めたモデリングまで進め、出来上がったメッシュ・テクスチャをインポートしてアセットのインゲームでのセットアップを行います。
マテリアルは非常にシンプルなので特に弄る必要は無く、主にメッシュのプロパティを調整しました。
コリジョンのオートコンベックス・LOD・ライトマップ解像度の調整をしてセットアップは終わりです。
最後にエディタ上でデバッグ用表示を使用してセットアップのミスが無いか最終チェックすれば制作作業は完了です。
提出・審査
ここからは出来上がったアセットを提出する流れになります。
と言っても自分の場合は審査に通る為に何度かアセットを追加で制作したので、実際には制作しながら提出した形になります。
UE4マーケットプレイスでの出品審査には一定のフォーマットがあるので、それらに関しては以下を参考にしました。
Unreal Engine | Marketplace FAQ
この中のガイドラインがスタッフが審査する際の基準となっているので最重要です。
(なお、あくまでガイドラインであり契約に関しては別で掲載されています。Marketplace Distribution Agreement)
提出するにあたってやっておかなければならない事はアセットパックの場合それほど多くは無く、およそ以下の3点でした。
・アセットを置いたレベルの用意(主にOverviewやShowcaseと名付けられる事が多い)
・不要なプラグインの無効化
・リダイレクト修正を行い正しい参照に
不要なプラグインはそもそもどれが不要なのかよくわからなかったので、僕の場合はエディタとメッシュに関連するもの以外をひたすら無効化していきました。
無効化したプラグインの情報は.uprojectファイルに書き込まれているので、一度やってしまえば2回目からはそれをコピペして使い回せます。
なお、最初の審査に通過する為にはその時の最新エンジンバージョンに対応する必要があります。
僕の場合は提出中に4.21から4.22に変わっていましたが、4.21のまま審査を通過しました。
マーケットプレイスが最新バージョンに対応するのに若干時間差があるので、その間なら問題無いかもしれません。
提出するプロジェクトの準備が出来たら、後はマーケットプレイスのPublisher Portalから必要な情報を入力し、提出するだけです。
僕の場合は入力に時間がかかるとタイムアウトしているのかSAVE CHANGESを押しても反映されなかったので、一通り入力してからテキストにコピペし、ページをリロードして再度貼り直していました。
入力情報に関しては言語の指定は無さそうですが、基本的に英語を使った方が良さそうです。
アセットパックの内容物が分かれば機械翻訳程度でも問題無いと思います。
後はここから提出し、審査を待つだけとなります。
今回のBridge Packで最も審査に躓いたのはコンテンツの価値に関する部分でした。
当初は5つの橋とそのバリエーションという形で提出しましたが、これでは不足しているとの事で、最終的には14種類の橋と複数のバリエーションを用意しました。
ここで言うコンテンツの価値とは、アセットを購入する顧客にとっての価値の事です。
詳しくは問い合わせていないのでここは個人の推測になりますが、顧客がアセットをどれだけ幅広く利用出来るかにも左右されると思います。
今回のアセットパックでは個々のアセットに拡張性が少なく、アセット同士を組み合わせて別のものを作る等が出来ないので、その点を考慮するとアセットの数をなるべく用意するべきである、という感じでしょうか。
拡張性を考慮する場合はメッシュをモジュラー型にした上で実際に組み合わせたアセットをBPのアクターとして同梱すればコンテンツの価値としてより認められるかもしれません。
アセットを作る側としてもその方がDCCツール上での制作時間は短くなると思います。
しかし、僕は顧客としてモジュラー型アセットを使った時に配置にひと手間かかるのがあまり好きでは無かったので、今回はあえて非モジュラー型にしました。
なお、コンテンツ不足の判断に関しては基準がEpicの審査チームにあるのでケースバイケースとなりますが、一応聞いてみればある程度は答えてもらえると思います。
どの程度のコンテンツ量が必要なのか検討がつかない内は、ある程度完成したら一度提出して審査の結果を反映するのも有りだと思います。
審査においてその他に引っかかったのは命名規則でした。
メッシュ・マテリアルに関しては命名規則を統一していましたが、テクスチャがそれに沿っていなかったケースです。これは単純なミスですね。
基本的には3Dモデルの場合はメッシュの名前を基準にして命名すれば特に問題無いと思います。ただ長すぎる名前にならないよう注意が必要です。
審査の期間に関してはその時の審査チームの状況によって変わるようですが、今回の提出時の返信では約15-20日とのことでした。これは審査が最後まで行く場合の期間で、コンテンツ不足のような初期に結果が出る場合はもっと早い事もありました。
審査の初期段階を通過すると、更に詳細をチェックするとの事で連絡が届き、しばらく待機していると出品にあたって変更が必要な部分に関して再度連絡が来ました。
ここで命名規則に関して指摘があったので修正して再度提出し、最後の審査を経て出品できる状態となりました。
ちなみに出品できる状態になったと連絡が来るだけで、実際に出品している状態にする(リリースする)のは出品者の任意のタイミングで行います。
反省
今回の最大の反省点は、作るべきアセットの量を事前に予想出来なかった事、及び予想外に多くなる事を想定できなかった点にあります。
初めて出品するので数字の予想が出来ないのは仕方ないですが、思っている以上に多くなる事は想定しておくべきでした。
デザイン案を多めに考えておく、コンテンツ量を増やす為にアセットをモジュラー型の制作に切り替えられるようにしておく等、今思えばやっておけば良かったなと思う事はあります。
作るアセット量が増えた事で必然的に作業期間も長くなり、結果として制作当初と終盤でクオリティの差が出来てしまいました。
ちなみに当初は2018年10月から作業を始め、年内に提出して年明けに出品する予定でした。実際には年明けから追加の制作作業を行い、最後に提出したのは3月、審査が通過して出品したのが4月になりました。
もし次回があるとしたら、アセットはモジュラー型にすると思います。これはUE4のバージョンアップでアクタのマージツールが更新されて使いやすくなっているのもあります。
最後に
今回は非モジュラー型のスタティックメッシュで構成されたアセットパックを出品した例となります。
UE4マーケットプレイスでは他にもアセットパックの例は色々あるので、この記事を参考にする場合はあくまでも一例と言うことでお願いします。
今回の記事は制作過程についてでしたが、今後は出品後のサポート等についても記事を書いていこうと思います。