Skip to content

Commit 9273b28

Browse files
committed
Update material matching logic to the same as in the latest export code
1 parent c9e5321 commit 9273b28

File tree

3 files changed

+45
-32
lines changed

3 files changed

+45
-32
lines changed

Packages/open-brush-unity-tools/Runtime/Resources/MaterialRemapping.asset

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,13 @@ MonoBehaviour:
1313
m_Name: MaterialRemapping
1414
m_EditorClassIdentifier:
1515
entries:
16-
- key: AdditiveCutout
17-
material: {fileID: 2100000, guid: bac1c2947c5943f4fb657f2bf562ac60, type: 2}
1816
- key: Bubbles
1917
material: {fileID: 2100000, guid: 4d24cf1c5fc5d174294759d0473ffda4, type: 2}
2018
- key: CelVinyl
2119
material: {fileID: 2100000, guid: 5e8aed3e0fd60834d97532d3bb460d3e, type: 2}
2220
- key: ChromaticWave
2321
material: {fileID: 2100000, guid: a53539a5e9dea7d46a7e9b7632c15253, type: 2}
24-
- key: CoarseBristlesDoubleSided
22+
- key: CoarseBristles
2523
material: {fileID: 2100000, guid: f071bff105b09434b94fc9ef06534cd9, type: 2}
2624
- key: Comet
2725
material: {fileID: 2100000, guid: 3706091e56063b947aabd55a0367680d, type: 2}
@@ -33,25 +31,29 @@ MonoBehaviour:
3331
material: {fileID: 2100000, guid: 343b93f51e3d89a409370a84ca6a91c8, type: 2}
3432
- key: Dots
3533
material: {fileID: 2100000, guid: 3ce480ce80d22e8429f12a7249d2eb07, type: 2}
36-
- key: DoubleTaperedMarker
34+
- key: DoubleTaperedFlat
3735
material: {fileID: 2100000, guid: 46a727689bd591e46b9b4c60c6d6207c, type: 2}
38-
- key: DuctTapeDoubleSided
36+
- key: DoubleTaperedMarker
37+
material: {fileID: 2100000, guid: 9c5f1e4a7332f89408567cd963f47583, type: 2}
38+
- key: DuctTape
3939
material: {fileID: 2100000, guid: 79edfa5802000684ca43bdede1cd4579, type: 2}
4040
- key: Electricity
4141
material: {fileID: 2100000, guid: 5262b8468e892fe4c91f092e924e4b05, type: 2}
4242
- key: Embers
4343
material: {fileID: 2100000, guid: fecb87c3fb59e424e9f185865c2a48e0, type: 2}
4444
- key: Fire
4545
material: {fileID: 2100000, guid: c10410f7a0001ab4688598c3d0862ac9, type: 2}
46-
- key: FlatDoubleSided
46+
- key: Flat
4747
material: {fileID: 2100000, guid: ce6cfbde1d12876439d13cdfb23351ae, type: 2}
48+
- key: Highlighter
49+
material: {fileID: 2100000, guid: bac1c2947c5943f4fb657f2bf562ac60, type: 2}
4850
- key: HyperGrid
4951
material: {fileID: 2100000, guid: e8d3b76da0405464087001136c77b008, type: 2}
50-
- key: HypercolorDoubleSided
52+
- key: Hypercolor
5153
material: {fileID: 2100000, guid: 077bed1c8bd0753499e0c3adb693a3bc, type: 2}
5254
- key: Icing
5355
material: {fileID: 2100000, guid: 7aefda54941e0104fa7637c2d8593674, type: 2}
54-
- key: InkDoubleSided
56+
- key: Ink
5557
material: {fileID: 2100000, guid: f4d8ee95f6d1311438e53e78b3ef67bb, type: 2}
5658
- key: Light
5759
material: {fileID: 2100000, guid: 54787dce785e49044bd890a97dda8644, type: 2}
@@ -65,9 +67,9 @@ MonoBehaviour:
6567
material: {fileID: 2100000, guid: 62df3af3ef149504988da83c08cf7250, type: 2}
6668
- key: NeonPulse
6769
material: {fileID: 2100000, guid: 437b75d6014cf034d92f0bb4f110070e, type: 2}
68-
- key: OilPaintDoubleSided
70+
- key: OilPaint
6971
material: {fileID: 2100000, guid: e971ec661e0941b469f27acae1244f88, type: 2}
70-
- key: PaperDoubleSided
72+
- key: Paper
7173
material: {fileID: 2100000, guid: faf7f09d9e15d1c419af33d8dab6513a, type: 2}
7274
- key: Petal
7375
material: {fileID: 2100000, guid: b9879bd1140f7d94ea9340c1bc5e2a7c, type: 2}
@@ -83,17 +85,17 @@ MonoBehaviour:
8385
material: {fileID: 2100000, guid: ab08354aa47d7084d9a65f993a3bccf3, type: 2}
8486
- key: Spikes
8587
material: {fileID: 2100000, guid: b96680bd138273a4bbcf96685df738a6, type: 2}
86-
- key: SplatterDoubleSided
88+
- key: Splatter
8789
material: {fileID: 2100000, guid: e3033b2ec92a3ab4b85aa5770a476452, type: 2}
8890
- key: Stars
8991
material: {fileID: 2100000, guid: 4f06ca6bf674d7548945803d5df22b23, type: 2}
9092
- key: Streamers
9193
material: {fileID: 2100000, guid: 21e96012a675b2d45ae1706d5dfb4969, type: 2}
92-
- key: TaperedFlatDoubleSided
94+
- key: TaperedFlat
9395
material: {fileID: 2100000, guid: 385a5e69e3ac58b4c8c7f1c29dad3a6a, type: 2}
9496
- key: TaperedMarker
9597
material: {fileID: 2100000, guid: 10eae5304118cb3468b104f4e0e64196, type: 2}
96-
- key: ThickPaintDoubleSided
98+
- key: ThickPaint
9799
material: {fileID: 2100000, guid: 5e18fa10121709e4595c27d919c75907, type: 2}
98100
- key: Toon
99101
material: {fileID: 2100000, guid: 66b410f19393cc04688b3b5b7a29b226, type: 2}
@@ -103,14 +105,14 @@ MonoBehaviour:
103105
material: {fileID: 2100000, guid: 5099a2d1be1fb094d95a6e208ae54f2e, type: 2}
104106
- key: Waveform
105107
material: {fileID: 2100000, guid: 9bf58314959371043a5b2a21c7846393, type: 2}
106-
- key: WetPaintDoubleSided
108+
- key: WetPaint
107109
material: {fileID: 2100000, guid: 2f6df575ca49b43468d179f665f4e16a, type: 2}
108-
- key: WigglyGraphiteDoubleSided
110+
- key: WigglyGraphite
109111
material: {fileID: 2100000, guid: ce31c42493e7a024bbccda2ab6b1fa46, type: 2}
110112
- key: Wire
111113
material: {fileID: 2100000, guid: 02c7014159304aa4e8df18910f3ce75f, type: 2}
112-
- key: Additive
113-
material: {fileID: 2100000, guid: c1c9b26d673a4dc6b37351715654ab96, type: 2}
114+
- key: 3DPrintingBrush
115+
material: {fileID: 2100000, guid: d3f3b18ada03f694b83828ba8e749a98, type: 2}
114116
- key: BubbleWand
115117
material: {fileID: 2100000, guid: eba3f993f9a14d35b84ebb08f48981a4, type: 2}
116118
- key: Charcoal
@@ -125,8 +127,6 @@ MonoBehaviour:
125127
material: {fileID: 2100000, guid: 492b36ffb337436aba5f1e87ee86747e, type: 2}
126128
- key: DryBrush
127129
material: {fileID: 2100000, guid: 725f4c6a6427652429abda371924adab, type: 2}
128-
- key: DuctTapeSingleSided
129-
material: {fileID: 2100000, guid: 3ca16e2fbdcd4da28631dcef342f40f1, type: 2}
130130
- key: FacetedTube
131131
material: {fileID: 2100000, guid: 4391ffaadf7343969e3331e4e4930b27, type: 2}
132132
- key: Fairy
@@ -135,23 +135,21 @@ MonoBehaviour:
135135
material: {fileID: 2100000, guid: a555b809201746cbac26e63173d8f45e, type: 2}
136136
- key: Fire2
137137
material: {fileID: 2100000, guid: 53d753ef083c45e198e74459b4471219, type: 2}
138-
- key: GouacheDoubleSided
138+
- key: Gouache
139139
material: {fileID: 2100000, guid: 1b897b7e9b76425ab031a867c48df409, type: 2}
140140
- key: Guts
141141
material: {fileID: 2100000, guid: 99aafe96164544cd99bd979bc6ef37c5, type: 2}
142-
- key: InkSingleSided
142+
- key: InkGeometry
143143
material: {fileID: 2100000, guid: c00120953ffd40408ee1fc180d346eaa, type: 2}
144144
- key: KeijiroTube
145145
material: {fileID: 2100000, guid: f8ba3d1801fc4d7bb2d9b99d10b8e7cf, type: 2}
146146
- key: Lacewing
147147
material: {fileID: 2100000, guid: 1cf94f63f57a4a1aad14295af4f5ab5c, type: 2}
148148
- key: LeakyPen
149149
material: {fileID: 2100000, guid: ddda87454bb5ac5488b6d1480370583e, type: 2}
150-
- key: LeavesSingleSided
150+
- key: Leaves2
151151
material: {fileID: 2100000, guid: 7259cce541c1ec74c88578af28a31d95, type: 2}
152-
- key: LitWire
153-
material: {fileID: 2100000, guid: 62fef968e84232244a0e1fdb7cfb745c, type: 2}
154-
- key: LoftedHueShift
152+
- key: Lofted(HueShift)
155153
material: {fileID: 2100000, guid: c5da2e70a6e463a4898c5cfedef09c97, type: 2}
156154
- key: MarbledRainbow
157155
material: {fileID: 2100000, guid: c86c058d1bda2e9408dbf3d6a96ac4a1, type: 2}
@@ -173,14 +171,16 @@ MonoBehaviour:
173171
material: {fileID: 2100000, guid: bdf65db21fb74202b5e0c6b5e3ea851e, type: 2}
174172
- key: Sparks
175173
material: {fileID: 2100000, guid: 50e99447386105f4697da1b96e771b98, type: 2}
176-
- key: Square
174+
- key: SquarePaper
177175
material: {fileID: 2100000, guid: 2e03b1bf3ebd46099d7ef4cafadc4dfa, type: 2}
178-
- key: Square3DPrintBrush
179-
material: {fileID: 2100000, guid: d3f3b18ada03f694b83828ba8e749a98, type: 2}
180176
- key: TaperedHueShift
181177
material: {fileID: 2100000, guid: 3d9755da56c772949b1d5ec349975f52, type: 2}
182178
- key: TaperedWire
183179
material: {fileID: 2100000, guid: 9568870f859460f41b20dfbc8a5eac0e, type: 2}
180+
- key: ThickGeometry
181+
material: {fileID: 2100000, guid: 3ca16e2fbdcd4da28631dcef342f40f1, type: 2}
182+
- key: TubeAdditive
183+
material: {fileID: 2100000, guid: c1c9b26d673a4dc6b37351715654ab96, type: 2}
184184
- key: TubeToonInverted
185185
material: {fileID: 2100000, guid: 9871385adf7343969e3331e4e4930b27, type: 2}
186186
- key: WaveformFFT
@@ -191,5 +191,7 @@ MonoBehaviour:
191191
material: {fileID: 2100000, guid: 0f5820dfcb6b4a6c960e56e4c8000eda, type: 2}
192192
- key: Wind
193193
material: {fileID: 2100000, guid: 7136a7291aabbd24f8b2ca88b6adfb67, type: 2}
194+
- key: Wire(Lit)
195+
material: {fileID: 2100000, guid: 62fef968e84232244a0e1fdb7cfb745c, type: 2}
194196
- key: Wireframe
195197
material: {fileID: 2100000, guid: 2c1a6a6365524d2386d758f6fba8581b, type: 2}

