見出し画像

1日で作る!VRChatアバター単眼化① ~アバターの読み込みから眼球完成まで~

多分タイトル詐欺です.すみません.(Apologize)
でも単眼アバターが出来るのは本当です.

追記:後編も書きました

1. はじめに

こんにちは。カニぱん(@K4N1_VRC)と申します.

単眼アバター増えろ~~~~~~~~~~~!!!と思って書き散らした下記のページがちょっぴり反響があったのでその勢いで既存アバターの単眼化について解説していこうと思います.

本記事で出来ること
・お手軽に作る単眼改変
・既存の3DモデルをBlenderで改変
・FBX変更後,元のアバターの設定のスムーズな適応

単眼化だけでなく,Blenderでのモデルの修正,ポリゴン数の削減,アクセサリの追加をする際にも参考になるかもしれません.

Blender始めての方でもある程度分かるように主要なショートカットキーなども交えて説明していこうと思います.

この記事を読めばこんな単眼ちゃんが出来上がるはず

ケモミミ単眼ちゃん,可愛いね...

(ただし本記事で扱うモデルは無料のものでアバターとしての本当に最低限の機能しかないため,有料のモデルでこの子を改変したい!!!!!!!!という方はそちらでもいいと思います.めちゃめちゃ応援します.)

追記
 購入するなどして入手したアバターを改変する場合,そのアバターの利用規約を遵守してください.

 少なくとも,単眼はかなりの少数民族であることは心のどこかに留めておきましょう.

2. 参考にしたページ

全体な流れはこちらの記事に沿って行います.
併せて確認していただくといい感じになると思います.

3. 準備

用意するもの
・アバターをアップロード出来る環境(Unity + VRCSDK3)
 下記のページとかを見てください

・3Dモデル
 この記事ではこちらのモデルを使用します
【CC0】シャペルちゃん Avatars3.0対応【VRChat想定】

・Blender 2.93 LTS
 このバージョンを使用して解説します

・Cats Blender Plugin
 VRChat向けに色々な機能が使えるBlenderのプラグインです.
 色々機能がありすぎよく分かっていない
 テクスチャの表示に使う説明があるので導入しておいてください

4. Unityにアバターデータをインポート

新たなUnityプロジェクトを作成,VRCSDK3-AVATARとアバターのunitypackageを読み込みます.

こんな感じでファイルが展開されたらUnityでの作業は一旦完了です

Assets内にモデルデータやマテリアル,テクスチャなどが展開されるはず


5. Blenderに.fbxファイルをインポート

Blenderから.fbxファイルをインポートします.
日本語化,初期の立方体の削除をしておきます.
「ファイル」→「インポート」→「FBX(.fbx)」でファイルを選択します.
先程のUnityプロジェクトのあるフォルダのAssets\Shapell\dataに
shapell.fbxがあるのでそれをインポートします.

インポートしたところ



6. モデルにテクスチャを貼り付け

オブジェクトモードでテクスチャを設定したいオブジェクトを選択します.
本モデルでは全てのパーツが「Body」で一体になっています.多くのアバターのモデルデータでは分けられていることのほうが多いですが,やることはあまり変わりません.
オブジェクト選択後,右の球体のマークを選択すると
下の画像のように各パーツのマテリアルを設定する画面が表示されます.
赤丸で囲った部分を押して,パーツに応じたテクスチャの画像ファイルを選択します.

テクスチャファイルの設定

また,「外部データ」→「欠けているファイルを探す」でテクスチャ画像のあるフォルダを選択すると,自動で全ての画像が適用される場合もあります.

「外部データ」→「欠けているファイルを探す」

Cats Blender Pluginを導入している場合,「その他」→「Shadeless」を選択するといい感じになります

特にテクスチャ適用に真っ黒になった場合,Unityのレンダーがおかしくなっている,CPUやGPUが対応していないといったケースが考えられます.
(自分の環境では対応したGPU使っているはずなのに真っ黒になってしまった...)
そんな場合でもとりあえずこの方法でテクスチャが表示されるようになりました.


7. モデリング作業① 顔パーツの分離

既に顔のパーツが分離して存在する場合は無視して次のステップに進んでも構いません.

編集モードに切り替えます.
・髪の毛の非表示
 顔を選択するのに髪の毛が邪魔なので一旦非表示にします.
 選びたいパーツのどこか一つの頂点の上にマウスカーソルを載せ,キーボードの「L」を押すと繋がっている部品が纏めて選択できます.(今後よく使うキーの一つです)

選択したらキーボードの「H」を押すと,その頂点が非表示になります.(Hide)
削除ではなく,一時的に非表示になっているだけです.
ショートカットキー「Alt + H」で再表示されます.(よく使う)

髪の毛を消したら顔のパーツを選択します.同じく「L」キーを押して選択します.
目の奥に隠れている部品や歯,口は今回は選ばなくていいです.

