Repository navigation
fix: FBX のノード名が連番付きでも、2 回目以降の読み込みで prefab のマテリアルを当てる (#155) - #156
Merged
Merged
Conversation
FBX のノード名がもともと「Base-Ring.001」のように連番付きだと、同じ FBX を 2 回目以降に 読み込んだとき Blender が「Base-Ring.002」に付け替える。find_renderer はオブジェクト名の連番を 外して引いていたが、表の名前の側は外していなかったので一致せず、prefab の .mat が当たらずに FBX のマテリアルのままになっていた(Gothic Lights の色違いの吊り下げ灯など。Prefabs 単位で 30 か所、Scenes 単位で 14 か所のスロット)。 - core/prefab.find_renderer: 今までの照合が外れたら、表の名前の連番も外して比べ、該当する行が 1 つだけならそれを使う。複数あればどれか決められないので引かない - core/scene_import.parts_to_hide: LOD の段と無効な Renderer の判定も同じ形で照合する - 合成のシーン用パッケージに、ノード名が連番付きの Rings.fbx と、その Ring.001 だけを指す 色違いの prefab(RingRed / RingPlain)を加え、Prefabs 単位の期待値で 2 つ目にも .mat が 当たることを確かめる(修正前は RingRed が FBX のマテリアルのままで失敗する) Closes #155 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
utagestudio
changed the base branch from
feat/152-skip-unused-parts
to
release/1.12.0
October 25, 2026 14:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #155
#154(#152)の上に積んだ PR です。#154 をマージしたら、base を
release/1.12.0に付け替えます。変更内容
FBX のノード名がもともと連番付き(
Base-Ring.001など)のとき、同じ FBX を 2 回目以降に読み込むと Blender がBase-Ring.002に付け替える。prefab の表を引く照合が表の名前の連番を外していなかったので、2 回目以降の読み込みでは prefab の .mat が当たらず、FBX のマテリアルのままになっていた。core/prefab.find_renderer: 今までの照合(完全一致 → オブジェクト名の連番を外した形 → メッシュ参照の fileID)が外れたら、表の名前の連番も外して比べる。該当する行が 1 つだけならそれを使い、複数ある(BodyとBody.001が両方ある FBX など)ときは決められないので引かないcore/scene_import.parts_to_hide: Scenes 単位の LOD の段と無効な Renderer の判定も、同じ形で照合するRings.fbxと、そのRing.001だけを指す色違いの prefab(RingRed / RingPlain)を追加した。修正前のコードでは、2 つ目の RingRed が FBX のマテリアルのままになって統合テストが失敗する1.12.0-dev.5にした確認
手元の実パッケージ 14 個を、#154 の時点のコードとこのブランチで Models / Prefabs / Scenes の単位ごとに読み込み、オブジェクトごとのマテリアルと表示・非表示を比べた。
_LOD1の 86 個(ドア・家・ガレージ扉)が非表示になった。今まで LOD の段を引けず、LOD0 と重なって表示されていた正しく割り当てられていたものが変わったケースは、1 つもなかった。
手動確認の手順
Ceiling-Light-001 - Rusty Blackと、同じ FBX を使うほかの色違いをまとめて選んで Import するBlack-Rusty-Steelなど)が付いていること。修正前は FBX のマテリアル(Candle-Holder.001など)だった_LOD1が非表示になっていること🤖 Generated with Claude Code