Jump to content
3D Coat Forums
bernhard

3dcoat - 3dsmax - Vray

Recommended Posts

3dsmax & Vray Workflow with 3ds max: QUESTIONS & Answers

HD Video with QUESTIONS to 3D Coat, Linear Workflow and re-producing Vray Shaders inside 3dsmax.

 

 

 

My website on which I am going to post all my progress and document step by step a workaround and solution:

http://www.bernhardrieder.com/3d-coat/

 

 

Questions I hope I am going to get answered :
  • What Gamma values do have the exported texture maps from 3d coat ?
  • What texture map should be used in which slot of a Vray Shader ?

 

3d-coat-tutorial-vray-3dsmax.jpg

 

Thanks a lot for any little help, hints, tips and tricks !

Happy Pixeling

Share this post


Link to post
Share on other sites

Hi Bernhard! Welcome to the forum. :)

 

 

1) 3DC exports everything in sRGB. So in most cases you'll want to make sure any greyscale images (displacement, roughness/glossiness/specular, etc.) are set to linear. But for your diffuse color/albedo you'll want to keep using sRGB. sRGB has a gamma of 2.2, linear is of course, 1.0.

 

2) Because I'm not entirely familiar with vRay, I will be a bit general with my information on this question. It also depends on which PBR workflow you decide to go with. I'll assume you are using Roughness & Metalness, but it should be similar no matter the workflow you choose to export with. In which case diffuse color/albedo will go to diffuse, roughness to roughness. I'll skip metalness, because it requires a bit more math to do than just "plug X here". I made a rig for Modo that did this (For the PC version anyway), so I'm sure someone will pop in here and help you with the vRay equivalent.

 

 

Good luck!

Share this post


Link to post
Share on other sites

Hi and welcome...

The below though is not an answer to your questions but is very important to know.

Never, never do any work on layer "0" as you were doing in your video. It is reserved for 3DC's internal use. You will have problems if you do so... The layer is not locked, one just remembers after awhile not to work on it...

Always create a layer above layer "0"

 

P.S. I sent you a Pm about using Skype to help you understand some of the functions of 3DC that you are not clear on...  I would be happy to help you in this matter if you so desire. It would take took long to type answers and then respond back to more answers etc. A Skype screen session can speed up answers as you are a new user to 3DC..

 

I might not have the answer to your VRay rendering but the type of workflow you are using in 3DC is crucial when exporting maps for renderers, games engines and others. There are several areas that need to be setup correctly for each workflow you choose. Once that is done, then you can work on your rendering problems knowing you have the correct 3DC setup for exporting your maps.

 

EDIT:

I think you will find this article interesting... It is how to get Substance Designer's PBR Metallic / Roughness Workflow to render correctly in VRAY.. This will very very similar to  3DC's PBR  Metallic \  Roughness workflow. The article covers a few other renderes as well.

http://polycount.com/discussion/155524/pbr-basecolor-metallic-to-vray-3-2-corona-redshift-arnold-converter

Edited by digman

Share this post


Link to post
Share on other sites

Hey javis  I just want to be sure I understand  that while working in 3Dcoat the viewport  is gamma 1.0 linear and  the final render output is in sRGB which is  2.2 gamma ?

  • Like 1

Share this post


Link to post
Share on other sites

LOL... been a long night, err now morning... adding words or not putting in the right word... I did some correcting below from my other post.

 

 "It would take too long to type answers and then respond back to more questions etc"

Edited by digman

Share this post


Link to post
Share on other sites

Whenever you click on a channel button in Max's material editor, it brings up an image import dialog, where you can set the gamma. You typically choose different gamma settings for color and non-colored images. If you are using the Applink, my guess is they have no distinction and that may be why. Perhaps Andrew can chime in, here.

Share this post


Link to post
Share on other sites

Yes, you can load of course every single image with a different gamma. You can also use gamma correctionn nodes.

However, it's of course a pain doing this with every single image. That's why it would be great, if the images would have already the correct gamma when exporting from 3dcoat.

I made another video about my progress which can be found here:

http://www.bernhardrieder.com/3d-coat/

I appreciate any little help making this work. Again if you can tell for sure what map belongs to what slot of a VrayShader - would be great.

@note:

Digman mentioned the post over at polycount. However, they have been running tests exporting maps from Substance Designer, which is creating an IOR map. This map can't be exported from 3d coat.

So any recommendations where the major maps should be used within the VrayShader, that would be my goal.

- albedo

- specular

- metalness

- roughness

Also interesting that when exporting the albedo map with the spec gloss workflow, you get black pixels all over. Not sure if it's for a mask, or what ever and why the albedo map is different when you export the albedo map from metalness/roughness.

You see.. lots of undocumented and unknown factors... at least for me at this point.

