![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_03h01_301.png)
Rigifyのリグは、単純にスケールしてスケールを適用すると形が崩れてしまう。
この問題は、全てのボーンのストレッチコンストレイントの「元の長さ」を、全て初期値に戻すことで改善する。
この解決方法を紹介する。
もくじ
一旦初期ポーズに戻す
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h49_06.png)
ちゃんと修正できるか確認しやすいように、事前にポーズやキーフレームはなくしておく。
- ポーズモードにする
- 全てのボーンレイヤーを表示する
- 全てのボーンを選択する
- ポーズ > トランスフォームをクリア > すべて を実行して、ポーズをクリアする
- キーフレームが影響しないように、アクションを除去しておく
メッシュとリグのスケールを変える
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h49_32.png)
メッシュとリグのスケールを変更する。カーソル中心でスケールするとよい。
- オブジェクト > スナップ > カーソル → ワールド原点(Shift + S) で、カーソルをワールド座標の中心に移動する
- ヘッダーから、トランスフォームのピボットポイントをカーソルに変更する
- スケール(S)を変更する
スケールを適用する
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h51_48.png)
- オブジェクト > 適用 > スケール で、変更したスケールを適用する
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h52_29.png)
この時点でメッシュとリグがおかしくなるので、これを修正していく。
「元の長さ」設定を全て元に戻す
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_03h01_301.png)
スケールしておかしくなる問題は、ストレッチコンストレイントの「元の長さ」を全て初期値に戻すことで改善する。
コンソールエディターを開く
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h58_38.png)
スクリプトを実行する
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h58_55.png)
ストレッチコンストレイントのあるボーンを1つ1つ変更しても修正することはできるが、手間なのでスクリプトで一括処理する。
- 対象のリグを選択しておく
- コンソールウィンドウに、下記のコードを貼り付ける
- エンターを2回押して実行する
- bone_count で処理した数がわかる
bone_count = 0 for b in bpy.context.active_object.pose.bones: for c in b.constraints: if c.type == "STRETCH_TO": c.rest_length = 0 bone_count += 1 bone_count
![](https://bookyakuno.com/wp-content/uploads/2020/11/2020-11-10_02h59_41.png)
参考
Guide: How to scale a Rigify rig