Jump to content
3DCoat Forums

PBR in Blender Cycles


arumiat
 Share

Recommended Posts

  • Advanced Member

This was an interesting thread to come across.

 

I was a bit taken aback the other day when I brought a model into Blender from 3DC and opened up the node editor to find this.

post-38412-0-45821600-1421180642_thumb.p

 

I was sad to switch to rendered shading and the 3D coat material to not display but is there a way to recreate 3DC materials within Blender then? Are they based on the same/ similar underlying 'nodes'?

Link to comment
Share on other sites

Link to comment
Share on other sites

  • Contributor

I use this for my projects

 

http://www.blendswap.com/blends/view/76325

 

There is another Shader Setup.

https://matthieubarbie.wordpress.com/2014/11/23/pbr_shader-1-5-for-blender-2-72b-documentation/

 

This one have more options and an extra Node for IBL lightning.

  • Like 3
Link to comment
Share on other sites

  • Advanced Member

I use this for my projects

 

http://www.blendswap.com/blends/view/76325

 

There is another Shader Setup.

https://matthieubarbie.wordpress.com/2014/11/23/pbr_shader-1-5-for-blender-2-72b-documentation/

 

This one have more options and an extra Node for IBL lightning.

When I checked the second link I noticed there was an update to PBR_SHADER 1.75 for Blender 2.73.

https://matthieubarbie.wordpress.com/2015/01/12/pbr_shader-1-75-for-blender-2-73-documentation/

  • Like 2
Link to comment
Share on other sites

  • Contributor

My understanding of shaders is limited. Is there a way to create material in Cycles that will work in 3DCoat?

 

Thats why we post some links for you.

You only need the model and textures from 3d coat, there is no need to understand the nodes compledly in cycles.

Simple put your Albedo, Normal, Metallic and Roughness maps into the right slots and hit render, thats all.

 

But no, there is no way to create a Cycles material that works in 3d coat, or in the other way.

Both use its own shading and material system.

Edited by Malo
  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

These settings I find so far work best for me exporting out of 3DC and using the Dual PBR shader in Blender.

GGX shader under the view window in 3DC for rendering in the 3DC viewport. In Blender the Dual Shader uses the Ashikhmin-Shirley distribution setting and not the GGX in the Glossy BSDF Shader. I have not tried setting the dual shader to GGX under the Glossy BSDF.

Export Roughness and Metalness in the export settings panel.

 

Blender: Dual Shader, selection of course is Metalness and Roughness.

 

The above appears to get me best match of the Teapot of what I see in the 3DC viewport and when I render in Cycles.

 

This Gloss (roughness) and Metalness setting from the  3DC export panel, the Gloss (roughness) map did not work nearly as well as the Roughness map...

 

The above is all a learning in progress and open to change but so far that seems to work out the best.

 

PDF Link to the Ashikhmin-Shirley Microfacet-based BRDF Generator

http://www.cs.utah.edu/~shirley/papers/facets.pdf

 

I am not a math major by any means but general principles on what they created is an interesting read...

 

By the way thanks for the Links Malo... :drinks:

Edited by digman
  • Like 1
Link to comment
Share on other sites

  • 4 months later...
  • Member

I have also problems with the normal map with the PBR Shader Vers. 1.75. It gives in some areas (were shadows should be) very dark and sharp shading results. With the dual shader

it does not happen, but i don't have then the shiny shading results, the surfaces look matte then.

Link to comment
Share on other sites

  • 1 month later...
  • 6 months later...
  • Moderator

Guys, I think I've made a Complex (but with simple inputs) PBR shader for Cycles based on this guy's videos

I guess it is a kind of similar to Simple PBR v4, but a bit different

These are screenshots from 3DC viewport and render with cycles (with black background)

What do you think???

 

P.S. Blend file in attachment

post-896-0-09505300-1453823521_thumb.jpg

post-896-0-74343800-1453823521_thumb.jpg

Shader+HDRI.zip

  • Like 4
Link to comment
Share on other sites

  • Moderator

Key thing is playing with RGB curves for Roughness map (Color or Non-color data), for Metallness map I found Non-color data work more closely to what I see in 3DC.

 

Anyway, need your tests!

 

P.S. Shader is very cool for working even without textures!

  • Like 2
Link to comment
Share on other sites

  • Reputable Contributor

Guys, I think I've made a Complex (but with simple inputs) PBR shader for Cycles based on this guy's videos

I guess it is a kind of similar to Simple PBR v4, but a bit different

These are screenshots from 3DC viewport and render with cycles (with black background)

What do you think???

 

P.S. Blend file in attachment

Can an experienced Blender user record a little video demonstration of using this in conjunction with the Blender Applink...similar to how the 3ds Max applink video was done?

 