Again, thx for any little help making this work. Love 3d coat so far, just need to find the right workflow to use it within my production pipeline.

I am going to post all tests and updates on my page and hope to get help from the master itself, Andrew.

Cheers and happy pixeling !

Share this post


Link to post
Share on other sites

Yes, the information on Substance Designer was just to show a method, of Roughness / Metalness converted for VRay. That a conversion from SD roughness / Metalness work to a Vray material setup was at least possible and then maybe possible from 3DC...

 

I am also in contact with my friend, (a professional 20 year 3DMax user) who might later have some answers from his own sources..

 

EDIT: I removed my IOR stuff for SD, as I was incorrect. The Base Color / Metallic / Roughness converter node in SD when you select VRay as the target adds a IOR output in the material converter.

Edited by digman

Share this post


Link to post
Share on other sites

It's hard to say what map fits where because EVERY render engine is different. In VRay, I would contact Andrew, directly (support@3d-coat.com), and also contact Vlado at Chaos group (he's pretty active on their forums, so that would be the first place to check as only they could answer definitively. Andrew would have to take a guess, as the PBR tech is really designed for game engines....not so much for standard 3D rendering. It can and is done, but one needs to get with the developers of your preferred renderer.

 

In the mean time, if you try the Gloss/Specular Color output, I don't know where you would plug the Spec Color into...unless you use some kind of additive math node to the diffuse/color slot. If you try to export using Roughness/Metalness, the roughness map for PBR isn't the same as the roughness channel. VRayMTL also doesn't have a Metalness channel, so I don't know where you would try to plug that map into. Basically it's gonna take some kind of hack on the user's part until these render engines do something to accomodate artists trying to use the new PBR tech coming from 3D Coat, Substance Painter, and dDo. This is a lot like the Ptex and Vector Displacement map technologies. Standard Render engines weren't designed to use them and had to come up with their own solutions. So, don't get frustrated with 3D Coat. Andrew is just trying to stay ahead of the curve, as his competitors started pushing PBR. 

 

It's cool technology, but 3D render engines are going to have to try and keep up. For example...Thea came up with their own Substance Material convertor. I can even use the output maps from 3D Coat with that convertor to generate a Thea Material. VRay needs to do the same. You might ask Vlado on the ChaosGroup's forum, if he can provide a similar convertor.

 

Here is a link to someone's expertise on applying PBR maps to VRay:

https://docs.google.com/document/d/1z8BP1_3gvpsJLswUVZX8lWUyU0hpZ55Dd-LCHo26c_g/view

 

Here is an important quote from it:

"

The Issue

Game engine compatible PBR textures don't natively work in VRay, Mental Ray, or other renderers I know of.


In popular renderers, complex hypershade node graphs are needed to use the same textures from modern game engines. If artists want to use game PBR textures in Maya with VRay, the textures have to be connected in very special ways.  This can be done manually in the Hypershade, or by using a premade shading network that already has those connections. (I have an example shading network I made that does that.)




Why?

As you likely already know, game-PBR textures are incredibly useful in games, but they are also a giant hack.


A great example of good usage is here:

http://artisaverb.info/Cerberus.html


Essentially, game-PBR shaders needs only an albedo map, metallic map, and a normal map.  A seperate glossiness map can be used, but it's usually just in the metallic map's alpha channel.  In games, the most common convention is to use the metallic map's red channel for metalness and the metal map's alpha for glossiness.


This is accomplished in game-PBR by using the metallic, to drive a bunch of other settings.  These include desaturation functions diffuse/specular weighting functions, and fresnel/ior functions.


This allows game engines to avoid needing specular maps and ior/fresnel maps. Sometimes there are optionally specular inputs as well, but one major point to game PBR textures is saving disk/ram/vram space by needing only a total of 5 channels for specular shading relevant textures. ( albe.rgb,  metl.r, metl.a).  In most images, This also usually provides 2 spare channels which could be used for other purposes (metl.g and metl.B).


In game engines, it's all done in a way that isn't at all obvious to the artist, but tends to just "look good" when the right tools are used. This workflow has taken over the game's industry by storm, so its not something we can avoid.


By contrast, VRay doesn't normally use those map types.  VRay is very physically based, and thus people have used the words PBR when talking about VRay for quiet sometime.  VRay however is actually much more accurate, but it's method of controling the shaders is obviously a lot more complicated.  VRay uses have to deal with a tons of extra settings, and there is no obvious way to plug in game style Pbr maps into VRay.


The same things applies to virtually any decent renderer, in which game-PBR textures don't automatically work.  (Renderman, Arnold, Maxwell, Octane, Cycles, Lux.)


I do, however, have a solution.





Solution

