Unity を検索

Unity 2019.2 で新しくなった Terrain Tools を使ってテレインマテリアルのペイントをスピードアップ

2019年8月15日 カテゴリ: Engine & platform | 6 分 で読めます
取り上げているトピック
シェア

Is this article helpful for you?

Thank you for your feedback!

皆さまからのフィードバックを受けて、テレインマテリアルのペイント機能に新たな強化をいくつか実施しました。Unity 2019.2 向けの Terrain Tools パッケージを使うと、今までよりも少ない手間で複雑なテレインをペイントできます。ワークフローの時間をスピードアップできるよう、UI も変更されています。

今回のパッケージ更新によって、テレイン上のマテリアルをペイントする作業が快適になります。今回の更新では、Brush Mask Filters 機能が新しく追加されました。また、Paint Texture ツールが見直されたほか、Terrain Toolbox ワークフローに改善が加えられました。

Brush Mask Filters

おそらく Brush Mask はすでによくご存じでしょう。単一チャンネルのテクスチャを使用して、作業しているテレイン領域の形状と強度を定義するテレインブラシです。グレイスケールのマスク出力を調整するには、「Radius Scale」、「Falloff」、「Remap」など、他のブラシ機能を変更します。

Brush Mask Filters は、テレインブラシの素晴らしい追加機能です。これらのフィルターを使うと、Brush Mask の最終的な出力を計算する前に、ブラシに追加の演算が加えられます。

たとえば、Add フィルターを、入力値を 5 に設定して使用する場合、スカルプティング領域の高さが増加します。これは、Brush Mask の各ピクセルに 5 を加算したからです。

Brush Mask Filters には 2 つのカテゴリがあります。1 つ目のカテゴリには数学演算フィルターが含まれます。これらのフィルターは、テクスチャーを操作するノードベースの編集ツールでよく見られます。2 つ目のカテゴリは、テレインベースの演算で構成されます。

テレインベースのフィルターには、特定の地形を分離するのに役立つ一連の演算が含まれている場合があります。たとえば、Height フィルターでは、高さの最小値と最大値を指定することで、一定範囲の高さにあるテレインを分離します。Concavity フィルターは、露出しているテレインの裂け目を識別するのに役立つほか、くぼんでいる面を検出するオプションもあります。このパッケージリリースでは、15 個のフィルターが用意されています。

数学演算

  • Abs
  • Add
  • Clamp
  • Complement
  • Max
  • Min
  • Multiply
  • Negate
  • Noise
  • Power
  • Remap

テレインベース

  • Aspect
  • Concavity
  • Height
  • Slope

フィルターは Brush Mask Filters スタックに簡単に追加でき、複数のフィルターを組み合わせることでさまざまな結果を実現できます。この新機能はすべてのテレインブラシで利用できます。

Unity では、上から下の順に演算を実行します。Brush Mask Filters をさまざまな組み合わせで使用することで、ブログ記事の後半で紹介するテレインテクスチャのような、非常に面白く、魅力的な結果を生み出すことができます。

Brush Mask Filters を組み合わせる

複数の Brush Mask Filters を組み合わせて、ニーズに合った複雑なブラシを作成できます。

手順は、動画で示されているとおりです。

  1. 砕石の堆積した斜面:Height フィルターを追加して、河床など、水で覆う平坦な領域をマスクします。
  2. 砂:Height フィルターを調整して河岸をマスクし、Slope フィルターを追加して勾配変化の遷移をスムーズにします。その後、このフィルターを無効にして、ザラザラした、テクスチャが徐々に変化していく領域を塗ります。フィルターを無効にして、すぐにフィルタースタックを変更しても、データが失われることはありません。
  3. 草:Height フィルターを調整して、河岸よりも低い領域全体をマスクします。カーブを調整して、勾配の遷移をスムーズにします。
  4. 岩:Height フィルターを削除し、勾配のカーブを調整して平坦な領域のマスクを取り除きます。Slope フィルターを使用して急勾配の領域をターゲットにし、その領域を平坦な草の領域と軽くブレンドします。
  5. 苔:Complement フィルターを追加し、入力値を 1 に設定して、スタックの結果を反転させます。Complement フィルターでは、急勾配の領域をターゲットにする代わりに、平坦な領域と勾配が緩い領域をターゲットにします。その後、Noise フィルターを追加して結果をランダム化し、Power フィルターを追加してペイントしている領域をシャープにします。苔は高湿度の場所で成長する傾向があり、草と違って、急勾配の面や高地にも生えることができます。
  6. 雪:すべてのフィルターを削除し、フィルタースタックを空にします。Height フィルターを追加し、山頂のマスクを取り除きます。Aspect フィルターを追加して、希望する方向の山面のマスクを取り除きます。Aspect フィルターを使用して、突風で吹き付けられた雪を再現します。Concavity フィルターを使用して谷間をターゲットにし、雪の吹き溜まった圏谷を再現します。

強化された Paint Texture ツール

強化された Paint Texture ツールでは、新しくテレインレイヤースポイトツールが追加されたほか、マテリアルレイヤーが並べ替え可能になりました。

スポイトツール

Shift + A キーを押すとテレインレイヤースポイトツールが有効になります。キーを押したままテレインの任意の部分をクリックすると、その部分から直接マテリアルを選択できます。このツールは、写真編集ソフトウェアのスポイトツールと同じように動作します。このツールを使うと、ペイント中のマテリアル選択プロセスが大幅にスピードアップします。

並べ替え可能なマテリアルレイヤー

選択したマテリアルは、新しくなったマテリアルレイヤー UI に表示されます。この UI には、レイヤーの並べ替えができるリストが追加されました。UI でマテリアルレイヤーを並べ替えると、対応するスプラットマップチャンネルが変化します。スプラットマップは、Unity がテレインに使用するマテリアル分布マスクテクスチャです。複数のテレインレイヤーを同時に削除するには、各レイヤーの横にあるチェックボックスをオンにして、「Remove Layer」ボタンをクリックします。

Terrain Toolbox の更新

Terrain Toolbox のワークフローがさまざまな面で強化されました。マテリアルレイヤーとスプラットマップをインポートすると、違いに気づくでしょう。アセットフォルダーから手動でテクスチャを選択する代わりに、テレインから直接テクスチャをインポートできるようになっています。

World Machine などの外部コンテンツ制作ソフトウェアを使用している場合は、エクスポートしたスプラットマップの方向が誤っている場合があります。Terrain Toolbox を使用してスプラットマップをインポートする際に、スプラットマップをプレビューして、必要に応じて方向を調整できるようになりました。

ビジュアライゼーションに関しても、Terrain Toolbox に新しくビジュアライゼーションツールのセクションが追加されました。Altitude Heatmap ツールを使用すると、スカルプトしながらテレインの標高をプレビューできます。世界の他の部分と相対的に統一する必要のあるテレインをスカルプトする際に役立ちます。また、鳥瞰視点でテレインをスカルプトしたり、湖などの標高を意識する必要のあるテレインを計画したりする場合にも便利です。

現在、これらの新機能や更新はいずれも、最新の Terrain Tools パッケージで利用できます。パッケージは Unity 2019.2.0f1 以降の Package Manager でダウンロードできます。

Unity の地形作成システムのチームはまだ始動したばかりのため、新機能の開発は今後も精力的に続きます。ぜひ World Building フォーラムからフィードバックをお寄せください!

2019年8月15日 カテゴリ: Engine & platform | 6 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

取り上げているトピック