LoginSignup
1
0

プロシージャでモデリングとテクスチャ/Unreal,Houdini

Last updated at Posted at 2023-12-01

Houdini 19.5/Labs tool(必須)
Unreal Engine 5.2
(Unreal Engine 4 でも可)
UE5用のHoudiniプラグイン
(UE4用のHoudiniプラグイン)

*ベイクしたテクスチャだけが欲しいならUnreal,Unityなどの
外部エンジンは必要ありません

今回の例 「樽」

ポイント
・それぞれの木の板には違う色、テクスチャがあり
・金属部品の部分のマスクもつくっていく。
 一つのマテリアル、テクスチャにする
・AOとvertexcolor(頂点カラー)を乗算させたい

1.ローポリとハイポリを作る
2.AO,カスタムattribute(vector,float 情報)などのテクスチャをベイク
*vector はRGB画像で出力され、floatはグレースケールで出力される
3.Blueprint (マテリアルノード等)で調整

1.ローポリとハイポリを作る

barrel.png

上の例
ハイポリ 頂点数:4760
ローポリ 頂点数:1896

必須!
ローポリとハイポリの両方には
UVが必要です。

2.IDマップの作成

スクリーンショット 2023-11-16 112031.png
Subtract (1.0-x)で反転した例
金属部品とそうでない部分のマスクを生成します
スクリーンショット 2023-11-16 123616.png

白=1.0
黒=0.0

ハイポリにて
木の板ごとに 0.0~1.0 のランダムな値をつけます。
BLUE 青=0.0
GREEN 緑=0.5
RED 赤=1.0

vector 型 "ID"に以下の情報を入れこみます
R[x]=金属部品の部分
G[y]=木の板ごとに 0.0~1.0 のランダムな値
B[z]=木の板ごとに 0.0~1.0 のランダムな値+違うシード値
*Houdiniでは、頂点カラー(vertex color)はpointのv@Cdにあたる
image.png

つまり
vec3(float3) ID; //vector型の”ID”という名の箱を作る
ID.x=metal; //ID.xに金属部品のfloat値を入れる
ID.y=@ panel_rnd; //Id.yに木の板ごとに 0.0~1.0 のランダムな値
ID.z=@ panel_rnd1; //Id.zに木の板ごとに 0.0~1.0 のランダムな値+違うシード値
と同じ考え方です

Labs Maps Bakerの[Custom Attribute]にて
[ID]を作ります

image.png
Houdini 公式 SIdeFxが無料で配布しているLabsアドオンです。

image.png
使い方としてはローポリ(ベイクしたいモデル)を一番目に
元となるハイポリを二番目にいれます。
注意として、両方ともUV情報がないといけません

詳しい情報は公式のYoutubeを参考にしてください

image.png

ID.png

image.png

image.png

Blueprint

[PerInsranceRandom]を利用して値をオフセット、リマップします。
image.png

image.png
image.png
image.png
image.png
(R,G,B,A)違うテクスチャを、それぞれの木の板にあたえます。
Substance designerでつくります。

0.0~1.0 を 0,1,2,3(R,G,B,A) とスイッチのようにします。

image.png

image.png

image.png
image.png
image.png
image.png

AO、カスタムデータについてはpart2に続きます、
そこからはHoudini寄りの情報になります

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0