【Blender】3Dモデル制作記録(ミミロップ編)
目次
はじめに
おはようございます
この記事はBlenderによる3Dモデル制作の記録を取るために作成されました。
制作記録を残すことにより、次回制作時のスケジュールを立てやすくする、作業内容を記載し次回の政策をスムーズにする、作業時の課題点を残し次回の改善に繋げる、等の目的があります。
作業記録は作業カテゴリごとに大見出し、日付ごとに小見出しでつけていきます。
また、作業の様子はYoutubeでも配信しているので以下に再生リストへのリンクを載せておきます
準備
準備期間は2024/12/02~2024/12/05までの予定
2024/12/01
まずは前回の制作記録を参考にしてNotionでスケジュールを作成する。
PC新調&Blender作業のブランクがあるためある程度余裕を持たせて作業期間は2024/12/2~2025/1/6に設定するした。
また、前回制作時の記録(https://min.togetter.com/w5Sncdg)を確認し作業工程の軽い確認を行った。
2024/12/02
まずBlenderの導入とアドオンのインストールからやり直す。
Blenderのバージョンはこの時点での最新版の4.3.0をSteamよりインストール。
アドオンは以下のものをインストールした。
- AutoRigPro:リギング用のアドオン、コントローラーの作成やエクスポートもサポート
- ProxyPicker:AutoRigPro付属のコントローラー選択用アドオン
- HideOnlyVertex:頂点をロックして動かないようにするためのアドオン
- MMDTools:MMDモデルのインポート、エクスポート用アドオン
- EdgeFlow:頂点を滑らかにするためのアドオン
- TexTools:UV展開サポート用ツール
- Wiggle2:ボーンを物理演算で動かすためのアドオン
- VRM format:VRMインポート、エクスポート用のアドオン。揺れものの設定もできる
ほかに必要なものがあれば随時インストールしていく予定。
次に参考書籍として以下の本をKindleストアで購入した。
Blenderでアニメ絵キャラクターを作ろう!モデリングの巻 (Compass Booksシリーズ)
Blenderでアニメ絵キャラクターを作ろう!トゥーンレンダリングの巻 (Compass Booksシリーズ)
制作開始までまだ日数があるためそれまでこの本をある程度読み進めておこう。
三面図
2024/12/05
準備と並行して三面図もある程度進める。
12/03から下書きを開始して何度も顔や体型のバランスを調整して上の画像のバランスでいったん落ち着いた。あとはディティールを詰めていこう。
2024/12/06
三面図作業を3時間ほど、目のバランスの調整で1時間ほど悩み、手を原作のように腕の毛におおわれたタイプにするか、一般的な手にするか大いに悩む。今の技量だと原作寄りにするのは難しそうなので一般的なタイプにすることにする。
明日は胸と脚の参考を探す。
2024/12/07
三面図作業3を3時間ほど。横と後ろを描いて正面を清書した。腕の太さをどうするかでかなり悩んでいた気がする。明日は色を塗ってVRM用の表情(喜・怒・哀・穏やか・驚き)作成用の参考画像を描く予定。
2024/12/08
三面図の色塗りと表情参考作成、3時間ほど。このモデルだとテクスチャに固定で影を描く箇所があまりなさそうな気がする。明日からはBlender作業に入る。
頭部作成
2024/12/09
作業時間4時間ほどで頭のベース作成、時間かかりすぎ。口まわりを作るのに手こずったので次回は目と口を先に作ってからつなげるやり方でやってみようと思う。
2024/12/10
作業時間4時間ぐらいでまつ毛、眉毛、耳の一部を作成。
まつ毛はまぶたの輪郭のメッシュを複製して平面で作った後にEで押し出して厚みを持たせた。
まつ毛に厚みを持たせることで横や斜め後ろなどから見たときにまつ毛とまぶたの間に隙間ができにくくなる。
眉毛はカーブを使って作成した、このような形状であれば平面や立方体から作るよりも早くきれいに作れる。
耳の垂れている部分については正面からはハの字に開いており、横から見ると後ろ側に傾いているためそのままモデリングしようとするときれいに作るのは難しいと判断。
なので、まず上の画像のようにX軸に平行に作成する。この時オブジェクトの原点も耳の位置まで上げておく。
次に、同じ原点にボーンオブジェクトを追加し、耳のメッシュの親にしてポーズモードで角度をつける。こうすることでモデリングはX軸に平行な状態にしつつ、傾けた状態を確認することができる。ちなみにこの時は少し耳を曲げたかったのでボーンは2本にしている。
耳の毛の部分をどうやって作るか悩ましいが、動かすことを考えるとメッシュは繋げて作りたい。ナイフで境目を作ってEで押し出して作っていってみようと思う。
2024/12/11
作業時間4時間ぐらい。耳毛を作成する。毛のふさふさ感が出せずにだいぶ苦戦する。そもそもの話として下絵の時点であまりふさふさしていないのでそれもよくなかったかもしれない。
シルエットにすると一部直せば何とかなりそうではあるが、このままいくか作り直すかは悩ましい。作り直すのであれば動物の尻尾などの作り方を参考にしたほうがよいだろう。
とりあえずいったん耳毛は保留して次回は目と体を作っていく。スケジュールを確認したら体の制作は14日からだったのと、尻尾を作っているメイキング動画を見てきたのでもうちょっと粘ってみる。
2024/12/12
作業時間4時間ぐらい。目、舌、頬の毛を作成して耳毛作業の続きをする。あとマテリアルとアウトライン用のソリッド化モディファイアを設定して色を下絵に近づける。
目を作るときは原点を0座標にして作るのではなく、目の中心が原点となるようにオブジェクトモードで移動させて、移動や全体の回転はオブジェクトモードで行い、編集時はトランスフォーム座標系をローカル座標で編集する。こうすることで編集時の変形がきれいになる。
ミラーについては適当なオブジェクトを原点に作成してそれを基準にミラーするようにすれば問題ない。
横から見たときの目については、黒目の手前に白目ができるようになってしまっている。実際にはこうはならないのでこれを解消するには黒目部分を少し球に近づけるか瞼の形を修正する必要がある。
耳についてはだいぶ苦戦している。一度ディティールを減らし、カーブオブジェクトで作った毛でバランスを見ながら作ったほうが良いかもしれない。先端はディティールを多めに配置し、中間層は少なめにしたほうが見栄えが良くなりそうなので明日やってみよう。
2024/12/13
作業時間4時間、耳の修正を行った。前回までの耳(2024/12/11の画像参照)のいまいちな部分を平らに直して、カーブを使った毛先でアタリを取る方法を試す。
やり方としてはベベルでペジェ円を指定してこのような形にしたカーブオブジェクトを用意する(このような形であればメッシュオブジェクトでもよい)
そして耳毛のベースに合わせて位置調整をした後に
マテリアルプレビューにしてバランスをチェックする。ここで問題なさそうであればこのアタリに沿ってメッシュを編集していく。
この方法は効果的だったようで、前回までの状態(2024/12/11の画像参照)からかなりバランスが改善された、ちなみに毛先の修正以外にも耳毛の下のほうを膨らませ、中間部分を絞るなどしてシルエットでふんわり感を出すようにしている。
そしてマテリアルも単色の放射マテリアルだったものを以前作成した「Qtoon」というセルルック風マテリアルに変えた。このQtoonというマテリアルは何かのサイトか何かに乗っていたものをそのまま真似して作成したはずなのだが何を参考にしたのか忘れてしまった。
また、セルルック風のマテリアルを使う際にはレンダープロパティの影のチェックが入っていると影がはっきりしなくなるのでチェックを外した(そもそもこの影のプロパティはどういう効果なのか不明)
最終的にこのような仕上がりになった、作り始めは可愛くなるか不安だったがこうやってみると割りと元の絵に寄せられたので一安心した。
これで頭部はひとまず完成したので明日からは体の作成に入る。
体作成
2024/12/14
作業4時間。体の制作作業に入る。首、肩、足の付け根部分を円で作り、胸は細分化した立方体を球に変形させてそこからEでメッシュを伸ばして体を作っていった。
油断していると胴体の断面が四角形になりがちなのでしっかり楕円形になっているかチェックする。
お尻は垂れ気味にならないように、張りのあるようにしたい。お尻と太ももの境目にある2重のエッジがお尻の張りを出してくれる・・・はず・・・。
今日の結果はこんな感じ。明日は肩から腕を伸ばす、足先まで作る、細部を詰める作業の予定。鎖骨、肩回り、股関節回りは以前にモデルを制作した時も苦労したので資料を探しておきたい。
2024/12/15
作業4時間。お腹周りの調整をしたりへそを作ったりで2時間ほど使う。へそについては作るか作らないかで意見が分かれそうだが、今後の練習のために作ることにした。
股の内側も少し調整、股関節回りを編集するときはミラーモディファイアを切ったほうが編集しやすいことに気づく。
腕を生やして肩、脇周りの形を整える。脇の構造が難しすぎる。
そして手の制作に突入する。手はいつもどう作り始めればよいかわからない。
本日の成果。体の制作は19日までの予定なので、3日使って手と足(あと尻尾)を完成させて、19日で調整というスケジュール感で行きたい。
2024/12/16
作業4時間。今日は手と足を作成した。手が難しいのはいつものことなので特に書くことがない。
作成した手と手首を接続する際に、手と手首の頂点の数を合わせるのは以前に保存しておいた「トポロジーの整理方法」の画像が役に立った(「Reduction Edge」とかで検索すると出てくる)
足は複雑な形状ではないので比較的簡単にできた。が、靴下(膝から下のクリーム色の箇所)の位置が高くて膝を曲げたときにここも曲がってしまうことに気が付いた。ここは膝を曲げたときに変形しないようにしたいので位置を下げる必要がある。
本日の成果はこんな感じ。この時点でポリゴン数が6万近くあった。比較的シンプルな形状のモデルでこのポリゴン数はさすがに多いと思うのでポリゴン数を抑える作り方を覚えたい。6万近くあったのはアウトラインを出すために使用していたソリッド化モディファイアのせいでした。ソリッド化をオフにしたら3万4千ぐらいでした。
2024/12/18
作業4時間。膝関節と指関節を作成した。あと顔に頂点グループを追加してウェイトペイントすることで目の周りや口元にアウトラインが出ないようにした。
そして今までは頭がちょっと前に突き出しているように見えてしまっていたので(上の画像)頭の位置を少し後ろにずらした(下の画像)
そして腕のモコモコを作成した。やり方はトーラスオブジェクトに細分化をかけ、ディスプレイスでボロノイテクスチャを指定してランダムに膨らませた後にデシメートでメッシュ削減をしてあとは手動で調整した。
ディスプレイスをかける際にはメッシュのサイズが小さいといい感じにならなかったのでスケールを大きくしてやった。
これでモデリングは9割がた完成した。あとはまつ毛の調整、股関節のトポロジーの調整、お腹周りの調整など気になる点の微調整をしたらスキニングの工程に移れる。
2024/12/18
作業3時間。今日は細部の調整のみ。あと頭に法線転写した。
足を作るときに水平の円から作り始めたが。股関節の斜めのエッジを作ろうとしてガタガタになったので最初から斜めの円から作ればよかった。
2024/12/19
今日は制作はせずに明日からのウェイトペイント作業の準備などをした。具体的には
- ・Auto-Rig Proの使い方の確認
- ・VRChatへのアップロードテスト
- ・VMC4B及びmocopiの動作確認
Auto-Rig Proの使い方についてはこちらの記事(【Blender】Auto-Rig Proの使い方)に書いた。
VMC4BはAuto-Rig Proで生成したリグを動かすことはできなかったので動作確認はリターゲットによるモーション流し込みあたりで行うことにしよう。
ウェイトペイント
2024/12/20
作業4時間。VRM用のMToon設定とボーンの設定、自動ウェイト設定で軽く確認してからウェイトモック制作に入った。
VRMアドオンをインストールしているとマテリアルパネルの下部に「VRMマテリアル」の項目が現れるので「VRM MToonマテリアルを有効にする」をオンにするとそのマテリアルがMToonマテリアルとなる。
ボーンの追加はサイドパネルの「VRM」から「VRMモデルを作成」を押すことで追加した。すでに作成しているアーマチュアをVRM用に設定することも可能らしいがこちらのほうが楽そうだ。
ボーンの配置場所については別の記事(【Blender】制作メモ&TIPS)に書いた。
この後のウェイト作業のためにウェイトモックを作成する。以前きゃすけっとさんを作ったものを流用しているが修正箇所が多いので最初から作ったほうが良かったかもしれない。
本日の成果。簡単なポーズならつけれるが大きく動かすと肩や股関節が崩壊するので明日ちゃんとウェイトをつける。
あとはコンストレイントを使用した補助ボーンを尻に入れるのを試してみたい。
2024/12/21
作業4時間30分。ウェイトモックを作り、ウェイトペイントを行った。
ウェイトの転送方法を忘れており、ウェイト転送しても1つのボーンだけしか転送されず時間がかかった。ちゃんと転送するには上の画像のように転送元レイヤーを「名前」に、対象レイヤーを「全レイヤー」にする。
今回はお尻の部分に補助ボーンを試してみた。足を曲げるとお尻がつぶれてしまいがちだが、足のX回転の50%だけ回転するボーンをボーンコンストレイントで作り、お尻部分のウェイトを割り当てた。ぱっと見でよくなったと思う。
ウェイトを塗ってボーンを動かして動作確認する際に困ったことに、FPSがすごい低下してしまった。
原因は顔の法線修正に使っていたデータ転送モディファイアで、転送元に約33万頂点のオブジェクトを設定していた。
データ転送モディファイアをオフにしたところFPSがだいぶ改善された。
本日の成果、ざっくり動かせるようになったが、胴体を曲げたときにカクつく部分があるので修正したい。股間や膝などの細かい部分については最終段階で本体側を調整するとして、まずはウェイトモック側で出来る限り修正する。
2024/12/22
作業3時間30分。ウェイト作業の続きをした。
胴体、股関節を調整して体を曲げた時や足を曲げたときにきれいに曲がるようにした(画像なし)。
肘に補助ボーンを入れた、入れなくてもあまり気にはならないレベルだったが多少肘らしくなったか?
膝にも補助ボーンを入れた。膝は曲げた時にかなりつぶれていたので補助ボーンを入れることでだいぶ形状が改善された。
胸のルートボーンを追加した、位置が背中を突き抜けて後ろにある理由としては、胸の揺れは回転による揺れではなく上下移動による揺れなので、回転の中心を胸から離すことで疑似的な移動の揺れを作ることを狙った。これがうまくいくかどうかは不明。
本日の成果、明日はVRChatにアップロードして軽く動かして問題がないかチェックする。
2024/12/23
今日は制作を休みVRChatへのアップロードテストおよびVRChat上での動作確認を行った。
前腕をひねったときに肘が著しくねじれるため、ここは補助ボーンを入れて対応したい。
また、手を開いたときに小指が不自然に曲がってしまっていた、こちらは直すのが難しそうなため今回は修正を見送ることにする。
また、mocopiVRを使用してのフルトラッキングも試して動作はしたが足の動きの精度についてはまだまだといったところだった、これはモデルの身長が低いことも関係あるかもしれない。
明日は腕のねじれを修正してからUV展開に入ろう。
UV展開
2024/12/24
作業4時間。昨日見つけた腕のねじれの修正とUV展開をしようとした。
そう、腕のねじれを修正しようとした・・・が、どうにもうまくいかず、改善しないかより悪化するという結果になり断念した(修正を試みた時の画像を撮り忘れた)
腕のねじれ修正は断念してUV展開作業をすることにした。その前段階としてサブディビジョンサーフェスモディファイアを適用した、そのまま適用すると一部頂点がおかしくなるので「ミラーを適用→サブディビジョンサーフェスを適用→ミラー適用した半分を消して再度ミラーモディファイアを追加」という手順を踏んだ。
その後動作確認でアニメーションを再生していたらをしていたら上の画像のようなことになった。
原因は単純で一度消して再追加したミラーの優先順位がアーマチュアの下になっていたからで、ミラーを最上位にしたら正常になった。
UV展開については特に何も言うことがない・・・。というのも今回のモデルが見ての通りほとんどテクスチャを描き込む必要がないモデルなのでUV展開もあまりしっかりやる必要がないと考えている。
今回は4Kテクスチャx2枚にして耳・腕輪・眉毛・靴下の部分とそれ以外で分けてみようと思う。
今回このタイミングでサブディビジョンサーフェスを適用したが、ウェイト作業の前にやったほうが良かった気がする。
テクスチャ作業
2024/12/25
作業4時間。UV展開の続きとテクスチャ作業をした。
UVは体の黄色い部分とそれ以外の場所とで分けることにした。すごいスカスカなのは気にしないことにする。
テクスチャはまず単色で塗りつぶしてから目や瞼などをを塗っていく。一部濃い茶色があるのはメインテクスチャに固定影を描き込もうとしたからだが結局影マスクを使うことにした。
影マスクは上の画像右のような画像をミックスノード(ミックス形式は乗算)の係数に繋ぎ、そのミックスノードのAにはベースとなるテクスチャ、Bには乗算で掛ける色を繋ぎ、ミックスノードの出力をVRMアドオンで追加したMToonマテリアルOutputノードのLit Colorに繋ぐ。これでマスクで指定した箇所は光が当たっていても影の色となる。
それとは別にAにベーステクスチャ、Bに乗算する色を繋ぎ係数を1.0にした乗算ミックスノードを作りShade Colorに繋ぐ。これで光が当たらない箇所は固定影と同じ影色となる。
これらマテリアル設定はそのままではMToonに使えないので、最終的にはClipStudioPaintで合成しそれぞれ1枚のベーステクスチャ、影テクスチャとする。
他にはアウトライン制御用のテクスチャを作成した、MToonではテクスチャの白い箇所でアウトラインを出力、黒い箇所で出力しないという制御ができるので口元や目でアウトラインを出さないようにした。ちなみにグレーにすれば太さを制御できる。
テクスチャペイントする際、ツールバーにマテリアル選択のスロットが現れるのでそれを選択するとオブジェクトに割り当てられているマテリアルと、そのマテリアルに設定されているテクスチャが表示されるのでこれで描き込む先のテクスチャを選択できる。
今日はここまで、次回はアウトライン制御用のテクスチャのまつ毛など残りの部分を描いて。他に残っているオブジェクトを仮マテリアルから本マテリアルに変更してテクスチャを描いていく。
2024/12/26
作業4時間。テクスチャ作業をした。
新たに目やまつ毛、口内のUV・マテリアルを別に分けた。
口周りのメッシュ分割が多く、後のシェイプキー作業で頂点移動が大変になることが予想されたため、エッジループで辺を溶解した。
そして口のUVの一部を水平にそろえてテクスチャ口のラインのテクスチャを水平に描いた。こうすることでシェイプキーで頂点を動かしても口のラインのジャギが目立ちにくくなる。
参考:
西川善司の「試験に出るゲームグラフィックス」(1)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,前編
同様の処理を耳の内側にもした。
耳のテクスチャは、耳を「ビューから投影」で展開したUVに対し、CLIP STUDIO PAINTでグラデーションを作成することで上から下にグラデーションするようにした。
この方法だと描きこみが必要な部位に対しては使えないので、その場合はSubstancePainter等のソフトを使うか、シェーダーノードでグラデーションを乗算で描けるなどした後に、合成したテクスチャをレンダリングして使うなどする必要がある。
ダメでした、おとなしくSubstancePainterとか使うのが良さそう。
参考動画、この動画の6:15あたりまで
2024/12/28追記
ベイクを使って足先にグラデーションを入れることが出来た、グラデーションの作成とベイクについては下記の記事を参照。
【Blender】マテリアルノードを使って3D空間でグラデーションを掛けて結果をベイクする
次回からシェイプキー作成なので、必要なシェイプを洗い出しておく。
頭部の法線修正
2024/12/27
モデリングの段階で法線の修正はしていたのだが改めてここで記載する。まずはUV球を変形させた図のようなメッシュにサブディビジョンサーフェスを適用(分割数は多いほうが綺麗になる)させ、頭部にフィットするように配置する。
そして頭部オブジェクトにデータ転送モディファイアを追加し、
- ソースに上で作成したメッシュ。
- ミックスモードは置き換え。
- 面コーナーデータにチェックを入れカスタム法線を選択する。
- マッピングは「最近接面の補間」を選択。
と設定する。
頂点グループは法線編集を適用させたい箇所を指定したグループを作成して設定する。
上記設定で法線の編集はできたが、法線をいじったことによりおかしな位置にリムライトが発生するという問題が出てしまった。
なのでリムライト指定用のテクスチャを作成した。
MToonではテクスチャでリムライトの色を制御できるようになっており、テクスチャの黒い部分はリムライトが出ず、色がある部分にその色のリムライトが出るようになっている。これで顔の下側にはリムライトを出ないようにした。
修正の結果、顔の下側に出ていたリムライトを抑えられるようになった。
シェイプキー
2024/12/27
シェイプキーの作成は「あいうえお」の形から取り掛かった。
まずこめかみの位置に3Dカーソルをセットし、下唇の中心を選択、3Dカーソルをピボットポイントにしてプロポーショナル編集をオンにして回転させることで、顎も動くようにした。
ただしこれだと必要のない部分も動いてしまうため、後で戻したい箇所を選択し「シェイプキーからブレンド」でベースのシェイプキーの形の戻した。
口の形については結構調整に悩んだのであらかじめ下書きを準備しておくべきだった。
瞬き用の閉じた目については、頂点スナップを使うことで顔のメッシュについては比較的簡単にできた。
しかし、まつ毛については変形させるのにかなり苦労した、まつ毛を作るときに画像で選択している箇所を境にパーツを分けておくべきだったと反省。
完成図はこれ、目頭側のまつ毛の変形も若干怪しいので次に作るときはこちら側にも補助まつ毛を作成しておいたほうが良いかもしれない。
2024/12/29
作業4時間、シェイプキー作業の続き。
閉じ目を作る際にミラー編集をONにしていたのだが、スナップで頂点を重ねてから動かそうとするとミラー側の頂点がちゃんと動かない事象が発生した。回避方法としては頂点を重ねるのを最後にすればよいだけなのだがこれのせいでだいぶ苦労した。
これはサブディビジョンサーフェスを適用した後のまつ毛の画像だが、まつ毛先端のメッシュを整えておらず頂点が多すぎたせいで動かすのに非常に苦労した、次回はちゃんと対処したい。
本日の成果。シェイプキー作業はあとわずかなので明日で終わらせてVRM設定作業に入ろう。
VRM設定
2024/12/30
作業5時間ほど。VRM設定作業を行った。
VRM formatアドオンでVRM1.0の設定はほぼ全てできるらしく、VRM設定から出力まで問題なくできた。
VRM1.0の設定については以下の記事に書いた。
本日の成果。
一部揺れもの設定がうまく動かない箇所があったので、明日はUnity側での揺れもの調整と、それがすんだらVRoidHubでの着せ替えのテストをする予定。
2024/12/31
作業6~7時間。VRMの設定やVRoidStudioでの変換処理、VRChatの設定を行った。
VRMファイルをエクスポートして動作確認中に気づいたのが、いくつかのボーンが無くなっているということ。
例えば上の画像の「ear.end.L」ボーンはBlender内だとちゃんとあるのだが。
Unityにもっていくと消えてしまっている。
他の消えたボーンとの共通点を調べたところ、ボーンプロパティの「変形」がオフになっていることが原因だった。オンにすることでちゃんと出力されるようになった。
VRMの設定が一通り終わったので、VRoidの着せ替え機能と変換機能を試してみた。結果としては上の画像の通り耳や尻尾がおかしなことになってしまった。どうやらVRoid標準のボーン構成ではないVRMは正しく読み込んでくれないようだ。
ということでVRoidでの変換がダメそうなので、UnityのXWear Packagerを使っての変換を試みることにした。のだが出力に失敗。
Unityのログを見るとTextureの出力あたりでエラーが出ていたので、TextureとマテリアルをExtractしたら無事にXAvater形式へのエクスポートに成功した。
成功はしたがXAvaterに変換した時点でSpringBoneなどの設定は消える(MToonは残っていた)ようなので、VRM→VRChatへの変換目的でXAvater形式を経由するメリットは今のところないと感じた。
VRChat設定
VRChatの設定については、基本設定や揺れものの設定はできたものの、表情の設定が難航した。
設定した表情にならないという事象に悩まされたが原因はブレンドシェイプの値を指定する際に、本来ならば100に設定しなければいけないところを1に設定していた(Blenderのブレンドシェイプの最大値が1のため)
表情については別の問題も発生した、上の画像では口のブレンドシェイプがオンになっているのだが、頂点の動かし方が悪く線が出てしまっている。ブレンドシェイプの掛かり具合を調整することで回避できたが次回以降は気を付けたい。
本日の成果。VRChatアバターの揺れもの、表情変更、エモートの設定を行った。
もうこれで配布できる状態ではあるが、立ちポーズと座りポーズの変更と、アニメーション作成してエモートを一つ追加したい。
2025/01/01
作業5時間。アニメーション制作および設定を行った。あとコンストレイントの設定を忘れていたのでそれもやった。
立モーションを変更するためにVeryAnimationでアニメーションを作った。初めて使うものなので使い方に慣れるまで少し時間がかかったが、簡単な立ちアニメーションを作成した。
立ちモーションを変更するにはBase Layerを変更する必要があるため、サンプルのBase Layer用コントローラーをコピーしてセットする。ちなみにサンプルの場所は「Packages/VRChat SDK – Avatars/Samples/AV3 Demo Assets/Animation/Controllers」となっている。以前は違う場所だったのでこれもそのうち変わる可能性がある。
詳しい設定方法は以下の記事に書く。
とりあえずの設定をして立ちモーションが変わっていることは確認できたが。腕が不自然に揺れていることに気づいた。
原因はデフォルトのAdditive Layerに設定されているモーションがブレンドされていることだったので、空のアニメーションファイルをセットしたAnimator ControllerをAdditve Layerにセットすることで解決した。というかデフォルトでこんな変な腕の動きが出るようになってるのは如何なものか。
そして座りモーションにはそれ以上に苦労させられた。上の画像のような座りモーションを作成してセットしたのだが。
VRChat上だとこのように足の位置がおかしくなってしまった。
原因は詳しくわからないがVRChatでは座り時のHeadボーンが立ち状態の時の60%の高さに固定されるらしく、座ったときに「座りモーションを取る→頭の高さを所定の位置へ移動する」という処理がされていると思われる。
参考:BaseLayerを設定する上での注意点・ぺた座りの実装方法 |しぐにゃもブログ
上記のブログを参考に、Root Transform Position(Y) の Offsetを調整することで解決した。
2025/01/02
1日中こっちの記事を書いていた。その後2時間ぐらいVRChatで3点トラッキング、6点トラッキングの動作確認をしたがいくつか問題が見つかった。
1つ目の問題は、上の画像は6点トラッキング時に横を向いたときの画像だが、実際には直立して横を向いているのだがVRChat上では横を向く際に体が傾くという事象が発生してしまった。原因ははっきりしていないがおそらくボーン構造のせいだと考えている。
このモデルのHip~Headボーンはこのようになっているが調べたところVRChat推奨のボーン配置はHip~Headのボーンはすべて垂直にする&Hip~UpperChestのボーンは一直線にするのが良いらしい。
この段階でボーン配置をいじるのはさすがに厳しいのでこれは次回試してみることにしよう。
2つ目の問題は、上の画像は右膝の補助ボーンにRotation Constraintを設定して膝を曲げた画像だが、見ての通り膝がえぐれてしまっている。色々試してみた結果、想定とは逆方向に補助ボーンが回転していることが判明した。
そして色々試した結果、膝ボーンのX回転を-93から270(ほぼ1回転)させることで解決した。理屈がわからなすぎる。
そして3つ目の問題は、3点トラッキング、6点トラッキング時に体が宙に浮く(画像右側)ということ。「Use Auto-Footsteps for 3 or 4 point tracking」のオプションあたりが怪しいがはっきりした原因はまだわかっていない。
VRChat関連でいろいろ問題が見つかったが、トラッキング関連については特に対処が難しそうなので今回はいったん見送るべきかもしれない。
2025/01/03
作業〇時間。AFKモーションの作成と設定を行った。
AFKのモーション自体はそこまで苦労しなかったのだが設定の方でだいぶ苦労した。どう苦労したかというと
まずサンプルからコピーして作成したアクションレイヤーのAFKステートに作成したアニメーションをセットしたが、それだけだと表情が変わらない。VRChatの仕組み上FXレイヤー側で表情変更させる必要があった。
なのでFXレイヤーにこのようなレイヤーを追加して、AFKのオンオフでウェイト設定やアニメータートラッキングのオンオフを切り替える処理を入れた。のだがこれだとAFK解除後に表情変化したまま瞬きして顔面崩壊してしまった。
のでFXレイヤーにもう一つレイヤーを追加し、デフォルトステートで目と口のトラッキングをOFFにして、AFK or 表情制御用の変数が0以外になったら下のAnimationステートへ移行(このステート自体は何もしない)して、AFK状態解除 and 表情変数が0になったときに上のステートへ戻り目と口のトラッキングをONにする処理を入れた。
さらにもう一つエモートを作成した、こちらも同様にアクションレイヤーのみだと表情が変わらないのでFXレイヤーに処理を追加する必要がある。
なのでこのようにFXレイヤーのアクションレイヤーにエモート用の処理を追加、エモート終了を検知してBrendOutステートに向かうようになっている。
エモート再生中を表す変数を追加して、トラッキングONへの切り替え処理の条件に追加した。
いい加減VRChat用の作業が長くなってきたのであと1つぐらいエモートを作って制作終了にしよう。
2025/01/4
作業3時間。エモートを作成。
3秒程度の短いアニメーションだが3Dアニメーション作成の経験値が圧倒的に足りていないため苦労した。開始時と終了時に位置がガクっとずれるのは差し替えている立ちポーズが悪さしているようだ。
これでいったんのモデル制作作業を終わりとする。あとはUnityPackageの作成と(可能そうなら)LilToonの設定をしておこう。
おわりに
今回の制作にかかった期間はおおよそ
- ・準備:8日
- ・頭部作成:5日
- ・体作成:6日
- ・ウェイト作業:4日
- ・UV展開:2日
- ・テクスチャ作業:3日
- ・シェイプキー作成:3日
- ・VRM作業:2日
- ・VRChat設定:6日
合計35日程度。時間にして125時間程度かかった(UnityPackage作業が残っているのでもうちょっとかかる見込み)。作業手順をある程度記録しながら進めたので次回はもっと効率的に作業を進めたいところ。
VRChat設定はあまりに難解でエモートなどを意図的に動作させるのが難しかった。ユーザーが配布しているツールなどを使えば作業が楽になるのかもしれないがそれを調べるのも時間がかかるのでやりたくないというのが正直なところ。
課題・反省点・良かった点など
- ・メッシュの流れの変え方を覚える
- ・ポリゴン数を抑えるモデリングをする
- ・胴体のトポロジーを覚える
- ・アウトラインを出すうえで口元をどう作るか
- ・サブディビジョンを適用させるタイミングは要検討だがウェイト作業の前にやるのが良いのでは?
- ・腕のねじれは強敵、無理にやらなくてもよい
- ・口の形と瞬きのシェイプキーの下書きは準備しておく
- ・サブディビジョン適用後はまつ毛など不要な頂点は整理する
- ・ブレンドシェイプで無理な変形をすることによってできる線に注意