Skip to content

fix: 読み込む単位 Prefabs で、prefab が使っていない FBX の部品を隠す (#151) - #153

Merged
utagestudio merged 1 commit into
release/1.12.0from
fix/151-prefab-unused-parts
Oct 25, 2026
Merged

utagestudio merged 1 commit into
release/1.12.0from
fix/151-prefab-unused-parts

Conversation

@utagestudio

Copy link
Copy Markdown
Owner

Closes #151

変更内容

読み込む単位 Prefabs で、prefab がモデルを丸ごと置いていない(Renderer からだけ使っている)場合に、表に無い FBX の部品を隠すようにした。Scenes 単位の #58 と同じ扱いで、件数も同じ文言で警告に出す。モデルの PrefabInstance として FBX を丸ごと置いている prefab では、FBX の全部品が Unity にあるので隠さない。

  • core/hierarchy.py: Renderer から作った配置かの判定を built_from_renderers にまとめ、parts_to_hide と共用する
  • core/prefab.py: models_placed_whole / unused_parts を追加。tables_from_hierarchy は求めた配置を受け取れるようにした
  • core/scene_import.py: 文言を unused_warning に切り出し、prefab_warnings を追加
  • バージョンを 1.12.0-dev.1 にした

確認

  • Japanese Train Station PBR Pack を Prefabs で読むと、FBX を共有する 44 個の prefab で 54 個すべてが表示されていたのが、使う 1〜2 個だけになった
  • 単体テスト 394 件、合成パッケージの統合テスト 11 ファイル、Yumeka 1.0.4 の統合テストがすべて通過
  • 合成パッケージの Partial.prefab(Spike だけを使う)を Prefabs 単位の期待値に追加

手動確認の手順

  1. Japanese Train Station PBR Pack を読み込み、選択ダイアログで Prefabs タブを開いて ts_fix_door などを選んで Import する
  2. 各 prefab のコレクションで、使う部品だけが表示され、残りが非表示になっていること
  3. UPI タブの警告に「prefab …: 52 object(s) from model files are not used … and were hidden」が出ていること

このブランチ単体では、使われていない部品は「隠す」だけで、オブジェクトとしては残ります(読み込まないオプションは #152 で追加します)。

🤖 Generated with Claude Code

Japanese Train Station PBR Pack では駅の部品 54 個が 1 つの FBX にまとまっていて、
prefab は MeshFilter でそのうち 1〜3 個だけを指している。Scenes 単位には表に無いメッシュを
隠す処理(#58)があるが、Prefabs 単位には無く、どの prefab にも 54 個すべてが表示されていた。

Prefabs 単位でも、prefab がモデルを丸ごと置いていない(モデルの PrefabInstance の配置が無い)
場合は、表に無いメッシュを隠し、件数を Scenes 単位と同じ文言で警告に出す。

- core/hierarchy.py: Renderer から作った配置かの判定を built_from_renderers にまとめ、
  parts_to_hide と共用する
- core/prefab.py: models_placed_whole と unused_parts を追加。tables_from_hierarchy は
  求めた配置を受け取れるようにし、prepare_package で配置を 1 回だけ求める
- core/scene_import.py: 文言を unused_warning に切り出し、prefab 用の prefab_warnings を追加
- 合成パッケージの Partial.prefab(Spike だけを使う)を Prefabs 単位の期待値に加えた

バージョンは 1.12.0 の開発を始めるので 1.12.0-dev.1 にする(#152 の機能追加と一緒に出す)。

Closes #151

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@utagestudio
utagestudio merged commit 7d90282 into release/1.12.0 Oct 25, 2026
5 checks passed
@utagestudio
utagestudio deleted the fix/151-prefab-unused-parts branch October 25, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant