ANTNEST BLOG

主にモデリングとかVRC関連

【アバター首接合】4. 法線の調整

 Algo_Ayugonです。

 この記事は、「Blenderアバターの首を綺麗に接合する」ための6つの記事のうちの4つ目です。

 目次記事↓

(公開したらリンク張る)

 

「4. 法線の調整」目次

 

4-0. はじめに

    人によっては気にならないかもしれませんが、頭部と首の接合部も6.をする前と同じように、繋がっていない感じに見えてしまっています。3Dビューシェーディングの設定のカラーをマテリアル等の表示にするとわかりやすいです。

f:id:antnestin:20210925143622p:plain

接合部の頂点の場所は同じだが、シェーディング(影の入り方)が繋がっていない

 

 これをここでは「法線」転写で対処していきます。

 

 が、以下のいずれかに当てはまる人は別にやらなくても構いません

  • 頭部と素体のオブジェクト統合&頂点マージをするつもりである/もうマージした
  • そもそもそんなに気にならない(Unity等の最終出力環境でトゥーンシェーダー等を割り当てて確認してみてください)

 

 頭部と素体のオブジェクト・メッシュは分かれたままにしておきたいが、接合部のシェーディングも綺麗にしたい場合この記事の手順が非常に参考になるはずです。

 

EX. 「法線」ってなんぞ

 本題に入る前に、「法線」について軽く説明しておきます(本質とかに興味がない、とにかく首継ぎだけしたい人は飛ばしてください)。

 「法線」は英語だと「Normal(ノーマル)」と書きます。どちらかは馴染みがあるかもしれませんね。「法線」は、数学だと”ある直線や平面と垂直な直線”を指したりするのでそこで聞いた人もいるかもしれません。まさにアレです。

 大雑把に言うと、CGの世界の「法線(ノーマル)」はある面が”どこを向いているか”についての情報です。

 ↓の記事がわかりやすくまとまっているのでまずは読んでみてください。

flmt.jp

 ここで問題となるのは「頂点法線」の方です。とりあえず、今弄っているモデルの「頂点法線」の様子を見てみましょう!

 「編集モード」に入り、「オーバーレイ」の設定を変えます。

f:id:antnestin:20210925151418p:plain

「オーバーレイ」設定の「ノーマル」欄の一番左のアイコンを有効にします。多分デフォルトだと表示の線が長すぎて見づらいので、サイズも下げます。

 

 すると、オブジェクトの全ての頂点から色のついた線がにょきにょき生えてきて、ウニとかハリネズミみたいになったと思います。この生えてきた色のついた線が全部「法線」です。

 頭部モデルと素体モデルを両方選択した状態で「編集モード」に入ってさらによく見てみましょう。接合部の頂点のどちらかを【G】で掴んでちょっと動かしてみると分かりやすいです。

f:id:antnestin:20210925152443p:plain

接合部の「頂点法線」の向きが一致していない。

 普通、(「スムーズシェード」であれば)1頂点につき1つの「頂点法線」があります。その状態だと、滑らかに見えるのです。ですが、接合部の重なった二つの頂点の「法線」はそれぞれが別の方向を向いてしまっています。そのせいで途切れたように見えるんですね。

 つまり、接合部の頂点の「法線」を何らかの方法で一致させてやれば、メッシュが繋がっていなくても滑らかに見えるということになります。

 

 実はこの「法線」を直接手で弄ったりコピペしたりすることもできるのですが、めんどうなので慣れてないと難しいかもしれないので、今回は「データ転送モディファイアー」を利用します。

 

4-1. 「法線転写」する頂点を指定する

 「データ転送モディファイアー」を使う前に、軽く下準備をします。

 今回は頭部側の「法線」を素体側に転写(コピペ)するので、これからは基本的に素体オブジェクトを触っていきます。

 素体オブジェクトを選択して「編集モード」に入ったら、接合部の頂点を全て選択します。そして「オブジェクトデータプロパティ(三角のアイコン)」→「頂点グループ」タブで+を押して新しい「頂点グループ」を作成し、1.000を割り当てます。名前は適宜わかりやすいように変えておきましょう。ここでは”Normal”としました。

f:id:antnestin:20210925153957p:plain

「頂点グループ」を新しく作って、接合部の頂点に1.000を割り当てる。

 

4-2. 「データ転送モディファイアー」を使う

 「データ転送モディファイアー」を追加します。「モディファイアープロパティ」(画像では隠れてしまってますが、スパナ・工具のようなアイコン)から「モディファイアーを追加」→「データ転送」を選び、追加します。

