リギング - シューズ/表情
シューズのリギングにおいて、creatorBaseSetがシーンにインポートされており、シューズのモデリングが完了していることが前提です。シューズがマスクと意図せず交差しているなどのモデリングエラーがないかを再確認するのに良いタイミングです。
また、BlenderでのZEPETO用リギングの基本概念を理解していることが前提です。リギング ガイドのセクション。胴体のリギング作業とは異なり、Aポーズの変更は不要です。ただし、ヒールのある靴やプラットフォームシューズなど、デフォルトの足の位置が異なる靴の場合、適切にポーズを取ったアーマチュアに靴をリギングすることで、スムーズな体験が得られます。靴はTポーズセットモデルでエクスポートする必要があります。
ヒールのある靴やアバターの位置を変更する靴の場合、複製されたアーマチュア/マスクを使用して代替ポーズを適用するのが良いでしょう。この複製されたリグを使用すると、モデルが通常の位置にある間に適切にポーズを取ったスケルトンにウェイトを適用できます。Aポーズや代替ポーズを適用するように、リギング、プロセスはいくつかのステップに従います。
- スケルトンを靴に合わせてポーズを取る a. 足首の位置を決めるためにヒップボーンを動かし、その後、足の他の要素の回転をそれに基づいて変更します。
2. アーマチュアとマスク要素を複製する
- 複製した要素の名前を変更して整理する
3. 複製したマスク要素にアーマチュアモディファイアを適用する
4. 複製したアーマチュアに変更されたポーズをリストポーズとして適用する
5. 複製したマスクにアーマチュアモディファイアを再追加し、複製したアーマチュアを指すようにする
この時点で、代替ポーズの設定が完了し、靴のリギングに進むことができます。
靴のリギングプロセスは一般的なリギングプロセスと非常に似ています。セットアップが完了すると、アイテムは右のアーマチュアに親バインドされます。
マスクのウェイトデータを使用して、ウェイト転送操作を使用して初期バインディングデータを簡素化します。次に、ウェイトペイントモードでウェイトを修正し始めます。
⚠️ ウェイトペイントツールオプションで「自動正規化」を有効にすることを確認してください。そうしないと、ウェイトがメッシュ全体に均等に分散されない可能性があります。
ウェイトペインティングの修正は、ポーズモードで骨の位置を変更し、メッシュが奇妙に曲がる場合に修正を行うことで、骨のウェイトをテストすることに依存します。このプロセスを繰り返して、エラーを最小限に抑えます。
- スキンウェイトの影響が4に正しく設定されていることを確認しますが、これはBlenderのデフォルト設定であるはずです。
- 変形中にマスクが靴のアイテムを突き抜けないようにします。
ウェイトペインティングが完了したら、アイテムをTポーズのアーマチュアに戻すことを確認してください。Tポーズのアーマチュアでエクスポートされない場合、アイテムはエラーを生成します。ポーズモードで非Tポーズのアーマチュアの骨をTポーズの位置に戻し、Tポーズのアーマチュアと一緒にヒップの位置を戻します。靴にアーマチュアモディファイアを適用します。その後、靴にアーマチュアモディファイアを再追加し、Tポーズのアーマチュアを指します。 次に、アーマチュアの転送から発生した可能性のあるエラーに対してメッシュとウェイトを修正します。これらのエラーをキャッチするために、Tポーズのアーマチュアをヒールの形に再ポーズすることが役立ちます。ないエクスポートされない場合、アイテムはエラーを生成します。ポーズモードで非Tポーズのアーマチュアの骨をTポーズの位置に戻し、Tポーズのアーマチュアと一緒にヒップの位置を戻します。靴にアーマチュアモディファイアを適用します。その後、靴にアーマチュアモディファイアを再追加し、Tポーズのアーマチュアを指します。 次に、アーマチュアの転送から発生した可能性のあるエラーに対してメッシュとウェイトを修正します。これらのエラーをキャッチするために、Tポーズのアーマチュアをヒールの形に再ポーズすることが役立ちます。
SH_Guideで提供されるガイドオブジェクトを使用して靴のボリュームの整合性を確認するには、ガイドメッシュに簡単なリギングを行う必要があります。通常、追加の修正なしでマスクからSH_Guideオブジェクトへの単純なウェイト転送で良好な結果が得られます。
アーマチュアの別のポーズをTポーズのアーマチュアに保存することは便利です。これはBlenderのいくつかのアニメーションツールを使用して行うことができます。
- 3Dビューポートの下のタイムラインで、時間をフレーム2に進めます。
- ポーズモードでTポーズのアーマチュアをポーズ位置に設定し、すべてのボーンを選択して「i」でキーフレームを設定します。
- キーフレームの種類を「位置、回転、スケール」に設定します。
- タイムラインでフレーム1に戻ります
- すべてのボーンを選択し、変形をリセットします
- すべてのボーンを選択し、フレーム1に別のキーフレームを設定します
これらのキーフレームを設定することで、変換入力を手動で変更することなく、参照やエラー修正のために元のポーズと代替ポーズを切り替えることができます。
リグの変更がアプリに適用されることを確認するために、「表現」と呼ばれるツールを使用して回転の変更を記録します。表現は、アバターの骨格の回転や変換の変更を記録する空のオブジェクトです。これらの値は、Unityおよびアプリにアイテムが追加されたときにベースボディに適用されます。
- 表現は「表現」とラベル付けされた空のオブジェクトの下にグループ化されます。この名前で空のオブジェクトを作成します。
2. ルートから始めて、空のオブジェクトを作成し、「_hips」と名前を付けます。
- 「_hips」表現は、ZEPETOスケルトンのhips rootを変更し、グローバル空間で一定量移動させます。
- 「_hips」空のトランスフォームに、Blenderのグローバル空間でのヒップボーンの位置の変化を入力します。
ℹ️ これは、ボーンがローカル空間で動作するため、位置に入るためのヒップボーンのトランスフォームとは異なります。変換が単純な垂直変換であった場合、変更する必要がある唯一の変換値はZ位置である可能性が高いです。ヒップのグローバル空間の変化は、ヘルパーの空オブジェクトとスナッピングツールを使用して確認できます。
3. 次に、空のオブジェクトを作成し、それらのオブジェクトの名前を、回転を変更する必要があるボーンに対応するように変更しますが、ボーン名の前に「_」アンダースコアマークを付けます。
- 例:「_foot_L、_foot_R、_toes_L、_toes_R」
- 各エンプティに対して、対応するボーンの回転を入力します
4. BlenderからUnityへの空間方向の問題を修正するために、エンプティのデルタ変換にいくつかの変更を加えます
- デルタ変換値は、一般的な修正変換を適用しながら、Blenderでの通常の変換値を人間が読みやすい形に保つことができます。
- すべての表現エンプティを選択し、オブジェクトタブに移動します
- 変換の下で、「デルタ変換」とラベル付けされたタブを展開します
- 表現のデルタ変換の回転Xを90に設定します
- 表現のデルタ変換のスケール値を0.01に設定します
5. Now, parent the bone expressions to the expressions empty
6. Parent the expressions empty to the Hips bone.
- If the expressions object isn’t parented to the hips bone, then the expressions will not be created in the prefab during the convert to ZEPETO Style process