Blender ウォッチング

毛を完璧に制御してモフモフの3Dキャラを完全体に! 生やす場所の指定や色付けを解説

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

これで完全体に……!

 今回は前回ウサギモデルに追加したファー(ヘアー)の問題点を修正し、以前の記事の色付けも反映させます。

作業ファイルについて

 前回終了時の作業ファイルが下のリンク先からダウンロードできます。ご利用ください。

前回終了まで作業済みのblenderファイル


    ※Webブラウザーによってダウンロードがブロックされる場合がありますが、右クリックメニューからファイルの保存を行い、警告が表示されても[継続]などの項目を選択して保存してください。

マスクテクスチャによるヘアー発生の制御

 前回では全身に毛が生えましたが、目や口の中にも生えてしまっていました。

 そこで生やしたくない部分をマスキングする「マスクテクスチャ」を作成します。作成には以前の記事で使用した「テクスチャペイント」機能で行います。

キャラクターオブジェクト側の設定

 テクスチャペイントスロットに新しいテクスチャ画像を追加し、それをマスクとして利用できるようにします。

 [3Dビューポート]でキャラクターの上にマウスカーソルを置き、[Alt]キー+クリックすると、メニューが出てきますので、[Cube]を選択します。

[3Dビューポート]でキャラクターの上にマウスカーソルを置き、[Alt]キー+クリックすると出てくるメニューから「Cube」を選択。このようにひとまわり小さい輪郭
  1. 画面上部の[テクスチャペイント]タブをクリックしてワークスペースを切り替えます。
  2. [プロパティエディター]の[テクスチャスロット]の「マテリアルリスト」の右下にある[+]ボタンをクリックし、[スペキュラー]を選択します。
  3. 表示された[ペイントスロットを追加]ダイアログで[OK]ボタンをクリックします。

 「Material Specular」という名前のスロットが追加され、ハイライトされていれば成功です。

画面上部の[テクスチャペイント]タブ(①)をクリックし、[プロパティエディター]の[テクスチャスロット]の「マテリアルリスト」の右下にある[+]ボタン(②)をクリック後、[スペキュラー](③)を選択、表示された[ペイントスロットを追加]ダイアログで[OK]ボタンをクリック

マスクテクスチャのペイント

 準備ができたので、マスクテクスチャをペイントしていきますが、以前に「目」と「口」のマテリアルを別に設定したため、そのまま直接3Dビューポートでペイントできません。そのため、少し回り道をします。

  1. 3Dビューポート左上、もしくは[Tab]キーを押し、[編集モード]に変更します。
  2. [プロパティエディター]の一番下の「球」型アイコンのタブ([マテリアル]プロパティ)をクリックします。
  3. 上部の「マテリアルスロット」内の黒いマテリアル(黒で表示される目の部分に相当)をクリックし、下の[選択]をクリックします。
  4. 同様にすぐ下の赤いマテリアル(口に相当)をクリックし、[選択]をクリックします。

 左側の[UVエディター]に、それぞれのマテリアルを設定した面のUVアイランドが表示されているはずです(マウスホイールでズームアウトしてみてください)。

3Dビューポート左上(①)もしくは[Tab]キーを押し、[編集モード]に変更し、[プロパティエディター]の一番下の「球」型アイコンのタブ(②)をクリックして[マテリアル]プロパティに切り替え。上部の「マテリアルスロット」内の黒いマテリアル(③)をクリックし、下の[選択](④)をクリック。同様に赤いマテリアル(⑤)をクリックし、[選択](⑥)をクリック

 そのまま、左側の[画像エディター]内で、表示されているアイランドを「黒」で塗りつぶします。

 テクスチャへの編集が終わったら、以前の記事のように、[画像エディター]の[画像]メニューから[保存]また[パック]して保存してください。

[画像エディター]で表示されたアイランドを黒で塗りつぶし、[画像]メニューから[保存]また[パック]して保存する

ヘアーオブジェクト側の設定

 ヘアーオブジェクト側に設定を行い、ペイントしたマスクテクスチャが反映されるようにします。

  1. [レイアウト]ワークスペースに切り替え、[3Dビューポート]で「ヘアーオブジェクト」を選択します。
  2. [プロパティエディター]が[モディファイアープロパティ]になっていることを確認します。
  3. 上から2番目の[Interpolate Hair Curves]という名前のモディファイアーのパネル内にある、[Mask Texture]をクリックし、上記で作成した[Material Specular]を指定します。
[レイアウト]ワークスペース(①)[3Dビューポート]で「ヘアーオブジェクト」(②)を選択後、[プロパティエディター]が[モディファイアープロパティ](③)になっていることを確認し、[Interpolate Hair Curves]モディファイアーの[Mask Texture](④)をクリックして[Material Specular]を指定
こんな感じになれば成功