f:id:antnestin:20210925154542p:plain

 

 「データ転送モディファイアー」の設定を以下のようにします。元オブジェクトには頭部オブジェクトを指定し、右下のタブには先ほど作った「頂点グループ」を指定します。すると、指定した「頂点グループ」のところだけに諸データ(今回は「法線」)が転送されます。

f:id:antnestin:20210925155047p:plain

「データ転送モディファイアー」設定例

 

 設定欄の一番下のメッセージでBlenderくんの方からちゃんと怒ってくれていますが、「オブジェクトデータプロパティ」(三角形のやつ)→「ノーマル」欄の「自動スムーズ」のチェック欄をONにしないと「カスタム法線」は反映されないので、忘れずチェックを入れます(モデルによっては既にチェックが入っているかも)。すると…

f:id:antnestin:20210925155532p:plain

「自動スムーズ」にチェックを入れると、「カスタム法線」が反映された。

 

 接合部がめっちゃ綺麗になりましたね!やったぜ。

 この「法線転写」や「データ転送モディファイアー」ですが、非常に多くの用途に使えるので、興味を持った方は色々調べてみてくださいね(布教)。

 

 「4. 法線の調整」はこれで終わりです。次はテクスチャの境界をこちょこちょして馴染ませます。

antnestin.hatenablog.com

【アバター首接合】3. アーマチュア・ウェイトの調整

 Algo_Ayugonです。

 この記事は、「Blenderアバターの首を綺麗に接合する」ための6つの記事のうちの3つ目です。

 目次記事↓

antnestin.hatenablog.com

 

「3. アーマチュア・ウェイトの調整」目次

 

3-1. 不要なボーンを削除する

 「アーマチュア」を統合する前に、頭部と素体それぞれの不要な(重なり合っている)「ボーン」を削除します。ここでは、所謂Headボーン以降(頭から先)は頭部モデルのものを使用することにします。

 まず、素体の「アーマチュア」のHead, LeftEye, RightEye(ある場合は髪ボーン等も)を「編集モード」で選択して【X】【Delete】で削除します。

f:id:antnestin:20210923230311p:plain

素体のHead以降の「ボーン」を削除。

 同様に頭部側のアーマチュアも「編集モード」でNeck以下のボーンを消します。

f:id:antnestin:20210923230555p:plain

頭部側ののNeckや身体の「ボーン」も削除。
(スクショの時期的に身体のメッシュが残ってますが実際はこの段階では無いはずです)

 

3-2. アーマチュアを統合する

 次に、「オブジェクトモード」で、頭部モデルのアーマチュア、素体のアーマチュアの順に同時選択し、【Ctrl】+【J】で統合します。

f:id:antnestin:20210923230852p:plain

この状態で【Ctrl】+【J】

 

 NeckボーンとHeadボーンを親子関係にします。アーマチュアを選択して「編集モード」に入り、Headボーン(頭部モデルによっては違う名前かもしれません)を選択します。右のタブのうち「ボーンプロパティ」(骨のアイコンのタブ)を開き、「関係」から「ペアレント」をNeckに設定します。

f:id:antnestin:20210923230944p:plain

親子関係になったボーン同士は点線で結ばれます。

 

3-3. 頭部モデルをアーマチュアに関連付ける

 次に、頭部モデルをアーマチュアに関連付けしなおします。

 Blenderではアーマチュアとメッシュの関連付けは「アーマチュアモディファイアー」によって行われています。「モディファイアープロパティ」(スパナとか工具みたいなアイコン)を選び、「アーマチュアモディファイアー」のオブジェクトの参照が空欄になっているところを選択し直します。修正すると、モディファイアー名が赤い警告になっていたところが正常になります。

f:id:antnestin:20210926153454p:plain

「アーマチュアモディファイアー」の参照を修正する

 

 頭部のオブジェクトの全てに対してこれを行ってください。

(※3-2で、アーマチュアの選択順が逆だと、素体の方が参照切れを起こしているかもしれません)

 

ex. ポーズモードで確認してみる

 ここまでできたら、「ポーズモード」に入って一度曲がり具合を確認してみましょう。「ポーズモード」への切り替え方は2種類くらいあります。

 

「①アーマチュアを選択した状態で左上のモード切り替えタブから選ぶ」

