Taros

Twitter discussion: What Andrew is currently doing.

1,077 posts in this topic

 

Most of this discussion seams to be about game engines I'm assuming expert to animation programs like LightWave will still work normally as well?

 

i just hope that 3dcoat will provided to us three typeq of precomputed shader  to work with the various methodology, old school, pbr metalness and pbr Reflectance.

just that it seem its will not be compatible with metalness workflow, for some reason that i would explain in the different post.

Share this post


Link to post
Share on other sites

For skin shading...SSS is needed. Andrew already wrote it was planned. :)

(this is what I meant when I wrote "answer is in previous page")

:good2:

Share this post


Link to post
Share on other sites

on the first image , i demonstrate that UE4 don't need specular map to trender correctly, this the Methodology employed by epic game devs, so this way you could plug your albedo into diffuse, metallic into Metallic,  roughness already handle the specular effect, and the albedo provide the color of the specular effect.

This it the realistic demo and i used ue 4.5

 

ue4-metallic-shader-setup-no-specular.jp

Now i would like to share with you how unreal engine developper must to handle the pbr material from the reflectance workflow  to get an acceptable rendering : ( source : Gametextures.com PBR material into UE4 )

ue4-gametexturecom-reflectance-setup-in-

 

Details :

metallic value are interpolated and i use some constants variables to define them.

masks are used to define the type of material roughness (read that RGB value has different grey value)

roughness is inverted with a One Minus node, then a clamp node is added to remove the pure black and the pure white ( note : values are a bit exagerated on the capture ^^)

I had recreated a pbr metalness material into substance deisgner, the problem is exactly the same than with UE4, specular is necessary to get acceptable specular reflection. you must to add the speuclar map !

UE4.6 is downloading, but i will download quixel demo again, but that i am sure the materials must to have a specular map plugged into the materials to get an acceptable rendering.

So now honestly, i will not use this METHODOLOGY, it seems that 3dcoat is going to the wrong direction,  i want my specular to be defined directly into the roughness, this is for performance purpose, it can work with a very small level, but a level with thouhand of mesh and materials, that is just simply not acceptable, the additional time of work the workflow is goiing on with 3dcoat, would impact the artist, and how to say if with your final composition your level will not will look  all false.

 

UE4 Shaders Constraints : when you create shaders with the material editor of UE4 is that we are limited in the number of instructions and the number of texture sample we can call per shader. multiply by the number of actor in your scene and your can ensure that it will reduced the perfrmance. it would be not a good idea to create material layer with such of tweaked shaders.

 

This is definatively the workflow i am looking for the resason mentionned below ,  cause it would simple increase the ratio the make cohabit correct material that use full metalness workflow, to cohabit with the retro ceonverted reflectance pbr shader.

An important detail that nobody should forget about pbr material , in game engine that support pbr technics,  the Global illumination as a big impact on the rendering, that is somthing that you could take in charge.

 

For Andrew, if you need an UE4 user as beta tester, just ask :)

Edit : sorry the second screen was not correct but i had reuploaded the image.

Edited by fuzzzzzz
2 people like this

Share this post


Link to post
Share on other sites

as i have nothing special planned tonight, i just had done some test into substance designer

1. here i just have grab the same free and pbr ready material  available here at game textures.com

this is a glossiness workflow in substance designer with the proper shader eneble in the 3d view

 

 

substancedesigner-gametexturecom-reflect
 

2. here is a metallic workflow but without specular layer :

that 's my own prefer setting gloss map is inverted and i apply a clamp to remove pure black and write value. (the specular is disable don't take care about these nodes :o)

 

substancedesigner-gametexturecom-reflect

 

 

3. here it the same material that the previous graph but i had added the specular map that i blend it with the roughness map as it is done on UE4 quixel demo.

 

substancedesigner-gametexturecom-reflect

2 people like this

Share this post


Link to post
Share on other sites

according to allegorithmic the specular map is not necessary all specular data are stored into the albedo( diffuse)

this way, quixel demo is wrong and the game texture tutorial is also completely wrong :/

Share this post


Link to post
Share on other sites

according to allegorithmic the specular map is not necessary all specular data are stored into the albedo( diffuse)

this way, quixel demo is wrong and the game texture tutorial is also completely wrong :/

 

I made quite a few tests using Unreal4 and 3Dcoat and it worked fine...

 

.I dont understand why you say 3DCoat is not compatible with metalness workflow....

 

-Metalness is easy as it get ; black and white..0,1. :) (its highly recommended in UE4 docs to not make materials partially metallic using midvalues)

-Andrew already stated we'll be able to export roughness without need to invert glossness...

-And exporting a base color/albedo from Coat is as easy as it get too...

I really don't see the problem here.

 

