Prefabulous
- This page is available in English: English
2.3.0-beta.1
- Assign UV Tile、Recalculate Normals、Delete Polygons に NDMF プレビューを追加しました。
- エディターに、BlendShapes を通常の表示順で並べるオプションを追加しました。
2.2.0
- Recalculate Normals と Generate Twist Bones コンポーネントに、日本語用の言語選択を追加しました。
- すべての Prefabulous Universal コンポーネントで、インスペクターにクリック可能なヘルプ URL が表示されるようになりました。
- NDMF 1.8 がインストールされている場合:
- Modular Avatar for Resonite のサポートを追加しました。
- VRChat 以外のプラットフォームを対象とする場合、Generate Twist Bones は VRC Constraint の代わりに Unity Constraint を生成するようになりました。
- VRChat と Resonite 以外のプラットフォーム向けのビルドのサポートを追加しました。
2.2.0-beta.1
- すべての Prefabulous Universal コンポーネントで、インスペクターにクリック可能なヘルプ URL が表示されるようになりました。
- NDMF 1.8 がインストールされている場合:
- Modular Avatar for Resonite のサポートを追加しました。
- VRChat 以外のプラットフォームを対象とする場合、Generate Twist Bones は VRC Constraint の代わりに Unity Constraint を生成するようになりました。
- VRChat と Resonite 以外のプラットフォーム向けのビルドのサポートを追加しました。
2.2.0-alpha.0
Modular Avatar for Resonite をサポート:
- NDMF 1.8 で導入されるアプリケーション間のビルド互換性のサポートを追加しました。
- NDMF 1.8.0-alpha.0 がインストールされている場合に条件付きでコンパイルされます:
- Prefabulous Universal は引き続き VNyan(Unity 2020)および Warudo(Unity 2021)との互換性を保つ必要があるため、NDMF 1.4(Unity 2020 で動作が確認されている最後のバージョン)も引き続きサポートする必要があります。
2.1.0
- VRChat プロジェクトにおける Generate Twist Bones の動作を変更しました:
- プロジェクトに VRChat 3.7.0 以降がインストールされている場合、Unity の Aim Constraint の代わりに VRC Aim Constraint コンポーネントを生成します。
- VRCFury との実行順序の問題を解決するため、Delete Polygons、Assign UV Tile、Replace Textures は Optimizing フェーズで実行されなくなりました。
2.1.0-beta.4
- VRCFury との実行順序の問題を解決するため、Delete Polygons、Assign UV Tile、Replace Textures は Optimizing フェーズで実行されなくなりました。
2.1.0-beta.3
- Convert back to Unity Constraints を削除しました(リリース間):
- 変換ツールとユニバーサルツールを分けるため、Convert back to Unity Constraints は専用のパッケージに移動されます。
2.1.0-beta.2
☀️ 新しいコンポーネント:Convert back to Unity Constraints
新しいコンポーネント Convert back to Unity Constraints が Prefabulous Universal に追加されました。
VRC Constraint コンポーネントを、可能な範囲でネイティブの Unity Constraint に戻します。
- VRChat 固有の機能(ローカル軸、ワールドへの固定)はサポートされません。
- 型さえ存在すれば、VRChat SDK のアセンブリや DLL をプロジェクトにインストールする必要はありません。単なるスタブでも構いません。
2.1.0-beta.1
- VRChat プロジェクトにおける Generate Twist Bones の動作を変更しました:
- プロジェクトに VRChat 3.7.0 以降がインストールされている場合、Unity の Aim Constraint の代わりに VRC Aim Constraint コンポーネントを生成します。
2.0.3
VRC_SDK_VRCSDK3スクリプティングシンボルが残っている VRChat 以外のプロジェクトで、コンパイルが失敗しなくなりました。- コンポーネントは、VRChat Avatars SDK がインストールされている場合にのみ VRChat の
IEditorOnlyクラスを継承するようになりました。
- コンポーネントは、VRChat Avatars SDK がインストールされている場合にのみ VRChat の
- Delete Polygons が AAO より前に実行されるようになりました。
2.0.2
EditorOnly に設定されたメッシュを、Assign UV Tile の「Entire Mesh」で処理できなかった問題を修正しました。
2.0.1
Unity 2022 以降で、すべての Prefabulous アイコンをシーンから非表示にしました。
2.0.0 Prefabulous Universal
Prefabulous は以下に分割されました:
- Prefabulous Universal(このページ)
- Prefabulous for VRChat
- Prefabulous for VRM
アップデートのページを参照してください。
1.11.2
一部のユーザーのプロジェクトに存在しない非推奨のシンボル VRC_SDK_VRCSDK3 を使用していたため、Prefabulous をコンパイルできなかった問題を修正しました。
1.11.1
Generate Twist Bones のヘルプ URL が localhost を指さないように修正しました。
1.11.0
☀️ 新しいコンポーネント:Generate Twist Bones (Alpha)
新しいコンポーネント Generate Twist Bones (Alpha) が Prefabulous に追加されました。
このコンポーネントはツイストボーンを生成します。前腕の肘に近い部分をねじることで、肘関節の見た目を改善します。
コンストレイント付きの新しいツイストボーンを作成し、そのボーンを使用するアバターのすべてのメッシュのボーンウェイトを自動的に塗り直します。
🚧🚧🚧 このコンポーネントは現在アルファ段階です。 🚧🚧🚧
現時点では、ベースメッシュのアーマチュアに含まれるメッシュのみを完全にサポートしています。
現在のバージョンでは、VRCFury Armature Link で使用される追加メッシュのツイストボーンを生成することはできません。 また、Modular Avatar Merge Armature で使用される追加メッシュのツイストボーンを生成できない場合があります。
どちらも将来的にサポートする予定ですが、実現は非常に困難です。 アバターの素肌には有益なため、この開発段階のままコンポーネントを公開しています。
ご理解のほどよろしくお願いいたします。
1.10.3
Replace Textures が無効なオブジェクトを無視しないように修正しました。
1.10.2
これは Prefabulous の技術的なアップデートです:
- このバージョンでは Modular Avatar V1.9.9 以上が必要になりました。
- Modular Avatar V1.9.9 には NDMF V1.4.0 以上が必要です。
- Import Expression Parameters を Modular Avatar Information と統合しました。
- Import Parameters が使用する同期ビット数が、Modular Avatar Information パネルに表示されるようになりました。