「②通常右上にある「アウトライナー」から「ポーズ」と書かれた所をクリックする」

 

のどちらか好きな方で「ポーズモード」に入ってください。

f:id:antnestin:20210923231511p:plain

①か②で「ポーズモード」に入れます。

 

 NeckやHeadを選択して、【R】キーで動かしてみます。接合部に隙間が空いてしまうかと思いますが、3-4で調整します。ここでは、頭部がNeck, Headボーンにきちんと追従して動いているかどうかを確認してください。

f:id:antnestin:20210923231617p:plain

とりあえずOKな例

 

 動かした時に、何かのオブジェクトが取り残されてしまっていたり、その他変な動き方をする場合、次のことが考えられますので、確認してください。

 

①頭部オブジェクトが統合後のアーマチュアに関連付けられていない

②Headの「親」がNeckになっていない

③そもそも頭部モデルの頭のボーンの名前が「Head」ではなかった(素体モデル側の頂点グループ「Head」の名前を同じ名前に変えて対処します。機会があれば別記事で書こうと思っています)

 

 ポーズを変えて遊んだ後は、ポーズモード中で戻したいボーンを選択した後に「ポーズ」メニュー→「トランスフォームをクリア」→「全て」で初期ポーズに戻しておきましょう。

f:id:antnestin:20210923231809p:plain

ポーズを動かした後はちゃんと戻しましょう。

 

3-4. ウェイトを調整する

 ボーンを動かしたときに出来てしまう隙間の対処をします。

 接合部の頭部の頂点と素体の頂点は、「2. 接合部の頂点の調整」でスナップ機能を使って位置を合わせてあります。なのでそれらの「頂点ウェイト」の数値が全て一致していれば、同じように動き、隙間はできなくなるはずです。

 接合部の位置にも寄りますが、ここでは接合部の頂点は全て「Headに1、それ以外は0」のウェイトを割り当てることにします(他の配合でも良いですが、合計は1になるのが望ましいです)。

 

 まず頭部のウェイトの様子を確認します。「ポーズモード」の状態で、頭部オブジェクトを選択します。すると、「ポーズモード」で且つ「それ以外のモード」のような状態にすることができます(できない場合、「編集」→「オブジェクトモードをロック」にチェックが入っているので、外してください)。

f:id:antnestin:20210923232529p:plain

「オブジェクトモードをロック」のチェックを外し、「ポーズモード」の状態で頭部オブジェクトを選択。

 

 次に、左上のモード選択から「ウェイトペイント」を指定します。

f:id:antnestin:20210923232558p:plain

「ウェイトペイントモード」に移行してウェイトの様子を確認する。

 

 「ウェイトペイントモード」で「頂点ウェイト」を”塗る”こともできるのですが、下手に触ると事故が多発するので、ここでは見た目でウェイトの様子を確認するだけにしておきます。この「ポーズモードで且つウェイトペイントモード」の状態では、【Ctrl】を押しながらボーンを選択することができ、そのボーンに対応した「頂点ウェイト」を色で確認することができます。 

 このモデルの頭部は、基本的に「Headに1(赤)」が割り振られていますが、接合部付近はNeckにも少し割り振られているようです(黄~緑)。接合部付近も「Headに1、それ以外に0」にしていきましょう。

 

 

【Tab】を押すか、左上のタブから「編集モード」に入り、接合部付近の頂点を選択します。

※このモデルの場合は頭部全てが既に「Headに1」であることが分かったので全選択をしていますが、モデルによってはそうではない場合もある(特に目の付近)ので、その場合は接合部付近のみを手動で選択してください。

 

 そして、右のメニューの三角形のボタンのメニュー(オブジェクトデータプロパティ)の「頂点グループ」の欄でHeadを選択し、「ウェイト」に1.000を入力して「適用」を押します。

 もし「適用」ボタンがグレーアウトして押せない場合、その「頂点グループ」にロックがかかっているので、鍵のようなアイコンをクリックしてロックを解除してください。

f:id:antnestin:20210923232931p:plain

Headには1を割り当てる

 

 同様に、そのまま「頂点グループ」の欄でNeckを選択し、「ウェイト」に0.000を入力して「適用」を押します。(もしかしたらChest等にもウェイトが入っているかもしれないので、その場合はそこにも適用します)

f:id:antnestin:20210923233013p:plain

