FC2ブログ

もんしょの巣穴blog

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

[SP] フィルタを使って色々 その2

前回に引き続きフィルタの紹介。

今回は [Add generator] で追加できるジェネレータの紹介です。
レイヤー、もしくはマスクにジェネレータを設定すると [Properties] ウィンドウがこんな感じになります。

sp064.jpg

この状態ではジェネレータは有効ではありませんので、[Generator] ボタンを押して使用したいジェネレータを選択するか、[Shelf] → [Generators] タブからドラッグ&ドロップするかしてください。

sp065.jpg

これでグレースケールの画像が生成されます。
しかし、どうもこれはマスクでしか使用できないようです。
レイヤーに対して設定すると確かに各チャンネルの設定もできて有効になるような印象があるんですが、実際には全く効果を成していないようです。
これが不具合なのか想定された動作なのかは不明ですが、カラー選択フィルタはレイヤーで無効化されているので想定されていないか未実装かなのではないかと思われます。

というわけでマスクにしか効果がないのでマスクに何かジェネレータを設定してみましょう。
レイヤーは塗りつぶしで、単色赤、高さ最大、ラフネス大きめにしておきます。
そしてマスクに対してジェネレータを設定しましょう。わかりやすいところで [MG Edge Damages] を使ってみます。

sp066.jpg

結果は見ての通り、ロボットのエッジ部分に傷がつきました。
もちろんパラメータによって色々と変化させることも可能です。

このように、ジェネレータは主にベイク可能なマップ(AOマップや曲率マップ)を元にマスクをいい感じに生成してくれるありがたいフィルタだと言えます。

ジェネレータは他にも、埃がたまっているように見せる [MG Dust] や地面からの泥はねを表現する [MG Ground Dirt] なんかがあります。
そんな中で特殊なのは [MG Mask Builder] ですね。
他のジェネレータよりはるかに多くのパラメータを持っていますが、基本的にこいつは、なんでもありジェネレータです。

初期状態では [Grunge], [AO], [Curvature] の項目が有効になっており、エッジ部分とAOの影の部分、それに少量の汚れがマスクとして存在しています。
とりあえずこれらの [Intensity] をすべて0にすることで一切マスクが入っていない状態を作ることが出来るでしょう。

例えば、[Position] の [Intensity] を上げてみましょう。
するとロボットの上部がどんどんマスク有効になっていくのがわかると思います。

sp067.jpg

[Invert] をONにすれば足元からになります。
他にも、[World Space Normal] の項目は法線のワールド空間に基づいてマスクが生成されますし、[Scatter] などは図のようにステンドグラスやモザイクのようなマスクを生成できます。

sp068.jpg

各項目の [Intensity] にはマイナス値に設定できるものもあり、これは減算結果となります。
エッジ部分にマスクはかけるが、オブジェクト上部ではマスクされないようにしたい、という場合に使えるでしょう。

sp069.jpg

このようにオブジェクト形状から理解できる部分に何らかのマスクを設定したいのであればジェネレータは大変有効です。
うまく活用していきましょう。

次回はフィルタその3の予定です。

  1. 2015/08/15(土) 23:22:23|
  2. Substance Painter
  3. | トラックバック:0
  4. | コメント:0

[SP] フィルタを使って色々 その1

今回はフィルタです。
その1なのでもう1回か2回くらい紹介します。
Substance Painterを便利に、かつ有効に使用するのには絶対必要な機能ですし、何より便利なので覚えておきましょう。

フィルタはレイヤー(ペイント、塗りつぶし両方)、もしくはマスクに対して設定することが出来ます。フォルダに対しては設定できません。
設定するには設定したいレイヤー、もしくはマスクに対して右クリックし、コンテキストメニューの下の方にある [Add ~] を選択します。

sp059.jpg

上図の赤枠内がフィルタ類です。
正確にはフィルタとジェネレータは別なんですかね?よくわからないので全部ひっくるめてフィルタと呼んでいます。
なお、一番下の [Add color selection] はマスク専用で、レイヤーには設定できません。

