リグはどこで壊れるのか
あるビューアーでは問題なく見えるのに別のビューアーでは崩壊するリグ済みモデルは、まずメッシュの問題ではありません。スキニングの問題であり、スキニングの問題が潜む場所は三つ——ボーン階層、スキンウェイト、そして逆バインド行列です。このツールはその三つをファイルから直接読み取ります。
インフルエンス数
どの頂点も、いくつかのボーンにバインドされています。リアルタイム系のパイプラインはこの数に上限を設けます。4 がほぼ普遍的な上限で、モバイルや WebGL の経路では 2 を好むものもあります。「インフルエンス」タブはヒストグラムを表示します。ボーン 1 本で動く頂点はいくつあるか、2 本、3 本、4 本ではどうか、そしてウェイトがまったく付いていない頂点はいくつあるのか。
この最後の区分がもっとも重要です。ウェイトがすべてゼロの頂点は、スキニングが適用された瞬間にバインド位置へ潰れ、面の裂けや遠方へ飛び出すスパイクとして現れます。バインドポーズでは見えず、アニメーションの最初のフレームで一目瞭然になります。
glTF は追加の JOINTS セットを使って頂点あたり 4 を超えるインフルエンスを宣言できますが、それを読み込む実装はほぼありません。ファイルがそうしている場合はツールが知らせます。あなたが制作ソフト上で確認した変形が、ほかの誰にも同じようには見えないという意味だからです。
何もしていないボーン
頂点を 1 つも動かさないボーンでも、スキニング用ユニフォームバッファーの枠を占有し、毎フレーム更新され続けます。手の頂点がすべて手首にバインドされているのに、指のチェーンだけがまるごとエクスポートに残る——これはごく日常的に起こります。「ボーン」タブにはボーンごとの影響頂点数とウェイト合計が並ぶので、死んだボーンはそのまま下位に沈みます。
逆バインド行列
各ジョイントには、そのバインド変換を打ち消す行列が保存されています。ここでの確認は具体的です。ボーン 1 本につき行列が 1 つあるか。逆行列を持たないものや NaN だらけのものはないか。そしてもっとも役に立つ確認——ボーンのワールド行列に逆バインド行列を掛けると単位行列になるか。ファイルがバインドポーズで保存されているなら、そうなるはずです。大きなずれ自体は規格違反ではありませんが、キャラクターが二つ折りにされたように変形するときに真っ先に見るべき場所です。
名前とルート
ボーン名の重複は glTF では合法ですが、リターゲットにとっては致命的です。リターゲットの仕組みはどれもボーンを文字列で指定するからです。1 つのスケルトンにルートボーンが複数あるのは、たいていエクスポート事故です。どちらも警告として表示されます。
設計としてのプライバシー
解析はすべてブラウザー内で完結します。何もアップロードされないので、未公開のキャラクターや NDA 下のクライアントのリグは、あなたのマシンから出ません。
Tiny Online Tools