https://www.youtube.com/watch?v=Pwde7LiJA38

  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

A Test with Daniel's PBR shader...

I found that from an artistic point of view, adding a specular color map helped bring out the details...

I did do some color mangement.

Further testing before commenting and adding suggestions... I will had one though, I would like to have more control over the oxidize copper. This is happens in the simple pbr shader too. It seems on oxidize materials the metal part tends toward the lighter side.

On the next post, I will had my setup details.

I had watched a few of those shader tutorials several days ago. Very interesting.

It is an excellent shader by the way, Daniel.

 

EDIT:

If I add a specluar color map to the simple PBR shader I use, then the orixdize copper is a darker richer tone shown in last picture.

post-518-0-73140600-1453918255_thumb.jpg

post-518-0-40908500-1453920140_thumb.jpg

Edited by digman
  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

Ok, here is a problem both with the the simple PBR  and Daniel's Shader that I am finding, I have not tested many objects yet, but will has time allows.

Using the metalness--roughness with the The GGX shader in 3DC.

Shader is setup correctly in Blender.

 

The brown to black problem does not appear till I add the normal map when I do the brown areas in 3DC appear but are black in Blender Cycles.

In the albedo map the brown color is not there.

Whether this is a smart material problem, export albedo 3DC problem or a PBR shader problem, I do not know.

 

EDIT... The above is different material setup in 3DC that the one I showed in my other post.

 

Upon looking at some smart materials not created by me, I am finding the metalness in some them not set at 100% in the smart material.  Metal in the metalness - roughness workflow is either all metal or a dialectic material. The roughness of metal or the Micro-faceted surface is controlled though the roughness setting. This determines the reflected quality of the metal. Either sharp or blurry to whatever degree depending upon the roughness of the metal.

Any oxidation or paint etc... on top of that would be a dialectic material... non metal.

The above is my understanding of the Metalness---roughness workflow.

 

The cube, top part, metal is all metal, roughness 0% in the smart material.

bottom part, metal is all metal but roughess set at 5% in the smart material.

Dialectic material would be built upon these bases.

Metal can be less than 100% for transitions but generally is either metal or non-metal but having a transition in a smart material  for the Metalness--Roughness workflow might mess up the shader in Blender because we are using the metalness---roughness workflow. I tend to stick with metal being metal otherwise it is a dialectic material. I build all my dialectic material of top of the metal base. 

post-518-0-12412200-1453944946_thumb.jpg

post-518-0-85891100-1453947041_thumb.jpg

Edited by digman
  • Like 1
Link to comment
Share on other sites

  • Contributor

Some tests from me.

 

Substance Painter

post-24378-0-76900300-1453999669_thumb.j

 

3d Coat

post-24378-0-96828200-1453999652_thumb.j

 

Blender Simple PBR

post-24378-0-73685900-1453999657_thumb.j

 

Blender Daniel

post-24378-0-26441500-1453999665_thumb.j

 

 

Original textures are created with Substance Painter but this only for the reason why i have an image from Painter here.

As i see, Painter and 3d Coat have some little differences.It looks a littlebit brighter, maybe the Expose Vaule are different calculated.

Anyway.

Next are PBRSimple and the new one from Daniel.

Booth looks different as in 3d coat and Painter. SimplePBR have nice colors, but Daniel ones have nice metallic.

But i think Daniel ones darken thes colors to much.

 

I think SimplePBR works better overall.

Edited by Malo
  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

In further testing I found, that I can get  a closer match between 3DC and Blender, when I use 3DC's renderer. How they calculate the ENV maps appears different as well.

3DC Env lighting appears brighter as well than Blender's Env background set at 1.00, I have been boosting it to 1.2

I am using the same Env map in both applications.

Under Color management, I use View--- default, not film.

Look ----sRGB. Set to none or I test several sRGB "Lut'.  I do not know which sRGB "Lut" lookup table 3DC uses or if it even uses a lookup table.

Use Curves---Set to none. In testing I will use curves at times to try to match to 3DC rendering view.

 

An area I am testing is: Any grayscale in the metal map will produce dark areas or black areas of texture using the simple pbr and Daniel's pbr shader. These darker areas correspond to the grayscale areas in the metal map.

A below is a quote from PBR in Practice / Marmoset.

" For metallic surfaces – pixels set to 1.0 (white) in the metalness map – the specular color and intensity is taken from the albedo map, and the diffuse value is set to 0 (black) in the shader. Gray values in the metalness map will be treated as partially metallic and will pull the reflectivity from the albedo and darken the diffuse proportionally to that value (partially metallic materials are uncommon)."

In 3DC you have to be careful in the construction of your smart material, otherwise you will have the above problems at least from my testing so far.

 