Neckには0を割り当てる

 

 同じことを素体側にも行ってください。

 

 曲げた時のガタつきや曲がり方が気になる場合は、「ウェイトペイントモード」の「ぼかし」でぼかしたい頂点をなぞってください。このとき、接合部の頂点には触らないように気を付けてください。

f:id:antnestin:20210923233042p:plain

「ぼかし」ブラシで滑らかに。

 

 ここまで上手くいっていれば、曲げた時にも裂け目ができないはずです。

f:id:antnestin:20210923233120p:plain

曲げた時にも綺麗になるようなった。

 

 「3. アーマチュア・ウェイトの調整」はこれで終わりです。次は「法線」を調整して、影の入り方が滑らかになるようにします。

antnestin.hatenablog.com

【アバター首接合】2. 接合部の頂点の調整

 Algo_Ayugonです。

 この記事は、「Blenderアバターの首を綺麗に接合する」ための6つの記事のうちの2つ目です。

 目次記事↓

antnestin.hatenablog.com

 

「2. 接合部の頂点の調整」目次

 

2-1. 素体から首部分を分離する

 ※素体に「シェイプキー」が含まれていない場合、不要です! 2-2だけを行ってください。

 これから、素体の首付近の頂点を直接弄っていきますが、その前に首部分を本体から分離しておきます。前の項で触れたように、「シェイプキー」が壊れたり、変になってしまうことを予防するためです(ANTNEST素体には貫通防止シェイプキーが作成してあります)。「編集モード」に入り、首付近のみを選択し、【P】→「選択」で別オブジェクトに分離します。

f:id:antnestin:20210923220808p:plain

ANTNEST素体には良い感じのところに専用の「シーム」を入れてあるので、【L】→「シーム」でリンク選択すると楽です。

 

 また、一度「オブジェクトモード」に戻ってから分離後の首オブジェクトを選択しなおし、首オブジェクトの方のシェイプキーを削除しておきます。「シェイプキー」一覧の右の三角を押して「全てのシェイプキーを削除」します。

f:id:antnestin:20210923221044p:plain

首オブジェクトの「シェイプキー」を削除します。

 おそらく首付近に関係する「シェイプキー」は無いと思うので全消ししてしまって大丈夫です。

 

2-2. 接合部を調整する(頂点数、頂点位置)

 前段階で首部分を分離したおかげでデータが壊れる恐れはほとんどなくなったので、思い切って力強く頂点をこねていきましょう。

 まず、首の上の方の要らない部分をまとめて削除します。

f:id:antnestin:20210923221613p:plain

1-3の段階に戻って、頭部モデルのメッシュも削った方が良い場合もあります。

 

 ここから先は、他オブジェクトのワイヤーフレームも見えた方がいいので、表示を有効にします。ワイヤーフレーム表示のチェックボタンは「Overlays:右上の丸が二つ重なってるアイコン(二重丸は表示非表示の切り替え、設定は隣の三角)。無い場合はその付近で中ボタンをぐりぐりすると出てくる」の中に格納されています。アイコンの右の三角をクリックして設定します。

f:id:antnestin:20210923221753p:plain

ワイヤーフレーム表示を有効にします。オーバーレイ表示が切り替えられると便利なので、色々弄ってみましょう。

 

 それではこねていきます。まず、「スナップ」機能を適宜使いながら頂点の位置を合わせていきます。「スナップ」機能は磁石のボタンです。オーバーレイと同じように、磁石のボタンをクリックするとオン・オフが切り替えられます。隣の三角をクリックすると設定ができます。ここでは主に「頂点スナップ」を使うので切り替えておきます。

f:id:antnestin:20210923222237p:plain

「頂点スナップ」機能をオンにする。

 

 「頂点スナップ」を使ったま【G】で頂点を移動させると別の頂点の位置にぴったりと張り付くように合わせることができます。

f:id:antnestin:20210923222444p:plain

頂点スナップを使って頂点の位置を重ねる。

 

 基本的にはこのように、接合部の辺の全ての頂点の位置を合わせていくことになります(頂点数の多い頭部モデルの場合は大変ですが…がんばってください! 髪等で隠れる場所は雑でもわからないかもしれないので、適度に手を抜きましょう)。

 

 

 作業をしていると、下の画像のように頂点数が合わない箇所が出てくると思います。

f:id:antnestin:20210923222636p:plain

頂点数が足りない例。

 

 そういう時は、「細分化」(二つの頂点を選んで、右クリックメニューから)やナイフツール【K】で頂点を増やします。

f:id:antnestin:20210923222728p:plain

