はじめに
今回はUnity2022で、ヒューマノイドボーンがエラーで設定できない時の対処法を紹介します。
↓のエラーへの対処法です。


このエラー出ると、アバターの定義「設定…」が行えません。
こちらの原因と対処法を紹介していきます。
エラー内容について
まず、コンソールでエラー文を確認。

↓コンソールが出てない方は、こちらを見ながら画面を表示してください。
そして、表示されたエラー文はこちら。
【エラー文】
File 'Character' avatar creation failed:
Ambiguous Transform 'Head' and 'Bone/Root/Hips/Spine/Chest/UpperChest/Neck/Head' found in hierarchy for human bone 'Head'. Transform name mapped to a human bone must be unique.

Deep Lで翻訳した内容は下記。
人骨「Head」の階層で、あいまいなトランスフォーム「Head」と「Bone/Root/Hips/Spine/Chest/UpperChest/Neck/Head」が見つかりました。
人間の骨にマップされたトランスフォーム名は一意でなければなりません。
つまり、ボーン名前関係のエラーの可能性が高いです。
対処法
エラーへの対処法は下記。
・ボーンの名前をヒューマノイド規格に合わせる
・メッシュオプジェクトの名前をヒューマノイド規格の名前以外に変える
この2つについて、詳しく見えてきます。
ボーンの名前を修正する
ヒューマノイドボーンは、規格に合わせた名前を設定する必要があります。
なので、まずボーンの名前を確認。

間違ってるモノがあれば、ボーンの名前を変えます。
↓こちらばBlenderという3DCGツールで名前を変えてます。

このようなエラー対策として、最初からリネーム済みのボーンを使うのも1つの手。
↓を使ってボーンを入れる or 名前を修正してください。

メッシュの名前を修正する
Unityのヒエラルキーでボーンの名前を確認。
すると… ボーンの名前に何も問題が無い事があります。

この場合、エラーの原因は…
「ヒューマノイドボーン規格」の名前と同じ「オプジェクト」がある事です。


先ほど見たエラー文の “あいまいなトランスフォーム「Head」” はこの事を指してました。
この場合、エラーの原因は…
「ヒューマノイドボーン規格」の名前と同じ「オプジェクト」がある事です。

なので、メッシュの名前をヒューマノイドボーン規格以外のモノに設定します。

Blenderの場合「オプジェクト」と「メッシュ」の2つ名前を設定するところがあるので…
念のため、この2つの名前を変えます。

↓名前の変え方はこちらで解説。
ちなみに、VRChatに入れる場合は…
・顔の名前を「Body」に設定(必須)
・体の名前を「Body_Base」などに設定(任意)

こちらの設定をおすすめします。

顔の名前を「Body」にして…
顔のシェイプキー名がMMDの名前に対応させる(詳細)と…
VRChatのMMDダンスワールド系などで顔が動くようになります。
(メッシュとシェイプキーの名前の2つを一致させることが必要)
顔のメッシュの名前を変えました。
Unityを確認。

これで、エラーが無くなりました。
まとめ
今回は、Unityでヒューマノイドボーンがエラーで設定できない時の対処法を紹介しました。
・ヒューマノイドボーンがエラーは名前が原因
・対処法は「ボーン」か「メッシュ」の名前の修正
・ヒューマノイドボーン規格と名前が一致してないとエラーが起こる
・メッシュオプジェクトの名前がヒューマノイドボーン規格に一致するとエラーが起こる
あと、この記事のキャラクターはこちらの本のモノを使いました。

出版社さんからの許可をもらって画像を乗せてます。
(私が書いた本です)
また、他にもUnityについて解説してます。
ぜひ、こちらもご覧ください。
コメント