[blender] 顔オブジェクトをmirrorのApplyしないで,目をたれ目やつり目にするboneとobjectおよびvertexの設定 [2025/04/18]

blender

はじめに

BlenderでミラーモディファイアをApplyせずに左右の目を独立して動かすには、左右に別々のボーン(例:Eye_L、Eye_R)を作成し、それぞれに頂点グループを割り当てます。左目のみ実体があるため、X Axis Mirror機能を使ってウェイトを自動で右に反映させ、左右別々のボーンで制御可能にします。ボーンの原点を各目の中心に設定し、回転軸も調整します。こうすることで、モデルの対称性を維持しつつ、表情を個別に制御できます。


Q: blenderにおいて,mirrorにしている顔のオブジェクトの左目領域をboneでたれ目やつり目にしたい.boneと左目とでweight paintを施したが,これでは,boneをy軸で回転させると左目はたれ目,つり目は可能だが,右目はmirrorされているもののboneの回転中心が左目の中心にあることで,その中心にしだがい,右目は右目を中心にして回転しない.解決策はあるか?

ChatGPT: はい、その問題はBlenderで 左右対称オブジェクトにボーンを使って表情制御(たれ目・つり目など)を行う際に非常によくある課題です。


🎯 問題の本質

現在の構造では:

  • 左目用のボーンでたれ目・つり目の動きをコントロールし、
  • ミラーモディファイアで右目が生成されているが、
  • ボーンはミラーされていない or ウェイトが共通なので、回転の中心が左目基準のまま右目も動いてしまう

✅ 解決策:左右の目に独立したボーンを作成して、対称に機能させる

手順

1. ボーンのミラーを作成

  • Armature Editモードに入り、
  • 左目用ボーン(例:Eye_L_Rotate)を選択
  • Shift + D で複製し、X軸でミラーCtrl + M → X
  • 名前を Eye_R_Rotate に変更(最後に .L .R をつけると、後で自動ミラーが使いやすくなります)

2. ミラーボーンの原点位置を右目に合わせる

  • 複製された右目ボーンが左目の位置にあるため、ボーンのヘッドとテールを右目の位置に移動してください(右目の中心にスナップすると良い)。
    • ボーンの中心(ヘッド)を右目の中心に合わせることが重要です。

3. ウェイトを左右で分ける

  • 右目オブジェクトにも適切なウェイトペイントを追加
    • 左目は Eye_L_Rotate ボーンに
    • 右目は Eye_R_Rotate ボーンに割り当てる
  • ウェイトはミラーリングでコピーすると楽です:
    • ウェイトペイントモードでWeights > Mirrorを使う
    • 「X軸ミラー」がオンになっていることを確認

4. アーマチュアモディファイアを確認

  • 対象オブジェクトのモディファイアで、正しいアーマチュアが指定されているか確認

🎥 補足:ボーンによるたれ目・つり目制御方法

  • Y軸回転を使うのは良い方法です。
  • ただし、ボーンのローカル軸の回転方向が意図とズレる場合は、「Bone Roll(ロール)」を調整してください。
    • Editモードで Ctrl + R でロール調整可能
    • Alt + R で回転リセット(Poseモード)

✅ 最終構成イメージ

使用ボーン名ボーン原点ウェイトグループ名
左目Eye_L_Rotate左目の中心Eye_L_Rotate
右目Eye_R_Rotate右目の中心Eye_R_Rotate

🧠 コツ

  • ミラーモディファイアを使っていても、ボーンの動作はオブジェクトのジオメトリではなく、ボーンとウェイトの関係で決まるため、右目にも専用ボーンが必要です。
  • 「対称モデル」でも「非対称アニメーション」はボーンで独立制御すべき。

~メンバー専用 ↓
~~~~~~~~~~~~~~~~~~~
↑ メンバー専用~

無料登録は右の握手ボタンからかできます.


Q: 説明してくれた方法では,左右のboneと左右の目を独立してweight paintせよ.とのことだが,そのためには,顔は一旦mirrorをApplyする必要があるのではないか? また,mirrorせApplyして解除しないで課題を解決する方法はあるか?

ChatGPT: とても鋭い指摘です。その通りです。以下、整理して解説します。


🧩 問題の再確認

あなたの状況:

  • 顔はミラーモディファイア(Mirror Modifier)で構成されている(Applyしていない)
  • 左右のボーンは分けて設定したい(回転中心を独立させたい)
  • しかし、オブジェクトはミラーされたままなので、右側に独立したウェイトを持たせるのが困難

❗ 通常の方法では Apply が必要

✅【方法1】Mirror Applyして解決する(標準的なやり方)

  • モディファイアを**Apply(適用)**することで、左右のメッシュが物理的に分離されます。
  • その結果、右目の頂点は左目と独立し、右目に独自のウェイトを持たせることが可能になります。

利点:

  • ウェイトもボーンも完全に独立可能。
  • アニメーションやリギングの自由度が高い。

欠点:

  • モデル編集時に非対称になり、以降ミラー編集できない(=手動で両側を編集する必要がある)。

🛠️ MirrorをApplyせずに解決する方法

→ 方法2:Vertex GroupのミラーネーミングとArmatureのX軸ミラーを活用する

条件:

  • モディファイアはApplyしない
  • Armature Modifierは適用済みで、オブジェクトはボーンと関連付け済み

