3D-Coatは、ウクライナのキエフに本社がある開発会社Pilgwayのソフトウェアです。 このソフトウェアを利用することでウクライナの応援にもなります。3D-Coatは、3Dモデリング、テクスチャリング、レンダリング、UVマッピングなど幅広い作業が可能です。

競合製品としてZBrushやSubstance Painterなどがあります。それら製品より安い価格(永久ライセンスもしくはサブスクリプション)で使えます。それぞれに素晴らしい得意な分野がありますが、3D-Coatも劣らず使いやすいソフトウェアです。私はスカプトルやテクスチャリングに使っています。無料のBlenderだけでも同様に作業できますが、いくつか使えるソフトウェアがあると、それぞれ得意な機能があるので作業がスムーズに進むことがあります。

3D-Coat
https://3dcoat.com/

部屋の白い壁紙でBRマテリアルを作成

今回は、部屋の白い壁紙を撮影して、3Dcoatで壁のPBRマテリアルを作成します。Blenderで壁をつくって、壁にPBRマテリアルでテクスチャーを設定して、UE5に取り込んでみました。

PBR(物理ベースレンダリング)マテリアルは、物理に基づいたレンダリングのためのマテリアルのことです。PBRは、光の物理的な挙動をシミュレートして、より現実的な3Dグラフィックスを生成する技術です。この手法は、光が物体の表面とどのように相互作用するかを数学的にモデル化し、リアルタイムグラフィックス(ゲームやインタラクティブメディア)および非リアルタイムレンダリング(映画やアニメーション)で広く使用されています。

壁をリピート素材にする

まず壁を撮影。普通の白い壁です。この壁をリピート素材にしてPBRに取り込みます。

壁紙はこんな感じです。普通の白い壁です。これからリピート素材を作ります。端が端につながればリピート素材になります。

分かりやすく2000×2000ピクセルにします。中央にガイドを表示します。

リピート素材をつくるため、右下のマスを左上のマスへ移動します。。同様にすべてのマスを対角に移動します。

左下のマスを右上へ。

同様にマスを移動してゆきます。

これでリピート素材になりました。タイル状に並べたときつながればOKです。ほかにもいろいろなやり方があるでしょう。タイル状に並べてリピート素材(シームレステクスチャ)を作成するためのソフトウェアはいくつかあります。Substance Designer、GIMP、PixPlantなどです。

レイヤーを統合します。 張り替えて移動したので、色の違いが目立ちます。

色ムラを無くすために、レイヤーを複製して、水平と垂直反転をかけます。色の違いを打ち消すため反転させました。

不透明度を50%にします。色が混じるので色ムラがなくなります。ケースバイケースで作業します。模様がはっきりしている場合は上手くゆかないでしょう。この辺りはフォトショップの使い方ですね。

リピート面には、まっすぐな線が見えています。

画像を統合します。

選択した部分の自動修正ツールを選択します。このなぞった部分だけ修復してくるツールは、ちょっとした誤魔化しに最適です。

境界線をなぞります。

線の境が見えなくなりました。OKなので画像を保存します。

気持ちデプスマップを作成します。デプスマップ(Depth Map)は、3Dシーンや画像内の各点の距離情報を格納する画像データです。このマップは、一般的にグレースケール画像として表現され、明るい部分が近く、暗い部分が遠くを示します。壁紙は凹んでいる部分が陰になっているので、ちょうどよさそうです。彩度をゼロにします。

適当に色を調整します。

2枚のテクスチャーが出来ました。

 

3DcoatでPBRマテリアルを作成

3DcoatのPBRマテリアルを選択します。

新規作成します。

名前をKABEとしました。カラーテクスチャーを読み込みます。

深度テクスチャーを読みます。3Dcoatはノーマルマップは使わずにデプスマップを使います。もっと複雑な設定をすることで高度なPBRも作れるでしょう。

四角いブロックにぬります。

壁紙ができました。深度マップを無効にしているので平です。

深度マップも有効にすると、凹凸ができてザラツキが目立ちます。深度マップの強度を減らしてちょうどよくします。

設定からスケールを調整します。キューブは1mサイズでしょうか。壁1mぐらいでみた見た目に合わせます。

Blednerで壁を作ります2m×4mです。

サイズを伸ばした分のUVメッシュを最適にするためCtrl+Aで、スケールを入れます。これでスケールで大きくした物体を実寸に変換できます。

スマートUV投影します。これでUVマップが自動で作成できます。

こんな感じにUVマップができました。

3Dcoatへデータを移動します。PBRで壁を塗ります。部屋の壁ができました。

ファイルを書き出します。UE5に移動するときはFBXが推奨されていますが、objだとテクスチャーがそのまま取り込まれます。objで書き出します。

 

UE5へ取り込み

UE5に取り込みます。実際の壁にそっくりな壁ができました。

テクスチャーの細かい設定も反映されています。細かすぎてよくわかりません。

写真で撮った壁を作ってUE5に取り込めました。