Unity を検索

Snaps Prototype アセットを ProBuilder でカスタマイズしよう

2019年10月7日 カテゴリ: ゲーム | 17 分 で読めます
取り上げているトピック
シェア

Is this article helpful for you?

Thank you for your feedback!

魅力的なプロジェクトの制作に役立つアセットパック「Snaps」シリーズが先日公開されました。本記事では、Snaps を使用してステージを簡単に素早くレイアウトするメリットと、ゲーム用に Snaps のアセットを修正する方法をご紹介します。

Snaps Prototype アセットとは

Snaps Prototype は、Unity の ProBuilder 3D モデリングパッケージを使用して作成された、モジュール式のプロトタイプ用アセットです。Snaps Prototype アセットは ProGrids システムを使用してグリッドにスナップするように設計され、現実世界のスケールで作成されています。初級から中級者レベルのデザイナーの皆さまに、ゲーム環境のレイアウトをより簡単に行っていただくことができます。これらのプロトタイプアセットは、後から詳細度の高いアートアセットに差し替えることが可能です。

現在、テーマの異なる各種の Snaps アセットパックがアセットストアから公開されています。今後さらに新しいパッケージも追加される予定です。Unity は、あらゆる種類のプロトタイピングをサポートしたいと考えています。

これらのローポリゴンアセットは、プロトタイピングを簡単に行えるようにするために、モジュール式になっています。ニーズに合わせてご自由にお使いください。3D アセットを独自に作成したり、修正のために外部のデジタルコンテンツ制作ツールを使用したりする必要がないので、大幅な時間の節約が可能です。

Snaps のアセットは軽量で、一切のテクスチャーを含みません。その代わりに、メッシュの一部のトポロジーに各種のマテリアルがアサインされています。しかしこれらは UV 展開されているため、必要であれば簡単にテクスチャ―を付けることができます。また、ステージのレイアウトの決定後に Snaps Prototype アセットをご自分の(詳細度の高い)メッシュに差し替えていただくことも可能です。

Snaps パッケージの構造

アセットを実際に使用してみる前に、典型的な Snaps パッケージの構造をご紹介します。

すべての Snaps アセットパックには、ProBuilder および ProGrids パッケージを(これらがすでにプロジェクト内に含まれていない場合に)自動的にダウンロードするスクリプトが含まれています。

すべてのプロトタイプアセットは AssetStoreOriginals フォルダーの中にある、_SNAPS_PrototypingAssets 配下に含まれています。ここには Snaps に関する重要な情報を含む About フォルダーと、アセット一式が入っています。アセットはパッケージ名(ModernOfficeInterior、SciFi_Industrial など)に従って分類されます。

各 Snaps Prototype パッケージには Prefabs フォルダーが含まれ、ここに(そのままシーン内に配置可能な)3D メッシュと、それにアサインされたマテリアルがすべて格納されています。この他に、それぞれのモデルの各領域にアサインされたマテリアルの入った Materials フォルダーと、SampleScenes フォルダーも含まれています。SampleScenes フォルダーには、アセットを環境にレイアウトした例(サンプル)が含まれています。

それでは早速、一から何かを素早く作成してみましょう。

Snaps でプロトタイピングを行う

新しいシーンを作成し、Snaps アセットをステージに配置する方法をご説明します!

現在アセットストアで公開中の 2 種類の Snaps パック「Sci-Fi/Industrial」および「Office」を使用して、未来的な住居のプロトタイピングを行います。これは、後にプロトタイピング用の小道具を独自に開発するに当たってのたたき台としてもお使いいただけます。

Snaps を(ProGrids および ProBuilder と共に)プロジェクトにインポートすると、シーンビューの左上の角に新しい UI が表示されます。この一式のアイコンは ProGrids パッケージの一部で、モデルをスナップさせるために必要なツールがすべてここに揃っています。ツールバーの Grid Visibility アイコンを使うとグリッドの表示をオンにできます。X・Y・Z、およびその下の 3D アイコンでは、グリッドを描画する軸を選択できます(選択した軸に沿ってグリッドが描画されます)。そのすぐ下にはグリッドのスナップを制御するボタンがあります。これがオンになった状態でシーン内のオブジェクトを動かすと、指定したスナップ間隔に従って動きます。必要に応じてスケールと角度のスナップもオンにすることができます。詳細は ProGrids に関するドキュメンテーション(英語)をご参照ください。

