一番下に2Dビューでペイントした場合にUV Reptojectionができない件について追記してあります。
SubstancePainterを使ってると途中でローモデルのUVを変更したい、
調整したくなることがあります。
そのようなときにローモデルを差し替えても、
ペイントした情報がちゃんとついてきてくれるのですが、
どの程度まで編集しても大丈夫なのかよくわからなかったのでテストしてみました。
ここで重要なのは”手書き”による箇所がついてくるかどうかです。
ジェネレーターやブロシージャルで描かれてる箇所は
ベイクしたテクスチャが更新されればついてくるので問題はありません。
まず、スタートはこのような感じでUV展開されている本に
わかりやすく「てすと」と書いてみました。
■①頂点に編集はせずにUVの位置を変更する
UVの位置だけを変更する分には問題なくついてきてくれてるようですね。
多少ウェザリングのかかり方が変わっているのは、
プロシージャルに生成されてるノイズによるものですのでこれは問題なし!
■②頂点を追加したり、削除したりする
同じUVの位置で頂点数を増減させることも問題なさそうです。
カバー部分にエッジを追加しています。
紙の部分のメッシュは完全に削除しています。
編集量が少なかったのかもしれませんが、この程度の変更なら大丈夫ということですね。
■③UVを展開しなおしたメッシュ
完全にUVをボックス形状でUVを展開しただけのものに差し替えても
ちゃんと手書き部分がついてきます。
これは流石にダメじゃないかと思ったのですが、全然大丈夫でした!
■④ペイントしてる箇所の一部を削除したメッシュ
本の背表紙部分のポリゴンを削除すると、
背面にあった手書きの文字が表の方に移動してきています。
流石に、これには対応しきれなかったようですが、
それ以外の部分は問題なくついてきてるようです。恐るべしサブスタンスペインター。
今回はローモデルだけ変更を加えてみましたが、
ローモデルだけの変更ならば思っていた以上についてきてくれてると感じます。
しかし、ローモデルだけではなく、ハイモデルも修正するとなるとまた異なった結果になるかもしれません。
どのように位置情報を把握してるのかわかりませんが、これはなかなかすごいと思いました!
○追記1
Blender使いの方からの情報で、FBXのバージョンが異なるもので差し替えるとうまくいかないそうです。
Mayaで FBX2014バイナリ → FBX2016アスキー → FBX2012バイナリ で試したところ成功したので、Blender使いの方はご注意を!
(らりほまさん情報ありがとうございます!)
○追記2 (5/29追記)
3Dビューでペイントした場合はついてくるけど、2Dビューでペイントした場合は付いてこないという情報をTwitterで拝見しましたので私も試してみました。
赤字は3DViewでペイントしたもの。白字は2Dビューでペイントしたものです。
UVを切り分けて、レイアウトし直してみると以下のように赤字は新しいUVについてきてますが、
白字は2Dビューの描いた場所にとどまっています。
教えてくれたシイタケさん(@shiitake000)曰く、
たまに円柱にデカール等をペイントしたいときにUVから(2D)のが楽な場合がありますがそういう時はご注意を— シイタケ (@shiitake000) 2016年5月28日
確かに!
ここは注意しておかなければいけなそうですね。
非常に有用な情報なので追記させていただきました。ありがとうございます。
○追記3 (5/29追記)
さらに、もんしょさん(@monsho1977)より追記2の内容を受けて、Polygon Fill機能(ポリゴンを選択してマスクする機能)を使った場合の注意点についてツイートされてました。
でも、多くの人は3DViewでポリゴン選択した後に不要なポリゴンも塗られてしまったので2DViewで削除したいと思うんじゃないか?これをやった場合の動作がどうもおかしい。— もんしょ (@monsho1977) 2016年5月29日
ポリゴン選択、3DViewでこのように選択したとする。この時、選択したかったのは上部のみで、後方は選択したくなかった。そこで2DViewで後ろのポリゴンを黒にマスク。 pic.twitter.com/CbkkNhkd83— もんしょ (@monsho1977) 2016年5月29日
これをUV変更したモデルに転写すると何故か後ろのポリゴンの方がマスクが載った状態になる。 pic.twitter.com/yamhr5FsgS— もんしょ (@monsho1977) 2016年5月29日
黒く塗り直す際にも3DViewを利用すると正常に転写される。ユーザからは見えない情報なので気をつけようと言ってみても難しいよね。 pic.twitter.com/h0NBL2MlJF— もんしょ (@monsho1977) 2016年5月29日
一番いいのはIDマップを利用すること。何だけど、それだけだと難しい部分もある。ペイントレイヤーは極力使わず、ペイントエフェクトをそれぞれの意味に合わせて利用するのがいいんじゃないかな。— もんしょ (@monsho1977) 2016年5月29日
Polygon Fillを使ったマスクは私も壊れた経験があるので、これが原因だったんだなと納得しました。
SubstancePainterを出来る限り非破壊で使いたいと思うなら、IDマスクを作成し、そこからレイヤーをマスクするほうがPainterの利点を活かせそうですね。
さらに一言…。
もうペイントレイヤーいらないんじゃないか?— もんしょ (@monsho1977) 2016年5月29日
(だよねー、私もほとんど使ってない…)
2Dビューのペイント情報がローモデル差し替えた時についてこないのはバグなのでは?という意見もあるので調べてみたところ、公式ドキュメントにはこのように記載がありました。
公式ドキュメント UV Reprojection
以下Google翻訳+私の意訳
2Dビューで行われたすべてのストロークがUV空間で実行されているので、変更を加えたメッシュ再インポート後の場合には、適切にメッシュ変更のUVを、それを再投影する方法はありません。
プロジェクトの再投影を正しく行うための最善の方法は、IDマップと選択の他の種類によってマスキングし、代わりに3Dビューで描くことに依存することです。
プロジェクトの再投影を正しく行うための最善の方法は、IDマップと選択の他の種類によってマスキングし、代わりに3Dビューで描くことに依存することです。
うーむ、現在はUV空間で描かれた内容を再投影する術がないということですね。
とは言いながらもSteamのCommunityで開発者の方が『我々は方法を見つけるだろう!』とコメントを残されているので、今後のアップデートで対応される日を楽しみにしたいと思います!
Steam Substande Painter Community : UV Reprojection not featured in 2D mode. Why?!
0 コメント:
コメントを投稿