BlenderでUV展開したパーツのサイズが異様に大きくなってしまうのを直したい

キャラクターのモデリング中にUV展開をしたところ、まつ毛のパーツだけがとても大きなサイズで展開されてしまいました。でっけぇ〜!!!💦

big-scale

これを解決していきます。

解決方法

まず、オブジェクトモードで Transform の Scale(x, y, z すべて)が1になっているか確認してみてください。1になっていなければ、
Object > Apply > Scale(Ctrl + A → Scale) を選ぶことでスケールをリセットできます。これで、意図したサイズで展開されるようになります。

scale1

原因を理解する

さて、これで直ったとはいえ、なぜ「スケールを適用する」と直るのか、最初はよくわかりませんでした。調べてみたところ、これは「拡大・縮小」の扱いが、オブジェクトモードと編集モードで異なるために起こる現象のようです。

Blenderでは:

  • オブジェクトモードでの拡大・縮小 → 「元のスケール」を持ったまま倍率を変えてものの大きさを変更

  • 編集モードでの拡大・縮小 → 「そのものの大きさを直接変える」。スケール情報は変化しない(Scaleは1のまま)

要するに、オブジェクトモードでは「倍率」だけが変わり、元のスケールは保持されたままなんですね。

自分のモデルを確認してみたところ、まつ毛のスケールは 0.009、他の顔パーツはすべて 1 でした。おそらく、まつ毛を作る際に…

  1. オブジェクトモードで「平面」を追加

  2. 他のパーツにサイズを合わせるために、そのままオブジェクトモードで縮小

  3. 編集モードで平面をまつ毛の形に調整して貼り付けた

という流れだったと思います。

この結果、まつ毛はTransform のスケールが 0.009 なので小さく表示されていてはいたが、平面追加時の元のサイズを保持したままだったためUV展開時にそのスケールが反映されてしまい、他のパーツより異様に大きくなったというわけです。

check-scale

今後注意したいこと!

  • UV展開の前にスケールを確認する

  • 必要に応じて「スケールの適用(Apply Scale)」をしておく

  • 可能であれば、スケールの変更はなるべく編集モードで行うようにする

以上です!

参考

Why do we need to “apply scale” or “apply transforms”? : r/blenderhelp

Blender: UVマップとスケール(Scale)の適用(Apply)との関係について | reflectorange.net