BACKBONE RIG&TA EXPERTS

JSONファイルを使用して補助骨のExport/Importを行う

2019/01/22

はじめまして。
BACKBONEのゆはらです。

リグ作業をしていると、基準となるbiped骨の他に補助骨(インフルエンス)などの追加骨を設定することがありますよね。
このような追加骨は流用性を考え、Export/Importに対応すると作業効率があがります。

では、どのように流用するか?

melやeditMAなど手法は多々ありますが、当スタジオではJSONファイルで出力しています。


追記や修正したいノードだけをファイルにマージしたい、
JSONファイルのパース(解析)により何が出力されているか等わかりやすい、

などの理由から、JSONファイルでの出力にしています。

今回は、JSONファイルを用いた追加骨の Export/Importの運用についてご紹介します。

 


1.Export

選択している追加骨やトランスフォームノードをJSONファイルで出力します。

 

簡易的ですがこのような状態で出力されます。

 

この情報は再構築に必須の最小構成です。

●hierarchyLevel
import時に、階層上位にあるノードから再構築していきたいので、
階層下の何番目に位置しているかを情報として保存しておきます。

●matrix
位置情報を保存します。
注) matrixだけで位置をget/setするとjointOrientの数値を無視しますので、
jointOrientの値が含まれている場合は
matrixではなく、jointOrientとrotateを別々に保存します。

●parentSpace
親のノード名を取得して保存します。

●type
ノードタイプにより再構築時の処理が変わるため、こちらも必須項目です。
jointであればinverseScaleのコネクション状態なども出力するとより再現性が高まります。

このようにインフルエンスの持つ情報を保存しておきます。

 


2.Import

保存されたJSONファイルをパース(解析)し、再構築していきます。

当スタジオでは、様々なリグシステムを使用する機会があります。
リグシステムの構造により、固有のノード(プラグインなど)や特殊なコネクションが含まれていることが多く、
インフルエンスの設定も多種多様なため、プロジェクトごとにExport/Importの仕様もカスタマイズし、
GUIによりImportを行っています。

 


まとめ

JSONファイルのロード時に、object_hookという引数を利用することで、
保存した大量の情報にアクセスしやすくなります。
ご興味のある方は是非試してみてください。

ではまた。

 

※免責事項※
本記事内で公開している全ての情報について、その完全性、正確性、適用性、有用性等いかなる保証も行っておりません。
これらの情報のご利用により、何らかの不都合や損害が発生したとしても、当社は何らの責任を負うものではありません。
自己責任でご使用ください。