Packages/open-brush-unity-tools/Runtime/Scripts/MaterialRemapping.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using UnityEngine;
23
using System.Collections.Generic;
34

@@ -8,11 +9,11 @@ public class MaterialEntry
89
public Material material;
910
}
1011

11-
[CreateAssetMenu(fileName = "MaterialRemapping", menuName = "ScriptableObjects/MaterialRemapping", order = 1)]
1212
public class MaterialRemapping : ScriptableObject
1313
{
1414
[SerializeField] private List<MaterialEntry> entries = new ();
1515
private Dictionary<string, Material> materialDictionary;
16+
public Dictionary<string, Material> MaterialDictionary => materialDictionary;
1617

1718
public Material GetMaterial(string key)
1819
{
@@ -23,9 +24,14 @@ public Material GetMaterial(string key)
2324
return materialDictionary[key];
2425
}
2526

26-
[ContextMenu("Re-Initialize Dictionary")]
27+
private void OnValidate()
28+
{
29+
InitializeDictionary();
30+
}
31+
2732
private void InitializeDictionary()
2833
{
34+
Debug.Log("Initializing Material Dictionary");
2935
materialDictionary = new Dictionary<string, Material>();
3036
foreach (MaterialEntry entry in entries)
3137
{

Packages/open-brush-unity-tools/Runtime/Scripts/ObImportPlugin.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,18 @@ public override void OnAfterImportNode(Node node, int nodeIndex, GameObject node
6464
var mr = nodeObject.GetComponent<MeshRenderer>();
6565
if (mr != null)
6666
{
67-
var existingMaterialName = mr.sharedMaterial.name.Replace("(Instance)", "").Trim();
67+
var existingMaterialName = mr.sharedMaterial.name;
68+
if (!existingMaterialName.StartsWith("ob-")) return;
69+
existingMaterialName = existingMaterialName
70+
.Replace("(Instance)", "")
71+
.Replace(" ", "")
72+
.Trim();
6873
Material mat = null;
6974
try
7075
{
7176
mat = m_MaterialDictionary.GetMaterial(existingMaterialName);
7277
}
73-
catch (KeyNotFoundException e)
78+
catch (KeyNotFoundException)
7479
{
7580
Debug.LogWarning($"MaterialRemapping: No match for {existingMaterialName} on {nodeObject.name}");
7681
}

0 commit comments

Comments
 (0)