見えてる顔パーツを選ぶ
まつ毛から飛び出ている毛とかもちゃんと選択する

選んだメッシュを分離して別パーツにします.
キーボードの「P」→「選択」をクリック
すると「Body.001」が出来ると思います.
今回いじくり回すのはこのオブジェクトになります.

8. モデリング作業② Xミラーで編集(する準備)

まずはオブジェクトモードで顔のオブジェクトを選んで編集モードに切り替えます

左右対称のモデリングをする場合,ミラーの「X」を有効にします.
既にあるメッシュを弄る時は間違っても半分にぶった切ってからミラーモディファイアとかは絶対にやめましょう.シェイプキーあたりで地獄を見ます.
Blender触りたての方は何言ってるか分からないかもしれませんが,とりあえず編集でXミラーを有効にして,片方の頂点を動かすと(「G」キー)連動して反対側も動けば問題ありません.

X軸のミラーを有効にしたところ

!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!
今回解説で使用しているモデルは顔が「-0.000018m」ズレているためそのままでは対称に編集出来ません.
そのため一度ズレてそうなメッシュを選択して,「0.000018m」ズラします

顔の真ん中にあるはずの頂点が「-0.000018m」ズレている

顔の全部のメッシュがズレていそうなのでキーボードの「A」で全頂点を選択,
キーボードの「G」→「X」と順番に押すとX軸のみに移動が可能になります.
そして移動出来る状態でキーボードで「0.000018」と入力し(画面左上に小さく入力した数字が表示されます),エンターキーを押して確定させます.
これでちゃんと対称で編集出来るはずです.


9. 番外編 Blenderにおける改変で修正作業を極力減らすための心得

Blenderでやるのは一種の破壊行為のため,色々やると後の修正が多くて面倒になります.UnityやBlenderを""完全に理解""している方ならいいのですが...
私(Blender触り始めてまだ1ヶ月ちょい)がBlenderでアバターを改変する中で面倒事,理解が及ばない領域に突入するのを避けるために考えていることです.
人によってやり方は色々あるとは思いますが...
単眼化しない人でもここは読んで欲しさ

  • 左右対称のモデリングをする場合,ミラーの「X」で対称編集をする
    →既にあるメッシュを弄る時は間違っても半分にぶった切ってからミラーモディファイアとかは絶対にやめましょう.シェイプキーで地獄を見る

  • メッシュを新たに追加しない,ナイフツールで既にある頂点の間に作ってその後に移動させる
    →UVマップの修正が面倒くさくなる このへんの問題が発覚するのがモデリング終盤な気がするので... 

  • シェイプキーは極力今ある名前のものを流用する
    シェイプキー増やした時にUnity側でAnimationに追加するのがやや面倒じゃないですか? 同じ名前のままならこのへん意識しなくていい気がする
    全くあたらしい表情やポーズを作りたいって場合は作らざるを得ないと思いますというかそれが本来の行為

  •  

  • 他にも思いついたら追記します



10. モデリング作業③ まつ毛を作る

ここからいよいよモデリング作業になります.
凝れば凝るほど時間が掛かりますし,Blenderの操作に慣れて妥協しまくれば数時間で終わります.

まずどんな感じにするのか考えます.
今回は手っ取り早く作るため,既にある目の目尻,輪郭,眉毛にまつ毛も極力流用します.
また,口の表情もフルで流用するために,鼻より下は絶対に触らずに作ることにします.

このへんの目の形については本記事の最初のリンクの「VRChatの単眼アバターを作るにあたって参考にしたページとか所感」にも考えを書いてるのでそちらも見ていただければ単眼モデリングのヒントになるかな...と思います.

大まかに脳内でアタリをつけておきます

まつ毛を作ります.
ここも新しく作るのは面倒なので既にあるまつ毛を伸ばして真ん中で合体させます.
一から作る場合はこの動画が参考になると思います

ここで便利なのがループ選択です.
頂点を一つ選択し,「Alt」キーを押しながら頂点から伸びている辺をクリックすると下の画像のようにグルっと一周選択されます(裏面が見えないので分かりづらいですが...)
こうして選択したら頂点を移動させます

まつ毛中央のオレンジ色になってるとこ

移動に使うショートカットキー
「G」→「X」や「G」→「Y」,「G」→「Z」をフル活用していい感じに移動させます.
また「S」で伸び縮みさせたり「R」で回転させてもいいですね
これらも「x,y,z」で軸指定してやることを強くオススメします

いい感じに移動させつつ,元のまつ毛の中心側の端は使えないので削除します
透過表示で不要な頂点を選択し,「X」で削除します.
削除はミラーが効かないため,反対側も同じくやります

いい感じに伸ばせたら左右のまつ毛を中心でくっつけます.
接合する部分の頂点でX座標を指定すればくっつきます.

