ライフル制作5

大体できてきました。

しんどいですけど、微細な丸みを含んだエッジや細かな凹凸も再現したハイポリ版を一度作って、ローポリを改めて作ってベイクしたほうが結果的に絶対良いです。SubstancePainterでも曲面マップ等が作れるのでマテリアル作成が捗ります。

今回ハイポリはPlasticityで作りました。ハードサーフェイス系では絶対おすすめです。

ライフル制作4とSubstancePainterのカラーマネジメント

前々から違和感持ちつつ後調整してごまかしていたのですが、SubstancePainterで作成しているときの表示とBlenderに持ち込んだ時の表示が全然違う。今回は特に。

これ原因はSubstancePainterのプロジェクト作成時の標準カラーマネジメントが、いかにも古そうな「Legacy」という設定になっているため。このLegacyは実際かなり暗めの表示になっており、その視覚ベースでペイントしていくと、他ソフトに持っていくと想定外に明るくなってしまう。そしてメタルの値が低い部分のラフネスの効果もかなり劣ってしまう印象。

ここの設定は「OpenColorIO」→「Substance」にしましょう。

実際比較するとこんなレベルで違いがあります。

異なるソフトでちょっと照明の当たり方が違いますが、お分かりですよね。

参照サイト
【Blender 3.1】カラーマネジメントの仕組み・設定について紹介!
https://cgbox.jp/2022/05/25/blender-color-management/

ライフル制作3

ローポリ版を作成中。ハイポリ版を横にコピーし、不要な形状を削除しつつ適した出力パラメータを確認してます。

かなりありがたいのが、モデリング時のカスタム法線を維持したまま出力してくれること。
Nゴンでも△ポリゴンでも歪んだ感じは一切なく他ソフトに持ってこれます。

Plasticityメモ

Plasticityはほとんどの操作がショートカットキーと単語検索でしか呼び出せません。パフォーマンスのグラフを出すくらいGUIがスッカスカで余裕はあるので、現在のモードで有効な操作の一覧を自動で出してくれてもいいのにな。各操作のアイコンを作るのが苦痛すぎるから?

 O:平面からオフセットしたカーブを作成
 Ctrl+R:横か縦方向にカーブを挿入 TABで切り替え
 Ctrl+3 or 4:選択した面かエッジかカーブに隣接する対象を選択
 Alt+D:平面投影表示でソリッドの輪郭やエッジからカーブを作成

他のサイトも貼っておきます。

アーティスト向けCAD『Plasticity』の操作方法をメモするだけの記事!
https://3dnchu.com/archives/plasticity-howto/
Plasticity マニュアル
https://doc.plasticity.xyz/ja

Plasticity

Plasticityという新しいソフトで銃のモデリングやってます。
ブールとかベベルが無茶苦茶強力なソフトです。もっと前からこれがあれば・・・

あと、作ってるモデルは作成前にざっくりと作ったデザインからかなり逸脱して考えながら作ってる状態なのでかなりペースが遅いです。作っては気に入らなくてNGの繰り返し。ずっとこればっかやってます。現実にあるものならもっとサクサクいけると思います。

UnrealEngine5に出力 その2

UnrealEngineのマーケットプレイスで入手できるアニメーションから、いくつかリターゲットを試してみました。もし、マーケットプレイスのアニメーションをリターゲットして多用する場合、多分極力ボーンの並びはUE5のと同じように調整したほうがいいです。簡単に直せるので。骨格が違ってもリターゲット時に調整はできますが、限界もあります。AutoRig-Proを使ってますが、その機能でレフトポーズもUE5のにしてからエクスポートしたほうがいいです。新しいIKを用いたリターゲットも挑戦しておこうと思います。

まだよく分かっていませんがキャラクタに追従する髪の導入方法は把握済み。エディタ内で動かすと設定したシミュレート通りの動きをしてくれます。重そうない印象がありましたが、全然多用しても問題無さそう。思いっきり振り回すと分け目の部分からしか生やしてないのがバレちゃうので、頭皮を隠すため固めの設定にしています。やっぱり頭皮全体から生やすべきなんだろうか・・・。