フィルタを追加されたレイヤー、もしくはマスクは下の部分がグレーではなくブラウンに変化します。
そして、そのレイヤー、もしくはマスクを選択している場合にどのフィルタが設定されているか表示されます。

sp060.jpg

選択してない状態では表示されません。
常に表示していると邪魔になるから、というよりはUI的に全部表示しづらいからそういう仕様になってるのかな?

では、ここから標準的なフィルタを紹介していきます。

まずは [Add fill] で追加できる塗りつぶしフィルタです。
これはその名の通り塗りつぶしを行うフィルタで、塗りつぶしレイヤーと基本的な使い方は変わりません。
レイヤー側は各チャンネルの塗りつぶしが可能ですが、マスクではグレースケールの設定のみです。

主な使い方としては、レイヤーの方は全体のメタリックやラフネス何かを単色で設定したい場合に便利です。
全体が金属なのでメタリックのみ1.0で統一したい、という場合によく使うのではないでしょうか。
マスクの方は単色塗りというよりAOマップや曲率マップでマスキングしたい場合に使われることでしょう。
例えば金属の傷を全体的に入れたいけど、曲率が高いところにより強く傷を入れたい、というような場合に便利でしょう。

気をつける必要があるのは塗りつぶしフィルタはペイントレイヤーより上に来るということです。
これはフィルタ全般に言えることですが、フィルタはレイヤー、及びマスクに対して処理されるため、場合によっては元々レイヤーやマスクに設定されていたものを覆い隠してしまうことがあります。
どの項目に対してフィルタを設定するのか、という点については十分注意して設定を行いましょう。
UI的に微妙にわかりにくい部分も多いです。

次に [Add paint] で追加できるペイントフィルタです。
こちらも塗りつぶしフィルタと同じようにペイントを行うフィルタです。
主な使用方法はやはり塗りつぶしレイヤーに対してちょっとだけペイントしたい、という場合でしょう。

なお、フィルタの処理順番ですが、こちらもレイヤーと同様に下から順に処理されます。
例えば塗りつぶしフィルタの上にペイントフィルタがある場合とその逆では結果が変わってきます。

sp061.jpg

これに気づかずに何故かフィルタが有効にならない…と悩んだことがあるので注意してください。
フィルタの上下を変更するには [Alt + ↑/↓] で上下移動が出来ます。

実はこの2つのフィルタは別にレイヤーでも実現可能だったりするので、マスクで使う以外ではあまり使い道がないのではないかと思っていたりするのですが、ここからはフィルタならではの機能です。

マスクで使用する [Add color selection] は主にIDマップから特定のカラーをピックアップし、その部分のみマスクを有効化します。
フィルタを選択した状態で [Properties] ウィンドウの [Pick color] ボタンを押すとIDマップがビューに表示されるのでそこから必要な色をピックアップしてください。
複数の色をピックアップすることも可能です。

sp062.jpg

IDマップ以外も使用できますが、普通はあまり使わないでしょう。

次は [Add levels] で追加できるレベルフィルタです。
こいつは SP を使いこなせるようになってくると使うことが多くなってくるのではないかと思います。
実際、スマートマテリアルでもかなりよく使われています。

前述のようにAOマップや曲率マップをマスクとして使用するのはかなり便利です。
これらはオブジェクトの影の部分を調べたり、角の部分を調べたりするのに有効です。
しかし、これらを塗りつぶしフィルタで設定するだけでは自分が望んだマスクにならないことのほうが多いと思います。
例えばAOの影の部分に何らかのペイントを行いたい、という場合、AOマップは影の部分が暗くなってしまうのでマスクされてしまうわけです。

そこで登場するのがレベルフィルタです。
レベルフィルタは画像処理ソフトのレベル調整と同じ機能を持っています。
入力と出力のヒストグラムを調整して全体を暗くしたり白黒の明暗をはっきりさせたりといったことが可能です。
AOマップの影の部分を使用したいのであれば出力を反転させればOKです。

sp063.jpg

このサンプル画像ではAOの影の部分だけ錆びているように見せています。
レベルフィルタは大変使い勝手のいいものですので、多分お世話になることが多くなると思います。
使い方を覚えてうまく活用してみてください。