それでは、グリッドを使用してみましょう。Sci-Fi/Industrial パックの床タイルのひとつをシーン内にドラッグします。次に Push to Grid ボタンを使用して、この新しいタイルを、設定のスナップ間隔(デフォルト値は 1)でグリッドに合わせます。スナップ機能がオンになっていることを確認した上で、このタイルをシーン内で動かすと、常に 1 ユニット間隔でスナップします。また、タイルのピボットはその角のひとつに設定されているので、常にスナップして他のタイルとつながるようになっています。さらにいくつかのタイルを追加してステージの床をレイアウトしましょう。

壁やドアや階段も、これとほぼ同様に配置できます。小道具をレイアウトする際に、より自由な配置(より細かい間隔での配置調整)を行いたい場合は、スナップ間隔を 1 より小さい値に変更します。また必要に応じて手動で小道具を配置することも可能です。手動で配置する場合は、Unity のデフォルトのスナップツールを使用してサーフェスにスナップさせます。

以上、Snaps が簡単にお使いいただけることをお分かりいただけたと思います。ご自分の新しいゲーム環境のレイアウトをお楽しみください!次に、ProBuilder を使用して Snaps アセットの編集や新規作成を行う方法をご紹介します。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

ステージのレイアウトが完了したら、ローポリゴンのメッシュを高解像度のものに差し替えることも可能です。また、イテレーションをスピードアップさせるためにその逆を行うこともできます。差し替えはこちらのツールをダウンロードしてお使いいただくことで非常に簡単に行えます。

SnapsSnaps Swap Tool からスクリプトにアクセスできます。

スクリプトのオプション内で、Snaps Prototype アセットを含む Prefabs フォルダーを渡すことができます。このスクリプトの場合、プレハブのファイル名が Snaps アセットのファイル名と一致している必要があります。スクリプトをプレハブにポイントすれば、後はワンクリックで、選択したオブジェクト(あるいはシーン内のすべてのオブジェクト)を置き換えることができます。

また、カスタムの Nested Prefab(ネストされたプレハブ)も Snaps Prototype アセットを使って作成できます。スクリプトによって、対応の高解像度プレハブを自動的に生成することができます。

Snaps アセットを ProBuilder で編集する

パックに含まれる小道具のひとつを少し編集したい場合はどうするのでしょうか?別のマテリアルを付けたり、トポロジーを変更したりするのでしょうか?通常は、編集を行うには外部の 3D モデリングパッケージの使用経験が必要です。しかし Snaps アセットは ProBuilder で作成されているので、ProBuilder を使用して小道具の編集や新規作成をエディター内で行うことが可能です。

ProBuilder とは

ProBuilder は 3D モデリングおよびステージ編集用のパッケージで、Unity エディターから直接、完全に無料でご入手いただけます。ProBuilder のインストール手順は本記事の冒頭でご紹介しています。ProBuilder は、幅広い種類の 3D モデリングツールを提供し、プロトタイピングに特に役立ちます。また ProGrids と互換性があるので、精密に配置されたジオメトリが簡単に作成できます。

ProBuilder ツールキットに関する包括的な説明は本記事では省略しますが、詳細なドキュメンテーション(英語)と多数のチュートリアル動画をご提供しています。3D モデリングに関する詳細や Unity で簡単にステージレイアウトを作成する方法を学びたい方に役立つ内容となっていますので、ぜひご活用ください。

既存のメッシュを編集するには、まずそれを ProBuilder で編集可能な形式に変換し戻す必要があります。これを行うには、Object モードでシーン内のメッシュを選択してください。