I working through all areas to be able to have a standardized workflow and make a video to that extent...

As, I work through each area it gets easier to get WYSWG between the applications.

 

I agree with Malo, Daniel's Shader darkens the Albedo map more than my simple pbr shader.

Another test. though I had to to a little adjusting to the albedo map using the RGB curve node and some color management. This was due to the albedo map being darker.

A few of the smart materials had the metal / grayscale problem, I will fix them later. 

Again an outstanding shader with a few tweaks, I believe it will become the one I use.

post-518-0-46323500-1454018010_thumb.png

Edited by digman
Link to comment
Share on other sites

  • Reputable Contributor

Guys, thanks a lot for your heavy tests!!!

 

Unfortunately I don't have much time right now to get into it deeply, but I'm keeping my eye on this thread ;)

Hope will come back soon...

 

Anyway, you have a shader for tweakings and sharing :)

Thank You! for taking the time to make this very excellent Blender PBR shader, no easy task... I added two RGB curve nodes, one inside the metalic group and one inside the dielectric group for individual control of the albedo map. It is nice to have that separate control.  Soon after some more test, I do believe will become my goto PBR shader.

  • Like 1
Link to comment
Share on other sites

  • Moderator

I've noticed that roughness in 3D-Coat is 4 times stronger than in Cycles. So 50% of Roughness will correspond to about 12-15% in Cycles. That is very crucial for the final output. Colors can look "darker" because they are "wet", so you need to dry them out :)

I tried to lower the right point in RGB curves to 25% for Roughness map, and that worked almost instantly. That's not right, of course, so I had to make a curve more "curvy" :D

Results: 1 - 3DC viewport, 2 - Cycles, 3 - Curve profile. (EDITED pics)

 

I like cycles picture even more - that's all I need: a better picture :D

post-896-0-89713500-1454079368_thumb.jpg

post-896-0-58578700-1454081324_thumb.jpg

post-896-0-39010900-1454081369_thumb.jpg

  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

I've noticed that pictures a bit blurred here, so here is a link for rendered file and one more

 

P.S. IMHO it's all about Roughness map! So Curves rulez! :)

RGB Curves do rule for the roughness map set at Non-Color data...   :drinks:

Yeah, how Blender reads the non-linearize roughness map is different for sure.

I also set my Color Space to Rec 709 since I use an HDTV for a monitor.

post-518-0-16067500-1454089124_thumb.png

Edited by digman
Link to comment
Share on other sites

My opinion:
You will have to decide what you want.

 

Realtime PBR are never a "real" representation of a material. They are really good, but they currently does not hit the reality. The cycles renderings are a better representation in my opinion. So what would be better is to represent the same like it is in cycles and not to try to set the cycles result to be the same like in realtime engines.

 

We can be happy to have a very good PBR engine in 3D-Coat that represents materials "nearly" the same like in a pathtracer like cycles.

 

But your work is really good.

 

I planned to make some tests in blender too, but had no time for such things unfortunately.

Link to comment
Share on other sites

  • Reputable Contributor

My opinion:

You will have to decide what you want.

 

Realtime PBR are never a "real" representation of a material. They are really good, but they currently does not hit the reality. The cycles renderings are a better representation in my opinion. So what would be better is to represent the same like it is in cycles and not to try to set the cycles result to be the same like in realtime engines.

 

We can be happy to have a very good PBR engine in 3D-Coat that represents materials "nearly" the same like in a pathtracer like cycles.

 

But your work is really good.

 

I planned to make some tests in blender too, but had no time for such things unfortunately

I agree... We had real type of shaders for metals and dielectric materials in unbiased Pathtracers for years... PBR materials are just fast to setup and approximate reality...

 

 I think the 3 points sums up PBR in a nutshell. 

 

1. Increase richness of materials.

2.Materials responding correctly to many types of lighting and environments.

3.Artist simplified controls.

 

The below, is an part of article from Disney which I get the above information from: There are other articles that mentioned the same...

 

Brent Burley, Walt Disney Animation Studios

 

"Following our success with physically-based hair shading on Tangled [27], we began considering physically-based shading models for a broader range of materials. With the physically-based hair model, we were able to achieve a great degree of visual richness while maintaining artistic control. However, it proved challenging to integrate the lighting of the hair with the rest of the scene which had still used traditional “ad-hoc” shading models and punctual lights. For subsequent films we wanted to increase the richness of all of our materials while making lighting responses more consistent between materials and environments and also wanted to improve artist productivity through the use of simplified controls." 

 

In my renderings, I am more concerned in how the material is responding to many different lights and environments than an perfect match. I do try to match closely as that is from an artistic view and not a reality view...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...