Help us understand the problem. What is going on with this article?

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

初めてblenderを触った結果、長時間なやんでしまったので備忘録として残しておきます。
VRChatに無事アバターアップロードすることを目的としています。

文中の値段表記については、18/09/19現在での情報です。

  • 2019/8 更新

    古いままだったいくつかの情報について更新しました。
    Blender 2.8 対応はできてないです許して。

    Soft Version
    Blender 2.79b
    Cats Blender Plugin 0.13.3
    Unity 2017.4.28f1
    VRChat SDK 2019.07.31
    Shaclo 1.2.2 (shoesモデル)

シャーロちゃんとは

まずはうちの改変(色とか絆創膏とか)済みシャーロちゃんを見てくれ。
かわいかろ~?

myShaclo.jpg

(Shaclo; © 2018 ⊿S.I.N
 Two-handed Sword; © 2018 The garden of Ashen
 UTS2.0; © 2017 Unity Technologies Japan/UCL)

このかわいい3Dモデルが ⊿S.I.N さんのbooth でなんと3000円でお迎えできちゃうんだ!

注:装備してる両手剣は Ash さんのbooth で購入したものなので付いてきません。オプション料金500円。

blenderでモデルデータをいじる

本題。

シャーロちゃんの .unitypackage をインポートするのは何も問題ないですが、blenderで .fbx ファイルからいじる際にはいくつかテクニックが必要のようです。
(初めてのblenderチャレンジだったので、もしかしたら常識なのかもしれませんが…)

以下、自分がつまった点についての説明と対策を書いてます。

Cats Blender Plugin (追加)

簡単にモデルをインポートする機能やVRChat向けに最適化してくれる機能などを提供してくれる神ツール。
もっとはやく導入してればよかった。

インストール方法についてはこちらの READMEのインストール項目 通りです。

Material Combiner (追加)

こちらのBlenderアドオンを導入することで Cats Blender Plugin からマテリアルの統合ができるようになります。

インストール方法についてはこちらの VRChatフォーラムのスレッド にかかれています(Cats Blender Plugin の導入と同様の手順)。

インストール後にBlenderを再起動。
CATS タブの Optimization 項目の Atlas から利用できます。

.fbxファイルのインポート時にボーンを揃える(更新)

Cats Blender Plugin を導入していれば ツール シェルフ -> CATS タブ から

  1. Model 項目を開く
  2. ImportModel ボタンを押す
  3. 読み込むモデルのファイルを選択
    model-import.png

これだけできれいにインポートしてくれます。
神か。

シェイプキーが消えるのを防ぐ(更新)

シャーロちゃん v1.2.2 ではすでに対策されているようなので、以下の作業は必要ありません。

  • 問題
    blenderでは存在するのに .fbx エクスポート後、Unityで読み込むと消えてしまう。
    v_sil, blink_left/right, lowerlid_left/right の5つが消えていました。

  • 原因
    Basis キーと全く同じ(=メッシュを動かしていない)状態だと最適化の結果、削除されてしまうみたいです。

  • 解決策
    そのため次のような操作を行い、メッシュを肉眼では判別できないほどの微小値変化させます。

    1. 表情シェイプキーのある Body を選択
    2. 編集モード に変更し、変化させるメッシュを選択
    3. プロパティウィンドウデータ タブから微小値変化させたいシェイプキーを選択
    4. 3Dビューウィンドウ'W'キー -> 任意のシェイプキーを選択部に合成
    5. 左下の ツールシェルフ に合成するプロパティが出てくるので、適当なシェイプを選択し値を 0.001 にする
      shapekey03.png

以上でUnityにインポートしてもシェイプキーが残っているはずです。