繋がった~~~~~~~~~~~~~~~~~~~~~~~~~~~~

全く同じやり方で眉毛も連結させましょう

11. モデリング作業④ 穴を空ける

いよいよ穴を空けていく作業になります.
頑張りましょう

とりあえずおなじみの「L」で目を選んで「X」で削除,白目の部分も同じく消します.

この辺も思い切って消します
端の頂点を選択,「Ctrl」を押しながらもう反対側もクリックするとこんな感じで連続して選択出来ます.
そして「X」で削除

ハミ出ている頂点をズラします.
おなじみ「G」から「X,Y,Z」でもいいですが,
「G」の後に続けて「G」を押すと,辺に沿って頂点が移動出来ます.
これもめちゃめちゃ使います.

頂点動かすだけだとガタガタになっちゃうって場所はナイフツールで辺を新たに作成します.
キーボードの「K」を押してナイフ(Knife)ツールにし,2つの頂点を選んでエンターキーを押すと新たに辺が作成されます.

この状態でエンターを押すと確定

こんな感じで,千切っては投げ...を繰り返すとこうなります
いい感じですね


12. モデリング作業⑤ 眼球を作る

目を作ります.ここを乗り越えれば一気に完成形が見えてきます.

目の形も色々流派がありますが.同じくここに色々書いてるので是非読んで

目の構造に関してはここを参考にしています.


「追加」→「UV球」で追加します.
左上に出てきた「▶UV球を追加」の三角を押すと詳細なメニューが表示されます.ここで頂点が多いと間引くのも面倒なのでいい感じの値を入れてください.

右のメニュにあるように,画面ではHairのテクスチャが適用されているので緑色になっていますが,今は無視します.

相変わらずの「L」で球を選択,
「G」→「YやZ」(中心からズラしたくないのでXは使わない)で移動,
「S」で拡大,縮小させていい感じに変形させます.
また「S」→「X,Y,Z」で特定の軸方向にのみ伸び縮み出来るほか,
「S」→「Shift+X,Y,Z」で指定した軸以外が伸び縮み出来ます.

顔に収めた様

このままだとただの白目しか見えないため,メッシュを反転させます.

裏面を非表示にします.

全く同じ要領で虹彩になる部分も作ります.こっちもメッシュの反転

更に黒目になる部分も作っていいですが,今回は作りません.

最初に,目のテクスチャを反映させるマテリアルを作ります.
(よく考えたら"body"に追加すればよかった気がしますが,気にしなくていいです.)
マテリアルの追加を説明出来るいい機会ですね.

編集モードでマテリアル一覧の右にある「+」ボタンを押すと空のマテリアルが出来上がります.新規を押すと「マテリアル」という名前で新しく作成されます.

続いて目のメッシュをマテリアルに登録します.
「L」で目のみを選択し,「割り当て」を押すと反映されます.

こんな感じで白くなります(ベースカラーが白に設定されているため)
名前は「EYE」にリネームしました

続いてUVマップを作成します.
まず正面を向きます.テンキーのどれかか,右上のXYZの軸が表示されてるところのYを押してください.
そして「L」で目のメッシュを選択します.

上のタブから「UV Editing」の画面に移動します.
画面左側はまだ気にしなくていいです.
また再度正面を向いていることを確認し,「UV」→「ビューから投影」をクリックします.

すると左側にUVマップが表示されます.


UVマップに反映されたらまず上の写真の赤丸で目のテクスチャに使用する画像を選択します.
新しく作成したものを使うのもヨシ,今回は元のテクスチャの目の部分を流用します.

左側のUVマップの編集ですが,こちらも頂点と同じように移動,拡大,縮小が可能です.
こちらもおなじみ「L」で選択,「G」で移動,「S」で伸び縮みさせられます.こちらも「X,Y」の軸指定できます.

下のように虹彩,白目の部分に置けたら完了です.

上のタブから「Layout」でいつもの画面にします.
マテリアル「EYE」のベースカラーの黄色い丸をクリック,「画像テクスチャ」を選択します

目のテクスチャ(今回はbodyと同じやつ)を適用したら...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ウオ~~~~~~~~~~~~~~~~~~ここまでくればもうほぼ完成と言っても差し支えないでしょう

あとは目に食い込んでる部分を調整しましょう
こういうとこは相変わらず「G」→「G」で辺に沿わせて頂点動かすと楽です

上のほうにある眼球作成時ののスクリーンショットだと虹彩は球体のままですが,この↑画像のようにY方向に潰れた楕円球にするといい感じになります

次回予告

まあまあ長くなっちゃったので分けます.
次回,泥沼のシェイプキー表情作成
説明がうまく出来るかわからん,ウェイトペイント
FBX差し替え爆速Unity設定&アップロード

以上,よろしくお願いします.

この記事が気に入ったらサポートをしてみませんか?