必要な設定:

  1. 左右のボーンを作成(.L.R
    • 例:Eye_LEye_R
    • 左目用ボーンをミラーして右目用を作成(Ctrl+M → X
  2. Vertex Groupの名前も左右で分ける(.L, .R)
    • 例:左目 → Eye_L
    • 右目の頂点にだけ Eye_R のウェイトを設定(左目と共有しない)
  3. 「X Axis Mirror(X軸ミラー)」を有効にする
    • ウェイトペイントモードにて:
      • オプション > X軸ミラー をON
      • これで左にペイントした内容が右にもミラーされるが、実体は別のVertex Group(.R)になる

重要な工夫:

  • 顔はミラーモディファイアで右側を表示しているだけなので、ウェイトペイントは左側のみ実体がある
  • しかし、Vertex Groupに.L.Rを明示的に分けることで、ボーンの回転も左右別々に効かせることができる

✅ 方法2の利点と限界

項目方法2(Mirror未適用)
ミラー編集可能(モディファイアで維持)
ボーンの独立制御可能(ボーンとVertex Groupを.L, .Rで独立)
頂点の直接編集右側は編集できない(ミラーモディファイアは片側しか編集不可)
複雑な変形一部制約あり(ウェイトのミラー精度に依存)

✨ 結論とおすすめ

状況推奨解決策
高度な左右独立の表情アニメーションモディファイアをApplyして独立構造にする
モデルの左右対称性を保持したいX軸ミラーとVertex Groupを分けて制御

~メンバー専用 ↓
~~~~~~~~~~~~~~~~~~~
↑ メンバー専用~

無料登録は右の握手ボタンからかできます.


~メンバー専用 ↓
~~~~~~~~~~~~~~~~~~~
↑ メンバー専用~

無料登録は右の握手ボタンからかできます.

ChatGPT: 了解しました!
ここでは「MirrorモディファイアをApplyせず、左右を独立に動かせるリグ構造」を構築する方法を、以下のステップに沿って丁寧に解説します。


✅ ゴール

  • 顔のオブジェクトはミラー未適用(編集しやすさを維持)
  • 左目ボーン:たれ目・つり目を制御
  • 右目も独立したボーンで同様に制御
  • 両目がそれぞれの中心を回転軸として機能する

🔧 構築ステップ


🔹Step 1:オブジェクト構成の確認

  • モデルにミラーモディファイアがかかっている(未Apply)
  • アーマチュアは既にオブジェクトにArmature Modifierとして設定されていること
  • アーマチュアの名前例:FaceRig
  • オブジェクトの片側(通常は左側)のみが編集可能状態

🔹Step 2:左右のボーンを作成

左目用ボーン作成(Editモード)

  • ボーン名例:Eye_L_Control
  • 左目の中心にヘッド、回転方向に合わせてテールを配置

右目用ボーン作成(ミラー)

  • Eye_L_Control を選択 → Shift + Dで複製 → Ctrl + M → Xでミラー
  • ボーン名を Eye_R_Control に変更(もしくは .L.R
  • (または,bone 4.4.0では,boneを選択後,MBRで”symmetrizie”する)

✅ 補足:.L .Rの命名規則を使うことでBlenderのミラー自動認識が効くようになります(ウェイトペイントやポーズミラーでも使える)


🔹Step 3:ウェイト用の頂点グループを用意

  • オブジェクトを選択 → Object Data Properties(緑の三角形アイコン) → Vertex Groupsを開く

グループ作成:

  • Eye_L_Control(左目のコントロール用)
  • Eye_R_Control(右目のコントロール用)

🔹Step 4:ウェイトペイントで左右のグループを分ける

左目(実体あり)

  • ウェイトペイントモードで、Eye_L_Controlを選択
  • 左目周辺の頂点にウェイトを塗布

右目(実体なし)

  • 右目はMirror Modifierで自動表示されているだけだが…

ここで重要!

🧠 ミラーをApplyしないで右側にウェイトを設定する方法:

✅ 方法A:自動ミラーを使う

  1. オプション(上部タブ)→ X Axis Mirror をON
  2. 左側を塗ると、Blenderが .R ボーンに対して自動的に右側も作ってくれる

✅ 方法B:手動で頂点グループを作る

  • Vertex Groupに Eye_R_Control を追加
  • Editモードで右目の頂点(X > 0)を選択 → 手動でEye_R_Controlにウェイトを割り当て

🔹Step 5:アーマチュアモディファイアの確認

  • Object Modeに戻り、顔のオブジェクトを選択
  • モディファイアタブで:
    • Armature Modifier が存在する
    • Object がアーマチュア(FaceRigなど)になっていることを確認

🔹Step 6:Pose Modeでボーンを操作して確認

  • Pose Modeに入り、
  • Eye_L_Control をY軸で回転 → 左目がたれ目・つり目になるか確認
  • Eye_R_Control をY軸で回転 → 右目が右目を中心に回転するか確認

💡 補足:ボーンのRollや軸が正しくないと変な動きになる場合

  • Editモードでボーンを選択 → Ctrl + RRoll(ロール)調整
  • Nキー > Item > Transform > Roll でも数値調整可
  • ボーンのローカルY軸が回転軸として機能するので、見た目と一致させたい場合は要確認

🔚 まとめ:MirrorをApplyせず左右を独立動作させるポイント

要素ポイント
オブジェクトMirror未適用のまま使える(片側だけ編集)
ボーン.L.R を用意して左右で独立回転
ウェイトグループ左右別グループ(.L, .R)に設定
ウェイトペイントX Axis Mirrorで右も自動生成 or 手動で分ける
メリット編集のしやすさとアニメーション自由度の両立

~メンバー専用 ↓
~~~~~~~~~~~~~~~~~~~
↑ メンバー専用~

無料登録は右の握手ボタンからかできます.

編集履歴

2025/04/18 Mrはりきり