first
This commit is contained in:
47
book/blender/01_model.md
Normal file
47
book/blender/01_model.md
Normal file
@ -0,0 +1,47 @@
|
||||
# 素体を作る
|
||||
|
||||
素体を作ります。できる限り現実に近い再現を目指します。これを`gender system`と呼び、わかりやすくいうとキャラクターの性器システムです。
|
||||
|
||||
今回は、Aモデル(vrm)とBモデル(部位)の統合をblenderで行います。統合したものをvrmにexportして、ueでimportします。Bモデルにはシェイプキーを設定しているので、ueではモーフターゲットとして動かせるようにします。
|
||||
|
||||
ueで動かすにはmaterialに`VRM MToon`を使うこと、`UVMap`の名前に設定すること、`vrm0`を使うこと、データ転送で`頂点`を設定することが大切です。今回使用する[addon](/blender/)は、vrmをimport, exportするaddonだけです。
|
||||
|
||||
## vroidの設定
|
||||
|
||||
素体はvroidをベースにします。つけている衣装を全部はずします。そして、パンツなどもテクスチャを削除しておくと素体の完成です。
|
||||
|
||||
## materialの設定
|
||||
|
||||
vrmをblenderで読み込みます。
|
||||
|
||||
1. Bモデルのmaterialに`VRM MToon`を設定します。ueでimportする際にcrashします。
|
||||
2. dataのUVマップに`UVMap_xxx`となっているときは名前を`UVMap`にします。色がおかしくなります。
|
||||
|
||||
## 基本的な編集(移動、削除、位置)
|
||||
|
||||
1. Bモデルを正しい位置にセットします。[G], [Z], [R]
|
||||
2. Aモデルを適切に切り取ります。[面を選択], [細分化], [四角形に], [面を削除]
|
||||
3. シェイプキーを動かしても問題ないかの確認します。
|
||||
|
||||

|
||||
|
||||
## bodyに追従させる
|
||||
|
||||
このままではBモデルは体に追従しません。追従させるには頂点をアーマチュア(armature)に追加します。
|
||||
|
||||
1. Bモデルのモディファイアから[データ転送], [Body(J_Bip_C_Hips)], [頂点], [頂点グループ]を選択し、[データレイヤーを生成], [適用]します。
|
||||
2. Bモデルのモディファイアでアーマチュアで[Armature]を追加します。
|
||||
3. 女性の場合はボーン(足)を調整します。なお、少し浮くようになってしまうため全体を-Zします。[G], [X], [R]
|
||||
|
||||
> シェイプキーをueでも有効にするには、vrm0を使います。また、編集しているときにobjectを分離した場合は元の構成に再統合してください。
|
||||
|
||||

