[Blender]Mirror Modifier適用前にShape Keyを作ってしまった時の対処法[Apply Modifier]

先日こんなモデルを公開しました。

・3Dモデル「灰色の人」 - HollowCradle - BOOTH

これを作る時に数多の問題が発生したのですが、その中の1つについてのメモです。
その問題とはタイトルの通り、Mirror Modifier適用前にShape Keyを作ってしまったことです。

Blenderでは、Shape Keyを持ったメッシュに対してMirror Modifierを適用しようとすると、"Modifier cannot be applied to Mesh with Shape Keys"みたいなメッセージが出て、適用できません。

もちろんShape Keyを削除すると適用できますが、せっかく作ったShape Keyを消してしまうのはめんどうくさい。
じゃあどうするかと調べてみたところ、Apply Modifierなるものの存在を知りました。

・GitHub - Taremin/ApplyModifier

早速、ダウンロードしてBlenderにて[Preferences]→[Add-ons]→[Install]。

使い方は、適用したいオブジェクトを選択した状態で[Ctrl + A]→[Apply Selected Modifier]、または[Object]→[Apply]→[Apply Selected Modifier]、その後、下部に表示されたオプションから、Mirrorにチェック。
すると、Mirror Modifierが適用されます。

普通はこれだけで大丈夫なのですが、僕が上記のモデルを作っていたときにはちょいとした問題が発生しました。

それは、Shape Keyに設定していない頂点が何故か動いてしまうという問題。
具体的に言えば、Object ModeでShape KeyのValueを変えてみたり、Shape Keyを選択してEdit Modeに入るなどすると、Mirror Modifierによって生成された頂点(僕の例だと右腕から指先にかけて)がBaseから微妙にずれてしまう。
適用前に指定していなかった動きが、Mirrorによって生成されたメッシュのShape Keyに追加されてしまうというのが正確でしょうか。

その時のスクショなどの記録が無いので詳細は確かではないのですが、それに気付いて確認したときには、Base以外の全てのShape Keyにて同じところが同じだけ動くという挙動が見られました。
これを書く前に再現のため、完成したモデルを使って試したのですが、その現象は確認できませんでした。

これはApply Modifierアドオンのバグなのか、僕の使い方が悪いのか、そもそもそういう仕様なのかはわかりませんが、もし同じことが起きてしまったら非常にやっかいです。
なので、同様の問題に遭遇してしまった方へ、その修正方法をメモとして残しておきます。

やることとしては至って単純です。

特定の頂点に対して[Blend From Shape]を使って、BaseからShapeをコピーするだけです。

実際の手順としてはこんな感じ。

まず、編集する頂点(異常が起きている頂点)を全て選択します。

次に、[Vertexメニュー(Ctrl + V)]→[Blend From Shape]。

ウィンドウ下部に出てきたオプションから、Shapeを[Base]に変更し、BlendのところにあるAddのチェックを外します。

そうすると、選択部がBaseと同じ形状になっているはずです。


手順としては以上です。

ちなみにですが、この方法で修正できるのは、Baseと同じShapeを持っているものだけです。
Baseと異なるようにShapeをいじったものは、Shape Keyをミラーリングするなどの別の工程が必要となるかと思われます。


■参考■
・シェイプキーまとめ



以上、Mirror Modifier適用前にShape Keyを作ってしまった時の解決方法でした。
何かしら役に立てば幸い。

ではまたいずれ。

今回の環境
OS:LinuxMint19.3
Blender:2.90.0

コメント