「細分化」で頂点を挿入する。

 

 すると頂点が増えますが、「Nゴン」と言われる、五角形以上の面ができてしまいます。最悪エラーが出たりする、あまり良くない状態なので、四角形以下にしておきます。ナイフツール【K】を使ったり、繋ぎたい頂点を二つ選択して【J】キーで繋げます。

f:id:antnestin:20210923222833p:plain

三角形以下のみの、良い状態。

 

 シェイプキーを保護するため、できるだけ頂点の調整は頭部オブジェクトではなく首オブジェクトで行いましょう。上の場合とは逆に首オブジェクトの方が頂点数が多い場合は、不要な頂点を選択して【X】または【Delete】→「頂点の溶解」を行います。

 

 頂点スナップだけでは対処できない形状の乱れは、頂点スナップを切って作業しましょう。「プロポーショナル編集」が有効な場合もあります。

 

 最終的にこんな感じになりました。

f:id:antnestin:20210923223054p:plain

接合部の頂点の数と位置を合わせた状態。

 

2-3. 首部分と素体本体を再統合する

 分離した首オブジェクトと素体本体オブジェクトを同時に選択し、【Ctrl】+【J】で統合します。

 統合後も、首と本体の接合部が繋がっていないような表示になっていると思いますが、これは実際に繋がっていないからです。「編集モード」に移行し、首と素体の接合部の頂点を選択(頂点が重なっているので、透過モードでまとめて選択するか、後述のように全選択【A】しましょう)した後に「メッシュメニュー→クリーンアップ→距離でマージ」を実行します。

f:id:antnestin:20210923223507p:plain

ANTNEST素体の場合は全選択【A】をして「距離でマージ」しても大丈夫です。モデルによっては、意図的な重複頂点(重なっている頂点)がある場合があるので、注意しましょう。

 

 2-2をやっているうちに、接合部の頂点がズレてしまっているとうまくマージできないかもしれません。そのときは、「スナップ」機能で重ねてから再度実行したり、【M】キー(古いバージョンだと【Alt】+【M】)で手動でマージしましょう。

 

 完成したのがこちらです。

f:id:antnestin:20210923223811p:plain

良い感じになりました。

 

(余談)頭部と素体のオブジェクト統合について

 この記事では、頭部と素体は別オブジェクトのままにして進めます。理由は色々あります(頭部モデルをできるだけ触らないため、アプデ後も弄りやすくするため、VRM時のFirst-Person時処理のため…etc)が、軽量化等のためオブジェクト数を減らしたい場合は統合しても良いかと思います。

 統合する場合、2-3と同様に頂点をマージしてしまえば、「法線」の問題(影の入り方が合わなくなる)が起こらず、「4. 法線の調整」をしなくてもよくなりますし、「3. アーマチュア・ウェイトの調整」も多少楽になります。工数とも相談しましょう。

 

 「2. 接合部の頂点の調整」はこれで終わりです。次は「頂点ウェイト」を弄って曲げた時に割れ目ができないようにしていきます。

antnestin.hatenablog.com

【アバター首接合】1. Blenderインポート~前準備

 Algo_Ayugonです。

 この記事は、「Blenderアバターの首を綺麗に接合する」ための6つの記事のうちの1つ目です。

 目次記事↓

antnestin.hatenablog.com

 

「1. Blenderインポート~前準備」目次

 

前書き

 画像は英語UI、本文は日本語UIの用語を使います。Blenderの用語は「」で囲って書きますので、わからない箇所があったらまずそれで検索なりしてもらうようお願いします。また、ショートカットキーは【】で囲って書きます。

 

必要なもの*1

  • Blender:この記事ではBlender 2.83.12を使います。少なくとも2.8系であれば大きくは変わらないはずです。
  • Unity:最終的にVRCやVRM向けにセットアップをする場合必要です。現行の環境に合ったバージョンをインストールしてください。
  • Blender「アドオン」:「シェイプキー」があるオブジェクトに「ミラーモディファイアー」や「データ転送モディファイアー」を適用するのに、ApplyModifierを使います。既にミラーが適用されたモデルを使う場合や、法線調整をしない場合は不要です。
  • 接合したいモデル:最低限fbx形式。blend形式ファイルがあると尚いいです。他のモデルと組み合わせることが許可されているかどうか、必ず規約を確認してください。今回は、弊ショップのANTNEST 男性素体用心棒 Vetを使用します。

 