|
||||
|
||||
## gender systemについて
|
||||
|
||||
例外ない限りキャラクターにはgender systemが搭載されます。アイは原作で性別がないので、例外的にgender systemから除外されています。
|
||||
|
||||
最初に実装するキャラは、仮名で`アダブ(男性)`, `イブチェ(女性)`になります。
|
||||
|
||||
[issue: ueで読み込むと一部のmaterialが正しく表示されない](/issue/blender/blender_02.html)
|
||||
|
11
book/blender/02_costume.md
Normal file
11
book/blender/02_costume.md
Normal file
@ -0,0 +1,11 @@
|
||||
# 衣装を着せる
|
||||
|
||||
衣装は体に追従しません。これを追従するようにします。
|
||||
|
||||
1. 衣装を選択した状態で、モディファイア -> データ転送、頂点を選択し、頂点グループにチェックを入れる。
|
||||
2. データレイヤーのボタンを押して頂点を生成。
|
||||
3. 最後にモディファイアのデータ転送を適用。
|
||||
|
||||
## 衣装を着せるaddon
|
||||
|
||||
blenderに[kiseru](https://pielotopica.booth.pm/items/4854979)をインストールします。
|
49
book/blender/03_vrm.md
Normal file
49
book/blender/03_vrm.md
Normal file
@ -0,0 +1,49 @@
|
||||
# vrmで統合する
|
||||
|
||||
`.vrm`を読み込んで、別の`.vrm`に統合する方法を紹介します。最終的にはueでも動くようにします。
|
||||
|
||||
編集しているうちにblenderのシェイプキーがueのモーフターゲットにexportできなくなったり、髪の毛のウェイトが消えていたりといったトラブルが多発します。
|
||||
|
||||
blenderのvrmはspring boneを設定して髪の毛を動かしています。これはboneに付いているcolliderと連動しています。
|
||||
|
||||
髪の毛はboneとも連動していて、armature(bone)を統合したあとにheadとheadをつなげなければなりません。
|
||||
|
||||
統合するobjectの動きを本体に追従したい場合は頂点とアーマチュアを正しく設定しなければなりません。データ転送を活用します。
|
||||
|
||||
髪の毛が動かない場合、物理シュミレーションが設定されているか確認してください。ueの`kawaiiphysics`でも設定できます。私はueのほうで設定しています。また、髪の毛のウェイトが剥がされていないか確認してください。データ転送後は髪の毛にウェイトが付いているか確認しましょう。
|
||||
|
||||
シェイプキー(モーフターゲット)が消えてしまうのは`vrm1`に起因します。blenderで編集する場合は`vrm0`をベースにしてください。また、シェイプキーは元のobject名に再統合しなければ消えてしまいます。
|
||||
|
||||
1. vrm0をベースにしているか。
|
||||
2. objectを元の状態に再統合できているか。
|
||||
3. 髪の毛にウェイトはあるか。
|
||||
4. 髪の毛に物理シュミレーションはあるか。
|
||||
|
||||
## 具体的な手順
|
||||
|
||||
hair(髪の毛)とbody(体)で分けられたvrmを読み込むこととします。これを統合します。
|
||||
|
||||
1. まず、boneの統合を行います。boneはarmatureというようです。不要なboneを削除します。そして、完成版となるarmatureを最後に選択して統合します。
|
||||
2. 次に必要なboneをつなぎます。boneを編集モードで編集し、`J_Bip_C_Head` -> `head`を選択し、右クリックで親を`オフセット維持`で設定します。
|
||||
3. 次にhairを選択し、モディファイアからデータ転送を行います。ソースに`body`, 頂点グループに`J_Bip_C_Head`を選択します。ここが特に重要です。そして、頂点データにチェックを入れ、頂点グループを選択します。最後にデータレイヤーを生成し、適用します。これでhairとbodyがつながった状態になりました。bodyが主体になります。
|
||||
|
||||
ウェイトがhair(J_Bip_C_Head)に設定されていることを確認してください。今後、hairのobjectをいじると削除される可能性があります。
|
||||
|
||||
## ueで物理シュミレーションを設定する
|
||||
|
||||
1. 次にueでhairを動くようにします。ueでvrmを読み込んで、`ABP_Post_${name}`を編集します。`kawaiiphysics`でRoot Boneに`J_Sec_Hair_1_xx`を1-12まで入れて、Capsule Limitsに`chest`, `hip`などを設定します。私は`chest`の値を大きめにして対処しました。
|
||||
2. 次に、服が体に入りこまないようにしなければなりません。これも先ほどと同じように設定します。
|
||||
3. 設定後は`ABP_Post_${name}`をコピーしておきましょう。このファイルは新しくvrmを読み込むと上書きされるため、最新版を読み込んだあと再設定しやすいように。
|
||||
|
||||
blenderから読み込んだmodelを動かしてみた。
|
||||
|
||||

|
||||
|
||||
## blendshapeとvmc
|
||||
|
||||
vmcは`.vrm`をblenderで開いたときblendshape(ブレンドシェイプ)が設定されていれば大抵動くと思います。
|
||||
|
||||
ただし、blenderで編集した際に使えなくなってしまう可能性が高いです。例えば、objectを分離した場合がそうです。最初の構成にobjectを統合すると動くようになります。
|
||||
|
||||
[issue: 髪の毛が頭に追従しなくなる事がある](/issue/blender/blender_03.html)
|
||||
|
32
book/blender/README.md
Normal file
32
book/blender/README.md
Normal file
@ -0,0 +1,32 @@
|
||||
# blender
|
||||
|
||||
[blender](https://projects.blender.org/blender/blender)でモデルを編集して、ueで読み込みます。
|
||||
|
||||
- version: `4.5`
|
||||
|
||||
```sh
|
||||
# https://developer.blender.org/docs/handbook/building_blender/windows/
|
||||
$ git clone https://projects.blender.org/blender/blender.git
|
||||
$ cd blender
|
||||
$ make update
|
||||
$ make
|
||||
```
|
||||
|
||||
## addon
|
||||
|
||||
|addon|body|
|
||||
|---|---|
|
||||
|https://github.com/saturday06/VRM-Addon-for-Blender|vrmを読み込む|
|
||||
|
||||
## その他のaddon
|
||||
|
||||
結局、vrmを読み込むもの以外は使いませんでした。気になったaddonを載せておきます。
|
||||
|
||||
|addon|body|
|
||||
|---|---|
|
||||
|https://github.com/smokejohn/SKkeeper|modifireをobjectに反映|
|
||||
|https://github.com/12funkeys/rigid_bodys_gen|rigを付ける|
|
||||
|https://github.com/shteeve3d/blender-wiggle-2|rigを付ける|
|
||||
|https://pielotopica.booth.pm/items/4854979|衣装を着せる|
|
||||
|
||||
なお、pythonを実行するのは危険も伴いますので、blender addonの実行(インストール)は最低限にしてましょう。
|
Reference in New Issue
Block a user