Unreal4 documentation is pretty clear as to leave the specular slot empty....

2 people like this

Share this post


Link to post
Share on other sites

I just tested this  rougness/ metalness in cycles. Roughness is just mapped to glossy roughness,  metallnes is maped to fresnel. So the higher the fresnell is the more metalic it looks. I made it twice once for white gloss, and once for red gloss. For me it seems Andrew test was looks ok. But I hope we will be able to color spec and diffuse separately so we could receive results similar to first image too.

post-37682-0-06248600-1416059289_thumb.j

post-37682-0-95660700-1416059294_thumb.j

2 people like this

Share this post


Link to post
Share on other sites

I just tested this  rougness/ metalness in cycles. Roughness is just mapped to glossy roughness,  metallnes is maped to fresnel. So the higher the fresnell is the more metalic it looks. I made it twice once for white gloss, and once for red gloss. For me it seems Andrew test was looks ok. But I hope we will be able to color spec and diffuse separately so we could receive results similar to first image too.

Cycles is not a physically based renderer I think....(there is no energy conservation)

unless you use this shader (which seems a little experimental)

http://blenderartists.org/forum/showthread.php?344533-PBR-Shader&p=2695511#post2695511

Share this post


Link to post
Share on other sites

Thats true. Cycles use BSDF and PBR use BRDF.

You could only tweak the BSDF shaders and texturemaps to archive similar results like in Substance Designer or Marmorset, but not 1-1.

 

Not sure if you could create a working OSL shader.

Share this post


Link to post
Share on other sites

Artamn, Cycles is physically based rendering engine for sure, eg. see here. What you posted is just another realtime PBR rasterization example, but it is not as accurate as Cycles path traced rendering. Actually guys developing Frostbite engine were using Mitsuba (another renderer similar to Cycles) as reference,when they  were developing PBR based materials for their engine.

Malo, it seems that  BSDF = BRDF + BTDF (I checked that in wiki), so actually blender can easily simulate Substance Designer, Marmoset and other BRDF based materials, because It is suporting both BRDF + BTDF. But the same thing is not true in reverse, so eg. marmoset cannot simulate refractions.

My point is - it is not Cycles that should try to emulate 3dc, SD or Marmoset material, because it is already more advanced that those - see this pbr. here, where guy is emulating PBR BRDF. It is 3dc, SD and others that are trying to catch up with cheap aproximations, to raytraced rendering engines like Cycles, Mitsuba or Arnold. 

Anyway, I hope we will be able to simulate fresnel in 3dc, which is important for all dielectric materials (nonconductors) like wood, bricks, marble, etc. And then metalicity should be just 0-1 switch to change from dielectric(nonmetals) to conductors (metals).

And one more thing - actually node setup made by this guy  covers perfectly all dielectrics and conductors, so this is good reference of how it should be done. Bu it suppose if 3dc has to be compatible with Marmoset and SD it may be not posible

Edited by JoseConseco
3 people like this

Share this post


Link to post
Share on other sites

Thanks for the infos.

But still, i dont get similar results with the "fake" PBR shader in Blender as i get in Substance Tools.

 

Take a look at this.

Blender

post-24378-0-17189600-1416162554_thumb.j

 

Substance Designer

post-24378-0-89434800-1416162566_thumb.j

 

You see. Blender and Cycles looks realy different.

I only put my texturemaps into the slots and dont change anything from the basic file.

I my eyes, Blender and Cycles could not handle PBR.

 

Sure it is a Phydical Based Render, but mor like Octane or Vray and not Realtime PBR like you have in Game Engines.

Maybe if the BGE PBR is done, then it could handle it.

Edited by Malo

Share this post


Link to post
Share on other sites

I suspect that the difference is that Cycles is an unbiased engine, whereas Substance Designer, like game engines, is biased.  Vray should render a similar image as it's biased as well, at least you should be able to render it so it looks like Substance Designer's render.   Personally I like the Cycles render better, it looks more real to me, but that depends on what your after.  

Edited by Grimm

Share this post


Link to post
Share on other sites

Malo - for me seems you do not have environement map reflections set up corectly. There is no eg. sky reflection on your gun in blender render. In your SD render fresnel reflection is visible, but in cycles not at all.

Share this post


Link to post
Share on other sites

Preview ball for materials -




 

 

 


 









  1. @AndrewShpagin @the_berd Looks very useful! Is this something that might become downloadable? Looks great!


    0 replies 0 retweets 0 favorites

     

     

     


     











  2. @MoGrafik Beta with that features comes approx in a week





3 people like this

Share this post


Link to post
Share on other sites

@JoseConseco

The World Enviroment is setuped correctly as far as i see.

