diff --git a/Sources/arm/Importer.hx b/Sources/arm/Importer.hx index 0cdbd421..570522f6 100644 --- a/Sources/arm/Importer.hx +++ b/Sources/arm/Importer.hx @@ -409,11 +409,25 @@ class Importer { static function importObj(path:String) { iron.data.Data.getBlob(path, function(b:kha.Blob) { - var obj = new iron.format.obj.ObjParser(b); - makeMesh(obj, path); - while (obj.hasNext) { - obj = new iron.format.obj.ObjParser(b, obj.pos); - addMesh(obj); + if (UITrait.inst.isUdim) { + var obj = new iron.format.obj.ObjParser(b, 0, UITrait.inst.isUdim); + var name = obj.name; + obj.name = name + "_1001"; + obj.inda = obj.udims[0]; + makeMesh(obj, path); + for (i in 1...obj.udims.length) { + obj.name = name + "_100" + (i + 1); + obj.inda = obj.udims[i]; + addMesh(obj); + } + } + else { + var obj = new iron.format.obj.ObjParser(b); + makeMesh(obj, path); + while (obj.hasNext) { + obj = new iron.format.obj.ObjParser(b, obj.pos); + addMesh(obj); + } } iron.data.Data.deleteBlob(path); }); diff --git a/Sources/arm/ui/UITrait.hx b/Sources/arm/ui/UITrait.hx index df8707fd..8fe6cd09 100644 --- a/Sources/arm/ui/UITrait.hx +++ b/Sources/arm/ui/UITrait.hx @@ -1804,13 +1804,13 @@ class UITrait extends iron.Trait { var ar = ["All"]; for (p in paintObjects) ar.push(p.name); var filterHandle = Id.handle(); - layerFilter = ui.combo(filterHandle, ar, "Show"); + layerFilter = ui.combo(filterHandle, ar, "Filter"); if (filterHandle.changed) { for (p in paintObjects) { p.visible = layerFilter == 0 || p.name == ar[layerFilter]; - ddirty = 2; setObjectMask(); } + ddirty = 2; } function drawList(l:LayerSlot, i:Int) { @@ -2393,7 +2393,7 @@ class UITrait extends iron.Trait { } if (ui.isHovered) ui.tooltip("Import mesh file (Ctrl + Shift + I)"); - isUdim = ui.check(Id.handle({selected: isUdim}), "Import UDIM tiles"); + isUdim = ui.check(Id.handle({selected: isUdim}), "UDIM import"); if (ui.isHovered) ui.tooltip("Split mesh per UDIM tile"); if (ui.panel(Id.handle({selected: false}), "Scene", 0, true)) {