次に、メニューを Tools → ProBuilder → Object → ProBuilderize の順に選択します。ProBuilder ツールバーが新しくシーンビューの上部に開かれ、メッシュの編集が可能になります。

また、この他の 3D モデリングツールキットにアクセスするために ProBuilder ウィンドウも開く必要があります。メニューを Tools → ProBuilder → ProBuilder Window の順に選択し、ウィンドウをお好みの場所にドックしてください。

新しいマテリアルをアサインする

ProBuilder の機能のひとつに Material Editor があります。これはメインの ProBuilder ツールキットとは別に、Tools → ProBuilder → Editors → Open Material Editor からアクセス可能です。ProBuilder は他にも、通常は 3D モデリングパッケージ内に提供される UV エディターやスムージングエディターなど、便利なツールを多数搭載しています。ここでは、オブジェクトのマテリアルの変更に的を絞ってご説明します。

今回は未来的なビジュアルにしたいので、Office パックのアセットのカラースキームはあまり適していません。変更してみましょう。まず、小道具のひとつを「ProBuilderize」します(つまり、ProBuilder で編集可能な状態にします)。ここでは机を選びましょう。Material Editor をご覧ください。Material Editor では、既存のマテリアルを選択し、それをオブジェクト全体あるいは選択したポリゴンにアサインすることができます。また、特定のマテリアルをホットキーにアサインすることも可能です。

マットな白いマテリアルを机の天板に、黒いメタリックなマテリアルを机の脚用に、簡単に作成してみましょう。この両方をそれぞれ異なるホットキーにアサインします。次に、シーンビュー上部のツールバーにあるアイコンを選択して ProBuilder の Face モードに切り替えます。

Shift キーを押しながら天板全体を囲んで、天板のすべての面を選択します。次に「Assign Material」あるいは設定されたキーの組み合わせを押してください。次に机の脚のすべての面に、メタリックマテリアルで同じことを行います。

コンピューターの画面にエミッシブマテリアルを追加したり、元々コンピューターの画面にアサインされているマテリアルを単純に変更したりすることもできます。

以上、ProBuilder を使って Snaps のマテリアルを非常に簡単に再アサインできることがお分かりいただけたと思います。Unity ユーザーが公開しているこちらの動画(英語)では、ゲーム用の単純な小道具 2 種類(木箱と樽)を作成しながら、既存の UV と UV エディターを使用してメッシュにテクスチャ―をマッピングする方法を順を追って説明していますので、参考にしてみてください。

メッシュを編集する

ステージ内にある特定のメッシュのジオメトリを変更したい場合はどうするのでしょうか。現在このステージには事務用椅子が 1 つありますが、あまり未来的ではありません。これを格好いいゲーミングチェアに変える方法を見て行きましょう。

参考資料を見たりしながらどんな見た目にするか考え、作りたいオブジェクトの大体の形が定まったら、まずは簡単な所から開始しましょう ― ヘッドレストは丸みのあるものにしたいので、椅子の背を現状よりずっと高くする必要があります。また、背もたれの、ヘッドレストのクッション部付近に 2 つの穴が必要です。背もたれの左右はウィング状に広げ、下部は座面まで伸ばします。

まず大まかな形状の編集から始めましょう。Face モードに切り替えて、背もたれの最上部と最下部のポリゴンを選択します。続いてスケールツールに切り替え、Y 軸方向にスケールアップ(伸長)させます。これにより最上部と最下部のポリゴンの距離が離れます。次に、移動ツールを使用して各面を個別に微調整します。

[ヒント]ProBuilder では、スケール・移動・回転ツールの操作がどの軸に沿って行われるかは「トランスフォームモードが Local と Global のどちらになっているか」および「ハンドルが、選択範囲の Center(中央)に設定されているか、あるいは最後に選択された要素(面やエッジ)の Pivot(ピボット)に設定されているか」によって変わります。基本的には、軸が選択中オブジェクトの法線に局所的にマッチするようにトランスフォームモードを Local にしておき、選択されたすべてのオブジェクトにツールの影響が左右対称に及ぼされるようにするために、ツールハンドルの位置は選択範囲の Center(中央)に設定することをお勧めします。

