この記事でのバージョン
Unity 2019.4.17f1
はじめに
今回は「Terrainで作った地形と同じ形のオブジェクトを作る」という感じの記事です。
なお何のためにそんな事をするのかと言うと、ワープ時のテレポート先用のColliderに
Terrainに合わせたMesh Colliderを使いたかったからです。(Terrain Colliderだと動作しなかったので)
VRでTerrainの地表をそのままワープ位置にしようという試み pic.twitter.com/4aFyf2H6y0
— カン@ゲームクリエイター(Unity/VR/Switch/Steam) (@Kan_Kikuchi) 2021年5月2日
他にもTerrainを軽量化したい場合などにも使えると思いますが、
あくまで同じ形のオブジェクトを作るだけでテクスチャの書き出し等は出来ないので
そういう機能も必要な場合は以下のようなアセットを使うと良いかもしれません。(未確認)
ちなみに逆の「オブジェクトに合わせて同じ形のTerrainを作る」という記事も書いていたりします。
TerrainObjExporter
今回はTerrainObjExporterという物を使います。
使い方は簡単、上記のExportTerrain.csというスクリプトを作成すると、
上部メニューにTerrain/Export To Obj…という項目が追加されるのでこれを押します。
するとウィンドウが開くので、
後はHierarchy上でTerrainを選択した状態でExportを押すだけ。
ちなみにResolutionで生成されるオブジェクトの綺麗さを指定出来ます。
例えばFullにすると元のTerrainと全く同じ形ですがポリゴン数が多くなり、
逆にQuarterにするとポリゴン数は少なくなりますが、形が簡易的な物になる感じです。