というわけで今回は標準的なフィルタの紹介でした。
次回はまた別のフィルタを紹介します。

  1. 2015/08/15(土) 14:13:29|
  2. Substance Painter
  3. | トラックバック:0
  4. | コメント:0

[SP] パーティクルを使う

今回はパーティクルです。

ブラシによるペイントはお絵かきソフトのペイントと同様に筆で描いていくような表現には使えるのですが、さすがにそれだけだと難しい表現もあります。
例えばガラスのひび割れや漏れたオイルが垂れてくる表現などです。
これらをペイントブラシで表現できる人もいるでしょうけど、そうでない人にとっては割と難しいシロモノです。

これをある程度サポートしてくれるのが Substance Painter に存在しているパーティクルです。
[Shelf] ウィンドウの [Particles] タブにはいくつかの挙動を行うパーティクルが存在しています。

sp052.jpg

これらはオブジェクトとの当たり判定も取ってくれますし、重力方向に垂れていくような挙動をするものもあります。

使い方はブラシの代わりに選択し、欲しいところに吹きつけてやればOKです。
例えば [broken glass] を使ってみましょう。
[Particles] タブから [broken glass] を選択します。

sp053.jpg

次に、[Properties] ウィンドウの [サイズ] を少し小さめに、[Spawn Radius] を0にします。
また、有効チャンネルは [height] と [rough] のみにして、[height] は -1.0、[rough] は適当に大きめの値にしましょう。

sp054.jpg

これでサンプルロボットの顔面に吹き付けてみましょう。

sp055.jpg

このように、ガラスのひび割れっぽい表現になります。

パッと見はガラスのひび割れっぽく見えるのですが、少し近づいてみるとこんな感じになってます。

sp056.jpg

パーティクル(粒子)によって処理しているため、どうしてもつぶつぶが見えてしまいます。
これに対応する1つの手段としては、1回のパーティクルのシミュレーション時間を短くして、より細かなパーティクルシミュレーションを行わせる方法があります。
これは [Properties] ウィンドウの [dt] という項目が該当します。dt は "Delta Time" の意味でしょう。
デフォルトでは 0.01 になっていますが、これを 0.001 にして再度吹き付けてみます。

どうでしょう?動きましたか?
多分、まともに動かなかったんじゃないでしょうか?
うちの環境では完全に応答しなくなりましたw
これは秒間のシミュレーション回数が多すぎるためにPCが悲鳴を上げた結果です。
パーティクルのシミュレーション方法によっても異なりますが、dt を 0.001 にするとほとんどのパーティクルでかなり重くなるはずです。

では、もう少し自重して 0.003 にしてみましょう。
結果はこうなりました。

sp057.jpg 

前に比べるとマシになった気がしますが、それでも粒子感は残ります。
パーティクルで処理を行っているため、この問題は簡単には解決できないものと思われます。
速度や寿命などをいじることでもある程度対応できますが、万能な解決方法はあまりないようです。
というわけで、パーティクルを使ってロボット君に少しだけ装飾を入れてみます。

sp058.jpg

顔のひび割れは [fracture] に変更しました。
また、胸の辺りのオイル漏れは [heavy leaking] を使っています。
このように、完璧ではありませんが、ある程度の物理的表現はパーティクルを使うことで対応が可能です。

次回はフィルタを紹介します。
  1. 2015/08/14(金) 22:20:26|
  2. Substance Painter
  3. | トラックバック:0
  4. | コメント:0

[SP] 特殊な塗り方:投影、ステンシル、ジオメトリ

今回はブラシによる塗り方としては特殊な手法をいくつか紹介します。
特殊な、とは言っても普通のブラシ塗りより使う頻度が高いんじゃないかと思います。

まずは投影。
左上にある [投影] ボタンをクリックします。

sp043.jpg

するとこのように、ビュー上にマテリアルが投影されるようになります。

sp044.jpg

この状態でブラシで塗ると、通常のブラシ塗りとは違って塗った場所に投影されているマテリアルが塗られます。

sp045.jpg