もちろん自前でアニメーションも作ってます。

UnrealEngine5に出力

UnrealEngine5がやはり気になるので、今回のキャラクタを持っていき、アニメーション作品を作ったりしたいのです。AutoRig-Proの構成もそれを意識した構成で始めてます。今は昔と違い、かなり充実したマーケットプレイスというUE専用コンテンツ販売サイトがあるので、そこも活用しようかと。

ちなみに自分のPCスペックはこんな感じです。
CPUがWin11に対応しない(なんでや・・・)のですが、22H2でもすんなり新規インストールできました。
 Ryzen Threadripper 1950X
 X399 SLI PLUS
 64GB RAM(3200 8GB ×8)
 2TB SSD
 4TB HDD
 GeForce RTX 3080 10GB
 オンボードサウンド

Eveeのレンダリングに慣れちゃったので、UE5でどうなるんだろう。

BlenderでグルームをUE向けに出力はできるけど、現段階でスキニングで動くメッシュ表面に追従するところまでは持ってこれないらしいので、仕方なくまつ毛と眉毛を板ポリとテクスチャ描写に置き換えます。そのあたりはMaxやMayaだと完全に対応してるっぽいです。
頭の髪はカツラ同然なので、頭のボーンに丸ごと追従させることでOKです。

で、いざ持っていったら、ちゃんと正規化やレベル設定がしてあるにも関わらず、指の一部のウェイトが反映されずrootにもってかれる不具合に遭遇しました。AutoRigで出力したFBXをBlenderで読み込むとUE5と同じ状態、かつ標準のエクスポートで出力したFBXは問題無しなので、「AutoRigがバグってんのかな」と思いつつ、メッシュを複製して再度リグにバインドし直し、複製したほうからウェイトを転送しなおしてみました。すると元と全く同じウェイトを使ってるのに不具合は治りました。

エクスポート設定をメモっときます。これで正しいのか分かりませんが、メッシュはSubstancePainter時点でペイントしたときのメッシュを三角ポリゴンにエクスポートしてBlenderに持ち込んでいます。三角ポリゴンにしつつ四角ポリゴンと同じノーマルを維持させるため、タンジェント情報を含んでいるはずです。タンジェントがあればスムーズの有無も関係ないはずなのですが、いちいちUE5でインポートしたときに警告を出してくるので、面を選択して出力しています。このあたり意識しておかないと、ノーマルマップがきれいに反映できないメッシュになってしまいます。

UE5でのインポート時にも落とし穴があります。
インポート時に、ノーマルを自動生成しちゃってくれる謎設定がデフォルトになってみたいなので、ちゃんとソースからノーマルとタンジェントを読み込むように指定しましょう。

これでようやくメッシュだけが持ち込めます。マテリアルの作成が始まるのですが、昔作ってたWL-Shaderみたいに、自分用の汎用的なやつを作りたいです。

テクスチャ作成@SubstancePainter

テクスチャペイントは、私のような趣味勢にとってはSTEAMのインディーズライセンス版がちょうどいいです。ホントに。ハイポリからローポリにベイクするのもコレでやったほうがいいです。

というわけで、ペイント云々よりベイク処理のやりやすさを紹介します。

まず、ハイポリとローポリの位置関係とトレース範囲を視覚的に確認でき、エラーがある部分を強調表示することができます。

で、ハイポリとローポリが、複数のメッシュで構成されて同一のマテリアルを使う構成の場合、仮にメッシュ同士が交差していると、その部分でベイク処理にも不具合が出ます。対策として、おそらく分離させたりするんだろうけど、その場合ハイポリベースのAOマップが忠実にベイクできません。

で、SubstancePainterはハイポリとローポリ双方の構成に含まれているメッシュの名前でベイク処理を分けてくれます。関係性の構成に漏れがないかもチェックできます。で、IDマップも出力すればレイヤごとにマスク処理として使えます。

これで複数のメッシュのベイクを簡単に単一マテリアル内に収められることになります。