so what it does, is takes whatever is in your metallic map, and multiplies it by your diffuse to give a coloured reflectance value, and then gives a value of 0.04 to anything that's not metallic. it also multiplies anything in your diffuse map that's defined as a metal down to black, so it has zero diffuse and is 100% reflectant.
so what it does, is takes whatever is in your metallic map, and multiplies it by your diffuse to give a coloured reflectance value, and then gives a value of 0.04 to anything that's not metallic. it also multiplies anything in your diffuse map that's defined as a metal down to black, so it has zero diffuse and is 100% reflectant.
Ah, thanks
Everything texture and shader-based seems way easier to understand when it's put in terms of a formula
I'm loving the new editor, everything seems much smoother and the UI is so much better than UDK. The new materials are utterly amazing too. Phenomenal work, thanks Epic!
Will there be an update next month? I'll keep my subscription rolling if something cool is coming out.
I followed the UE4 Xnormal documentation workflow to a T, multiple times and the documentation seems wrong, or I am, which is possible.
High / Low / Cage / and Triangulate in 3Dsmax 2014, 1 smoothing group.
Export triangulated .fbx 2013 to xnormal with same settings as documentation HERE, bake using exported normals and cage.
Import same triangulated .fbx into UE4
The problem:
Exporting from max WITHOUT tangents and binormals never yields a good normal map bake from xnormal into UE4.
There is no 'explicit normals' check box anymore. I can only assume that the "Normal Import Method" replaced this checkbox. Which must be set to Import both Normals and Tangents to yield the best bake.
So is the documentation wrong or am I? I can get the mesh to look very good, but not perfect, is this the best way?
That definitely looks like a bug, could you post on https://answers.unrealengine.com/ and supply your fbx/max models so we can repro and track the bug?
so what it does, is takes whatever is in your metallic map, and multiplies it by your diffuse to give a coloured reflectance value, and then gives a value of 0.04 to anything that's not metallic. it also multiplies anything in your diffuse map that's defined as a metal down to black, so it has zero diffuse and is 100% reflectant.
are you sure this is the case in UE4 ?
it seems in UE4 you can edit specular as well as metallic independently.
may be it is not 100% physically accurate but looks like it gives more control over reflectance. for example in toolbag2 this is not possible as far as i can tell and there have been many occasions where i wanted to break the rules of PBR just so I could make something look the way i want. call it artistic license.
either way, i just like the fact that specular is separate from metallic in UE4. may be the way they have it is still physically accurate but i don't care one way or another as long as it gives more control over art direction.
either way, i just like the fact that specular is separate from metallic in UE4. may be the way they have it is still physically accurate but i don't care one way or another as long as it gives more control over art direction.
to my understanding, specular is primiarily for use as an artist hack to get that look that you want.
BaseColor: The color of your surface
Metalness: 0 = base color is used for diffuse shading, 1 = base color is used for reflective color
when metalness is 0, your object will have about 2-3% specular reflectance (with fresnel)
Specularity is also energy conserving meaning lower roughness values will result in a small bright highlight while high roughness values will be a large dull highlight.
I don't recommend editing the specular input, it really only changes the specular response from like 0% to like 5% or something on non-metals. You could place something like a cavity map in there to approximate something like microshadowing if you needed it.
I don't recommend editing the specular input, it really only changes the specular response from like 0% to like 5% or something on non-metals. You could place something like a cavity map in there to approximate something like microshadowing if you needed it.
what is the main reason behind not editing specular input ?
why expose it if it is not recommended to use it ?
1. its legacy, we've discussed removing it and it's probably going to get removed at some point.
2. There's an ini option (will probably become a project setting if not already ) to use non-physically based shading (fortnite uses this). Although I don't recommend changing back and forth between the two since there is some fixup code that actually changes materials to make them "work" after the setting has changed. I also highly recommend sticking with phyiscally based shading if you're going to rely heavilly on GI/reflections/physically plausible lighting because its very important that all aspects of the pipeline are physically plausible.
what is the main reason behind not editing specular input ?
why expose it if it is not recommended to use it ?
2 reasons:
1. its legacy, we've discussed removing it and it's probably going to get removed at some point.
2. There's an ini option (will probably become a project setting if not already ) to use non-physically based shading (fortnite uses this). Although I don't recommend changing back and forth between the two since there is some fixup code that actually changes materials to make them "work" after the setting has changed. I also highly recommend sticking with phyiscally based shading if you're going to rely heavilly on GI/reflections/physically plausible lighting because its very important that all aspects of the pipeline are physically plausible.
That definitely looks like a bug, could you post on https://answers.unrealengine.com/ and supply your fbx/max models so we can repro and track the bug?
Ok I have a Spec map question. Let's say I wanna use Quixel Megascans textures and from what I saw they have Diffuse, Gloss, Spec and Normal. So in Unreal I plug diffuse into Base Color, I invert gloss and plug it into Rougness, normal goes to Normal and then what should I do whit the specular? Should I just ignore it and plug 0 or 1 value into Metallic? Or I can still plug the spec map into Specular slot?
Ok I have a Spec map question. Let's say I wanna use Quixel Megascans textures and from what I saw they have Diffuse, Gloss, Spec and Normal. So in Unreal I plug diffuse into Base Color, I invert gloss and plug it into Rougness, normal goes to Normal and then what should I do whit the specular? Should I just ignore it and plug 0 or 1 value into Metallic? Or I can still plug the spec map into Specular slot?
So I don't have access to Megascans and havent seen what their maps look like so i'm guessing but:
It sounds like your assumption is correct, you can probably ignore the specular map. The majority of non-metallic surfaces reflect the same amount of light with in a few %. Metalness should be 0 or 1 (some rare complex materials may require you to use gradiations). I think this should work for non-metal surfaces, I have no idea how they present their metallic surface data so I cannot guess.
Physically based shading needs a specular input in order to handle materials that can reflect back different coloured specular due to goniochromism, which is common in nature. Something like carpaint would also want this.
At the moment UE3 supports this, but UE4 does not, which is a complete pain in the arse. It shouldn't be deprecated, it should be fixed.
Ok I have a Spec map question. Let's say I wanna use Quixel Megascans textures and from what I saw they have Diffuse, Gloss, Spec and Normal. So in Unreal I plug diffuse into Base Color, I invert gloss and plug it into Rougness, normal goes to Normal and then what should I do whit the specular? Should I just ignore it and plug 0 or 1 value into Metallic? Or I can still plug the spec map into Specular slot?
Nothing. You can safely ignore it, or just plug scalar value to it.
I would discourage though from inserting maps directly into material. I would use all special maps (Roughness, and specular) as masks, to lerp between two scalar paremeters. It will give you more flexibility in fine tuning look of material, without tweaking texture.
Nothing. You can safely ignore it, or just plug scalar value to it.
I would discourage though from inserting maps directly into material. I would use all special maps (Roughness, and specular) as masks, to lerp between two scalar paremeters. It will give you more flexibility in fine tuning look of material, without tweaking texture.
Ok got it. Thanks! I'm going to play around with it. Still struggling to fully understand PBR texturing :poly142:
If you want to start asking for a pbr based solution to something like iridescence you might as well ask for an implementation of spectral rendering.
Personally I'd be thrilled for more attention being given to the spectral side of things. You honestly can't get very close to reality if you're doing bounced lighting and deciding everything based on r g and b, but it's not likely (shouldn't be ignored though).
Realtime spectral rendering might not be feasible but I'd even take just having spectral values considered for the lightmass bakes. Speaking of which is there currently a way to bake lightmaps externally?
it's probably a good deal but for casual users like myself,I am probably not going to bother.
a free version might have been better, just so you can get a taste of it
I followed the UE4 Xnormal documentation workflow to a T, multiple times and the documentation seems wrong, or I am, which is possible.
High / Low / Cage / and Triangulate in 3Dsmax 2014, 1 smoothing group.
Export triangulated .fbx 2013 to xnormal with same settings as documentation HERE, bake using exported normals and cage.
Import same triangulated .fbx into UE4
The problem:
Exporting from max WITHOUT tangents and binormals never yields a good normal map bake from xnormal into UE4.
There is no 'explicit normals' check box anymore. I can only assume that the "Normal Import Method" replaced this checkbox. Which must be set to Import both Normals and Tangents to yield the best bake.
So is the documentation wrong or am I? I can get the mesh to look very good, but not perfect, is this the best way?
I'm getting the same problem as you. following the same doc, I get nasty shading error. As far as import setting everything is set to default setting Import Normals. I'm using Modo - baking with Xnormal with a cage. Low res is triangulated with 1 smoothing group.
I'm getting the same problem as you. following the same doc, I get nasty shading error. As far as import setting everything is set to default setting Import Normals. I'm using Modo - baking with Xnormal with a cage. Low res is triangulated with 1 smoothing group.
looks like baking is Maya gives little better results, looks almost synced to Maya.
triangulated lowpoly with 1 smoothing group, fbx exported/imported with normals+tangent
there are still errors on this normal map but those errors are also visible inside maya viewport.
just adding more cuts would give 100% clean result i believe.
A small question, I was looking all over the documentation and couldn't find anything on Render to Texture or setting up video cutscenes. Was that something that was part of Scaleform or is it still in UE4 but just not mentioned anywhere?
EDIT: Never mind, found Render to Texture and the Movie Texture parameters.
looks like baking is Maya gives little better results, looks almost synced to Maya.
triangulated lowpoly with 1 smoothing group, fbx exported/imported with normals+tangent
there are still errors on this normal map but those errors are also visible inside maya viewport.
just adding more cuts would give 100% clean result i believe.
Yea, I can get the xnormal workflow to have a similar result to yours, but it is pretty much doing the exact opposite of the documented info. Which leads me to believe that either the wires got crossed behind the scenes, or that we are not seeing the intended normal map results.
The great news is, it's gonna be possible to get synced results with engine now that we have access to the source code. Building plugins for xNormal is now properly doable.
Feel free to post in the comments if you have any more information to add.
I tried baking your mesh, got the same shading error along the edges of the tris. Maybe UE4 is not sync with xNormal 3.18.4 and 3.18.6? The developer of xNormal may need to talk to Epic Games to resolve this issue :S
Has anyone figured out how to organize the Scene Outliner?
Is there a node/object similar to game_object in unity that you can use to parent objects under and tidy up the outliner?
So far I found the note actor and tried using that as a parent container.
The meshes parented under it still display when you run the game so there's that but I can't use it to quickly hide/unhide a bunch of stuff in the level.
Any thoughts?
can you think of a reason why not to use the note actor as a parent object?
Also, how do you assign assets to layers?
These are all questions for a portfolio project.
I could imagine using the note actor in a full scale game project to be a bad idea.
I'm interested to know if a lot of the character guys on here are getting this or CryE for showing off their work, of if they're just sticking with something like Marmoset.
Will probably end up DLing it anyway, the updates look ace
I think the material editor is much easier to get close to marmoset PBR quality without headache, ( even though I find marmoset still better at displaying uncompressed texture, and bokeh DOF)
also they removed the 65k polygon limit, so its good for showcase or concepting
Replies
I can't seem to put my finger on the difference between their examples of a really smooth metal and nonmetal example shere, and it's really bugging me
It defines whether or not a surface is metallic, it's that simple.
the more complex answer lies in the following abbreviated shader code:
so what it does, is takes whatever is in your metallic map, and multiplies it by your diffuse to give a coloured reflectance value, and then gives a value of 0.04 to anything that's not metallic. it also multiplies anything in your diffuse map that's defined as a metal down to black, so it has zero diffuse and is 100% reflectant.
Ah, thanks
Everything texture and shader-based seems way easier to understand when it's put in terms of a formula
Will there be an update next month? I'll keep my subscription rolling if something cool is coming out.
Either way, this is fantastic.
no worries, that's an extreme simplification of what's happening. but at least it's easy to understand :P
That definitely looks like a bug, could you post on https://answers.unrealengine.com/ and supply your fbx/max models so we can repro and track the bug?
1uu = 1cm !
Any idea what I could be doing wrong?
are you sure this is the case in UE4 ?
it seems in UE4 you can edit specular as well as metallic independently.
may be it is not 100% physically accurate but looks like it gives more control over reflectance. for example in toolbag2 this is not possible as far as i can tell and there have been many occasions where i wanted to break the rules of PBR just so I could make something look the way i want. call it artistic license.
either way, i just like the fact that specular is separate from metallic in UE4. may be the way they have it is still physically accurate but i don't care one way or another as long as it gives more control over art direction.
I got that too... it's like UE4 isn't actually saving the image data.
to my understanding, specular is primiarily for use as an artist hack to get that look that you want.
BaseColor: The color of your surface
Metalness: 0 = base color is used for diffuse shading, 1 = base color is used for reflective color
when metalness is 0, your object will have about 2-3% specular reflectance (with fresnel)
Specularity is also energy conserving meaning lower roughness values will result in a small bright highlight while high roughness values will be a large dull highlight.
I don't recommend editing the specular input, it really only changes the specular response from like 0% to like 5% or something on non-metals. You could place something like a cavity map in there to approximate something like microshadowing if you needed it.
what is the main reason behind not editing specular input ?
why expose it if it is not recommended to use it ?
It is a known bug. You need to use highresshot command for now.
1. its legacy, we've discussed removing it and it's probably going to get removed at some point.
2. There's an ini option (will probably become a project setting if not already ) to use non-physically based shading (fortnite uses this). Although I don't recommend changing back and forth between the two since there is some fixup code that actually changes materials to make them "work" after the setting has changed. I also highly recommend sticking with phyiscally based shading if you're going to rely heavilly on GI/reflections/physically plausible lighting because its very important that all aspects of the pipeline are physically plausible.
2 reasons:
1. its legacy, we've discussed removing it and it's probably going to get removed at some point.
2. There's an ini option (will probably become a project setting if not already ) to use non-physically based shading (fortnite uses this). Although I don't recommend changing back and forth between the two since there is some fixup code that actually changes materials to make them "work" after the setting has changed. I also highly recommend sticking with phyiscally based shading if you're going to rely heavilly on GI/reflections/physically plausible lighting because its very important that all aspects of the pipeline are physically plausible.
Will do!
Any UK folk know what the sub works out to in GBP? Are we exchanging in euros or dollars?
So I don't have access to Megascans and havent seen what their maps look like so i'm guessing but:
It sounds like your assumption is correct, you can probably ignore the specular map. The majority of non-metallic surfaces reflect the same amount of light with in a few %. Metalness should be 0 or 1 (some rare complex materials may require you to use gradiations). I think this should work for non-metal surfaces, I have no idea how they present their metallic surface data so I cannot guess.
BaseColor is just the color of the surface, whether it's non-metalltic or metallic.
Thanks for that, so it's just basically Albedo. Terminology between documents and engines! :P
At the moment UE3 supports this, but UE4 does not, which is a complete pain in the arse. It shouldn't be deprecated, it should be fixed.
Nothing. You can safely ignore it, or just plug scalar value to it.
I would discourage though from inserting maps directly into material. I would use all special maps (Roughness, and specular) as masks, to lerp between two scalar paremeters. It will give you more flexibility in fine tuning look of material, without tweaking texture.
So why couldn't you just setup a material where the base color changes based on viewing angle, and make it really metallic?
No Metallic takes only scalar values. All colors are going to BaseColor, when you switch metallic to 1, it just pick up color from BaseColor.
Hah nvm. I read your question wrong . It certainly can be done. I though you want to plug color into metallic slot
And how would I go about importing it into my level?
Yes, setting metalness to 1.0 and set base color to some view dependant function would work.
Ok got it. Thanks! I'm going to play around with it. Still struggling to fully understand PBR texturing :poly142:
You can use the maps to Lerp between roughness values.
Personally I'd be thrilled for more attention being given to the spectral side of things. You honestly can't get very close to reality if you're doing bounced lighting and deciding everything based on r g and b, but it's not likely (shouldn't be ignored though).
Realtime spectral rendering might not be feasible but I'd even take just having spectral values considered for the lightmass bakes. Speaking of which is there currently a way to bake lightmaps externally?
For something like metallic carpaint, maybe. What if the material isn't metallic?
I got mine. It's in the process. Normally everybody should get it's access Sunday.
It's a bug. See : https://answers.unrealengine.com/questions/12736/high-resolution-screenshot.html
a free version might have been better, just so you can get a taste of it
what number were you when they first responded? for example i got this in an email from them:
I'm getting the same problem as you. following the same doc, I get nasty shading error. As far as import setting everything is set to default setting Import Normals. I'm using Modo - baking with Xnormal with a cage. Low res is triangulated with 1 smoothing group.
Well thats good news that I am not the only one.
I made a Bug Report here: https://answers.unrealengine.com/questions/14375/normal-map-workflow-with-xnormal-is-not-working.html
Feel free to post in the comments if you have any more information to add.
triangulated lowpoly with 1 smoothing group, fbx exported/imported with normals+tangent
there are still errors on this normal map but those errors are also visible inside maya viewport.
just adding more cuts would give 100% clean result i believe.
here is a test:
https://dl.dropboxusercontent.com/u/13288045/UE4_Maya_N.zip
EDIT: Never mind, found Render to Texture and the Movie Texture parameters.
EDITEDIT: Nevermind https://answers.unrealengine.com/questions/9132/does-ue4-support-bik-files.html it seems there is nothing in place for 2d video playback currently.
Yea, I can get the xnormal workflow to have a similar result to yours, but it is pretty much doing the exact opposite of the documented info. Which leads me to believe that either the wires got crossed behind the scenes, or that we are not seeing the intended normal map results.
I'm going to give it a few months before I start my subscription, just give them time to work out some kinks after getting feedback.
I tried baking your mesh, got the same shading error along the edges of the tris. Maybe UE4 is not sync with xNormal 3.18.4 and 3.18.6? The developer of xNormal may need to talk to Epic Games to resolve this issue :S
Is there a node/object similar to game_object in unity that you can use to parent objects under and tidy up the outliner?
So far I found the note actor and tried using that as a parent container.
The meshes parented under it still display when you run the game so there's that but I can't use it to quickly hide/unhide a bunch of stuff in the level.
Any thoughts?
can you think of a reason why not to use the note actor as a parent object?
Also, how do you assign assets to layers?
These are all questions for a portfolio project.
I could imagine using the note actor in a full scale game project to be a bad idea.
Seems to work just fine to me?
Will probably end up DLing it anyway, the updates look ace
also they removed the 65k polygon limit, so its good for showcase or concepting