これが投影の機能です。
投影するマテリアルは90°回転はできますが、拡大・縮小・平行移動・細かな回転は出来ないようです。
これは投影される側、つまり3Dモデルや2Dテクスチャ側を回転・拡縮・移動することで対応する必要があるようです。
マテリアルの90°回転は "Shift + S + 左ドラッグ" のショートカットで使用できます。

次にステンシルです。
ステンシルも投影と似たような機能ですが、こちらはモノクロ画像を利用したマスク処理です。
以前紹介したマスクはブラシを使ってマスクを描いたり、予め用意されたマスクテクスチャを利用してマスキングしたりすることは出来ました。
しかし、例えばメーカーロゴなどをキャラクタの胸に、金属メッキで貼り付けたい、というような場合を考えてみてください。

このような場合、ロゴの形のマスクテクスチャがモデルのUVに対応して作成されているのであればそれをマスクに対して塗りつぶしで対応することが出来ます。
しかし、このロゴの形のマスクテクスチャが単体で存在していて、どんなモデル、UV座標でも使用できるように汎用的に用意されている場合はどうでしょう。
例えばこんな感じのテクスチャが用意されていたとしましょう。

sp046.jpg

これは塗りつぶしで使用することが出来ません。
そこで利用されるのがステンシルです。
このようなモノクロ画像はステンシルとして設定することで、その部分だけ投影で対応することが出来るようになります。

まずは塗りつぶしレイヤーを作成し、適当なマテリアルを設定しましょう。
今回は ”Car paint" を使用しました。
次に黒のマスクをこのレイヤーに追加します。これで一切 "Car paint" のマテリアルは無効化されました。

次にこのマスクを選択し、[Properties] ウィンドウの [Stencil] と書かれたボタンに先のテクスチャをドラッグ&ドロップするか、ボタンをクリックしてテクスチャを選択しましょう。

sp047.jpg

ボタンをクリックする場合、マスクテクスチャを [Shelf] ウィンドウの [テクスチャ] タブに追加しても表示されません。
どうやら [アルファ] タブに追加する必要があるようです。
ドラッグ&ドロップなら [テクスチャ] タブに追加しても問題ないようです。

設定を行うと投影と同様にビュー上にテクスチャが投影されます。
あとは投影と同様に3Dモデルや2Dテクスチャを合わせて塗ります。

sp048.jpg

このようにロゴや模様を綺麗に塗ることが出来ます。
ステンシルは通常のブラシ塗りでも使用できますが、投影塗りでは使用できない点に注意してください。

最後にジオメトリをやります。
こちらは主にマスクとして利用することになる機能です。
ジオメトリ塗りを行いたい場合は左上の [ジオメトリの転写] ボタンを押します。

sp049.jpg

するとビュー上にポリゴンが表示されます。

sp050.jpg

このポリゴンごとに単色塗りできる機能が [ジオメトリの転写] です。
単色でしか塗れないため、マスク以外ではあまり使い道がないと思います。

ジオメトリモードに入ると [Properties] ウィンドウがこのように変化します。

sp051.jpg

カラーは塗る色で、マスクで使用するなら黒から白の間で利用することになるでしょう。
その上の選択項目はポリゴン選択をどのように行うかを設定します。
左から、頂点選択、ポリゴン選択、オブジェクト選択、UV選択です。

頂点選択は選択範囲に入っている頂点を利用しているポリゴンがすべて塗りつぶし対象となります。
何故かこの処理は三角ポリゴンで処理されるので、四角ポリゴンであっても三角ポリゴン2つとして扱われます。

ポリゴン選択は選択範囲に入っているポリゴン自体をすべて塗りつぶし対象とします。
こちらは四角ポリゴンは四角ポリゴンとして扱われます。

オブジェクト選択は選択したポリゴンと地続きになっているすべてのポリゴンを選択対象とします。
いわゆる”ぶっ刺し”になっているポリゴンは選択対象にならないので注意してください。

UV選択は選択したポリゴンとUV座標が地続きになっているすべてのポリゴンを選択します。
2Dビューで見ると選択される状況がよくわかると思います。

これらすべての選択方法において、3Dビューでは選択範囲がすべて対象となります。
つまり、隠面となって見えていない部分のポリゴンも対象になるので選択時には注意してください。

