[err] 3D Rigging - Special Body Types
👍 衣装を製作していると、デフォルトのボーンとは異なる体型に合わせた服を作ることもあります。そのような場合に役に立つ製作ガイドです。以下の内容をご参照ください。
📘 サンプル Animal Body
まず初めに、ダウンロードしたAnimal Body_sampleでBaseBodyを読み込みます。
- もしくはすでに作業してある特殊体型衣装を読み込みます。
すべてのジョイントを選択して、1frameにkeyを挿入します(Mayaショートカットキー: s)
- これはキャラクターの形を作ってから、変更した数値を確認するための記録用に保存するkeyです。
特殊衣装のモデリングに該当する関節の位置にジョイントを動かして2frameにkeyを挿入します(Mayaショートカットキー: s)
上記の作業が完了したら、ジョイント位置の変形値を計算します。
- 2frameから1frameの値を引くと変形値を求めることができます。
- ジョイント位置の変形値は、体型変形後に各ジョイント位置に加えられるデータ値になります。
- 変形値をすべて求めたら2frameからすべてのジョイントのkeyを削除します。
📘 次のガイドを参照してください。. [Deformation Custom]
hipsジョイント内にdeformationsグループを作成し、グループ内にアンダーバー(_)+ジョイント名で設定した空のグループを生成します。ex) _root
前もって求めておいた各ジョイントの最終値を挿入します。
👍 各ジョイントの最終値はデフォルト値に変形値を加えると求めることができます。 ex) _upperLeg_Lの最終値 Translate X = (-0.636変形値) - (-0.641デフォルト値) = 0.005 Translate Y = (-11.476変形値) - (-5.061デフォルト値) = -6.396 Translate Z = (0.269 変形値) - (0.272デフォルト値) = -0.003 Scale X = 1 Scale Y = 1 Scale Z = 1 (スケール値には変更値を挿入します)
❗️下記の内容を必ず読んでください。
- もし全体のサイズを調節したい場合、rootにscale値を挿入してください。この時にscale X、Y、Zはすべて同じ数値にしてください。
- _rootにtranslate、rotate値が入ると、リジェクトの原因になります。
- scale値は_hipsで調節しないでください。(_rootで全体的なサイズの調節ができます)
- 数値が入らないジョイントはネームを削除しても構いません。
- 足や腕、胴体など身体の一部を調節する場合、translate値で修正してください。(誤ったscale値で変形するとアニメーション適用後にエラーが生じます)
- rotate値が入力されていたり、過度に変形およびサイズ調節を行うとリジェクトの原因になります。(ZEPETOキャラクターの_root scaleAll値は 0.3-1.35の間に制限されています)
- 提供されているfbxファイル内のdeformationsに入っているジョイントネーム以外のジョイントネームは使用できません。
- scale値の場合、なるべくscaleジョイントのみを使用してください(一部のアイテムが対応できない場合があります)
maskオブジェクトと特殊体型が適用された衣装、そしてdeformationsグループが含まれたジョイントを選択し、fbxにエクスポートします。
Unityでテクスチャ作業がすべて終了したら、fbxファイルをConvert to ZEPETO styleを利用してprefabに変換してください。
UnityでprefabをClothesDressタブに接続すると、体型の変化が適用された衣装を確認することができます。
👍 deformations値は、体型と重複して適用されないため、体型が変わった際に変化しないのが正常です。
prefabを選択してZEPETO Studio -> Export as .ZEPETOを行い、.ZEPETOファイルを生成します。