アセット触ってみたシリーズ:レベルデザインを楽しく!「ProCore」ProBuilder編

※Unity Asset Storeチーム注;
本アセットは2018年2月15日付で、Unityへの統合を前提として無償化されました。
文中のアセット名やスクリーンショットは執筆時点のまま残していますが、リンク先URLは無償化された後のURLに差し替えました。
みなさんは、ゲーム開発で背景素材やステージ開発を行う際、どんなワークフローで作っていますか?
アセットストアには素敵なアーティストが作った背景素材がたくさんありますから、それを活用してもいいですし、モデリングツールで自作するのも楽しいかと思います。
さて、そうしてステージ背景用の3Dデータを作ってゲームに入れてみたとき、思ったようにアクションのギミックとかみ合わなかったり、のちのレベルデザイン作業でカットしたり、あるいは追加しなくてはならない必要が出ることがあります。
ある程度の規模の3Dゲーム開発では、アーティストが本番用のステージ素材を作る前に、「グレーボクシング」と呼ばれる段階を挟みます。
ざっくりしたステージ形状の素材を用意して、その上でステージの進行やアクションのギミックを確認し、その後本番データの制作にとりかかるものです。少し前にTwitterでは、大作ゲームにおけるグレーボクシング段階のテスト映像が「#blocktober」というハッシュタグで共有されるちょっとしたブームがありました。(リンク)
しかしながら、個人や小規模での開発においては、こうしたテスト用の素材を作るのにも一苦労です。Unityの標準機能でcubeやSphereを組み合わせてやっていくこともできますが、できれば完成版ゲームに近い形状でテストしていきたいですよね。
そこで!今回はUnityでのレベルデザインを効率化する「ProCore Complete Bundle」を使って、この問題を解決してみましょう!
https://www.assetstore.unity3d.com/jp/#!/content/111418
「ProCore」とは?
ProCoreはレベルデザインに関するエディタ拡張をまとめたツール群の名称です。開発元はその名もずばり「ProCore3D」社です。
http://www.procore3d.com/
こちらは2012年からUnity向けのアセットを提供している「老舗」です。
いくつかのセットが存在しますが、「ProCore Complete Bundle」には6つのツールが含まれています。
- ProBuilder
- ProGrids
- ProGroups
- QuickDecals
- QuickEdit
- QuickBrush
今回はこのうち「ProBuilder」について解説します。「ProBuilder」を使うと、グレーボクシングに必要な形状のほとんどをUntiy Editor内で作ることができるようになります。
オブジェクトを生成する手順
アセットをインポートすると、Tools -> ProCoreから専用のウインドウを開くことができます。
メニューの中から一番左上の「New Shape」を選択すると、新規のキューブが作成されます。
同時に「Shape Tool」という小さなメニューも出現します。ここから、基本的な図形を選択してきます。
ProBuilderにはデフォルト設定として様々な形状を収録しており、星形、三角、コーン計上などに加えて、ドアやアーチなどで利用する形状もプリセットとして含まれています。
つまり、このツールだけで簡単なグレーボクシングができてしまうということです。
おおもとになる形状を選んだら「Build **」をクリックすると、シーン内に形状が生成されます。
豊富なプリセットオブジェクトと強力なエディタ内モデリング機能
通常のUnity標準3Dオブジェクトと異なり、これらの形状は面を選択して引き延ばすことができます。
オブジェクトの上に表示されている4つのアイコンで、操作モードを切り替えることができます。
加えて面ごとに色を変えたり、面の向き(法線)を変更したりすることも可能です。
特に便利なのが階段生成機能です。階段の高さ、幅、奥行き、ステップ数などを細かく指定してバリエーションを簡単に作り出すことができます。
これは非常に便利です。ステージ検証用の仮素材と言わず、加工すれば本番利用もできそうなポテンシャルがあります。
また、これら基本図形を加工して形状を作っていくアプローチのほか、新規に生成する「New Poly Shape」という方法もあります。
はじめに断面図となる2Dの形状を作り、それをY方向に引き延ばすことで新規の形状が生成されます。比較的シンプルな構造物なら、このツールと階段プリセットでどんどん作れてしまいそうです。
これらのツールで作成した形状は、調整が終わったら「Trianglate」ボタンをクリックするだけで三角形にキレイに分割してくれます。そのほか、鏡面オブジェクトを生成する機能や、ポリゴンを分割して細分化(subdivide)させることもボタン一発できます。
UVエディタ内蔵!
さきほど「階段は本番利用できそう」と書きましたが、その際に必要になるのはテクスチャの用意と適用です。ProBuilderにはさすがにテクスチャ素材までは含まれていませんが、Unityからオブジェクトをエクスポートする必要なく、ツール内部でUVの設定ができるようになっています。
また、ProBuilderにはUnityのシーン内で作成したオブジェクトをobjファイルとして出力する機能を備えています。Unityの中で作ったステージデータの素体を、本番モデルを作る際の下書きとして使うことができます。試しに階段のデータをobj出力してメタセコイアで開いてみました。テクスチャのUVもばっちり引き継げています。
Entity Typeでオブジェクトの種類を管理
ProBuilderには、生成したオブジェクトに属性をつけて管理する機能があります。
オブジェクトを選択した状態でProBuilderのメニューから「Set Detail」ボタンを選ぶと、そのオブジェクトは背景素材としての扱いになります。「Set Mover」を押すと、移動可能なオブジェクトになります。
Unityの基本機能として、オブジェクトを静的なもの(static)に指定することで、段階で「Static Batching」が適用され、描画負荷を抑えることができます。
ProBuilderで生成した3Dオブジェクトも同様ですが、「Set Detail」ボタンを押すだけで、staticの指定とライトやナビゲーション関連の設定も自動的に行ってくれます。
加えて、「イベントなどのトリガーセンサー」「コリジョンのみの見えない壁」「オクルージョンカリングで視界を遮る判定オブジェクト」といった指定もできます。ProBuilderメニューのボタンから指定できるほか、「Occluder」指定に関してはオブジェクトを選択したうえで、ヒエラルキーの「PB_Entity」スクリプトのEntity Typeドロップダウンメニューから指定できます。
Triggerを選択するとシーン上では透明になります。
何かギミックのトリガーでcubeだけでは管理し辛いあたり判定なども、すぐに作ることができます。
まとめ
「グレーボクシング」の手法はアーティストの人数が多い中~大規模ゲームはもちろんのこと、数人や個人のゲームにおいても、ゲームのために作るモデルデータがムダにならないように、あらかじめギミックをテストできるようになっておくと効率的かと思います。
「ProCore」に内蔵されている「ProBuilder」を活用することで、仮素材のステージをUnity Editor内だけで完結して行えるほか、モデリングツールで作りづらい階段などの素材も生成できてしまいます。ゲームジャムにも適していそうです。
ProBuilderの利用規約として「本番用データに使ってはいけない」というものはありませんから、ミニマムなデザインのゲームなら、そのまま本番ゲームで使うこともできるでしょう。ProBuilderの利用事例ゲームには「SUPERHOT」がありますが、おそらくこのタイトルでは多くの箇所をProBuilderで作っているものと思われます。
「SUPERHOT」
https://youtu.be/OaXv7J-kvjo
レベルエディター兼デザイナーの方や、モデリングをする前にゲームシステム側で検証をしっかりやりたい方にとても適したアセットです。ぜひご検討ください。
https://www.assetstore.unity3d.com/jp/#!/content/111418
この記事を書いた人
一條貴彰株式会社ヘッドハイ 代表取締役
ゲーム作家・Game DevRel。小規模ゲーム開発者がもっと活躍できる世の中作りを目指して、ゲーム開発ツール・サービス専門のDeveloper Relation事業を行っています。ゲーム作家としての代表作は『Back in 1995』(Steam)。