今月は、こちらの依頼品もやっていかないといけません。
説明がかなり必要な気がする。
とにかく、こういう依頼が来たのです。
岩手県の「剣舞」という伝統芸能のために3Dモデルで剣舞を踊る動画を作るプロジェクトがあって、そのためのモデルを作って欲しいと、
(これは別の伝統芸能の動画ですが、最終的にこういう動画ができるようにしたい、と)
まぁ、そういうことになりました。
しかもそれの期限がかなりギリギリで、最初は年末に来て「1月まで」に作って欲しいとかそれくらい切羽詰まっていました。 それがようやく「2月まで」ということになったということです。
しかもモデルメイキングの工程とか 他にも自分の知らない部分のマニュアル作成まで要求されたりして、なんだかなぁ という感じではありました。
正直対象としても自分の気の乗らないお題ではあります。
でも額によっては引き受けてしまうのです。
まぁそういうことです。
(あとはまぁ、なんか自治体とか伝統芸能とか、妙に堅苦しいわけですが、
自分がこんなのを手掛けて大丈夫か?とも思うわけですが)
──────────────────────────────────────────────────────
というわけでやっていくしかないのですが、
自分のメイキングって、わかりやすいですかね?
「自分のワークフロー」というのはもう分かりきってると思うので、
過去のメイキングで前に言及した部分というのはどんどん端折っていってる気がします。
すると、全部ちゃんと読んでる人にしかわからなくなってきてる部分もあるかと思います。
この記事の場合は、わからん場合はツッコんでくれたら説明できるような気もします。
──────────────────────────────────────────────────────
まずはFBXのボーン形式の整理です。
送ってこられたサンプルのFBXのボーン構造を見ながら、
自分の手持ちのテンプレートファイルを改造していきます。
なんか、ボーンの構造がちょっとだけ違っているのです。
人差し指と小指の根本のところに、pinky0というボーンが追加されていましたね。
あとは背骨の関節も多い感じでした。
その辺が自分がテンプレートとしてるhumanoidモデルとの差だったかと思います。
──────────────────────────────────────────────────────
一応ボーン構造が出来たところで、
次はモーションが動くかどうかの確認のために、簡易モデルを作ってみます。
人体部分は、自分がつくった素体モデルを使ってみます。
まぁいらない部分は削っていきます。
まぁまずはこれくらいのモデルでと。
ですがこれを踊らせるとまだ問題があるようです。
しかし問題を確認出来ても直せるとは限らないのが難しいところです。
ねじれに関しては多分ボーンの軸の問題だと思いますが、
それ以外の首の位置がおかしいなんかはちょっとよくわかりません。
──────────────────────────────────────────────────────
まぁそこは置いておいて、
まずは自分のやるべき最低ラインはモデリングなので、そっちをやっていくしかありません。
お面を3Dスキャンしたobjモデルを提供してもらいました。
しかしこれはこれで問題がありました。
なんだか変なポリゴンがあり、それを削除すると穴が空きます。
こういう部分をZbrushに持っていって修正します。
穴埋めはそういう機能がありますが、それ以外も手直しします。
側面の穴とか、あとは歯が消えていたのでちょっと掘りました。
まぁこれに関してはこれくらいです。
どんどん次行きます。
次はこれをリトポしていきます。
しかし3Dスキャンしたモデルだというのに写真と見比べると随分と印象が異なりますね。
まぁつまりこれが「パースの有無」ということなのですね。
資料からモデリングする時このことは相当気をつけないといけないことが分かります。
現実で見ているモノというのは 3Dの平行視点から比べると驚くほどパースがかかっているくらいだと。
まぁとにかくリトポが出来ました。
リトポに関しては気合でやるとしかいいようがありません。
メタセコにもシュリンクラップはあります。
これがなるべく重なるように頂点を修正していくのです。
──────────────────────────────────────────────────────
ところで当たり前のように「リトポ」「リトポ」と言っていますが、
今更、どこからどこまで説明したものなのでしょうね。
とにかく3Dスキャンしたobjファイルのお面を頭につけて、モーションで踊らせるのは、難しいですよね。 そのobjファイルは頂点数が多すぎるからです。
実際、お面一個で38万頂点あるわけです。
(お面一枚がUSJギドラに相当するわけですね)
そのようなハイポリのデータを、このようにトポロジーを整理しつつ
簡単な形状なモデルに置き換えていくのです。
そうすることで頂点やポリゴンがこのように2000台になったりして、
軽く扱えるようになるということですね。
しかしこれはこれで、ツルツルの簡単なモデルになってるわけです。
このモデルに、先のハイポリモデルの凹凸情報を転写する技術があるのです。
これが「ベイク」ですね、ということです。
ベイクには 転写元のハイポリモデルと 転写先のローポリモデルが必要で、
更にローポリモデルにはUV展開が必要です。 (逆にハイポリにUVは不要です)
UV展開は、自分はメタセコイアでやっています。
切れ目を選択していくといい感じで展開してくれる機能があります。
なかなか便利だと思っています。
で、UV展開が出来たので、実際にベイクをします。
凹凸情報やちゃんとした形状が転写されたわけです。
で、ベイクは自分はもう「サブスタンスペインター」というソフトでやっています。
前までは自分はベイクはBlenderでやるしかありませんでしたが、
あれはやはり、操作性がよくありません。
(「シフト選択」とか そういうことを要求してきますからね)
(あと、謎のエラーでベイク出来ないというのがとにかく多い!!)
サブスタは、
ベイクした曲率やAOなどを利用してジェネレーターで汚しを入れることもできますし、
修正したモデルの再ベイク後の変化も、リアルタイムで確認することが出来たりします。
とにかく修正や調整の対応がしやすいように思います。
まぁとにかくサブスタ上で色を塗っていきます。
──────────────────────────────────────────────────────
で、出来たらエクスポートして、そのテクスチャをメタセコイアに持っていって、
こちらで確認、調整するのが自分のワークフローです。
(結局自分はメタセコ最強だと思っているので)
もちろんメタセコイアは、ラフネスやメタリックの表示は対応していませんので、
こっちでのリアルタイム表示に切り替えた時点でちょっとヘボ目のCGに見えたりはします。
でも最終的には何の違いもないことです。
で、今回はメタセコでどういう部分を調整するかというとこういう部分です。
貰ったOBJファイルは、前方だけで、裏面がありませんでした。
その穴を埋め立てると裏は真っ平らになってしまいます。
これをZbrush上でうまいこと逆に凹ますというのは、それはそれでちと面倒だと考えました。
これはもう、真っ平らは真っ平らとしてベイクしてしまっていいと考えました。
その変わり リトポの時点で、ポリゴンの構造を ↑「このように」しておくのです。
この部分をこのように選択して押し出すことで、 お面の裏側の形状を作ることができるわけですね、と。 縁の部分はメタセコでエッジをつけます。
で、こうなるわけです。
こうして、リアルタイム用のお面のモデルが出来ましたね、ということです。
自分がいつもやってることを丁寧めに説明すると、こういう感じです。
(これで丁寧なつもりです)
──────────────────────────────────────────────────────
で、まだこれはお面だけの完成なので、
次は衣装もどんどんと作っていかないといけません。えらいことです。
こっから数倍のボリュームになるような気もしますが、
まぁ衣装の場合は ベースから作ってシワをスカルプト、という手順になると思います。
その辺の説明はもうあまり不要かと思います。
基本は、衣装のベースのモデリングの話をしていくことになるかと思います。
──────────────────────────────────────────────────────
こういうのも後でシワをスカルプトしてベイクしていくわけです。
まずはこういうパーツ自体を作って配置していくことになります。
──────────────────────────────────────────────────────
はちまきを作ります。
貰った資料なのですがなんかゴミがかかってますし字が切れています。
それっぽいフォントを探してきて作ってくれということですが、
やはりこのような達筆の筆のフリーフォントなどなかなか無いものだと思います。
仕方がないのでこれを加工して自作しようと思います。
これをループさせて展開します。
シワのノーマルマップをベイクすることを考えるとループコピペは必須です。
(むしろそれをしない場合はループなどせずにUVを大きく取れば勝手にループします)
こんな感じで結びます。
これだけでもそれなりにシワ感がありますがポリゴンだけでやっています。
あとでもっとちゃんとシワをスカルプトし、ベイクします。
──────────────────────────────────────────────────────
髪の毛を作っていきます。
まぁこの辺も、レイカのときの素材を持ってきます。
ノーマルと透明付きの髪の毛素材になりますからね。
それを持ってきてこのように回転コピペし、分割して変形して、乗せていきます。
で こんな感じになります。
なんだかこのままだとちとシンプルすぎる気もします。
あとで多少の、散らした感じの毛を増やせばいいのではないかと考えます。
──────────────────────────────────────────────────────
お面、はちまき、紐、髪の毛、
これで一応、首から上のベースとしてはだいたい出来たか、という感じですね
次は体の下の服のベースを作っていきます。
ひたすらパーツ作りですね。
装飾部分も作ってきます。
板の花とかトラを作ります。
ひたすら投影で作り、その後 ある程度押し出して膨らませます。
──────────────────────────────────────────────────────
服用のテクスチャを自作します。
貰った写真の中で良さそうな部分を探してきて、
そこを変形して、矩形としてまっすぐに直します。
ここに手で加筆して、綺麗にします
このままの素材だとループが連結しないので、
中央部分から半分ずつずらして、コピペします。
そしてまた中央部分が連結するように手で修正します。
そうすることでループ素材になります。
これを展開するとこうなります。
これでももうまぁまぁそれっぽいですが、
やはりこの後シワをスカルプトして、ベイクすれば一気に服っぽくなるはずです。
素材が集まってきました。
ですがまだまだパーツがあります。
背中のソーセージみたいなの、 鈴、 布、 紐が大量にあります。
草履や剣も作らないといけません。
えらいことです。
──────────────────────────────────────────────────────
大変そうな板の部分を作ってきます。
重なるようにUVを合わせておきます。
この部分を曲面分割し、zbrushに持ってきます。
なんどもディバイドして、
ディスプレイスメントに画像の明暗を持ってきて、適用します。
するとこういう形状になりました。
これでいいのではないでしょうか?
これを使ってベイクすればもういいのではないかと考えました。
自力でフリルを作るのはもう、時間的にも技術的にも現実的ではありません。
サブスタでベイクしていきます。
裏のタタミっぽい部分はサブスタで作ってきます。
これは塗りつぶしレイヤーにノイズを乗せて、このようにしています。
その仕組み。
こういうノイズを使い、 スケールをXとYで分けておきます。
これによって横に伸びた凹凸が出るのですね。
それを、明暗と高低に割り当てています。
こういうモノを二種類重ねることでループ感も消していきます。
そこに更に、90度回転させたこのようなモノを乗せることで、
縦の タタミ感? 俵感? のような物が完成します。
要は縦横に乗せてるということです。
こういうモノも工夫で作れるということですね。
ベイクしたシワのノーマルマップも、ある程度の部分はサブスタ側で
調整したり加筆することも出来ます。
で、色を塗ったり、画像自体も持ってきて、サブスタ上でこのようになってきます。
エクスポートしてメタセコで見るとこんな感じ。
色々塗りが甘い部分があります。 あと上部にポンポンが乗っています。
こっから先、手で修正して、そういうのを消していきます。
(そういう作業はサブスタではやりづらいので)
このようになりました。
──────────────────────────────────────────────────────
次は服の基本部分を作っていきます。
まずハイポリ版をちょっと作ります。
布の縫い目のような部分を、ナイフやワイヤー機能で作ってきます。
こういうのはスカルプトでは綺麗にしづらい部分なので、先にメタセコでやっておくのです。
この変化がこれくらい。
出来たモノをZbrushに持っていって、ある程度ディバイドして、スカルプトしていきます。
これで本格的に服の皺を書き込んで行くわけです。
この作業自体は前にセミ人間のスーツを作ったときと同じ調子ですね。
でもあの時よりかは環境が良くなっています。
あの頃はScuptrisでやってましたからね。
この作業は気合とセンスでやるしかない感じがあります。
自分もまだまだです。 なかなか服っぽい感じというのが出なかったりします。
しかしZbrushにはcross関連のブラシがあります。
しょぼかった部分がこうやって結構マシになっていく段階が分かるかと思います。
こういうのをやっていくのです。
出来たらサブスタでベイクします。
イマイチに見える場合、
曲率マップにブラーをかけて、それをheightで乗せる、という方法をやってみます。
これで凹凸がさらにくっきりと乗るようになります。
その変化がこんな感じです。
先の工程で作っておいた服の模様をインポートして、タイル状に配置します。
全部同じ模様になっているわけですが、
そういうのはどうするのかというと、「黒のマスク」というマスクをかけると全部消えます。
そこに、ポリゴンフィルという機能の値を1にして、塗りたいポリゴンに塗っていくと
そこだけマスクが外れます。 こうやって袴の部分だけ模様を乗せるということです。
凄い基本的な話ですが。
同様に腕の部分も作り、
赤い部分を彩色して、 服が出来ていきます。
これをエクスポートしてメタセコ側で見ると、こんな感じです。
──────────────────────────────────────────────────────
服を着ていきます。
こういうのを何故スカルプト→ベイク後にやるかというと、
重なってて上手くスカルプト出来ないから、ですね。
こういうことは全部ベイク後にメタセコ上でやっていくということです。
──────────────────────────────────────────────────────
最後に小物群と布パーツを作ってきます。
「布パーツ」とは、汎用で色々コピペする布に使う部分です。
同じ構造のモノを4色ほど複製して作っていこうと思います。
布パーツは、 白、赤、黒、ピンクの4種類にしておきます。
一つの色で このように4分の1使うようにしておきます。
最後の小物群はこんな感じです。
髪留め、
はちまき、
胸の板、背中の布、
ポンポン、
わらじ、
鈴、
ソーセージみたいなの、
などを作っておいて、このようにUV展開しておきます。
背中の布はこんな風にして畳んでる感を出しておきます。
ベースが出来たら、やはりハイポリ化し、こんな感じでスカルプトしていきます。
布の感じですね。
これをベイクします。
──────────────────────────────────────────────────────
背中の布に関して
こういう資料をいただきました。
これをなんとか変形したり色調を弄ったりして、
キレイな矩形にして、テクスチャ素材として使えるようにしておきます。
そしてこのようになります。
いい感じの布感ですね。
──────────────────────────────────────────────────────
わらじ
これはこれだけ持ってきてハイポリ化し、資料の画像をディスプレイスメントとしてちょっとだけ適用し、ガイドとしてみていきます。
これを多少調整して、 まぁこれくらいです。
──────────────────────────────────────────────────────
ソーセージみたいなやつの縫い目みたいな部分。
このようにワイヤー機能で線を引いてきます。
するとこうやってポリゴンで塗りつぶしが出来るようになりますので、
こういう縫い目を作ることが出来ます。
heightを低めにして、ブラーでぼやかすことで、膨張した感じも出せるわけです。
まぁそうやって小物群のテクスチャを作ってきます。
4色の汎用布パーツはこのようになっています。
これをエクスポートして、こうなっています。
これでやっとテクスチャが完成し、
全パーツが揃いました。
あとはこれをひたすら組み立て、ということですね。
ひたすら結んだり、巻いたりしていくわけです。
──────────────────────────────────────────────────────
パーツを組み合わせて服を着せる部分に関しては、
もう延々と、基本機能を使って動かしていくしかありません。
・曲げ機能、
・マグネット機能、
・移動機能、
これらを駆使して、パーツを揃えて形にしていくしかないのです。
故に、逆にあまり解説することもないかと思ってしまいます。
まぁこうやってリボンが結べました、ということですね。
こういうことにしても、
実は結局、延々と頂点を移動させて服を着せているのです。
延々と、そのように動かしているだけなのですね。
一つあるとしたら、
この辺のコツであるとすれば、
オブジェクトの保護機能なんかがあるかもしれません。
服がうまく肌の上に乗ってこない時、
めり込んだりズレてる時、肌の方はロックしておいて、動かしたいやつだけをロック解除しておく。
その状態でマグネットでイジると、直感的に操作ができるようになると思います。
──────────────────────────────────────────────────────
ボーン入れ(リギング)とスキニング(ウェイト塗り)に関しては、
もうどこから説明したらいいやら、という部分でもあります。
ボーンはまぁボーンです。
ここを動かしたい、ここをこれくらいの細かさで動かしたい、という部分に分岐を作っていったりします。
あとは規定の構造があったりしますのでその部分は揃えたりします。
今回は指定のfbxのようなボーン構成を基礎として、
そこに大量の、服の揺れる部分のボーンを追加して、
このようになっています。
──────────────────────────────────────────────────────
このように作ったボーンに合わせてスキニング(ウェイト塗り)することで、
服と人体が連動して動くようになります。
けして物理的に服が人体に合わせて動いているというわけではないのですね。
(そこまでのクロスシミュレーションをしているわけではありません)
あくまで、ボーンと連動して人体と服が同時に動いているから、そのように
見えている、ということです。
で、このスキニングの部分に関しては、
もうこのようにやっていく、としか言えなかったりします。
ある程度自動で塗ってくれる機能もあるのですが、
自分は割と手で塗っていきます。
流れとしてはこんな感じです。
うまいこと追従してくれない頂点があるとします。
まず追従させたいボーンを選びます。 (この場合左腕)
そして追従させたい頂点をこのように選択します。
あとはそこで100%であると指定すると、
選んだ頂点郡が選んだボーンに対して100%で追従するようになる、ということですね。
これ以降としては、ブラシ機能でぼやかせる機能があったり、
加算減算などを使って、関節部分を滑らかにしていったりします。
そうして違和感ないようにウェイトを塗っていくのです。
ByNEET
2021-02-11 06:42:08 +0000 UTCByNEET
2021-02-11 06:40:11 +0000 UTCキソケどぅ・なう
2021-02-09 11:39:06 +0000 UTC蚩尤絶(シュウゼツ)
2021-02-08 13:10:02 +0000 UTC