fc2ブログ

3Dで地面を作る

nocchi*

2016-03-14
Unity
0 COMMENTS
最近はステージ作りを進めております。
どんな表現ができるのか調べて思考錯誤です。


Unityで地形を作るならTerrainが比較的作りやすそう。
地面を盛り上げたり凹ませたり、
テクスチャをペイントしたり、草木を植えたりできます。

Asset Storeに公開されているデモでは、地面はTerrainを使っていて
岩や凝った地形は3Dモデルを使っているものが多い印象でした。

ただし工夫して作らないとモバイルでは重い、
正方形サイズが基本で横長にするとブラシが荒くなる、
後から空きスペースを広げることができない等、、、
結局のところ使い方次第になってくると思われます。



今回のステージ制作では、現在のところBlenderで制作した3Dモデルを使っています。
グリッド状の板を盛ったり凹ませたりしただけの簡単なものです。

Terrainのようなテクスチャペイントを3Dモデルでもやりたいと思い
調べていたらKarasuさんの記事にやりたかったことが記述されておりました。

【Maya Tips】 Mayaでの頂点カラーを使ったシェーダー調査 - Karasuのアプリ奮闘記
http://hideapp.cocolog-nifty.com/blog/2015/04/maya-tips-maya-.html


Unityなら頂点ペイントのアセットを使った方が楽そうですが、
5ドルのアセットはUnity5に対応していないようでした。
50ドルのアセットもありましたがそっちは試していません。


Shaderに手を加えたいので自前でなんとかやりたいけど、
Mayaは手を出せそうにないかも。ということで
Blenderで頂点カラーの色成分によってテクスチャを貼り分ける方法を調べました。

Can Vertex Paint Normalize Color Channels? - Blender Stack Exchange
http://blender.stackexchange.com/questions/18972/can-vertex-paint-normalize-color-channels

ノードエディタという機能初めて使いました。
使いこなすのは難しそうですが、見よう見まねでなんとかできました。

Blender頂点カラーによるテクスチャ塗り分け



Unityで同じようにやるにはShaderを用意する必要がありそうです。
Shader ForgeというAssetを使って専用のShaderを作りました。

Texture Splatting - Shader Forge Wiki
http://acegikmo.com/shaderforge/wiki/index.php?title=Texture_Splatting


Shaderの簡単な変更をちょこちょこするようになってきたのですが
小回り効かせたくても自分で一からShader作るのは難しいですし、
今後も活躍してくれそうだなと判断しまして、ついに購入。

Unity頂点カラーによるテクスチャ塗り分け

こちらも見よう見まねでやってみました。(さりげなくテクスチャ変わってます)


できることが増えてくるとやりたいことも増えてくるぞ(@_@;)

Comments 0

There are no comments yet.