LoginSignup
4
1

More than 5 years have passed since last update.

UnityのHDRP環境でTerrainツールを使ってみたまとめ

Posted at

概要

記事執筆時点
2019/03/09

エンジニアがUnityのTerrainツール使って背景っぽいものを作るのにあたって書き残したメモ。
HDRPに途中から切り替えたので、そのとき当たった壁の解消法も残しています。

作業環境

Platform Unity Version
Windows 2018.3.8f1
  • Terrainツール
    • UnityTerrainEditor
  • RenderPipeline
    • HighDefinition Render-Pipeline
  • PostProcess
    • PostProcessStack

だいたいこんな感じのものが出来あがる想定。
image.png

なんでUnityのTerrainツール?

なんとなく使ってみたかったので。
RenderPipelineとかShaderGraphとか使うならついでに勉強できるかなという期待

参考にしたマニュアル

Unity - Manual: Terrain Engine

  • 日本語マニュアルも存在するが、バージョンが古いためツールの操作の参考にはならない

    • わからない単語とかTerrainオブジェクト設定のプロパティの確認に使うのがよさそう
  • Terrainオブジェクトを新しく作ったり高さ全リセットするとベイクが走る

    • そこそこ時間がかかる
    • とは言え広さと解像度によると思うけど数分で終わる
    • HDRPにすると時間が増えた気がする

Unity - Manual: Terrain Layers

TextureのLayerの設定
下記で紹介しているTerrainToolkit使うとほとんどLayerを直接触らなくなった

2018.3 Terrain Update: Getting Started – Unity Blog

2018.3でアップデート、追加されたTerrainの機能。

AssetStore, Packageでインポートしたアセット

Terrain Toolkit 2017 - Asset Store

Terrainのテクスチャとかディティールとか自動で作ったりするツール群
高さに応じたテクスチャのレイヤーのブレンドもやってくれる

Post Processing Stack - Asset Store

Unity公式のPostProcessアセット。
ポストエフェクト。
レンダリング時に色調補正したりDOFを加えたりするのに使用する
Layer設定でDefaultのままだとパフォーマンスに影響出るかもって警告を出力されるのでとりあえず変えておく

RenderPipelineの変更

HD レンダーパイプライン:アーティストのためのクイックスタートガイド – Unity Blog

手順は上記UnityBlogの記事が参考になります。
プロジェクトを途中からHDRPに変更する際にやることとしては、下記項目になります。

  • PackageManagerでRenderPipelineのパッケージをインストールする
    • Render-PipelineCore
    • HighDefinition RenderPipeline
  • ProjectSettingのRenderpipelineアセットにHDRenderpipelineアセットをアサイン
  • マテリアルをHDRP対応したものにアップデートする
    • メニューから一括でアップデート出来るようになっているので使う
  • 出力するカラースペースをGammaからLinearに変更する

High Definition Render Pipeline overview · Unity-Technologies/ScriptableRenderPipeline Wiki
HDRPの機能リファレンス

注意点

パッケージをインストールする順番
PackageManagerから入れるRenderpipelineは、最初にCoreをインストールしましょう。
.
RenderpipelineCore

HDRenderPipeline
.
の順番になります。

Consoleに下記のエラーが出力される

High Definition Render Pipeline doesn't support Gamma mode, change to Linear mode

Unity - Manual: Linear or gamma workflow

単純にHDRPがガンマ出力をサポートしてないみたいなので、Linear出力するようにプロジェクトの設定を変更しましょう。
プロジェクト作成時にHDRP選択してないとデフォルトはガンマ出力になってるっぽいです。

作ってたTerrainオブジェクトが表示されなくなる

マテリアルがピンクになるでもなく、単純に表示されなくなりました。
試しに新規でTerrainオブジェクトを作ってみると表示されます。
新しく作ったところと古いオブジェクトの設定を見比べるとマテリアルに差がありました。

image.png

ということで、HDRP対応のTerrainマテリアルをアサインする必要があります。
上図のようにTerrainのプロパティの設定からMaterialをCustomにしてHDTerrainMaterialを選択。

AssetStoreの大体のアセットが対応してない
まだPreview版ですしね。
フォーラムに色々書き込んだらUnityの人とかが対応してくれるかもしれない。

でもRenderPipelineが公式対応されるとアセットストアで配布してる人はRPの対応を迫られるんでしょうか。
疑問。

ここまでの成果物

ポストプロセス適用

image.png

だいたいモデル完成

image.png

モデル作成中

デバッグテクスチャで境目をわかりやすく表示
image.png

ラフ絵

image.png

その他メモ

作業中のメモ書き
作業のメモ書きにQiitaを使用。
テキストが書ければ何でも良かったけど、WEB上で書いて勝手に下書き保存してくれるのでなんとなく選択。
あとでどうせQiitaに投稿するつもりでいたので最初からそこで書いてしまった方が早いなということで。

WindowsのPCで実作業、MacbookとかiPhoneでQiitaとSlack見て振り返りとかする
ただし資料もだいたいWEBのものを見るのでChromeのタブが無限にできる。
メモリが!足りない!
メインメモリ最低16GBはエンジニアの人権に最低限本当に必要。

自分との会話

若干怪しげな単語に見えますが、Qiitaにメモるまでもない思いついたこととかTodoを
Slackの自分だけのグループチャンネルにバンバン投稿してメモっています。
しばらくした後の自分がそのメモったスレッドに返信していく感じ。

何するか、何をしようとしていたか、今の状況のスクショとかをSlackで書いていってます。
後で「なんだっけ・・・」「何しようとしたんだっけ・・・」ってなったときに一応見返せる。
自分用だから文章もかしこまらないでOK。
ちゃんとした作業ログを残すならそういう目的を持った別のサービスを使った方がいいとは思います。

参考

Unity - Manual: Terrain Engine
UnityのTerrainで大地を創る - Qiita
Terrain Toolkit 2017 - Asset Store
【Unity】HDRPを使ってみる

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1