1.10.1
Prefabulous に 3 つの新しいコンポーネントが追加されました。
☀️ 新しいコンポーネント:Replace Textures
このコンポーネントを使うと、マテリアルを複製することなく、テクスチャだけが異なる複数のバージョンのアバターをアップロードできます。
また、どのマテリアルがどのテクスチャを使用しているかも表示されます(これには lilAvatarUtils を使うこともできます)。

☀️ 新しいコンポーネント:Convert Blendshape Conventions
このコンポーネントを使うと、Unified Expressions の BlendShapes を ARKit の BlendShapes に変換するなど、BlendShapes をある命名規則から別の命名規則に変換できます。
☀️ 新しいコンポーネント:Mass Blendshape Sync
このコンポーネントは、2 つのメッシュが共通して持つすべての BlendShapes を同期します。
フェイストラッキングのように、同期が必要な BlendShapes を大量に持つ Renderer での使用に最適です。

その他
- すべての Prefabulous コンポーネントはベイク後に削除されるようになったため、ベイク済みのアバターをアップロードしても二重にベイクされることはありません。
- Blank Gesture Animator は、レイヤーを 0 個ではなく、VRChat が必要とする 1 つのアニメーターレイヤーを生成するようになりました。
- 「Animator As Code - NDMF Processor (Alpha)」への依存関係を削除しました。
- NDMF 1.4.x の使用時に警告を表示しないようにしました。
- Modular Avatar 1.9.x の使用時に警告を表示しないようにしました。
1.9.1
- NDMF 1.3 を許可するよう依存関係を更新しました。
1.9.0
Assign UV Tile のアップデート
「Assign UV Tile」に「Entire Mesh」モードを追加しました:
- UV タイルを MeshRenderer または SkinnedMeshRenderer 全体に割り当てられるようになりました。
- BlendShapes と EntireMesh のモード選択ができるようになりました。
- 1 つのメッシュが EntireMesh コンポーネントと BlendShapes コンポーネントの両方で使用されている場合、EntireMesh が先に適用されるため、BlendShapes コンポーネントでさらに別の UV タイルに細分化できます。
(NDMF 互換性)大規模なメッシュ最適化によって参照が失われる前に、UV タイルの割り当てが行われるようにしました:
- Delete Polygons は com.anatawa12.avatar-optimizer より前に実行されるようになりました。
- Assign UV Tile は com.anatawa12.avatar-optimizer より前に実行されるようになりました。