1-1. Blenderにモデルをインポートする

 まず、素体モデルのblendファイルを開きます。素体モデルにもblendファイルが無い場合は、”頭部を使いたいモデルにfbxしかない場合"と同様にしてください。

 

頭部を使いたいモデルにblendファイルがある場合

 別窓で、頭部を使いたいモデルのblendファイルを開きます。

 使いたいモデルの頭部(を含む)オブジェクトを選択してから【Ctrl+C】でコピーし、素体のblendファイルのウィンドウをアクティブ状態にして【Ctrl+V】で貼り付けます(オブジェクトに関連付けられている「アーマチュア」も一緒にコピーされます)。

f:id:antnestin:20210921235811p:plain

頭部を含むモデル(右)を素体のblendファイル(左)にコピペ

 

頭部を使いたいモデルにfbxしかない場合

 「ファイル」→「インポート」→「FBX(.fbx)」を選びます。

f:id:antnestin:20210926152047p:plain

FBXインポートを選択

 

 設定画面では、「リーフボーンを無視」「ボーン方向の自動整列」にチェックを入れます。

f:id:antnestin:20210926152626p:plain

インポート設定

 

↓インポートに関してはこちらの記事も参考にしてみてください

シャーロちゃんをblenderでいじる時の注意点 - Qiita

 

※エラーが出てインポートできない場合

 fbxの形式が違う可能性があります。

↓こちらの記事を参考にしてみてください。

【Blender】ASCIIのFBXファイルが読み込めない場合の対処法 - おもちゃラボ

 

1-2. 大きさと位置を調整する

    (※「オブジェクトモード」で行います)

 素体の「アーマチュア」を選択し、拡縮【S】して大きさを合わせます。

f:id:antnestin:20210922000312p:plain

素体を大きくしました(「透過表示」にし見やすくしてあります)

 

 真横から見て、【G】+【Y】等でY軸方向に動かして位置も合わせます。

f:id:antnestin:20210922000530p:plain

少し前に移動し、位置も合わせました

 

 ここで、拡縮・移動した値をスクショ等でメモしておきます【N】で出てくる右のメニューの「アイテム(タブ)→トランスフォーム」から確認できます。これらの値は、後に素体対応衣装を着せる場合等に重宝します

f:id:antnestin:20210922001154p:plain

「位置」「回転」「拡大縮小」の値をメモしましょう

 

 そして、拡縮・移動をした「アーマチュアを選択し、左上の「オブジェクト(メニュー)→適用→全トランスフォーム」を実行します。

 すると、「トランスフォーム」の値が初期値になります。こうすることで綺麗なデータとなり、予期せぬ挙動が起きにくくなります。エクスポート前にも念のため確認しておきましょう。

f:id:antnestin:20210922001426p:plain

「位置」「回転」「拡大縮小」の値が初期値になった

 

1-3. 要らないメッシュを消す

 頭部を使いたいモデルの首から下のメッシュを消していきます。頭部を使うモデルのオブジェクトを選択し、【Tab】キー等で「編集モード」に移行します。首を繋げそうな位置より下を「ボックス選択」【B】や「サークル選択」【C】等で選択して【X】または【Delete】で削除します。

 

選択のTips1:「透過表示」で選択しましょう。選択が楽になり、漏れが減ります。

選択のTips2:「シーム」(UV展開で使う切り取り線みたいなもの)が残っている場合、画像のように「リンク選択」【L】が使えるかもしれません。

f:id:antnestin:20210922002112p:plain

リンク選択【L】で選択して、首から下を削除する

 

 メッシュを消した後に、頭部の「シェイプキー」が壊れていないかを一応確認しておきます(今回のような一括で消す操作ではなりにくいものの、頂点の数が増減する操作をした時に、シェイプキーが壊れることがあるためです。壊れた後*2では復旧はかなり大変です)。

 「シェイプキー」の情報は通常右下のウィンドウの「オブジェクトデータプロパティ」(三角形のタブ)に格納されています。変化が分かりやすいシェイプキーを選択して、「編集モード」に移行するか、「オブジェクトモード」でも右下の「ピン止め」ボタンを押すことで中身が確認できます。

f:id:antnestin:20210922002559p:plain

「シェイプキー」が無事な例

 

 「シェイプキー」が壊れていないことを確認したら、 シェイプキー」選択を「Basis」に戻しておきましょう。間違えてシェイプキーの中身を編集してしまう事故を防ぐためです。

