こんばんは、makoto@virtualDiyerです。
コンクリートマテリアルの制作記、第二回は絶対座標系についてです。
※前回分はこちら~、「1.はじまり」です!
今回のテーマは、絶対座標系。
UE4の座標系にのみ依存して、テクスチャを貼りたいということです。
1.理由
なぜそんなことを思ったかというと。
VR住吉の長屋では、Rhinocerousからインポートするたびにテクスチャがずれてとても大変だったのです。
インポートした.datasmithオブジェクトの各メッシュについて、マテリアルの調整を随時行っていました。
- ピーコンの位置
- 目地の位置
とかを壁ごとに調整するわけですよ。
初回の割り当てのみの作業ならよいのですが、
実際には、メッシュの再構成、分割、削除、移動、などの修正が入り、
それをUE4で反映する必要があります。
.Datasmithの再インポートで対処するのですが次のような問題があります。
- アセットの削除などで参照が切れてしまう
- メッシュを分割したために新たなアセットが作られる。
などの理由で、奇麗に更新が反映されず、改めてテクスチャの調整をしなくてはなりません。
メッシュの大きさを変更したりしたら、テクスチャ中のピーコンの位置とかを変更しなければならないわけです、、、。
さらに、通常はメッシュの大きさに合わせてテクスチャを貼ったりするので、
高さ方向のズレが生じ、ピーコンの位置、目地の位置が揃わないこと揃わないこと!!
ということになっていきました。
そんなこんなでこれの解決方法を考えた次第です。
2.対処法
結論から言えば、先にも書きましたように、絶対座標系でテクスチャを貼るようにしました。
上下左右すべての面に、絶対座標系で貼るようにしました。
そうして出来上がったものがこちら。
絶対座標系でコンクリートのテクスチャを貼ってみました~。
これでDCCツールでの貼り方に影響せずにテクスチャ貼れるなと思ったんですが、賢いやり方なのかそうでないのか、、、、?社会人になっても #まいにちUE4 !!#UE4Study #VR pic.twitter.com/mfrffTxRWz
— まこと@virtualDIYer (@DIYer27991090) 2019年4月1日
こちらのページを参考に作らせていただきました。
https://qiita.com/Takezoh/items/46b922a3dd687a93ba60
絶対座標で貼りました。
というわけで、こんな感じのものが出来上がっております。(マテリアル関数にしてあるので注意)
- 絶対座標で貼れるように
- mm単位で寸法の指定を可能に
- メッシュの回転で崩れない
- スケール変更
- テクスチャのオフセット
に対応させております。
多分、これだけでも色々使い道があると思うので興味のある方は試してみてください。