「Entire Mesh」は、d4rkpl4y3r 氏の d4rkAvatarOptimizer や anatawa12 氏の AvatarOptimizer など、既存のメッシュを結合するアバター最適化ツールと併用してください。
現時点で Prefabulous は、アニメーションパスを修正するメッシュ最適化コンポーネントを提供していません。
1.8.0
Recalculate Normals のアップデート
モデルと同じポーズでないアバターや、モデルと向きが異なるアバターでも、Recalculate Normals が正しく動作するようになりました。
1.7.1
UV を上書きするのではなくずらすことを前提とする SCSS などのシェーダーで動作するよう、Assign UV Tile を修正しました。
このパッチは、1.7.0 の SNS での告知より前に公開されました。
1.7.0
☀️ 新しいコンポーネント:Assign UV Tile
新しいコンポーネント Assign UV Tile が Prefabulous に追加されました。
BlendShape によって移動する頂点の UV タイルを設定します。
これはシェーダーの機能、特に Poiyomi Toon UV Tile Discard と組み合わせて使用することを想定しています。 また、SCSS のインベントリシステム と組み合わせて使用することもできます。
技術的な注意事項
Assign UV Tile を追加:
- Assign UV Tile は、BlendShape によって移動する頂点の UV を変更します。
- このコンポーネントは、Poiyomi の「UV Tile Discard」機能に忠実に合わせて作られています。
- Delete Polygons と同じ頂点選択アルゴリズムを使用します。
- UV タイルには 0.5 のオフセットがあります。
Delete Polygons のアップデート
Delete Polygons に Keep Partial Polygons オプションが追加されました:
- 「Keep Partial Polygons」オプションを追加しました。
- 「Keep Partial Polygons」が有効な場合、対象としてマークされた BlendShapes の頂点は、削除されない頂点を少なくとも 1 つ持つ三角形にまだつながっていれば保持されます。
- 実質的に、メッシュの他の部分とまだつながっているポリゴンが保持されます。
- 衣装とポリゴンを交差させるために貫通防止の BlendShape に依存しているアバターモデルで役立つ場合があります。
1.6.0
☀️ 新しいコンポーネント:Delete Polygons
新しいコンポーネント Delete Polygons が Prefabulous に追加されました。
貫通防止の BlendShapes の影響を受けるポリゴンや、メッシュ内部に隠れているその他の未使用の装飾 (星形の目などの目の装飾、ピアス、絆創膏、その他のアクセサリーなど)を削除します。

