ZB 2 KS - Cant import texture maps

Started by Jesse.Art, September 03, 2016, 09:15:05 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

Jesse.Art

This has been an ongoing issue and I would love to find a solution.

Every so often when I transfer my model to KS from ZB, I'll apply a material and attempt to import a texture map but KS won't read the UV coordinates correctly or something. The model just turns into a solid color with no texture showing from the imported map. If I change to a box map or something, then the map shows on the model, albeit messed up, but its at least there. I've checked flipping maps and other options but like I said it doesn't happen all the time. Sometimes I may transfer to KS and have no issues importing a map.

I've never known this to be an issue when importing an OBJ directly into KS. Only when going from ZB 2 KS.

Is this a known issue with a workaround?

guest84672

Can you please contact Pixologic's support about this? Also, could it potentially be a scale issue? Try reducing the scale of the texture after applying it.

Jesse.Art

Done. But I know I'll get a response asking me to contact Keyshot support. :(

P.O.

#3
Hi - I can confirm that there is definitely something wrong  going on with this. I have been using the Zbrush Keyshot Bridge for a little while but never needed accurate UVs until now therefore I did not notice the problem. But now that I need accurate UV placement the problem is apparent.

Here is a reproducible breakdown of the problem, and a workaround.

-  Lets say that you have a model in Zbrush (subtool). This model has uniquely unwrapped UVs, either generated directly from within Zbrush (using UVmaster for instance) or imported from an external program. You know that these UVs work fine because you did some texture work inside another program, like Substance Painter or 3DCoat. Therefore you know that any OBJ exported from this subtool out of Zbrush will work fine with the textures you created, and you naturally expect external renderers to work fine with the model and textures (Max/Maya/Blender/Toolbag, and of course Keyshot).

- However, when sending this model to Keyshot using the Zbrush to Keyshot Bridge, the textures don't match anymore and no amount of scaling/tiling/offset will make them work.

- Now to track down the issue : go back to Zbrush, import your Albedo texture, and apply it to the model - it won't match either. Even though Zbrush *does* write UVs properly when writing out an OBJ on regular export, it does not correct things internally and when sending data through Bridge. For the textures to show up fine within Zbrush you need to do the tired old "trick" : clone texture , flipV, and apply the flipped texture.

- But here's the kicker : if the model is sent through Bridge without a texture originally applied to it in Zbrush (for instance when just displaying a model with a matcap) the UVs will get messed up in *another* way, that flipping textures vertically and setting the mapping as "UV coordinates" won't fix. In short : you'll have to make sure that a texture is properly showing within Zbrush before doing any kind of export through Bridge.)

- Now if you send this textured model to Keyshot through Bridge, you will now get accurate UVs.

This means a few things :

- In order to properly apply textures to your model in Keyshot after sending it over using Bridge, make sure that a texture (any texture) is applied to the subtool in Zbrush , and, either manually flip all your textures vertically, or, tick "flip vertical" at the bottom of the texture options in Keyshot.
- The problem lies with the way Zbrush internally handles UVs (as always...), but also with the fact that mesh data send to Keyshot using Bridge is different from the one written by the regular Zbrush OBJ exporter. Adding to that the fact that UVs are written differently depending on whether a matcap or a matcap+texture is applied in Zbrush, and you basically have two things that can go wrong :)

I hope this makes sense !

Jesse.Art

P.O.'s reply prompted me to investigate a bit further.

If I send my model to KS through the bridge and then export my model out of KS as an OBJ, I can import that OBJ into Maya and see that there are NO uv's at all. Of course I can't tell if thats because of KS or ZB.

If I import a texture map into ZB and apply it to that same model and then send it to KS via the bridge, export out of KS as an OBJ and import that OBJ into Maya, there ARE uv's. Of course they are flipped but at least they are there.

This explains why the texture mapping via UV's worked only sometimes in KS because it was only sometimes I applied maps in ZB first. My preferred workflow is to import via KS rather than ZB. But as P.O. has pointed out, importing the map into ZB, applying it there first before sending to KS via the bridge, seems to act as a workaround.

I can't believe this isn't a widely known issue.

P.O.

I would guess that the issue might have been overlooked probably because a big majority of Keyshot Bridge users rely on a polypaint/vertex colors workflow as opposed to a textured-based workflow (or, simply use box mapping for detail tiling).

I wouldn't be too surprised to hear that many users probably brush it off as "Keyshot Bridge can't load textures" and don't think twice about it. I certainly was about to :)

revvels

Oh man!!

Thank you guys so much :D I posted about this a LONG WHILE ago but unfortunately no one knew what the hell I was talking about. Especially frustrating since my entire career has been in animated film, and I darn well know how to make UVs and textures and carry them across programs.

Indeed, it works if you apply the texture in Zbrush first, flip the UVs and then bring it in to KS :D

Always had to just try different stuff and files and send it back and forth to finally make it work, glad those days are over. Thanks a bunch!

guest84672

I forwarded this thread to the Pixologic team so we can get to the bottom of it.

guest84672

Hi guys,

Here is the response I got from Joseph Drust over at Pixologic.

Hey Thomas,

Doesn't appear that anything is broken on either end :) The workflow is still the same for transferring UVs. 

Here is the video on the process in ZClassroom:
https://pixologic.com/zclassroom/lesson/zbridge-uv-transfer

I just double checked it in Keyshot 6.2.105; it all works fine. You just need to make sure the model you are sending from ZBrush has UV coordinates and has any texture map applied in the texture slot. After the model sends to Keyshot edit the material, go to textures, switch the Mapping type to UV Coordinates then link the desired texture.  Mapping should line up without any flipping etc..

Let me know if that helps =)

Jesse.Art

Quote from: thomasteger on September 07, 2016, 02:09:31 PM
Hi guys,

Here is the response I got from Joseph Drust over at Pixologic.

Hey Thomas,

Doesn't appear that anything is broken on either end :) The workflow is still the same for transferring UVs. 

Here is the video on the process in ZClassroom:
https://pixologic.com/zclassroom/lesson/zbridge-uv-transfer

I just double checked it in Keyshot 6.2.105; it all works fine. You just need to make sure the model you are sending from ZBrush has UV coordinates and has any texture map applied in the texture slot. After the model sends to Keyshot edit the material, go to textures, switch the Mapping type to UV Coordinates then link the desired texture.  Mapping should line up without any flipping etc..

Let me know if that helps =)


If this was intentional then its bad design on somebody's part.

Jesse.Art

Quote from: arsmod on September 08, 2016, 01:56:23 PM
If this was intentional then its bad design on somebody's part.

Actually I take that back. Given that this was a heavily discounted plugin for KS, its a decent tradeoff. Messes up my workflow when I have multiple maps but I guess I can deal with it.

I'm just glad to have found a workaround. ;)

guest84672

This has nothing to do with the version of KeyShot you are using.

Jesse.Art

Quote from: thomasteger on September 08, 2016, 02:46:27 PM
This has nothing to do with the version of KeyShot you are using.

Well then I'd be pretty upset as a $2000 pro owner knowing that ZB deletes the UV's without a map imported though ZB. I hope that gets changed.

Chad Holton

I don't have ZB to test it out but if you go to Edit>Preferences>Advanced and check "Use UV mapping as default" in KeyShot, it may help when bringing textures over from ZB.

Jesse.Art

This process becomes troublesome if you have an existing KS file with a model and scene setup. ZBrush just won't send over updated UV's unless I delete the model first in KS.