ここで、椅子の上部をご覧ください。理想的なヘッドレストの形を作るのに十分な詳細がないことにお気付きでしょうか。これを修正するために、Edge モードに切り替え、Insert Edge Loop ツールを使用して椅子の上部に沿って新しいエッジループを 2 つ追加します。次にこの 2 つの新しいエッジを背もたれ上部で選択し、これらを上方に引っ張ると、より丸みのある形状が出来上がります。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

次に椅子の左右両側の修正に移りましょう。外側のエッジの 2 つを選択し、それらの距離を離すようにスケーリングします。ここでも、椅子に丸みを出すために新しいエッジループをいくつか追加する必要があります。また、ウィングも少し前方に引っ張る必要があります。

ここで、背もたれに穴を空けましょう。いくつかの新しいツールを使用します。既存のクアッドジオメトリの一部を複数の三角形に分割し、三角形になった面を削除して、その結果空いた隙間のアウトラインを新しいポリゴンで「橋渡し」してつなぎます。

まず、背もたれ中央部のジオメトリの一部を上方に引っ張る必要があります。その次に、(互いに斜めに位置する)4 つの面を椅子の前面・背面の両方で選択し、ProBuilder パネルで「Triangulate Faces」を押すと、面が三角形に分割されます。

分割結果を確認すると、新しく出来た三角形のいくつかが間違った方向を向いています。これを修正するには、分割操作を取り消して、間違った向きの三角形を形成してしまう面の選択を解除した上で、背もたれの片側のメッシュのみに再び分割操作を行います。次に反対側のポリゴンに Flip Face Edge ツールを使用し、こちら側も分割します。これで、エッジが正しくフリップされました。

新しく作られた三角形を選択し、「Delete Faces」を使用して穴を形成します。これが完了したら Edge モードに切り替え、このメッシュの穴を編集します。背もたれの前面・後面の対になった面同士を選択して Bridge Edges ツールを使用します。

Smoothing Editor を使用する

ProBuilder のスムージングエディターについて先ほど触れました。これを使用して、椅子のメッシュの角を少し滑らかにすることができます。スムージングエディターは Tools → ProBuilder → Editors → Open Smoothing Editor からアクセス可能です。

Face モードで、オブジェクトを囲むように選択ボックスをドラッグして全体を選択し、Smoothing Editor ウィンドウの「Clear Smoothing Groups」ボタンを押すと、椅子に設定されているすべてのスムージンググループを解除できます(「Select Hidden」が On になっている必要があります)。

それでは、滑らかにしたい部分に関して、スムージングを行います。まず、背もたれのすべての面を選択した上で、エディターに表示されている数字のどれかを押すと、選択されたすべての面が同じスムージンググループに追加されます。この操作は(角を無くしたい)背もたれ自体には行って問題ありませんが、背もたれの背面下部にある金属部分は選択しないように注意してください。

座面にも同じ操作が行えます。背もたれの面と座面の面は隣接していないので、同じスムージンググループを使用できます。

また、シリンダーや脚など、モデルの中で見た目を滑らかにしたい他の部分にもスムージンググループを追加すると良いでしょう。角を保持したい箇所に関しては、隣接している両側に同じスムージンググループをアサインしないように注意してください。

これで完成です。元々の事務用椅子と、完成した美しいゲーミングチェアを並べてご覧ください。

ProBuilder でカスタムアセットを作成する

以上、Snaps の使用方法と ProBuilder での編集方法をおおまかにご説明しました。次に、これらのパッケージを使用して独自の小道具を作成する方法をご紹介します。

ドアの制御盤のような機能を持った、不思議な形の小さな小道具を作成してみましょう。

まず始めに ProBuilder でプリミティブを作成します。New Shape ツールを選択し、ツール名の隣にある「+」アイコンを押して設定ウィンドウを開いてください。新規作成するシェイプのサイズとタイプの指定が行えるダイアログボックスが開かれます。

