概要

VRChatなどで利用できる大抵のアバターの髪やしっぽ、ケモミミ、スカートなどの揺れものには、Dynamic Boneと呼ばれるボーンを動的に動かすアセットが必要です。 このページでは、Dynamic Boneが入ったアバターを使用したいが、Dynamic Boneを持っていない人向けにDynamic Boneのコンポーネントを削除する手順を解説します。

※Dynamic Boneを使えるようにするわけではありません。

Dynamic Boneが必要なアバターでDynamic Boneをインポートしていない状態でアップロードしようとすると、このようにエラーが出ます。 upload_error.png

TL;DR

  1. Prefabを展開する。
  2. 対象アバターの中からMissing Scriptとなっているコンポーネントを探し、削除する。
  3. Prefab化する。

解説

SDK2を使用したアバターのアップロードSDK3を使用したアバターのアップロード5. アップロード準備が終わっているものとして進めます。(もちろん、Dynamic Boneのインポートはしていないものとする)

Prefabから展開する

コンポーネントを消す前にアバターのPrefabを展開します。 Unpack Prefabの詳しい説明などはプレハブインスタンスの展開 - Unity マニュアルに詳細が書かれているので省きます。 Prefabとは以下の画像のように、青い立方体のアイコンをしたゲームオブジェクトのことです。 unpack_prefab_01.png 右クリックメニューからUnpack Prefabを選択することで、Prefabを展開することができます。 Unpack PrefabUnpack Prefab Completelyの違いは、後者はネストされたPrefabも展開してくれます。 unpack_prefab_02.png 展開後は他のオブジェクトと同じアイコンになります。 unpack_prefab_03.png

削除するコンポーネントを探す

ScriptコンポーネントかつMissing (Mono Script)となっているものが対象です。 アバターによってどこにDynamic Boneコンポーネントが設定されているかはバラバラです。

探し方は、Hierarchyタブの検索ボックスにScriptと入力することで、Hierarchy内からScriptコンポーネントがアタッチされたGameObjectを探すことができます。 searchbox_hierarchy.png Dynamic Boneがインポートされていない場合、Dynamic Boneコンポーネントはこのようになります。 missing_dyb_script.png

Dynamic Boneのある場所(例)

Dynamic Boneコンポーネントがどこに設定されているかはアバターによってまちまちなのでそれの例です。

ルートオブジェクトに設定されている場合

Vけっとちゃん plus+など この画像の例ではVketChanPlusV1.3に直接設定されています。 root_obj_hierarchy.png VRC Avatar Descriptorと同じ場所に設定されています。 root_obj_inspector.png

Emptyオブジェクトにまとめられている場合

薄荷、一介天使など この画像の例ではDynamicBone_BodyDynamicBone_CommonDynamicBone_LongSleeveに設定されています。 child_obj_hierarchy.png

それ自体は何の機能も持たない空(Empty)オブジェクトにDynamic Boneのスクリプトがアタッチされています。 child_obj_inspector.png

それぞれのオブジェクトに設定されている場合

かすたちゃんなど 揺らしたいボーンそのものに設定されている場合もあります。 画像の例では、選択しているオブジェクトに設定されていました。 each_obj_hierarchy.png ボーンに直接設定されています。 each_obj_inspector.png

コンポーネントを消す

remove_component.png 各コンポーネントの右上のメニューからRemove Componentを選択し、消します。

すべてのオブジェクトからMissingが消えるまでします。

Prefab化

Prefab化の利点として再利用できるという点があります。また、Prefabを更新することで同じPrefabを使用しているほかのシーンにも変更点を同期することができます。 Prefabに関してはプレハブ - Unity マニュアルに詳細が書かれています。 Prefab化は簡単で、PrefabにしたいオブジェクトをProjectタブにドラッグ・アンド・ドロップするだけです。 make_prefab.png