f:id:antnestin:20210922002721p:plain

シェイプキーの中身を見たら、必ず選択をBasisに戻す(とても大事)

 

 「1. Blenderインポート~前準備」はこれで終わりです。次は「編集モード」に入って直接頂点を力強く移動していきましょう。

antnestin.hatenablog.com

*1:インストール方法については触れないので、各自調べてください

*2:壊れていると通称”ウニ”と言われるような見るに耐えない形状になってしまっていることが多いです

【アバター首接合】5. テクスチャの調整

 Algo_Ayugonです。

 この記事は、「Blenderアバターの首を綺麗に接合する」ための6つの記事のうちの5つ目です。

 目次記事↓

antnestin.hatenablog.com

 

「5. テクスチャの調整」目次

 

5-0. テクスチャを表示する

 人によってはモデルにテクスチャが張られた状態で表示されてないかもしれないので、設定しておきます。

 まず「3Dビューのシェーディング」の設定を以下のようにします。「照明」を「フラット」に、「カラー」を「テクスチャ」にして、「アウトライン」のチェックも外しておきます

f:id:antnestin:20210925161554p:plain

「3Dビューのシェーディング」の設定

 

 これをするだけでもテクスチャが表示される場合もありますが、真っ白になってしまったという体でこのまま進めます。

 

 「シェーダーエディター」の画面に入ります。Blenderデフォルトでシェーダー用の「ワークスペース」が用意されているので、それを使うのが楽です(現在いるのはblendファイルが古くなければLayoutという名前のワークスペースだと思います。後で戻ってきます)。

f:id:antnestin:20210925162317p:plain

Shading「ワークスペース」の画面



 素体はちゃんとマテリアル設定がされているblendファイルを使ったので「マテリアルビュー」でもちゃんと表示されていますが、頭部はそもそもマテリアルノードがほとんど未設定なのでドピンクになってますね。でも気にしません

 「マテリアルプロパティ」(格子柄の丸みたいなアイコン)でテクスチャを設定したいマテリアルを選んで、画面下部の「シェーダーエディター」に画像をドラッグドロップで放り込みます。「マテリアルビュー」ではドピンクのままだったりしますが、実は放り込んだだけでも先ほど設定したLayoutワークスペース(「ソリッドビュー」)に戻ればテクスチャが表示されているので、Blenderレンダリングする予定がないのならこのまま進めてもOKです。

f:id:antnestin:20210925163409p:plain

テクスチャ画像を「シェーダーエディター」に放り込んだだけ

 

 既にマテリアルノードが色々組まれていて、ベースカラーっぽいもの以外の画像(NormalとかMaskとか書いてあるやつ)がある場合、一番最後に選択した画像が「ソリッドビュー」に反映されるっぽいので、ベースカラーっぽい画像を選択しておきます。

 

 テクスチャを参照できたらLayoutタブを押して色々と設定した「ソリッドビュー」に戻ります。

 

5-1. ペイントソフトで色味を調整する

 5-0でテクスチャを見えるようにしたのがこちらです。

f:id:antnestin:20210925163922p:plain

…そもそも肌の色が違いすぎる件

 

 ここまで色が違う場合はBlenderで調整するよりもまずペイントソフトで全体的に調整したほうが良いです。ペイントソフトの使い方についてはここでは触れないので、各自頑張って色変えしてください。

 

 画像を更新して、その都度3Dビューを確認しながら色を調整するのですが、その時にAutoReloadというアドオンがあると非常に楽なので、是非入れましょう。

↓使い方

ayasakai.com

 

 ペイントソフトでいい感じに色を調整したのがこちらです。

f:id:antnestin:20210925164724p:plain

まだ継ぎ目が…見える?

 

 …えっこれでも別に気にならないって? じゃあこの話はここで終わりです

 もっとこだわりたい人は調整後のテクスチャをpngjpegにレイヤー統合したものを設定し直して5-2に進みましょう。

 

5-2. オブジェクト統合する

 Blenderではなんと、マテリアルを跨いでぼかしを含む3Dテクスチャペイントをすることができます。これに気づいたときはBlenderって意味不明だなBlenderってすごいなと心の底から思いました。

 ただし、同時にペイントしたいマテリアルは同一オブジェクト上にある必要があります。なので、頭部と素体のオブジェクト統合をしない方針で進めている人は、別名保存をしてテクスチャペイント専用のファイルを用意して、オブジェクト統合をしておきます。