この設定は、「すべての Snaps アセットは現実世界のスケールを考慮して作成されている」ということを念頭に置いて行ってください。つまり、例えば平均的なヒトの身長と比べてどの程度の大きさのオブジェクトか、という風に考えると良いでしょう。ここでは、サイズとタイプを以下のように設定しました。

設定が完了したら、まず、このオブジェクトをスナップ可能な状態にします。これを行うには、オブジェクトの底と中央にピボットポイントを設定します。これにより、オブジェクトが常にグリッドにスナップするようになります。床や壁のタイルを作成する場合は、角の頂点のひとつにピボットを設定すると良いでしょう。

これは ProBuilder に搭載されている Set Pivot ツールを使って簡単に行えます。このツールはピボットを現在の選択範囲の中央点に配置します。先ほど作成した新しいメッシュの底面を選択すると、選択ハンドルがその中央に配置されます。この状態で「Set Pivot」を押せば、ピボットがオブジェクトの底面の中央に設定されます。

それでは、オブジェクトの形状の編集を開始しましょう。まずオブジェクトにマテリアルをアサインし、(この小道具は上に向かってすぼまる形状にしたいので)メッシュの上面を中心に向かってスケールダウン(縮小)させます。次に Extrude Faces ツールを使用していくつかの新しいジオメトリを上部に追加し、これもまた中心に向かって縮小させます。

[ヒント]モデリングに ProGrids のスナップ機能がまだ使用できることをご存知でしたか?この機能をオンにすると、土台部のメッシュの上面と同じ高さに新しく凸状に押し出された面を配置することができます。

次に、土台部上面の外側のエッジループを選択し、それを Move ツールで少し下方に引き下げます。

上面を再度押し上げると、オブジェクトのベースとなる形状が完成しました。

この小道具に、発光する嵌め込み装飾を施すのも良いかもしれません。早速これを追加してみましょう。まず、メッシュの片側に 2 つのエッジループを追加します。続いてさらに 4 つ追加します。(以下のように、両方の新しいループの両側に 1 つずつ追加します。)

次に、外側で 2 つのエッジループを選択して中心に向かって縮小し、同じことをもう一方の側でも行います。続いてエッジループの内側のすべての面を選択し、Extrude メニュー内で Face Normal(Thickness を -0.01 に設定)を使用してこれを押し出します。これで嵌め込み線が綺麗にメッシュに追加されました。さらにエミッシブマテリアルを新規に作成し、これを嵌め込み線にアサインすると、以下のような結果になります。

小道具の上部がまだ少し味気ないので、これを改良しましょう。上面の外側の頂点を下方に引き下げることにしますが、その前に Connect Vertices ツールでいくつか補助的なエッジを追加して、頂点を引き下げた時に各クアッドが適切に三角形になるようにしておきます。これを行った上で 外側の 4 つの頂点を選択して Move ツールでその位置を下げます。

なかなかいい感じです!ここでさらに、メッシュの上に浮遊物体を追加してみましょう。現在メッシュの上面にある 4 つの三角面を選択して「Detach Faces」を押します。これにより新しい ProBuilder メッシュが作成されますが、古い方に穴が形成されます。これを修正するには、古いメッシュに戻り、欠落した面の周囲のエッジを選択して Fill Hole ツールを使用します。

次に、分離した新しいメッシュを上方に移動させて 90 度回転させます。この要素は宙に浮いていますが、同じメッシュの一部として維持したいので、各メッシュを Shift キーで選択し、Merge Objects ツールで結合させます。

最後の仕上げをしましょう。新しいメッシュから更に 2 回押し出しを行って、ここにもエミッシブマテリアルをアサインします。

扉の脇に、このような小道具が完成しました。

自由に創作を楽しもう

以上、本ガイドが皆様のお役に立てば、大変嬉しく思います。

Snaps Prototype およびその他の Snaps パックについての詳細は、こちらをご覧ください。

2019年10月7日 カテゴリ: ゲーム | 17 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

取り上げているトピック