And Fresnel isn´t in use, thats true, because in a PBR enviroment you don´t need it. Fresnel gets calculatet automaticly in the BRDF shader based on your input maps.

 

Take a look at this.

 

and this is interesting too.

http://www.marmoset.co/toolbag/learn/pbr-practice

 

 

Fresnel generally should be set to 1 (and is locked to a value of 1 with the metalness reflectivity module) as all types of materials become 100% reflective at grazing angles. Variances in microsurface which result in a brighter or dimmer Fresnel effect are automatically accounted for via the gloss map content.

Note: Toolbag 2 does not currently support a texture map to control Fresnel intensity.

Fresnel, in Toolbag 2 and most PBR systems, is approximated automatically by the BRDF, in this case Blinn-Phong or GGX, and usually does not need an additional input. However, there is an extra control for Fresnel for the Blinn-Phong BRDF, which is meant for legacy use as it can result in non physically accurate results.

Edited by Malo

Share this post


Link to post
Share on other sites

All materials have Fresnel. 

'Fresnel generally should be set to 1 (and is locked to a value of 1 with the metalness reflectivity module) as all types of materials become 100% reflective at grazing angles.'

 

This sentence makes no sense, because Fresnel defines how fast reflection is increasing from middle to edge of object, and yes it always 100% at edge. So you can have low, medium or hi Fresnel value and in all those cases you would have 100% reflexion at edge.

To debug your env map reflection problem, It would be best to use chrome ball, to see if it is reflecting any of skybox image. you can use just simple glossy shader for that.

 

Try reading this http://blog.selfshadow.com/publications/s2014-shading-course/hoffman/s2014_pbs_physics_math_slides.pdf

After page 45 there are examples of different kind of materials - metals (copper, aluminium, gold), nonmetals (plastic,water,dimond) and all of those are using Fresnel equation to define how light is reflected from surface.

And in all those cases reflectance at edge goes to 100%

Edited by JoseConseco

Share this post


Link to post
Share on other sites

Wes McDermott from allegorithmic quote:

Hi,

Here is how the map types work.

Metal Rough Worfkow

Base Color
Raw color with no lighting information. Small amount of ambient occlusion can be baked in if using it for micro-surface occlusion. The color range for dark values should stay within 30-50 RGB. Never have dark values below 30 RGB. The brightest color value should not go above 240 RGB.

Roughness
Describes the microsurface of the object. White 1.0 is rough and black 0.0 is smooth. The microsurface if rough can cause the light rays to scatter and make the highlight appear dimmer and more broad. The same amount of light energy is reflected going out as coming into the surface. This map has the most artistic freedom. There is no wrong answers here. This map gives the asset the most character as it truly describes the surface e.g. scratches, fingerprints, smudges, grime etc.

Normal
Normal map

Metallic
Tells the shader if something is metal or not. Raw Metal = 1.0 white and non metal = 0.0 black. There can be transitional gray values that indicate something covering the raw metal such as dirt.

* With metal/rough, the areas indicated as metal in the metallic map have a corresponding metal reflectance value in the base color map. The metal reflectance value in the base color needs to be a measured real-world value. Transitional areas in the metal map (not raw metal 1.0 white) need to have the metal reflectance value lowered to indicate that its reflectance value is not raw metal.

Also, with metal/rough, you only have control over metal reflectance values. The dielectric values are set to 0.04 or 4% which is most dielectric materials. The dielectric is hard-coded by the shader and you don't need to set it in Substance. Some shaders add a specular control that allows you to change the fresnel reflectance value at 0 degrees.


Specular Glossiness Workflow

Diffuse
Raw color with no lighting information. Small amount of ambient occlusion can be baked in if using it for micro-surface occlusion. The color range for dark values should stay within 30-50 RGB. Never have dark values below 30 RGB. The brightest color value should not go above 240 RGB.

Glossiness
This map is the inverse of the roughness map. White 1.0 is smooth and 0.0 black is rough. Describes the microsurface of the object. The microsurface if rough can cause the light rays to scatter and make the highlight appear dimmer and more broad. The same amount of light energy is reflected going out as coming into the surface. This map has the most artistic freedom. There is no wrong answers here. This map gives the asset the most character as it truly describes the surface e.g. scratches, fingerprints, smudges, grime etc.

Specular
This map contains the reflectance information for both metal and dielectrics (non metal) surfaces. This is a key difference in the metal/rough and spec/gloss workflows. The same rules apply. You need to use measured values for metals and most all dielectrics will fall with the 0.04 - 4% range. If there is dirt on the metal, the reflectance value needs to be lowered as well. However, you can add different values in the specular map for dielectric materials since you have control to author the map.

Normal
Normal map


Cheers,

Wes

