カブトムシのシミュレーション





どういうわけか、 ポッドキャストを聞いて、虹の表面をシミュレートするバグ(25分、35秒)のシェーダーを書くことについて話しました(ロシア語でそれを言う方法はわかりませんが、英語には虹色の用語があります)。 このキャラクターを見て、シェーダーを書きたかったのですが、キチンのより現実的な表面を模倣して、次の記事でそれについて話します。

しかし、問題がありました-適切な甲虫モデルがありませんでした。



最初はインターネットでモデルを検索しましたが、無料のものは品質が気に入らず、有料のものは価格が高すぎました(〜50ドル)。さらに、必要なモデルはまったくありませんでした。 一般に、バグを作成することにしたので、自分で作成したパイプラインについて説明します。



  1. 参照を検索する
  2. 高ポリゴンモデルのモデリング
  3. 低ポリでのトポロジー
  4. テクスチャ座標の作成(平坦化)
  5. 通常のベーキング
  6. 焙煎アンビエントオクルージョン
  7. シェーダーの色を決定するためのディスプレイスメントマップの追加(詳細は後ほど)


もちろん、パイプラインは異なる場合があります。たとえば、「コンセプトの作成」や「キャラクターの談合」などのアイテムがこの中に存在する場合があります。 概念の役割では実際のバグの参照があり、モデルはアニメーション化される予定がなかったため、それらはそうではありません。 より深刻なモデルでは、ハイポリモデルの中間的なトポロジーもあります。 さまざまなタスクに対して、さまざまな企業がパイプラインを使用します。



参照資料



すべてのバグの中で、私はクリソリンの色、またはむしろクリソリナ草本の亜種が最も好きでした。 このカブトムシは美しく、明るい虹色をしています。









そこで、できるだけ多くの写真をグーグルで検索し、それらをすべて1つに統合しました。 また、構造をよりよく理解するには、他のバグのモデルが役立つ場合があります。 その結果、カブトムシが作成されたほぼすべての時間に、2番目のモニターに画像が表示されました(クリック可能)。





高ポリゴンモデルのモデリング



基本的に、私はZBrushでスカルプトを作成し、シェルから始めました。各オブジェクトは球体から成形されました。











スカルプトのプロセスでは、1つの問題が発生する可能性があります-表面のセクションを押すと、それが押し出されることがありますが、それは時々不便であるか、まったく必要ないため、これを防ぐには、ブラシメニューの自動マスクサブメニューでBackfaceMaskオプションを有効にする必要があります。



[ストローク]メニューの[レイジーマウス]オプションも便利です。有効にすると、ブラシトラッキングが平均化され、不要なジッターが回避され、より滑らかなラインが描画されます。 LazyRadiusパラメーターは、平滑化の度合いを変更します。



ZBrushには、グリッドの問題を回避するのに役立つクールなオプションが1つあります-DynaMesh。 実際、グリッドの変更された部分を再構築し、ジオメトリに適合させます。 このモディファイヤを適用した後、グリッドが見苦しくなり、ジオメトリがわずかに破損することがあるため、気に入らない人もいますが、私のニーズには役立ちました。 このオプションに代わる方法は、モデルのサブディビジョンを徐々に増やし、時折リトポロジーを実行することです





BackfaceMask、Lazy Mouse、DynaMesh



徐々に新しいパーツを追加し、詳細を増やしました。







それとは別に、目について話す価値があります。 カブトムシには多面的な目があり、多くの半球で構成されており、六角形のグリッド上にあるかのように見えます。







3D Maxでモデル化するのが最も簡単な方法のように思えましたが、次のようにしました。

まず、GeoSphereを作成し、必要な数のセグメントを設定して、編集可能なポリゴンメッシュに変換する必要があります。







次に、すべてのエッジを選択し、面取りボタンをクリックするか、その隣のボタンをクリックします-設定フィールドが開きます。 以下のスクリーンショットのようにパラメーターを選択します。







すべての頂点を選択し、溶接を選択し、節点のすべての頂点が1つに統合されるように調整します。







すべてのポリゴンを選択してベベルを適用すると、セルのサイズとほぼ同じ高さでポリゴンを押し出し、わずかに拡大する必要があります。







モザイクを追加するには、テッセレートボタンを1回押します。







そして最後に、TurboSmooth修飾子を使用して、多少の平滑化バージョンを取得するには2回の反復で十分でした。