Use a bunch of nodes/math on the maps in Vray and Maya.   Although it isn't very "obvious", it is possible to get VRay to do the same math that game engines do for rendering game-PBR textures.  (or at least close to the same math)


As a demonstration, I've put together a shading node network in Maya/Vray that uses Pbr maps as inputs. It's not or script or anything, just a Maya scene with a material in it.   (I might also write some code to build the shader procedurally, but I haven't yet.)


I think the math I've done is "pretty good" so far.  Visually it provides an extremely close approximation.  It tends to just "look good" if the same game-PBR maps are used in a typical VRay scene setup.






How Does It Work?

Essentially the metalness map and glossiness map drive some settings.  The most important are given below...


  • The reflection color (often just nicknamed "spec") is created by taking the albedo map, and making it's saturation based on the metalness.  When metalness is low, the relection color is desaturated.
     

  • Since ior affects reflective look a lot, the ior for reflections and refractions is driven by the metalness, which lerps (blends) two different input ior values.  Currently they are just reasonable defaults, but they could be adjusted.  High metalness should give ior around 20, low metalness, ior much lower, around 1.1 or 2.  Where to put those numbers is pretty subjective.  It might be worth looking up what numbers and math Unreal 4 and Unity use.
     

  • The diffuse texture is multiplied by the inverse of the glossiness, since diffuse should only show up in rough parts of the texture."

Share this post


Link to post
Share on other sites

Thx digman and thx ABNRanger,

 

so far my latest update documented on this youtube video:

 

I already posted in the chaosgroup forum and hope to hear back from vlado and the team.

You can find the post over here:

http://forums.chaosgroup.com/showthread.php?85399-GGX-Shader-PBR-Shader-reproduction

 

On top of it, I sent the question to their support team.

 

And finally, I also sent Andrew from 3d coat an email with my latest tests, questions and attempts.

 

I'll keep you posted with the progress !

Share this post


Link to post
Share on other sites

Thx digman and thx ABNRanger,

 

so far my latest update documented on this youtube video:

 

I already posted in the chaosgroup forum and hope to hear back from vlado and the team.

You can find the post over here:

http://forums.chaosgroup.com/showthread.php?85399-GGX-Shader-PBR-Shader-reproduction

 

On top of it, I sent the question to their support team.

 

And finally, I also sent Andrew from 3d coat an email with my latest tests, questions and attempts.

 

I'll keep you posted with the progress !

I'll ask Andrew if he can get in touch with the developers of Vray (Vlado) and Mental Ray...and maybe Octane, to come up with a guide to exporting maps for those renderers. I asked him about this before, but nothing came of it. So, I'll ask him again.

Share this post


Link to post
Share on other sites

I sent the link through Skype as well. I am posting the information here as this can help in the possible implementation of a converter for VRay and other renderers as well in 3DC.

Hopefully this thread will help Andrew on seeing more of the crucial need for some converters in 3DC. Right now you would need to create your Metallic / Roughness maps in 3DC, reopen them in SD, run them through the converter and then to VRay. Companies are making converters as the PBR market is becoming quite popular...

 

I found a video on SP to VRay. He starts out in SP but switches to Designer for the converter. You have to turn up the video really loud as it is low in volume.  The setting up of the exported textures maps in VRay starts around the 14:00 mark. Something here might help in figuring out a 3DC to VRay method. The 12:00 mark is where he appears just to be setting up the background in Vray. Early part of the video is SD work, watch closely and you will see that the maps that need conversion to linear are done by the converter... 

 

Edited by digman

Share this post


Link to post
Share on other sites

Creating IOR from metallic channel might not be possible in 3D-Coat. The pixel filter from the SBS uses a square root function which I'm not sure how to reproduce in 3D-Coat's paint layer blending system.

With nodes it is simple to generate IOR. I don't know if Max is capable of image processing via mathematical nodes or something similar, but if it is, then reproducing the converter should be a breeze providing you beforehand inspect the SBS graph that Digman linked here.

Share this post


Link to post
Share on other sites

Here is another one on youtube, covering SP to VRay. Seems to me, maybe exporting out of 3DC using Gloss/Metalness method and plug the following into the VRay channels:

 

3DC Color Map > VRay Reflection channel (leave the DIFFUSE slot black because all metals are black...color comes from reflective/specular color)

 

3DC Glossiness Map > VRay Glossiness channel

 

If you have non-metal materials as well as metal, on the same model, you may want to use a VRay Blend material and use the Metalness map as an alpha (like he does late in the video). But, otherwise, I didn't see anything but the diffuse and glossiness maps used.

 

Share this post


Link to post
Share on other sites

....oh, I forgot to mention that in the SP to Vray video, he simply turned the Reflection IOR value up manually, to 20. And remember to set the BRDF to GGX.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×