親ノードのスケール変更時の子ノードのスケール維持
親ノードのスケールを変更した時に子ノードのスケールを変えたくない時があるが、
出力する形式によっては「トランスフォームの継承」や「セグメントスケール補正」が反映されない場合がある
その場合に子ノードを親ノードに合わせてスケールを縮小することで見た目上の大きさを維持する。
【ウインドウ】→【ノードエディター】を開いて、スケールを編集する上位ノードとスケールを維持する下位ノードを表示させる
(表示させたいノードを選択して中クリックでノードエディタにドラッグすると追加できる)
【ウインドウ】→【ノードの作成】から【乗算除算】を選択しノードエディター上に表示させる
【ウインドウ】→【一般エディタ】→【接続エディタ】を起動し、
上位ノードを選択し【左側のリロード】から読み込む。
乗算除算ノードを選択し【右側のリロード】から読み込む
左側のscaleを開き、scaleXを選択後、右側のinput2を開きinput2Xを選択する。
これで入力2のXにスケールが入るので、YとZも同様に行う
乗算除算のノードのアトリビュートエディタを開き、【操作】を【除算】に、入力1のXYZにそれぞれ1を入力する
次に左側に乗算除算ノードをリロードし、右側に下位ノードをリロードする
左側のoutputを開き、outputXを選択後、右側のscaleのscaleXを選択する。同様にYとZも接続する
これで上位ノードのScaleが変化した分、その差分が下位ノードに入力され、見た目のスケールが維持される。
ただしノードの構造によって除算の工程をもう一度経由させなければ正しい結果が得られない場合がある。
その場合は新たに乗算除算のノードを作成し、入力1に先に用意した乗算除算のoutputの結果を入力し、
入力2には上位ノードのスケール値を入力する。
二つ目のoutputの値を下位ノードのスケール値に入力する。
Rigを使用してアニメーションをつけている場合、
上位ノードに回転値が入った上でスケールに変更があると、上記の方法だけでは対応しきれない場合がある
その場合は出力用モデルのほうにも上記のような対応をしなければならない場合もある。
最終更新:2015年12月04日 16:37