Marmoset Albedo Color Checker
Here are the textures for the color checker object, a simple plane mesh to apply it to and a material that you can load into tb2 (import material from the material preset dropdown to load it):
You may need to re-scale the object as we do not have the per-object scale feature in TB2.
This should be easy to implement in 3rd party tools or engines too by simply loading the plane and textures. Just make sure to set the reflectivity to very low or zero and/or glossiness/roughness to very rough.
So what is this? Its a color checker object, based on standard color checkers generally used in photography. The values are based off of this: http://en.wikipedia.org/wiki/ColorChecker
A color checker is useful for a couple things:
1. If you're taking photographic reference, you should use a color picker to make it easy to set the correct white balance.
2. A color checker calibrated to the same industry standard values should make it easier to check if your albedo content is the wrong color, too bright, too dark, etc.
I'm also curious to see how useful you guys find this to be and if there are any other uses to this other than what I've mentioned above.
Oh and, credit where credit is due, this was Joeri Vromman's idea.
Playing around with the new curves feature. Color grading done using curves, not any of the other post effects, the lighting is the same for each shot as well.
Top three shots show how per channel adjustments can be used to fine tune the CA effect to your liking, essentially the same functionality as the lens correct filter in PS. Bottom shot shows how strength value can be pulled back for a subtle, reasonable, effect.
Wat! Is that like a camera attached to an object? Whatever it is, NEAT.
Other way around, but yeah, mesh attached to a camera. This isn't a new feature or anything though, you can do it by dragging any mesh (or light or other object) on top of the camera object to parent it.
Lee is working on an advanced variant of the metalness input type. This won't replace the current metalness input, but will be an additional option as most people probably won't need the extra features.
The big differences is we've added a specular slot which controls the reflectivity for non-metals (which is fixed to 4% linear in the standard metalness input). This should be useful if you are representing a material that has a reflectance of less than 4% (like skin) or more than 4% (like gemstones), this will give you more control over non-metals.
You can now set a couple things:
1. The baseline reflectivity (defaults to 0.04), the slider caps there but you can type in higher values manually
2. A texture input that multiplies on the base value, handy if you have multiple non-metal material types with different reflectance values
Value set to 0.08 with texture map controlling the 0-0.08 range
I want to stress again that this is not really necessary for most assets, but we are curious to know, especially from people that use engines with PBR shaders and secondary specular inputs, how helpful this feature would be and if there is anything else you would like to see.
PS: Yes, that is a per-texture visibility checkbox, coming to a Toolbag near you in 2.07.
You might want to allow us to choose between different mappings for this input that we can use for texture authoring. LaGarde and Rousier's paper on the Frostbite engine shows that they chose this mapping for their reflectance texture: f0 = 0.16 * reflectance * reflectance, which means that f0=0.04 if reflectance is 0.5 and f0=0.16 if reflectance is 1.0.
This works well because it lets you go all the way up to 0.16, which important for portraying semiconductors. I'm not sure how UE4 does it, but I think it's just a linear mapping: f0=.08*specular, which is not really as good as it doesn't let you accurately portray semiconductors. Anyway, could be good to give us a choice between the two. Cheers.
You might want to allow us to choose between different mappings for this input that we can use for texture authoring. LaGarde and Rousier's paper on the Frostbite engine shows that they chose this mapping for their reflectance texture: f0 = 0.16 * reflectance * reflectance, which means that f0=0.04 if reflectance is 0.5 and f0=0.16 if reflectance is 1.0.
This works well because it lets you go all the way up to 0.16, which important for portraying semiconductors. I'm not sure how UE4 does it, but I think it's just a linear mapping: f0=.08*specular, which is not really as good as it doesn't let you accurately portray semiconductors. Anyway, could be good to give us a choice between the two. Cheers.
Thanks for the input, we would like to support what Frostbite is doing, so we may look into adding some extra functionality for the mapping as well.
I could probably add that functionality in the form of a "curve" input value or something, where it adjusts the reflectance by pow(specular, curve);
either that, or just keep it simple and have a "pow2 curve" checkbox which would match frostbyte exactly.
the problem we have though, is that we're only aware that frostbyte does this. we know UE4 doesn't do it, and our target has to be engines that are publicly available to use... purely from the point of view that "we can't support it if we don't know about it".
so yeah, while i'm happy to add the functionality as an option here, i'm cautious about trying to make the core functionality match a proprietary engine.
It's not the end of the world if you don't support it imo. I just think it's a better approach to be able to get up to that .16 base reflectivity for gems. I'm pretty sure that the EA guys have people writing shaders for Marmoset to match their engine anyway, so if you don't want to do it's not too big of a loss.
It should be doable, I think what Lee was saying was more that he thought it should be an optional feature, which I agree with. We'll take a look at it.
I am curious to know more about EA writing shaders for Toolbag though, if you can give me more information about this or get me in touch with whoever is writing the shaders that would be cool, we may be able to provide additional support.
Yeah, on page 93 it says "We have developed support for our base material model inside external tools used by the game teams like Mari, Substance, and Marmoset to ease the transition." But it looks like there's not any further info than that. I can't find a public email address for him, but you might try his Twitter or LinkedIn accounts and see if you can get anything started. http://seblagarde.wordpress.com/about/
I'm just a college student, so I don't think I can help you out much more than that if you want to get in contact with him, but it couldn't hurt to ask him, I guess.
making some progress on our volumetric fog. very very early right now, but fully transformable, with variable density, colour, and density types (linear/exponential/constant).
Is the volume fog only available with box-shaped bounding boxes, or will there be other shapes like spheres as well?
Is it going to cast shadows and/or become illuminated by scene lights?
The image below has ambient light from IBL affecting fog colour, this is going to be a scalar parameter so people can decide whether they want it or not, and to what degree it's affected.
I'm working on direct light interaction with fog right now actually. The end goal is for the fog to react in a physically accurate way with lights, so you might be able to replicate things like this:
Because the fog is volumetric, you should be able to use it in combination with lights to create real-world volumetric phenomena.
As for shapes of fog... i'd love to have more than one shape, but it's more complex than you might think. If we do add more shapes, chances are that will be after the release of the volumetric fog objects themselves.
Regarding Advanced Metanless and Frostbite:
"Relectance Defines the Fresnel refectance value at normal incidence (f0) into an artist-friendly range for dielectric materials (i.e. MetalMask < 1). The lower part of this attribute
defines a micro-specular occlusion term used for both dielectric and metal materials."
So their specular offset can be used for micro occlusion for both dielectrics and metals, something UE4 does not have. Will yours support this?
Regarding Advanced Metanless and Frostbite:
"Relectance Defines the Fresnel refectance value at normal incidence (f0) into an artist-friendly range for dielectric materials (i.e. MetalMask < 1). The lower part of this attribute
defines a micro-specular occlusion term used for both dielectric and metal materials."
So their specular offset can be used for micro occlusion for both dielectrics and metals, something UE4 does not have. Will yours support this?
I've conferred with one of the engineers who worked on that paper, and confirmed that we have it working correctly. Should this change, we'll be sure to update accordingly.
Thank you for response. Your tool is excelent! Ragarding Spec Offset, if it will control micro-occlusion for both, this means we do not need Cavity Map then?
And another question regarding detail maps: I understand you have detail normal and you can control Secondary Refelction, but do you have any plans to have detail albedo or something like crytek's UDM?
So i've been working on volumetric fog in toolbag, and i have a couple of semi-functional implementations. the first is a bound box of fog that you can scale, move, rotate in your scene, and the other is a global fog that affects everything evenly.
The first would be super useful for things like ground fog, or simulating water depth and stuff. The second is something that is obviously a wanted feature in Toolbag and rightly so!
But rather than just doing a simple fog which interpolates your scene colour into your fog colour at a given distance, we want this to be truly physically accurate, we want lights to interact with the fog properly, so you can use the fog to create atmospheric affects like raleigh scattering in huge scenes, or crepuscular rays shining through windows and things like that.
I had hoped for this to be included in the next update, but it's looking more and more like it will be in the update after that instead. Sorry for the delay on this guys, i know you all want it, i'm working as hard as i can
Replies
I made a color checker texture thingie. Is this something you guys would like to see as like a reference object that you could load from the menu?
....
wait, it was for gamma correction ?
Marmoset Albedo Color Checker
Here are the textures for the color checker object, a simple plane mesh to apply it to and a material that you can load into tb2 (import material from the material preset dropdown to load it):
https://dl.dropboxusercontent.com/u/499159/colorchecker.zip
You may need to re-scale the object as we do not have the per-object scale feature in TB2.
This should be easy to implement in 3rd party tools or engines too by simply loading the plane and textures. Just make sure to set the reflectivity to very low or zero and/or glossiness/roughness to very rough.
So what is this?
Its a color checker object, based on standard color checkers generally used in photography. The values are based off of this: http://en.wikipedia.org/wiki/ColorChecker
A color checker is useful for a couple things:
1. If you're taking photographic reference, you should use a color picker to make it easy to set the correct white balance.
2. A color checker calibrated to the same industry standard values should make it easier to check if your albedo content is the wrong color, too bright, too dark, etc.
I'm also curious to see how useful you guys find this to be and if there are any other uses to this other than what I've mentioned above.
Oh and, credit where credit is due, this was Joeri Vromman's idea.
Area lights are on my "to do" list! making some progress at least =]
Looking good guys, tool keeps getting more awesome!
yeah i have to keep double checking myself :P
Top three shots show how per channel adjustments can be used to fine tune the CA effect to your liking, essentially the same functionality as the lens correct filter in PS. Bottom shot shows how strength value can be pulled back for a subtle, reasonable, effect.
When it's ready. :poly124:
https://dl.dropboxusercontent.com/u/499159/fisheyeflare.mp4
Wat! Is that like a camera attached to an object? Whatever it is, NEAT.
Other way around, but yeah, mesh attached to a camera. This isn't a new feature or anything though, you can do it by dragging any mesh (or light or other object) on top of the camera object to parent it.
Lee is working on an advanced variant of the metalness input type. This won't replace the current metalness input, but will be an additional option as most people probably won't need the extra features.
The big differences is we've added a specular slot which controls the reflectivity for non-metals (which is fixed to 4% linear in the standard metalness input). This should be useful if you are representing a material that has a reflectance of less than 4% (like skin) or more than 4% (like gemstones), this will give you more control over non-metals.
You can now set a couple things:
1. The baseline reflectivity (defaults to 0.04), the slider caps there but you can type in higher values manually
2. A texture input that multiplies on the base value, handy if you have multiple non-metal material types with different reflectance values
This should make it easier to use Toolbag 2 to preview art content going into game engines that use the PBR metalness workflow but also have a secondary specular input for insulators, like UE4 (more here, see the specular section: https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/index.html).
Default 0.04 value
Value set to 0.02
Value set to 0.08 with texture map controlling the 0-0.08 range
I want to stress again that this is not really necessary for most assets, but we are curious to know, especially from people that use engines with PBR shaders and secondary specular inputs, how helpful this feature would be and if there is anything else you would like to see.
PS: Yes, that is a per-texture visibility checkbox, coming to a Toolbag near you in 2.07.
Citation, page 13
This works well because it lets you go all the way up to 0.16, which important for portraying semiconductors. I'm not sure how UE4 does it, but I think it's just a linear mapping: f0=.08*specular, which is not really as good as it doesn't let you accurately portray semiconductors. Anyway, could be good to give us a choice between the two. Cheers.
Thanks for the input, we would like to support what Frostbite is doing, so we may look into adding some extra functionality for the mapping as well.
either that, or just keep it simple and have a "pow2 curve" checkbox which would match frostbyte exactly.
the problem we have though, is that we're only aware that frostbyte does this. we know UE4 doesn't do it, and our target has to be engines that are publicly available to use... purely from the point of view that "we can't support it if we don't know about it".
so yeah, while i'm happy to add the functionality as an option here, i'm cautious about trying to make the core functionality match a proprietary engine.
I am curious to know more about EA writing shaders for Toolbag though, if you can give me more information about this or get me in touch with whoever is writing the shaders that would be cool, we may be able to provide additional support.
http://seblagarde.wordpress.com/about/
http://www.linkedin.com/pub/s%C3%A9bastien-lagarde/13/34a/647
https://twitter.com/SebLagarde
I'm just a college student, so I don't think I can help you out much more than that if you want to get in contact with him, but it couldn't hurt to ask him, I guess.
making some progress on our volumetric fog. very very early right now, but fully transformable, with variable density, colour, and density types (linear/exponential/constant).
Is it going to cast shadows and/or become illuminated by scene lights?
The image below has ambient light from IBL affecting fog colour, this is going to be a scalar parameter so people can decide whether they want it or not, and to what degree it's affected.
I'm working on direct light interaction with fog right now actually. The end goal is for the fog to react in a physically accurate way with lights, so you might be able to replicate things like this:
Because the fog is volumetric, you should be able to use it in combination with lights to create real-world volumetric phenomena.
As for shapes of fog... i'd love to have more than one shape, but it's more complex than you might think. If we do add more shapes, chances are that will be after the release of the volumetric fog objects themselves.
"Relectance Defines the Fresnel refectance value at normal incidence (f0) into an artist-friendly range for dielectric materials (i.e. MetalMask < 1). The lower part of this attribute
defines a micro-specular occlusion term used for both dielectric and metal materials."
So their specular offset can be used for micro occlusion for both dielectrics and metals, something UE4 does not have. Will yours support this?
I've conferred with one of the engineers who worked on that paper, and confirmed that we have it working correctly. Should this change, we'll be sure to update accordingly.
And another question regarding detail maps: I understand you have detail normal and you can control Secondary Refelction, but do you have any plans to have detail albedo or something like crytek's UDM?
So i've been working on volumetric fog in toolbag, and i have a couple of semi-functional implementations. the first is a bound box of fog that you can scale, move, rotate in your scene, and the other is a global fog that affects everything evenly.
The first would be super useful for things like ground fog, or simulating water depth and stuff. The second is something that is obviously a wanted feature in Toolbag and rightly so!
But rather than just doing a simple fog which interpolates your scene colour into your fog colour at a given distance, we want this to be truly physically accurate, we want lights to interact with the fog properly, so you can use the fog to create atmospheric affects like raleigh scattering in huge scenes, or crepuscular rays shining through windows and things like that.
I had hoped for this to be included in the next update, but it's looking more and more like it will be in the update after that instead. Sorry for the delay on this guys, i know you all want it, i'm working as hard as i can