2 people like this

Share this post


Link to post
Share on other sites

post-10142-0-51327500-1416712529_thumb.j

 

post-10142-0-56410500-1416659777_thumb.j

post-10142-0-18951800-1416659779_thumb.j

post-10142-0-91341800-1416659770_thumb.j

post-10142-0-02333100-1416659773_thumb.j

post-10142-0-94436300-1416659775_thumb.j

post-10142-0-50482300-1416659785_thumb.j

post-10142-0-53992300-1416659830_thumb.j

 

 

3 people like this

Share this post


Link to post
Share on other sites

so no more "stamps"...I think it's really feels like materials now...even if it is just  layered multi-channel projection. Its a totally stand alone painting module itself as complete as like zbrush lightspot....can't be called just stamps.

 

 

it does not seem possible at the moment to use stamps without creating at least one mtl layer....so I don't see how they can be used "by themselves." Anyway, I tried a very early build so I'll see when complete version comes out...

 

 

I see what you are meaning now. It's interesting. Very powerful to use. Definitely not a stamp any more. Smart Material. :)

Share this post


Link to post
Share on other sites
post-1232-0-79637400-1416711938.jpg

 

Smart Materials in action. Texturing all 3DC, dirt in cavities, worn edges, some AO, also a bit of overall texturing. Rendered in Modo.

post-1232-0-79637400-1416711938_thumb.jp

Share this post


Link to post
Share on other sites

I see what you are meaning now. It's interesting. Very powerful to use. Definitely not a stamp any more. Smart Material. :)

Smart materials is really good name but....its somehow been coined by DDO....they probably did not register that but I still think something else should be used .....I think the "Coating tool" is very good..(but you'll probably find it too cryptic) but its really what it does and its tied up around what 3DCoat was in the beginning "a multi-channel painting app" .Its really a tool I feel...various mode of projections are in there,it has a gizmo for placement,the layered multi-channels are just integrated inside it but its really a tool....Pixologic were never afraid to be bold with some naming choices like "lighspot"(nothing to do with lighting) and Paintstop (little mix between Pitstop and paint) so I think "Coating tool" is pretty cool...but Im not gonna push further with that name...at this point anything but stamps will be better.

 

In Substance Painter its simply called "projection"....feels like a "painting mode"...which is how it behaves in 3Dcoat too.

Share this post


Link to post
Share on other sites

Yeah I proposed a few different names, before I tried it. I was thinking Patina (http://en.wikipedia.org/wiki/Patina). Then Andrew tells me has a name already, "Smart Materials", so on that one, I think he'll need persuaded if anyone wants to change it's name.

 

It's definitely not a stamp though. So all that name changing for materials... Back to materials, or something else. I guess (see) we'll what Andrew says on that, if he wants to keep the name he gave or not.

 

 

EDIT: Not my night for grammar. :)

Share this post


Link to post
Share on other sites

Smart materials is really good name but....its somehow been coined by DDO....they probably did not register that but I still think something else should be used .....I think the "Coating tool" is very good..(but you'll probably find it too cryptic) but its really what it does and its tied up around what 3DCoat was in the beginning "a multi-channel painting app" .Its really a tool I feel...various mode of projections are in there,it has a gizmo for placement,the layered multi-channels are just integrated inside it but its really a tool....Pixologic were never afraid to be bold with some naming choices like "lighspot"(nothing to do with lighting) and Paintstop (little mix between Pitstop and paint) so I think "Coating tool" is pretty cool...but Im not gonna push further with that name...at this point anything but stamps will be better.

 

In Substance Painter its simply called "projection"....feels like a "painting mode"...which is how it behaves in 3Dcoat too.

 

Coating

Material Coats

Coats

Coating Tool

 

I agree, something like that seems pretty good.

Share this post


Link to post
Share on other sites

Yeah I proposed a few different names, before I tried it. I was thinking Patina (http://en.wikipedia.org/wiki/Patina). Then Andrew tells me has a name already, "Smart Materials", so on that one, I think he'll need persuaded if anyone wants to change it's name.

Smart Materials is really a good name but I dont know if he's aware its already been picked ...

post-1195-0-38254400-1416733722_thumb.jp

Share this post


Link to post
Share on other sites

Smart material

 

Smart materials are designed materials that have one or more properties that can be significantly changed in a controlled fashion by external stimuli, such as stress, temperature, moisture, pH, electric or magnetic fields.

Other keywords related to smart material are such as shape memory material (SMM) and shape memory technology (SMT).[1]

 

------------------------------------------------------------------------------------------

 

Shape

A shape is the form of an object or its external boundary, outline, or external surface, as opposed to other properties such as color, texture, material composition.

Share this post


Link to post
Share on other sites