f:id:antnestin:20210925170012p:plain

【Ctrl】+【J】で統合します。でもその前に…

 ここで、「ミラーモディファイアー」等がどちらかのオブジェクトに入っている場合は注意が必要です。「モディファイアー」設定が違うオブジェクト同士を統合すると、UVまでおかしくなることがあるからです。特に「ミラーモディファイアー」は注意が必要で、念のため統合前に「適用」を押しておきます

 しかし、「シェイプキー」が含まれているオブジェクトは「モディファイアー」の「適用」をすることができないので、テクスチャペイント用だと割り切って「シェイプキー」を全て削除してしまうか、ApplyModifierを使ってから「適用」しましょう。

 

5-3. テクスチャペイントで境界をぼかす

 ここまで準備できたら、いよいよテクスチャペイントの時間です!

 5-2で統合したオブジェクトを選択し、左上の切り替えタブから「テクスチャペイントモード」に入ります(Texture Paintワークスペースを選んでもいいですが、ソリッドモードの表示設定し直しなので注意)。

 そして【T】で出てくる左メニューから「ぼかし」ブラシを選び、境界をなぞると…

f:id:antnestin:20210925171024p:plain

左側がぼかし前、右側がぼかし後

 

 滑らかになっていきます。ちょっと重たいですが、「Xミラー」とかもちゃんと効くようです。

 

 いい感じにぼかしたのがこちらです。

f:id:antnestin:20210925171554p:plain

テクスチャ境界が綺麗になった

 

 調整後の画像はちゃんと保存しておきましょう。とりあえず上書き保存するなら、「テクスチャペイントモード」中に【N】で出てくる右メニューの「ツール」タブ→「テクスチャスロット」タブ→「画像をすべて保存」からできます。(別名保存は「画像エディター」や「UVエディター」からやるみたいです)

f:id:antnestin:20210925171803p:plain

上書き保存する。

 

 「5. テクスチャの調整」はこれで終わりです。モデルの調整が終わったので、次はいよいよUnityにインポートして最終調整を行っていきます。

antnestin.hatenablog.com

Blenderでアバターの首を綺麗に接合する(目次)

 Algo_Ayugonです。

 

 先日、弊ショップで男性素体を販売開始しました。

antnestin.booth.pm

 マニュアルには対応頭部モデルを接合する手順について書いていますが、素体非対応モデルの頭部を切り取って、素体に接合するまでの手順をここに書いておきます。これを読めば、弊ショップのモデルに限らず、より一般的に色んなモデルの首を接合することができるはずです(別のモデルにパーツを流用してはいけないモデルもあります。使うモデルの規約をまず確認してください!)。

 

 ※頭部モデルに別メッシュの素体の首を突き刺す…いわゆるぶっさしモデルにできる場合はこの記事よりもっと簡単にできます。別の方が書かれた記事も参考にしてください。

【怖くないBlender】Blenderを使ってアバターの首をすげ替える方法【VRChat】 - Qiita

Blender2.8でアバターの頭と身体を入れ替える | ぴけっとガジェット

 

 かなり長くなってしまったので、記事を分割しました。

 長くなったのは、Blenderにそれほど馴染みが無い人に向けてかなり詳細に書いたからです。とはいっても、Blenderとかインストールもしてないよ!という人には少し難しいかもしれません。最低限、カメラ操作が不自由なくできて、「オブジェクトモード」と「編集モード」はわかるくらいの習熟度以上の人を想定しています。なんだかんだキャラモデリングに必要な工程を少しずつ上澄みを触っていくような感じになったので、チュートリアルとしても使えるかもしれません

 

 また、この記事では、近寄っても見ても接合痕が分からないくらいのクオリティをゴールとしていますが、そこまでは求めない人もいると思うので、各自労力と相談しながらかいつまんで見てみてください。

 

目次

1. Blenderインポート~前準備

2. 接合部の頂点の調整

3. アーマチュア・ウェイトの調整 

4. 法線の調整

5. テクスチャの調整

6. Blenderエクスポート~Unityでの設定

 

 ちなみに、この記事では弊ショップのモデルであるANTNEST 男性素体用心棒Vetを組み合わせていますが、この記事を書く過程でできたデータをこれらに同梱しましたので、両方買って頂いた方は同じ作業をする必要はありません。代わりに、素体対応頭部モデルを組み合わせるマニュアルの方を参照してください。

 Vetおじさんもよろしくね!

antnestin.booth.pm