技術的な注意事項
Delete Polygons を追加:
- Delete Polygons は、BlendShape で移動する頂点に関連するポリゴンを削除します。
- 法線や接線が変化しても、その BlendShape の頂点が移動しない場合はポリゴンを削除しません。
- メッシュの再構築の参考として、d4rkpl4y3r 氏の https://github.com/d4rkc0d3r/d4rkAvatarOptimizer(MIT ライセンス)の一部を使用しています。
その他
Recalculate Normals エディターのアニメーター解析が Prefabulous コンポーネントを考慮するようになりました:
- Recalculate Normals エディターはデスクリプターのアニメーターを解析しますが、Prefabulous の Blank/Replace Animator コンポーネントを考慮していませんでした。
- Blank Animator コンポーネントの影響を受ける Playable Layer を解析しなくなりました。
- Replace Animator コンポーネントの影響を受ける Playable Layer を解析しなくなりました。
- Replace Animator コンポーネントのコントローラーを解析するようになりました。
スペシャルサンクス
- メッシュの再構築の参考資料を提供してくれた d4rkpl4y3r 氏に感謝します!
1.5.0
☀️ 新しいコンポーネント:HaiXT Generate Blendshapes for Face Tracking Extensions
新しいコンポーネント HaiXT Generate Blendshapes for Face Tracking Extensions が Prefabulous に追加されました。
すでにフェイストラッキングに対応しているアバターであれば、HaiXT Face Tracking Extensions で使用する非標準の追加 BlendShapes を生成します。
目を閉じているときに笑うと、目の形が変化するようになります。
修正
- Unity 2019 との互換性の問題の修正を試みました。
技術的な注意事項
Generate Blendshapes for Face Tracking Extensions を追加:
- Generate Blendshapes for Face Tracking Extensions は、すでにフェイストラッキングに対応しているアバターに拡張 BlendShapes を追加できます。
- HaiXT_EyeClosedInverse_Smile BlendShapes の生成をサポートしました。
- BlendShapes は以下の条件下でのみ生成されます:
- 顔のメッシュの名前が Body であること、かつ
- アバターがすでに EyeClosedLeft または EyeClosedRight の BlendShapes を持っていること、かつ
- アバターが HaiXT_EyeClosedInverse_SmileLeft または HaiXT_EyeClosedInverse_SmileRight の BlendShapes をまだ持っていないこと
- これらの評価はすべて、この NDMF ハンドラーが実行される直前に行われます:
- 編集モード中にこれらの条件が満たされている必要はありません。
- この NDMF ハンドラーより前に実行される非破壊プロセッサーによって、これらの条件が満たされることもあれば、逆に満たされなくなることもあります。
さらに:
- Recalculate Normals の NDMF ハンドラーは、PrefabulousHaiGenerateBlendshapesFTEPlugin の後に実行されるよう制約されました。
1.4.0
Recalculate Normals のアップデート
Recalculate Normals に Erase Custom Split Normals オプションが追加されました:
- 「Erase Custom Split Normals」オプションを追加しました。
- 「Erase Custom Split Normals」が有効な場合、再計算は 2 回目のパスを実行し、位置のデルタまたは再計算された法線のデルタがゼロでないすべての頂点について新しいデルタを計算します。このとき、再計算されたベースメッシュとの差分ではなく、元のメッシュとの差分を計算します。
- 実質的に、その BlendShape の Custom Split Normals のデータが消去されます。
- 影響を受けるのは一部の頂点(位置のデルタまたは再計算された法線のデルタがゼロでない頂点)のみであるため、誤った法線のデルタがメッシュ内の無関係な頂点に影響することを防ぎます。
Erase Custom Split Normals を有効にすると、Custom Split Normals を持たないメッシュでは結果が悪化することがあります。
まずこのオプションなしで Recalculate Normals を試し、その後もシェーディングの欠陥がはっきりと見える BlendShapes でのみ、このオプションを試してください。
それ以外の場合は、このオプションをオフのままにしてください!
Change Avatar Scale のアップデート
Change Avatar Scale は、Avatar Descriptor のビューポジションを元のサイズとして使用するようになりました:
- ChangeAvatarScale は Avatar Descriptor のビューポジションの Y 座標を読み取り、それを元のサイズとして使用します。
- これがデフォルトの動作になりました。
- 「Custom Source Size」にチェックを入れると、以前の動作に戻せます。
修正
- Edit Mesh Anchor Override:NDMF の PrefabulousEditAllMeshAnchorOverridePlugin ビルドステップの名前が、正しく「Edit Mesh Anchor Override」になりました。
- Recalculate Normals の貫通防止フィルターに「hidemesh_」を含めるよう更新しました。
- 同じ BlendShapes が複数回指定されている場合に、Recalculate Normals がそれらを複数回処理しないよう修正しました。
1.3.0
☀️ 新しいコンポーネント:Recalculate Normals
新しいコンポーネント Recalculate Normals が Prefabulous に追加されました。
このコンポーネントは、選択した BlendShapes の法線(および接線)を再計算することで、SkinnedMeshRenderer のシェーディングを改善します。
技術的な注意事項
- Recalculate Normals は、SkinnedMeshRenderer の選択した BlendShapes の法線(および接線)を再計算します。
- アップロードされるアバターでは、通常 BlendShapes の法線(および接線)のデルタはゼロになっています。
- そのため、特に体の一部を平らにする BlendShapes や、大きく押し出す BlendShapes では、アバターのシェーディングが不自然に見えることがあります。
- このコンポーネントは、以下の手順で個々の BlendShapes の法線の再計算を試みます:
- BlendShapes がすべて 0 の状態で、SMR のメッシュの静的メッシュをベイクする
- 位置と法線が同じ頂点を表すデータ構造を構築する
- RecalculateNormals を使用する。BlendShapes がすべて 0 の状態でもこれを行うことで、静止状態の法線データについての Unity の判断に基づいてデルタが計算されます。
- 先ほどのデータ構造を使い、位置と法線が同じだった頂点の法線を平均化して正規化し直すことで、法線データを再構築する
- これは、アーティストが作成した頂点が UV の継ぎ目の一部である場合に、メッシュデータ上でその頂点が複数に分割され、結果として RecalculateNormals の出力でその頂点の法線が異なってしまう問題を修正するためです。
- RecalculateTangents を使用する。
- 再計算する BlendShape ごとに上記をすべて繰り返し、その結果から法線のデルタと接線のデルタを計算する。
- すべての BlendShapes の処理が終わったら、これらの変更でメッシュのすべての BlendShapes を書き直す。
1.2.1
- Unity 2022 との互換性の問題を修正しました。
- VRChat Avatars SDK 3.5.x でのインストールを許可しました。
1.2.0
最初の公開実験版リリース。