Search Unity

Unity 2019.3 でも、ご要望の多かった Terrain(地形)に穴を作成する機能をはじめとする、Unity の地形作成システムに関する期待の新機能が次々登場しています。

新しい Paint Holes ブラシツールを使えば、地形タイルのメッシュ内の領域をマスクで除外したり、それらのマスクをコードを使用して操作したりできます。これにより、ProBuilder、ProGrids、Polybrush などのエディター内蔵ツールを利用して穴、入り口、洞窟のような特徴のある地形を追加する作業が、これまでよりも簡単になります。それでは、このプロセスを使用してシンプルな洞窟を作成する方法を見ていきましょう。

地形タイルのセットアップとカスタマイズ

新しい地形タイルをシーンに配置して、山の形状をおおまかに作成します。最新の Terrain Tools プレビューパッケージをまだ試したことがない方は、こちらのすばらしい紹介記事とあわせて、地形マテリアルのペイントに関するガイドを参照してください。

Paint Holes ツールを使用して洞窟の入口をマスクで除外する

Terrain Tools のドロップダウンメニューで Paint Holes ブラシを選択します。地形タイルを選択したまま、インスペクターでブラシの形状を選択し、ブラシの不透明度が 100 に設定されていることを確認します。洞窟の入り口を配置する予定の場所に丸い形状をペイントします。

ProBuilder を使ってベースとなる洞窟の形状を作成する

ProBuilder と Polybrush はシンプルな 3D モデリング用のエディター内蔵ツールで、ベースとなる洞窟を作成するために使用できます。どちらのツールも、パッケージマネージャーを通じて簡単にプロジェクトに追加できます。両方ともインストールしたら、ProBuilder で洞窟を作成する作業に着手しましょう。

このツールを開くには、「Tools」>「ProBuilder」>「ProBuilder Window」の順に移動します。「ProBuilder」メニューを使用して新しい ProBuilder の形状を作成し、「Pipe」プリセットを選択します。パイプのどちらの端を洞窟の入口に使用するかを決めます。パイプの半径より少しだけ大きな平面の形状を新たに作成して、これを使って洞窟の入り口とは反対側に蓋をします。ProBuilder で両方のオブジェクトを選択してマージし、1 つのゲームオブジェクトを作成します。ProBuilder の面選択ツールを使って、平面で洞窟の淵からはみ出ている余分な面を削除します。地形の穴の半径に合わせてオブジェクトを拡大/縮小して、適切な位置に動かします。

地形の穴に合わせて洞窟のメッシュをスカルプトする

Polyblush を使用して、洞窟の入り口に沿って頂点の位置を地形の穴とぴったり合うように調整します。また、Polybrush を洞窟の長さ方向に沿って使用して、バリエーションを加えてより自然環境らしく見えるようにすることもできます。

地形に洞窟が完成しました

お疲れさまでした。これで地形を一味違うものにする方法がわかったはずです。外部ツールでモデリングしたい方は、お好きな 3D モデリングプログラムを使って洞窟のメッシュを作成し、それを Unity の統合型デジタルコンテンツ制作ツールを使ってインポートすることも可能です。岩やライティングでさらに洞窟を装飾するのをお忘れなく!

凝った地形の作成方法の詳細については、Paint Holes に関するドキュメントSIGGRAPH 2019 の地形に関するワークショップをご覧ください。「地形の作成」をお楽しみください!

11 replies on “Unity 2019.3 の Terrain Paint Holes の詳細”

Seems like there would be an option in Probuilder to create a mesh (from a volume around a Terrain Hole) that snaps to the edges and position of a Terrain Hole so that I can have a proper mesh to send to my external DCC (say, Blender or Zbrush) for sculpting.

I think the mandatory “lip” around the edge of a cave looks like garbage and makes this overall workflow suck. :(

Not the best example but it is basic – seems to follow the PhysX option of having terrain tiles which are hidden/non-collidable. Not even diagonal edges. Better than nothing!

And the holes in general look terrible.

I am hoping there are some nicer examples because it looks no better than plugging in a seperate mesh with seperate UVs.

Not really seeing what this does to benefit either aesthetics or workflow.

The key part of this update is more that you can now actually add holes to terrain, which affects which terrain triangles are rendered and how the terrain collision mesh works (Including affecting navmeshes). Actually adding art assets within and around a hole that fit thematically are an exercise for artists and level designers, but at least now you don’t have to add a really hacky solution to allow a player and NPCs to actually walk into a cave rather than slide up and over the entrance.

That workflow looks terrible!! — And the results… terrible too… :'(

Sorry, but why not just give us a way to take the terrain out of Unity quickly and bring back in the resulting mesh we sculpted from Blender?? — We can sculpt caves from the Terrain mesh with Blender to our heart’s content, then bring that mesh (minus the terrain part) back in with some vertex-colors to represent the location of our material textures, and then BOOM, you got Terrain Holes + Caves AND Overhangs.

Until then… YO HOBBYISTS!!! — You’ve got another overly awkward workflow now! — A word to the wise: You might as well just stick with mesh-based terrains for the foreseeable! — You will waste less of your life this way… :(

nice tool !i cant wait to more :) .I havea a question .In the future can the tool attach a collider or a mesh in the hand or foot of any caracter to make a real time deformation terrain with de impact and to use whatever the people want?

Cool:) I’m using procedurally generated terrains. Can i generate a hole at runtime maybe by intersecting terrain with a dungeon door and hallway? And/or is there any API available for this yet/planned?

Comments are closed.