UniVRM icon indicating copy to clipboard operation
UniVRM copied to clipboard

Prefab の VRM 1.0 モデルをシーンに配置して Play/Exit すると、マテリアルがメモリ上の一時マテリアルで上書きされてしまう

Open Santarh opened this issue 5 months ago • 2 comments

環境情報

  • UniVRM version: 0.129.3
  • Unity version: Unity-2022.3
  • OS: Windows 11

バグについて

  • 対象の VRM 1.0 モデル
    • FBX モデルに対して Vrm10Instance コンポーネントを付与し、VRM 1.0 モデルとしてセットアップした Prefab モデル
    • VRM 1.0 ファイルを UnityEditor にインポートした prefab モデル
  • 再現手順
    1. VRM 1.0 モデルの Prefab をシーン上に配置する
    2. Play する
    3. (ここでモデルの Material がメモリ上の一時 Material に置き換わる)
    4. Exit する
    5. シーン上の VRM 1.0 モデルに紐づくマテリアルがメモリ上の一時 Material に置き換わる

この状態でシーンを保存、または Prefab を Override すると、マテリアルがメモリ上の一時 Material への参照のまま保存されてしまいます。 ここでたとえば UnityEditor を開きなおすと None 参照になってしまいます。

VRM 1.0 モデル作成時のワークフローとして SpringBone のセットアップは Play して確かめるしかありません。 したがってこの手順はよく再現してしまいます。

Santarh avatar Jul 25 '25 12:07 Santarh

#2685

ousttrue avatar Aug 04 '25 09:08 ousttrue

Unity-2022.3 確認中なのですが、

  1. VRM 1.0 モデルの Prefab をシーン上に配置する(alicia, seedさん)
  2. Play する
  3. (ここでモデルの Material がメモリ上の一時 Material に置き換わる)再現確認
  4. Exitする シーンが破棄されて元に戻る?
  5. シーン上の VRM 1.0 モデルに紐づくマテリアルがメモリ上の一時 Material に置き換わる 再現せず

となりました。 play中のMaterialの置き換えが、Play終了後に残る条件が何かありそうです。

ousttrue avatar Aug 04 '25 09:08 ousttrue