バーチャル3Dクリエイターの神部まゆみです(*^-^*)
この記事はunityのterrainをいじってみたからそのメモです。
簡単に地形が作れたから、手軽に使ってみると良いかも。
まさか温泉まで掘れるとはビックリΣ(゚Д゚)
Terrainとは?
unityで地形を作ったり木を配置したりできるアセット?
unity公式だから無料で使えて凄い。
参考にした頭のいい先輩のページ
とても参考になりました。
ありがとうございます(*^-^*)

このstylyさんのページで詳しく説明してくれてるから、使い方はこっちみたほうがわかりやすいかも(;^_^A
導入方法
Package ManagerのUnityRegistryで、検索窓に「terrain」って入れたらあったのでInstallすればOK。
ウィンドウでTerrain Toolboxってやつを開くとTerrain作成の初期設定ができます。
Total Terrainって書いてあるところはデフォルトで500で大きすぎたので、20くらいにした。
作りたいマップの大きさによって変えればいいと思います。
地形をつくる
最初にTerrain地形レイヤーを作って、Paint Textureでレイヤー追加して設定した。
このあたりはSTYLYさんのページが詳しいのであえて書くまでもないと思う。
レイヤーを増やして描いていくと良い感じかも?
地形にもよるけど、基本は緑や灰色とかで草や岩とかを表現して、レイヤーを追加して地形を描いていく感じにするとメリハリがついて良い感じ?
レイヤーを追加すればテクスチャを「描く」感じで追加していけて便利!
簡単に道っぽいのが作れた!
テクスチャはこれを使わせてもらいました。
Yughues Free Ground Materials – unity assetstore
適当に起伏をつけていけば良いっぽい
Raise or Lower Terrainを選んで、適当にクリックしていけば起伏が作れるみたいです。
Strengthが強すぎると起伏が激しくなっちゃうので、小さめにして塗り固めていく感じの方がコントロールしやすいかな。
左Ctrlを押しながらクリックすると起伏を下げられるみたい。
だけど下限は高さ0みたいで、掘り下げることはできないっぽい?
家の庭に温泉を掘ろうと思っていたのに…Σ(゚Д゚)
周りを高くして囲うしかないかなw
せっかくだから池を作ってみる
適当に囲って水を配置したらそれっぽくなった!
steamも設置したら温泉に!( *´艸`)
これで温泉回が作れるじゃん!(笑)Σ(゚Д゚)
お風呂の作り方は以前こっちで書きました。



木を配置する
これデフォルトでは入ってないっぽい?みたいだから用意しないといけない。
でもSTYLYさんの記事の木アセットは公開終了になっていてダメだった。
アセットストアにある木の無料アセット
アセットストアで検索したらこのあたりは無料で使えました。
Realistic Tree 9 [Rainbow Tree] -unity assetstore
Realistic Tree 10 -unity assetstore
でも無料のやつだといつ公開終了になるかわからないリスクはありますね(;^_^A
アセットセールで建物系のアセット買ったことある人なら、木のモデルはセットで付いてたりするかもしれない。
私が以前半額セールの時に買った↓このアセットは植物系のオブジェクトが多くて、容量も小さめでVRChatワールドとかでも使いやすかったです。
POLYGON Farm – Low Poly 3D Art by Synty -asset store
3Dモデルならなんでも木として使えるっぽい?
これプレハブとかFBXとかの3Dモデルファイルならなんでも指定できるっぽい?
リンゴの入った箱の3Dモデルも木として設定して大量配置できたw
これは以前買った農場のローポリアセットに入ってたやつね。
POLYGON Farm – Low Poly 3D Art by Synty -asset store
人物モデルや動物のモデルも設定できたけど(笑)、配置はできなかった。
リグ抜いてメッシュだけにすれば多分いけるかな?
意味は特にないけどやってみただけですw
デフォルトのサイズが大きすぎるやつだと、密度を100にしても間隔が空くっぽい?
デフォルトのサイズが大きいやつだと、密度を100にしても隣り合わせて配置できなかった。
間隔が空いてしまう。
でも小さいやつは密度濃く配置できた。
以前アセットセールで買ったローポリの木はもともと小さいからか大量に配置できた。
もともとのサイズによって変わってくるのかな?
もしかしたら何か設定項目があるのかもしれないけど。
小さい木を密度濃く配置して、大きい木に切り替えたらいけた
最初に小さい木を大量配置して、Edit Treeで配置する木を大きいやつに切り替えたらいけた。
配置できるってことは何かの設定の問題なのかな?不明。
ただ、高さは後から調整できないっぽいので、切り替える前に調整しないといけない。
あと離して配置したら大きさが不揃いになったりしたので、やっぱり普通に配置したほうがいいかも。
実行してみたけど密度が濃すぎると不自然だから、ほどほどが良いかも(;^_^A
風も追加できる
WindZoneを追加すれば風を吹かすことができる。
でもこれ結構重そう?
軽くしたい場合は別になくてもいいかな(;^_^A
でも「おお!」ってなんかすごそうに見せる効果はあると思う(笑)。
ビルドして見てみる
こんな手軽に庭ができてしまうとは…Σ(゚Д゚)
あれ、関係ないけど以前「ビルドしたら窓にリアルタイム反射しない」って書いたんだけど反射してるし(~_~;)



窓一つにしかリフレクションプローブ設定してないから、メモリの問題かリフレクションプローブの干渉あたりが問題だったのかな?
↓これはWebGL。とりあえず動かしてみただけなのでクリアとかはありません(;^_^A

ただ、私のThinkpad X230でやったらだいぶカクカクだった…。
容量は50MBくらいなんだけどsteamがきついか?
2022/04/03追記:unityplayにアップしてみた
なんかエックスサーバーの動作が重いからunityplayにアップしてみた。




unity playは上手いこと最適化してくれるのか?読み込みの速さが安定してる気がする。
えっちなやつとかは無理だけど(笑)、みんな割とカジュアルな感じでアップしてるみたいだから積極的に使っていこう。
2022/04/07追記:Terrainは結構重め?起伏は増やし過ぎないほうがいいかも?
起伏が激しいからかもしれないけど、↑のwebglを手持ちのThinkpad X230で見てみたら動くけど結構カクカクだった。
Terrainを非表示にしたらサクサク動いた(゚Д゚;)
ビルド後の合計サイズは10MB減った程度だけど、オンボードだと描画能力が低くてきつい感じかも?
起伏を最小限にしてみたらX230でもサクサク動きました↓。gifの容量の都合でカクカクに見えるけど(笑)。




webglで3Dだと容量的にきついから、重要じゃない部分はローポリにしたりバッサリ切り捨てたほうがいいかも(;^_^A
箱庭を山っぽく囲いたいなら、blenderでローポリな山っぽい壁を作ってunityに持ってきたほうが軽くて良いかもしれない。
軽くしたいなら、Terrainはマップを描く用途に絞るくらいでもいいかも?
おわりに
思いのほか簡単に作れて良かった!
でもちょっと重くなりがち?みたいなので、あまり広いとWebGLとかだと結構きつくなってくるかも?
でもこれだけ手軽に作れるなら良いかも。
VRChatのワールドでも使えるっぽい?そろそろ何か作ってアップしてみようかな。
もう少しいじって見ようと思います(*^-^*)