Webの情報参考にしながら手探りでどうにか出力できた感じなので、理解が至らず怪しい点もあるかもしれません。
新規プロジェクト作成
Additional Mapのベイク
[TextureSet Settings]タブの[Bake textures]で
物理ペイントを行う際にメッシュがどんな形状なのかを判断してもらったりするための各種マップをベイクします(超大事)。
物理ペイントを行う際にメッシュがどんな形状なのかを判断してもらったりするための各種マップをベイクします(超大事)。
[High Definition Meshes]にはハイポリメッシュを設定します。面を分割しただけのお手軽ハイポリメッシュでも効果的なので、なるべく用意して指定します。
[Antialiasing]はお好みで。
ペイント
テクスチャを描きます。と言いつつ塗りつぶしとマスキングでざっくりやります。
(詳しくはちゃんとしたチュートリアル等を参照ということで)
塗りつぶしレイヤーを追加して[Shelf]の[Materials]から好きなマテリアル(ここではIron Rough)を選びます。
右にある[Properties]で向きや大きさ質感をいろいろ調整可能。
[Projection]でTri-planarを選ぶとUVマップではなく3Dオブジェクトに投影されるので、シームが目立たなくなります。
鉄だけだと寂しいのでさらに塗りつぶしレイヤーを追加して別のマテリアル(ここではPainted steel)を選びます。
[Paint Color]で色を赤くして、[Rust]でサビをちょっと足しました。
最初のマテリアル(下地)が見えなくなったので劣化させてペンキを剥がします。
[Shelf]の[Smart masks]にちょうど良さそうなPaint Oldというマスクがあるのでペンキのレイヤーに放り込みます。
思っていたのと逆の剥げ方をしたので[Global Invert]で効果を反転します。
上手く角が剥げたのでレイヤー名をわかりやすくしてペイント完了。
なのでそのまま色情報をテクスチャにすると悲しいことになります。
どんな感じになるかはCキーでBase Colorを表示すると…騙された感がすごい…
そこで質感を焼き付けるために[Shelf]の[Filters]からBaked Lighting Environmentをレイヤーの先頭に放り込みます。
ここから先はカラーマップに焼き付ける質感を調整するので、プレビューはMaterialではなくBase Colorのまま進めます(Materialだと二重にライティングされてしまう)。
映り込み用のテクスチャが未設定なので、Baked Lighting Environmentの[Properties]にある[Environment]からお好みで選択します。
(詳しくはちゃんとしたチュートリアル等を参照ということで)
塗りつぶしレイヤーを追加して[Shelf]の[Materials]から好きなマテリアル(ここではIron Rough)を選びます。
右にある[Properties]で向きや大きさ質感をいろいろ調整可能。
[Projection]でTri-planarを選ぶとUVマップではなく3Dオブジェクトに投影されるので、シームが目立たなくなります。
鉄だけだと寂しいのでさらに塗りつぶしレイヤーを追加して別のマテリアル(ここではPainted steel)を選びます。
[Paint Color]で色を赤くして、[Rust]でサビをちょっと足しました。
最初のマテリアル(下地)が見えなくなったので劣化させてペンキを剥がします。
[Shelf]の[Smart masks]にちょうど良さそうなPaint Oldというマスクがあるのでペンキのレイヤーに放り込みます。
思っていたのと逆の剥げ方をしたので[Global Invert]で効果を反転します。
上手く角が剥げたのでレイヤー名をわかりやすくしてペイント完了。
Second Life向けの仕上げ
サブペはPBR(材質をパラメータ化して物理的な計算をドーン)という仕組みで質感を出していますが、残念ながらSecond Lifeはこの仕組みに対応していません。なのでそのまま色情報をテクスチャにすると悲しいことになります。
どんな感じになるかはCキーでBase Colorを表示すると…騙された感がすごい…
そこで質感を焼き付けるために[Shelf]の[Filters]からBaked Lighting Environmentをレイヤーの先頭に放り込みます。
ここから先はカラーマップに焼き付ける質感を調整するので、プレビューはMaterialではなくBase Colorのまま進めます(Materialだと二重にライティングされてしまう)。
映り込み用のテクスチャが未設定なので、Baked Lighting Environmentの[Properties]にある[Environment]からお好みで選択します。
設定したら引き続き[Properties]内でマテリアルや光源のパラメーターを納得がいくまでいじります。
最後に最初にベイクした際に生成されているAOマップを被せて擬似的な陰影をのせます。
塗りつぶしレイヤーを一番上に追加して[Base Color]にAOマップを読み込みます。
おかしなことになったと思うので、[UV Scale]を1:1にして、
[マテリアル]はcolor以外(height/rough/metal/nrm)をオフにします。
レイヤーの右上にあるモードを乗算(Mul)にすれば完成です。濃さはモードのすぐ下にある数字でお好みに調整。
[ファイル]-[Export Textures]でエクスポートダイアログを開きます。
[Configuration]タブで新規のプリセットを作成してRGBのマップを3つ作成。
Input MapsのBase Color、Converted mapsのNormal OpenGLとSpecularをそれぞれ作成したマップのRGBチャンネルに放り込んで完成。
※どのマップでもAlphaチャンネルを使っていないので、SLの仕様をフル活用した設定というものでは無いのでご了承ください。
【参考】http://wiki.secondlife.com/wiki/Material_Data
[エクスポート]タブに切り替えて、作成したSecondLifeテンプレートを選択。テクスチャサイズを出力したいサイズに変更しておきます。
最後に最初にベイクした際に生成されているAOマップを被せて擬似的な陰影をのせます。
塗りつぶしレイヤーを一番上に追加して[Base Color]にAOマップを読み込みます。
おかしなことになったと思うので、[UV Scale]を1:1にして、
[マテリアル]はcolor以外(height/rough/metal/nrm)をオフにします。
レイヤーの右上にあるモードを乗算(Mul)にすれば完成です。濃さはモードのすぐ下にある数字でお好みに調整。
テクスチャのエクスポート
あとはただ画像ファイルを書き出すだけですが、
せっかくサブペがいろいろな情報を持っているのでSecond Lifeの高度なライティングで使える(かもしれない)Normal MapとSpecular Map(凹凸と光沢)も出してみます。
[ファイル]-[Export Textures]でエクスポートダイアログを開きます。
[Configuration]タブで新規のプリセットを作成してRGBのマップを3つ作成。
Input MapsのBase Color、Converted mapsのNormal OpenGLとSpecularをそれぞれ作成したマップのRGBチャンネルに放り込んで完成。
※どのマップでもAlphaチャンネルを使っていないので、SLの仕様をフル活用した設定というものでは無いのでご了承ください。
【参考】http://wiki.secondlife.com/wiki/Material_Data
[エクスポート]タブに切り替えて、作成したSecondLifeテンプレートを選択。テクスチャサイズを出力したいサイズに変更しておきます。
エクスポートでテクスチャが完成!(Normal MapとSpecular Mapはペイント時にざっくり作業しすぎだと微妙なものが出来る可能性があります)
Second Lifeにアップロード
できた!
Normal MapとSpecular Mapの仕事ぶり。