ヘアーへのマテリアルの設定

 修正が終わったら、ヘアーにマテリアルを設定し、キャラクターモデルに付けた色が、ヘアーに反映されるようにします。

  1. [シェーディング]タブをクリックし、[シェーディングワーク]スペースに移動します。
  2. 中央下の[シェーダーエディター]のヘッダーにある[ノードを使用]をクリックします。
[シェーディング]タブ(①)でシェーディングワークスペースに移動し、中央下側の[シェーダーエディター]のヘッダーにある[ノードを使用](②)をクリック
  1. [シェーダーエディター]の[追加]メニューから[テクスチャ]-[画像テクスチャ]を実行します。
  2. [画像テクスチャ]ノードの「画像セレクター」(下図②)をクリックし、[Material Base Color](もしくは以前のテクスチャペイントで作成した画像の名前)を選択します。
  3. [画像テクスチャ]ノードの[カラー]ソケットと[プリンシプルBSDF]ノードの[ベースカラー]ソケットをドラッグでつなぎます。
[シェーダーエディター]の[追加]メニュー(①)から[テクスチャ]-[画像テクスチャ]を実行し、[画像テクスチャ]ノード(図中では[Material Base Color]になっているノード)の「画像セレクター」(②)をクリックして「Material Base Color」を選択。同ノードの[カラー]ソケットと[プリンシプルBSDF]ノードの[ベースカラー]ソケットをドラッグでリンク(③)
  1. 同様に[追加]メニューから、[入力]-[属性]を実行します。
  2. 追加された[属性]ノードの[名前]に「surface_uv_coordinate」と入力します。
  3. [属性]ノードと[Material Base Color](画像テクスチャ)ノードのベクトルソケット同士をドラッグしてつなぎます。
同様に[追加]メニュー(①)から、[入力]-[属性]を実行し、[名前]欄(②)に「surface_uv_coordinate」と入力し、[属性]ノードと[Material Base Color]ノードのベクトルソケット同士をリンク(③)

毛が生えていない部分の修正

 これで完成、にしたいのですが、ここでおもむろにビューを回転してうしろ側を見てみましょう……なんと耳の後ろ側の毛が生えてないじゃないですかー(棒読み)

矢印の部分だけ毛がない

 クイックファーツールでは、基本となる「ガイドカーブ」をいくつか配置し、[Interpolate Hair Curves]モディファイアーでそれぞれの範囲内に補間したヘアーを発生させます。しかし、この耳のような極端に長い面があると、補間がうまく働かず、偏りができてしまう場合があります。

 この場合、面を分割することで大抵は解決できます。多少形は変わりますが、後で編集すればいいので問題ありません。

  1. 「メッシュオブジェクト」を選択し、[Tab]キーで[編集モード]に入ります。
  2. 耳の縦辺にマウスカーソルを移動し、[Ctrl]+[R]キーを押し、[ループカット]ツールを起動します。
  3. マウスホイールを回転し、分割線(黄色のライン)が「2つ」表示されるようにします。
  4. そのままマウス移動せず、「2回」クリックして確定します。
  5. 反対側も同様に[Ctrl]+[R]キーでループカットします。
「メッシュオブジェクト」を選択(①)し、[Tab]キーなどで[編集モード](②)に入り、耳の縦辺(③)にマウスカーソルを移動。[Ctrl]+[R]キーを押し、「ループカットツール」を起動、マウスホイールを回転し、分割線(黄色のライン)が「2つ」表示されるようにした後、そのまま「2回」クリックして確定。反対側も同様にループカット(④)

 お気づきの方もいると思いますが、ヘアーカーブオブジェクトのモディファイアースタックの一番下の[Surface Deform]モディファイアーに「~個のカーブの表面のUVが異常です」と表示されています(英文の時もあります)。

 これはUVアイランドが重なっていると表示されるのですが、筆者が再チェックしてみても異常はなかったので、実際には問題はないものと思われます。

その他のTIPS

  1. ポージングなどで表示を軽くしたい時は[Interpolate Hair Curves]モディファイアーの[Viewport Amount]を減らしましょう。
  2. 宙に浮いて発生しているヘアーは、[Interpolate Hair Curves]モディファイアーを「適用」すれば、「編集モード」などで削除できます。
表示を軽くしたい時は[Interpolate Hair Curves]モディファイアーの[Viewport Amount]を減らす

終わりに

 今回でこのシリーズは最終回になります。皆さんお疲れさまでした。
 機会がありましたらまたお会いしましょう。