タグ: vertex

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

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

    はじめに

    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 MrKenJin