グリッド自体では、六角形ではなく、6つではなく5つのエッジで構成されるセグメントがあります。 これは、このタイプの球体の構築の詳細によるものです。 しかし、カブトムシにとってはそうなります。



低ポリでのトポロジー



ZBrushにはリトポロジのための独自のツールがあるという事実にもかかわらず、私はTopoGunでそれを実施しました。 スムージングには非常に便利なツールがあります-かなり大きなグリッドを作成して適用できます。 このグリッドは、指定された数のサブディビジョンに分割され、新しい頂点がハイポリモデルに配置されます。







繰り返しますが、目は別に-これは本質的に球体なので、低ポリメッシュとして通常の球体を取り出し、そこから見えない部分を切り取ります。

再トポロジーの結果、60kポリゴンのモデルが得られました。 もちろん、これは実際には低ポリゴンではありませんが、1つのオブジェクトのみで構成されるシーンでは正常です。





低ポリゴンモデル



テクスチャ座標を作成する



UVLayoutでスイープを行いました-ホットキーに基づいたかなり便利なプログラムが迅速かつ明確に動作します。特に、ポリゴンの伸縮をカラーで表示する方法が気に入っています。







モデルをカットすると、継ぎ目はできるだけ少なくなりますが、同時にポリゴンを過度に引き伸ばさないようにしてください。 拡散テクスチャがないため、継ぎ目はレリーフにのみ表示され(法線マッピングを使用)、ディスプレイスメントマップには表示されず、閉じられます。 私はポリゴンの歪みがないことをもっと心配していたので、かなりの数の縫い目が判明しました。



すべてのモデルでスイープの準備ができたら、それらを3D Maxにインポートして、相対的なスイープサイズを調整しました。 これは、テクスチャを増やすことなく重要な領域の詳細を増やすことができるため、かなり重要なステップです。 そのため、たとえば、甲虫の腹のスキャンを意図的に減らし、反対に頭を増やしました。 最後に、標準のUnwrap UVWモディファイアパッカーを使用し、モデル全体のこのスキャンを取得しました。







パッカーは非常に最適にパックしませんが、小さなミップで隣接するセグメントが互いに干渉しないように、かなり大きなパディングを残しました。



通常のベーキング



xNormalの法線マップをコンパイルしました-「興味深い」インターフェースを備えたかなり独特なプログラムです。 一般に、オフトピックは、正直なところ、グラフィックスに関連するすべてのプログラムが独自のインターフェイスを備えていることは驚くべきことです。 しばらくそれを使用する場合、あなたはそれに慣れ、それはさらに便利に思えますが。 しかし、これは私の意見です。







モデルは複数の部分で構成されているため、一度にすべてを計算しようとすると、それぞれ個別にベイクする必要がありますが、アーティファクトが発生する可能性があります。 テクスチャサイズは、問題が発生した場合に適切なクローズアップモデルとして4096x4096を選択しました-いつでも2回以上縮小できます。







焙煎アンビエントオクルージョン



AOはMayaでレンダリングエンジンMental Rayを計算しました(3D Maxではいくつかの問題がありましたが、xNormalはモデルの完全なリストで少し歪みがあり、時間がかかり、それ自体では設定がほとんどありません)。







オフセットマップの追加



よく見ると、実際のカブトムシには色が異なる場所があり、頭や貝の斑点のようなものがあります。







これらの場所をマークするために、MudBoxの別のレイヤーに黒と白のスポットを手動でペイントしました。 後で、シェーダーでそれらを使用して、色成分の1つをシフトします。







その結果、3枚のカードが得られ、それらはすべて次のように1つのテクスチャにパッケージ化できます。



最終的なマップは次のようになり始めました。







次の記事では、このマップをモデルに適用する方法を説明します。 ところで、 ここに前のものがあります。

モデルはかなり不器用で、グリッドはあまり美しくありませんが、一方で私はモデラーでもアーティストでもありません。ただ勉強しているだけです。次のモデルが良くなることを願っています。 実際のモデラーからのコメントで批判を聞いてほしい。 しかし、一般的に、この記事の本質はモデル化の方法を示すことではなく、これにどのようなツールが存在するか、静的モデルを作成するプロセスがどのように見え、ゲームエンジンで使用する準備ができるか、ゲーム開発者のプログラマーがこれを知るのに役立つと思います。







参照資料






All Articles