VRChatでシェイプキーが暴れる

  • 問題
    何もしてないのにお口やお目々がビクンビクンする。
    まばたきアニメーションの設定ミスかと思いきや、どうも違う様子。

  • 原因
    アイトラッキング機能がシェイプキーの上から4つを使用するため、シェイプキーの並びが推奨順でない場合に暴発するみたいです……?(よくわかってない)
    またUnityに取り込んだ際、ボーン設定が間違ってることも影響してそうです。

  • 解決策

  1. シェイプキーの並び順

    とりあえずblender上でシェイプキーを次の推奨順に並べ直すと直ったので、試してみてください。

    1. Basis
    2. blink_left
    3. blink_right
    4. lowerlid_left
    5. lowerlid_right

    shapekey-sort.png

  2. Humanoid のボーン対応修正

    Unityにインポートしたさい、Humanoid のボーン対応で顎( Jaw )に髪のボーンが設定されていたので外す(None)。

    bone.png

シェイプキーが爆発する(追加)

もしくはウニになる。
アバターを改造しようとしたときになるやつです。

シャーロちゃんでは発生しにくいと思われますが、Blenderでいじってるといつか遭遇するので念の為に書いておきます。

  • 原因
    シェイプキーが頂点の移動情報を記録しているためメッシュの頂点を削除したときにバグるせいみたいです。

  • 対策
    メッシュを直接編集するのではなく、編集するメッシュ部分を分離しておくといいようです。

アバターの多くはシェイプキーを表情表現のみに使っており、変形する頂点は顔部分のメッシュに集中しているので、

  1. オブジェクトを顔と身体に分離( 選択物を分離
  2. 身体部分のオブジェクトからはシェイプキーを削除
  3. 作業終了後ないし出力前にオブジェクト統合

とすれば大丈夫だと思います。
とはいえ割とミスしやすく、費やした作業時間が無駄になるのを防ぐため、分離・削除したときはシェイプキーの動作を確認しておくことをおすすめします。

参考:https://twitter.com/nukomiya09/status/1101144929189867520

単位設定(追加)

Blenderで扱う長さの単位をメートル法にしておいたほうがいいみたいなので設定します。

プロパティウィンドウにおいて

  1. シーン タブを開く
  2. 単位 項目で メートル を選択
    meter.png

オブジェクトモードと編集モードでボーン位置がずれる(追加)

ポーズモードがデフォルト値から変更されているのが原因だと思われます。

ツール シェルフ -> CATS タブ から

  1. Model 項目を開く
  2. Start Pose Mode
  3. 即座に Stop Pose Mode
    model-pose.png

以上でボーンの変更値がリセットされTポーズに統一されます。
やはり神では。

髪・ヘアピンの位置がずれている(追加)

原因はわからないですけど、なんかずれてますね……。
正しい位置についてはちょっとわかりませんが、だいたいこのぐらいに合わせてみました。
残念ですが手動です。

  • 髪部分を選択

    1. オブジェクトモード
    2. G -> Z -> 0.02 (2cm上に移動)
    3. G -> Y -> -0.0152 (1.52cm前に移動)
    4. Ctrl + A -> 位置 で適用
  • ヘアピンについても修正

    1. オブジェクトモード
    2. G -> Z -> 0.015 (1.5cm上に移動)
    3. G -> Y -> -0.0185 (1.85cm前に移動)
    4. Ctrl + A -> 位置 で適用

マテリアル統合(追加)

あまりに長くなったので別記事で書いてます。

FBX出力(追加)

Cats Blender PluginExport Model 機能から出力できる。

ツール シェルフ -> CATS タブ から

  1. Model 項目を開く
  2. Export Model をクリック
  3. Continue to Export をクリック
    export-model.png

メッシュオブジェクトやマテリアル数が多かった場合、ここで次のような警告が出ます。
Continue to Export でそのまま出力もできますが、できれば結合を試してみてください。

export-warning.png

Unityでのアップロード作業(追加)

本記事では説明せず、参考文献を挙げるにとどめます。

Unity開発環境(VRChat用)

アバターアップロード

アニメーションオーバーライド


以上、自分がつまづいてしまったポイントでした。
何かの役に立てば幸いです。

では、よきVRライフを。

参考

akiakishitai
アウトプットが少なかった過去を戒めて
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした