キャラクターのモデリング中にUV展開をしたところ、まつ毛のパーツだけがとても大きなサイズで展開されてしまいました。でっけぇ〜!!!💦
これを解決していきます。
解決方法
まず、オブジェクトモードで Transform の Scale(x, y, z
すべて)が1になっているか確認してみてください。1になっていなければ、
Object > Apply > Scale(Ctrl + A → Scale)
を選ぶことでスケールをリセットできます。これで、意図したサイズで展開されるようになります。
原因を理解する
さて、これで直ったとはいえ、なぜ「スケールを適用する」と直るのか、最初はよくわかりませんでした。調べてみたところ、これは「拡大・縮小」の扱いが、オブジェクトモードと編集モードで異なるために起こる現象のようです。
Blenderでは:
オブジェクトモードでの拡大・縮小 → 「元のスケール」を持ったまま倍率を変えてものの大きさを変更
編集モードでの拡大・縮小 → 「そのものの大きさを直接変える」。スケール情報は変化しない(Scaleは1のまま)
要するに、オブジェクトモードでは「倍率」だけが変わり、元のスケールは保持されたままなんですね。
自分のモデルを確認してみたところ、まつ毛のスケールは 0.009、他の顔パーツはすべて 1 でした。おそらく、まつ毛を作る際に…
オブジェクトモードで「平面」を追加
他のパーツにサイズを合わせるために、そのままオブジェクトモードで縮小
編集モードで平面をまつ毛の形に調整して貼り付けた
という流れだったと思います。
この結果、まつ毛はTransform のスケールが 0.009 なので小さく表示されていてはいたが、平面追加時の元のサイズを保持したままだったためUV展開時にそのスケールが反映されてしまい、他のパーツより異様に大きくなったというわけです。
今後注意したいこと!
UV展開の前にスケールを確認する
必要に応じて「スケールの適用(Apply Scale)」をしておく
可能であれば、スケールの変更はなるべく編集モードで行うようにする
参考
Why do we need to “apply scale” or “apply transforms”? : r/blenderhelp
Blender: UVマップとスケール(Scale)の適用(Apply)との関係について | reflectorange.net