Obj imports without any textures after recent update
I can no longer import obj format assets (in my case imported from fbx into blender 4.0 and exported to obj first) since the recent Daz update. How do I fix it? I need obj assets to work in Daz for the type of scenes I do

Comments
daz obj import dialogue has an option to read material file. Are you checking that option?
Does Blender write the textures correctly to the material file? you can open .mtl file in a text editor like notepad to check
Can you not just add the textures manually to the Surfaces tab? Noting that an .obj material file is no a Blender-to-Daz bridge and will never add textures properly anyway and therefore is a flawed method to rely upon to get textures onto an obj and it is perhaps better to add them manually, or at least if you are going to rely on the material file, please ensure you check that they are all loading, and they are loading into correct slots in your shader, with correct values applied.
All the settings are default. And yes the textures work in blender and yes the objects imported with the textures applied (at least the ones I'm using) prior to the latest update of Daz! I think the Daz update borked something. Is there a fix? No applying the textures is NOT an option. Some objects have a TON of textures in a TON of places! And I'm not gonna say anything is labeled logically. Because they're not most of the time. But they did import successfully prior to the update but not after. And that's a HUGE Problem for a number of reasons!
newmtl Face
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.743252 0.556655 0.570771
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 1
map_Kd D:\Dropbox (Personal)\xps\Kasumi in Black Leather\kas_face_base.png
map_Bump D:\\Dropbox (Personal)\\xps\\Kasumi in Black Leather\\kas_face_nrm_VLH2_PP1.png
map_Ks D:\\Dropbox (Personal)\\xps\\Kasumi in Black Leather\\kas_face_spe.png
map_d D:\\Dropbox (Personal)\\xps\\Kasumi in Black Leather\\kas_face_base.png
newmtl KB3D_NEC_AirCon
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 1.000000 1.000000 1.000000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
map_Bump KB3DTextures\\KB3D_NEC_AirCon_normal.png
map_Kd KB3DTextures\\KB3D_NEC_AirCon_basecolor.png
map_Ns KB3DTextures\\KB3D_NEC_AirCon_roughness.png
refl KB3DTextures\\KB3D_NEC_AirCon_metallic.png
Those are surfaces from two random MTL files, couldn't have picked better examples if I'd tried, DS1 to DS4 have never been able to load those textures.
First one the pathway doesn't exist on my drive.
Second one DS has no idea where to start looking for them.
So as lilweep suggests open one of the MTL files in any basic text editor and check the pathways, as it might not be DS that's causing the problem.
ok but I didnt ask if it was default, i said ensure you tick the box for read materials?
Also check the .mtl file you exported from blender.
troubleshooting usually involves checking some things, not just jumping to a conclusion and then refusing to check anything.
Using the Blender to daz bridge or doing it manually is in my opinion the only option. Relying on an .mtl file to assign textures is a flawed approach. First of all, .mtl cant even assign normal maps lol, to say nothing of all the other random settings it might decide to change. Half the time it puts maps in wrong slots.
I don't know what you're talking about as it worked JUST FINE by importing the fbx files it via exported to obj using blender. The fbx files have the textures embedded . Using THE SAME FILES on the updated Daz some textures work while others are missing
It's extremely unclear to me what you are doing. I suppose someone else might be able to interpret what is being described here.
Like I said it worked before the update. It might also be an issue with the latest version of blender.
I'm gonna try using Daz Studio 4.23 and an the version of blender before i start screwing up the whole thing by messing with text files and nonsense like that. I have a feeling I'll just make things infinitely worse if I try you guys's fix ideas to the point I'm just gonna have to buy/redownload the assets all over again because I'd end up breaking them by doing your suggestions
I have assets that you can't get anywhere anymore so I'm terrified of breaking them! Hence why I'm avoiding your suggestions like the plague. That and my lack of knowledge. But i seriously think it's the update's fault. But then again Ive been wrong before.
You can make a copy of the file before doing anything to it. The advice was to open the .mtl file in a text editor and look at it, not to change anything. My advise has been so assign the textures manually in Daz Studio in the Surfaces tab , not to assign them manually in a text editor. Assigning textures to a few material slots in the Surfaces tab should only take a few seconds. If you have hundreds of textures then it is going to take a long time however.
You claim that you are exporting your files from blender correctly. How do we know this unless you check the .mtl file? If you are not going to check the .mtl file, have you at least imported the exported .obj file back into Blender, and seen that the textures are appearing? if they are not appearing in other software besides Daz Studio, then it would suggest the .mtl file is not being written correctly when exporting from Blender, not that there is issue with Daz importer.
You also did not state which version of daz studio has the problem. "Recent update" means what exactly, the alpha?
Just to repeat: an obj will not import all textures correctly into Daz Studio. some texture maps will not be included in the .mtl file (e.g., Normal maps) and some will be allocated to wrong slots on the Iray Uber shader upon import. Therefore obj is not a good option for automatic assignment of ALL textures. An alternative to obj is .fbx or the Blender to Daz bridge.
Ok then how come it worked perfectly before? Also they are fbx assets with embedded materials imported into blender and then imported into Daz as obj. They're not obj made in blender. Also manually apply the textures? You're joking right?!?! Some material names show up in Daz as complete gibberish. Some assets have a ton of textures too. But again they imported just fine before also as i said they're fbx format assets with embedded textures imported into blender and exported as obj into Daz NOT assets made directly in blender and then exported into Daz. The assets I have that are not fbx with embedded textures first and are just obj imported into Daz to blender and/or Daz do what you're describing but that's not what I'm working with here. Also when I select stripped material paths for some things that does help for fbx and obj assets with non embedded textures.
Also some fbx files don't work right when imported directly into Daz. And some don't work at all when imported directly into Daz. But I digress.
Just to reiterate, obj will never assign maps perfectly if your models has normal maps, to say the least.
You may say they imported "perfectly" but did you check all maps were accounted for and actually in the correct slots? If the creator of the asset took time to make a normal map and then you didnt use it, it is not perfect. If daz has assigned maps to the wrong channels then it wont be perfect.
I know, as that was one of the few things explained. That does not alter anything I said.
If it is a huge number of slots i wouldnt suggest to do it manually. If it were only a few material slots, then you can easily work out which maps go into which material slot, even if it is gibberish.
If something is working fine and then it stop working. There is usually a reason. Two very obvious reasons for why it might not be working have been mentioned numerous times already.
1. the .mtl file associated with the .obj you exported from Blender does not contain references to textures
2. you are not ticking the option for read materials when importing to Daz Studio
Consider the possibility that you exported the obj from blender incorrectly.
We still do not know if that's your issue as you refuse to verify by checking the mtl file or by reimporting into blender to validate it still has textures.
I read this three times. Cannot make sense of this statement
perhaps before you export your obj from blender you could go to File > External Data > Unpack All Into Files.
That might encourage Blender to save out the obj and mtl file with correct paths.
I'm terrified of destroying the assets by screwing up the .mtl files as i have multiple thousands of dollars in irreplaceable assets (TurboSquid sucks and getting hacked sucks just saying) that's why I'm not messing around with them. So please understand my hesitation to not do so.
Let me try to clarify my pipeline. Import fbx asset to blender and from blender to Daz as obj. Sorry for my terrible explanation. Maybe export as obj as stripping material paths might help? It worth a try. Aside from running an expensive amount of assets I can try to unpack all materials into files. And other than that i guess I'm screwed.
Also when I say perfect I mean none of the diffuse materials aren't missing which is what I'm having issues with. The other materials are working so far. Not all the assets have normal maps by the way.
i dont think you are listening to anything I am saying.
You have an fbx. An fbx does not have an .mtl file.
When you export from Blender, you create an .obj and an .mtl file. The .mtl file is what contains the texture references.
How could you possibly screw up an .mtl file that you can easily regenerate by just exporting it out of Blender again?
So did you actually try this?
I have suggested many things and you have not tried any of them.
i dont think this is a problem that should take weeks to solve...
Maybe you should just get the blender to daz bridge.
That bridge is expensive!
I'm already looking at buying an expensive blender plugin for something else (better fbx importer or whatever it's called) I don't have $100 to sling around for blender plugins. The better fbx plugin is probably $30 something and the blender to Daz is $50 and then there's tax of course! I don't have that kind of money!
And also two weeks for me to solve the issue is giving me too much credit. Things like this take me around a month to figure out! I'm intellectually challenged to a slight degree. Translation the more complicated the situation the slower I learn and what is a simple task to you may be complicated to me! People here on these forums expect me to be a professional know it all like them when I'm clearly expressing I'm anything but! And they get mad when I clearly show I'm struggling or just don't have the capability of learning things they know! It's actually quite infuriating and insulting to me and I personally wish it would stop! Not everyone here is a professional!!!!!
Also not everyone has a huge budget here either. People here don't seem to get it that either!
It sounds as if you could do with a script to run (when or after) importing an obj file to apply an uber shader to the object, re-read the .mtl file, 'find' or 'ask help to find' the texture required and apply them wherever sensible in the appropiate surface shader. I think this would speed things up for anyone who wanted to do this and could save a fair bit of time all round.
I only have a very rudimentary grasp of scripting (as shown how few commands I actually used in my Pose Transfer Scripts), so probably definitely can't do it at the moment. I have quite a few poses to catch up on creating after 8 months without a DS compatible PC, and then I may be in a position to start learning what I need. I won't make any promises because I'm not sure I will ever be able to do it, but I will look at what I need to learn and see if I can do it.
And I only ever do freebies, because I'm someone who has a tiny budget, too..
Regards,
Richard
no comment on your base problem with OBJs but as a general rule you probably should keep safe backups of something this valuable, so you can work with them without this kind of anxiety.
Importing an obj to daz applies an uber shader by default so a script wouldnt need to do that when it's already default behaviour of the obj importer
Well, the OP doesnt need to do any of that and it would be a moot point if the .mtl file they have exported from Blender does not even contain texture references.
The OP still has not bothered to confirm if their .mtl file has texture references in it, therefore it would be pointless to have a script that reads an .mtl file for texture references which may or may not even be there.
Their first step is to establish they are exporting their obj and mtl from Blender with texture freferences before jumping to the conclusion that the issue is the obj importer in Daz Studio. (Hint: it isnt).
Daz obj importer already has an option to read material file on import, so there doesnt need to be a new script created to do the exact same thing. One could just import the obj again and click read material file
It would be a waste of your time as mentioned above.
To save anyone reading this time in future. The issue the OP is facing is probably not with the obj importer. That is a presumption fallaciously built into their question.
There are multiple steps in the process (1. importing fbx with embedded textures to blender, 2. exporting to obj without unpacking textures first, then 3. importing to daz studio as obj). The problem could be any step in that chain and the likely culrpit is obviously step 2, so that should obviously be assessed first before jumping to conclusions about a faulty obj importer.
If 2 is the point of failure, then the question becomes how to export fbx with embedded textures to obj so it writes mtl file correctly.