OBJs display no texture map
I've been importing some Turbosquid OBJ models into DS from Hexagon (had to change some shading domains). After converting the surfaces to Uber, the shaders I've added to them look great, but for some reason simple jpg texture maps are not showing up. I've tried just adding them straight to the diffuse channel and also using LIE. The area just seems to appear as a dull solid color somewhere between the average color of the texture map and the diffuse color. The result is the same whether in NVIDIA Iray drawstyle or an Iray render, trying both camera headlamp and photometric lights. I dropped a Daz prop (picture frame) next to it in the scene and added one of the same images to it, and it shows up fine. I'm sure I'm making some simple mistake...
Any ideas?
Comments
Has the object been UV mapped or does it simply use material zones? If the original object came with texture maps, you should be able to see if has been UV mapped by looking at those image maps - a UV mapped object will have texture maps with multiple unwrapped parts of the model displayed. Plugging any old texture map into the diffuse/base channel could easily yield unexpected results under such circumstances, as only the part of the image corresponding to the UV mapping would display. I don't know that that is your issue, but it is worth checking.
The details for the product say that UVs are mapped, but that there are no unwrapped UVs. Was created in 3DS. I must not understand UVs entirely - I thought mapped UVs just meant that UV maps were generated. But does it also mean that the obj files themselves are different in some way? I don't really get why "UV mapped" means anything useful if the unwrapped UV maps are not included.
Hey, Mike. Any references to UV mapping should be in the .mtl file that came with the object, if they are there. But again, I am only guessing when I suggested that it might be a mapping issue. If the image map you are trying to use were showing in any way when inserted that might give a better clue, but not when the result is completely black as shown. Could you try inserting something simpler into the diffuse/base channel that should produce more vissible results, like, for example, a red and white checkerboard image? Does that have any effect? Also try changing the diffuse/base colour to pure white for testing purposes, so that the only colour should come from the map.
The original product is a collection of 17 related props available in multiple formats. The obj version, which I chose to use, had an obj file and and an mtl file... but just a single obj&mtl which included all 17 props. So I had to use Hex to separate them all. In many cases a prop was a single object that was combined with shapes that were actually part of other props. So I separated them so that each prop was a separate, whole object that was not tangled with any others. Not sure what I should have done at that point, but I chose to look at the shading domains to make sure they were as discrete as I needed to achieve the look I wanted, with different materials where needed. I made changes, moving some faces to other shading domains, and adding new shading domains where I wanted to apply different materials. I'm not sure if a mtl file regenerated after I separated the props would have been usable, though I didn't check before I started re-structuring material zones.
I tried a black/white checkerboard pattern and got a solid light gray or desaturated lilac color in that LCD display area, no visible checkerboard squares or edges. That area does look black in the original image I attached, but it's actually dark blue.
Thanks so much for helping me, SixDs. I really appreciate you taking the time!
OK, then. Originally, did you load the unaltered object directly into Hexagon, or did you open it in DAZ Studio and send it via the bridge to Hexagon, bringing it back through the bridge to DAZ Studio when you were done with the edits? Did you save your edyted model from Hexagon or from DAZ Studio? Either way, saving (or exporting if in DAZ Studio) should have created a new .mtl file with the same name.
Probably a better approach might have been to separate the various props and save each of them in Hex as discrete . obj's, but that is water under the bridge. Extracting the individual parts from such a model can be a pain as you certainly know, but the solution may well be to start over from scratch, unfortunately. Personally, I would separate the props, save each to a discrete file, open each in DAZ Studio to ensure that they are complete, then, in either DAZ Studio or Hexagon, create the desired material zones/shading domains and export/save the result. Repeat for each of the props. A lot of tedious work, but it is what it is, as they say.
That sounds like what I'm doing, except that I'm saving them as Hexagon (.hxn) files first before sending them over to DS through the DS-Hexagon bridge (Send to Daz Studio/Send to Hexagon). The problem I've got though is that there are no unwrapped UV maps included, just individual discrete texture maps. So on this one (rowing machine) there were I think only 3-4 material zones but no texture maps included that could reproduce the original rendered image provided by the creator using only 3-4 of the included images. If I need to start over with this that's okay. I'm just not sure how to get texture files onto the targeted spots on the mesh for things like the LCD display, product logos, etc. Maybe I need to try and create an unwrapped UV from the new obj using UVMapper? I have never used that utility, but now's as good a time as any to try it out.
I do see now there's a way to import image files as textures directly in Hexagon. Maybe that will work - didn't realize it could do that.
Now I seem to ba having troubles with Hexagon. I save the name for a Shading Domain, save a name for the material applied to it, attach the texture file to that material. Then I save the file. When I reopen it, all gone. :(
One thing you need to know/remember with the image maps for wavefront objects is that they need to be stored in the same folder as the .obj and .mtl files or they won't be found. I would be inclined to save the revised Hexagon files as object files rather than Hex files and use DAZ Studios Import utility to load them. I don't know whether that will address your issues, however. Insofar as UVMapper goes, I don't believe that will entirely solve the issue with the texture maps since you would be creating an entirely new UV map that would not correspond to the original images. You would need to try and rubber sheet the originals correctly onto a template of the new unwrapped UV mapping. Unfortunately, retexturing the whole thing may be the best option, using an entirely new set of material zones.
Thanks. Yeah, they're all in the same folder. Can an image file be mapped to a material zone? That's what I'm not clear on. Because if so I'm not sure why this is not working with what I already have.
The answer is yes.