ジオメトリモードはクイックマスクでも使用できます。
クイックマスクの編集に入ったら [ジオメトリの転写] ボタンを押せばOKです。

というわけで今回はここまで。
これらの機能は割とよく使う機能になるのではないかと思います。
すくなくとも、普通のブラシ塗りよりはよく使う気がします。
必要になる場面は限られるかもしれませんが、覚えておきましょう。

  1. 2015/08/09(日) 12:57:30|
  2. Substance Painter
  3. | トラックバック:0
  4. | コメント:0

[SP] スマートマテリアル

今回は短め。というか、説明忘れてたスマートマテリアルについて。

Shelfウィンドウの [Materials] タブの横には [Smart materials] というタブが存在します。
賢いマテリアル、という意味になりますが、これは通常のマテリアルとは使い方が違います。

通常のマテリアルは Substance Designer を使って作成され、ブラシか塗りつぶしで利用されます。
これに対してスマートマテリアルは複数のレイヤーから構成されたマテリアルで、簡単に言えばフォルダでまとめたマテリアルをショートカット的に利用できるマテリアルです。

使い方は簡単で、[Smart materials] タブから使用したいマテリアルを選んでレイヤウィンドウにドラッグ&ドロップするか、レイヤウィンドウのスマートマテリアルボタンを押して選択するかのどちらかです。

sp038.jpg

追加すると複数のフォルダ、レイヤーがレイヤウィンドウに追加されるはずです。
これがスマートマテリアルです。

例えば、比較的わかりやすいので "Tire rubber" を追加してみましょう。
Tire rubber というフォルダが追加され、その下に2つのレイヤーが存在しているのがわかるでしょう。

sp039.jpg

2つのレイヤーはどちらも塗りつぶしです。
最初のレイヤーは高さを設定しておらず、色が黒(完全な黒ではないですが)、ラフネス0.5、メタリック0.0の単色塗りつぶしです。
2つ目のレイヤーはマスクが存在しています。
マスクはAOマップをベースとして、ちょっとレベルをいじって黒がはっきり出やすくなるように調整したものです。
マテリアルの方は "Grunge Map 012" というグレースケールのテクスチャを利用して高さとラフネスを設定するようにしています。
高さとラフネスもレベルで調整されていますね。

追加されたスマートマテリアルはもちろん調整可能です。
Rubber Base レイヤーの色を変えてみれば赤いタイヤゴムも作れます。

~sp040.jpg

このスマートマテリアルはそのまま使用してもいいのですが、どうやってマテリアルレイヤーを作っていけばいいのかの良い指針になると思います。
これを元に勉強し、自分なりのマテリアルレイヤーを作っていくことが可能になることでしょう。

そうして作ったマテリアルをスマートマテリアルとして保存したい、という要望ももちろん出てくることでしょう。
もちろん、これも可能です。
自前のスマートマテリアルを保存したい場合は、まずそのマテリアルレイヤーをフォルダにまとめましょう。
フォルダをダブルクリックして名前を変更します。
例えば上の赤いゴムを保存したい場合、"Red rubber" という名前にでもしましょう。
このフォルダを右クリックし、メニューの中の [Create smart material] をクリックしましょう。

sp041.jpg

すると設定したフォルダ名と同名のスマートマテリアルが [Smart materials] タブ内に追加されます。

sp042.jpg

残念ながら、サムネイルは自前で作成しないとダメっぽいです。
同名のスマートマテリアルがすでに存在する場合は、末尾に _1 などの数値が追加されます。
まあ、できるだけ名前が被らないようにするべきでしょうね。

スマートマテリアルについてはそのまま使ってもいいのですが、自分なりにアレンジしたり自前のマテリアルレイヤーを組むのに参考にしたりするといいんじゃないかと思います。

というわけで今回はここまで。
次回こそは投影とかステンシルとかやります。


  1. 2015/07/31(金) 00:43:10|
  2. Substance Painter
  3. | トラックバック:0
  4. | コメント:0
前のページ 次のページ

プロフィール

monsho

Author:monsho
ゲームプログラマ?

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。