HeroEngine Forums

HeroEngine Support => Art & Art Pipeline => Topic started by: gaarzen on Oct 18, 13, 08:15:02 PM

Title: Different Channel Maps Make No Difference ?
Post by: gaarzen on Oct 18, 13, 08:15:02 PM
Hey guys :D
I'm having a weird result when I try to see my textured model in HeroEngine.
I made a piece with different channel maps that together should give me an appealing result when it comes to reflection and specularity, making the object appear to be from different materials.
However, in HeroEngine the specularity looks uniform on all areas.

I made sure:
Alpha Mode is on Glow for the glow map.
Specularity is in the Alpha channel of the Normal Map and is set to on in the Hero Material.
Reflectivity uses the reflection map.
Glow is set to on.
High Quality Shading is set to on (although I'm not sure what it means, search in the Wiki didn't find anything).
I also made sure all files are in the same folder and that HeroEngine knows where to get them from, got no error in the error panel.

Anyone knows what seems to be the problem? I attached the relevant files.
Thanks so much !
Title: Re: Different Channel Maps Make No Difference ?
Post by: HE-BENNETT on Oct 22, 13, 05:08:11 PM
Nice image you've compiled there to illustrate your steps :)

First off, High Quality Shading should only affect the display of the material within Max or Maya, so it can be disregarded here.

The ability to assign a reflectivity map is, I believe, an artifact of how the Hero Material shader plugin was created for Max and Maya and any texture linked to it is not used by the default shader.  The number next to reflectivity is used along with the specular map and any cubemap assigned to the asset.

With all that considered, the result you show here actually looks exactly as I would expect.  I would comment that the contrast in your specular map is probably not high enough to see the more significant differences you're looking for.
Title: Re: Different Channel Maps Make No Difference ?
Post by: gaarzen on Oct 22, 13, 05:29:45 PM
Nice image you've compiled there to illustrate your steps :)

First off, High Quality Shading should only affect the display of the material within Max or Maya, so it can be disregarded here.

The ability to assign a reflectivity map is, I believe, an artifact of how the Hero Material shader plugin was created for Max and Maya and any texture linked to it is not used by the default shader.  The number next to reflectivity is used along with the specular map and any cubemap assigned to the asset.

With all that considered, the result you show here actually looks exactly as I would expect.  I would comment that the contrast in your specular map is probably not high enough to see the more significant differences you're looking for.

Hi Bennett, thanks for replying ! :)

According to the Wiki, the Reflectivity channel is "How much of the area cube map is visible", I would assume a proper map in that channel would let me control the amount and areas, is it useless then unless I break an object to different objects with different shaders and reflectivity amounts?

Having a more contrasted specular map would probably mean areas that do not return spec compared to areas that do but I guess the default shader is not configured to give me more than that.
Is there any way at all to control glossiness?

Perhaps might you know if there is a better and freeware shader that can give me more which I can use in conjunction with the Hero Shader? Even if it does not give more options but helps the general look be more appealing some how.
Currently the gap between the look of that tile in Marmoset and in HeroEngine is too great, I understand it has to be but I wonder if there is a way to some how narrow it down.

Thank you very much !
Title: Re: Different Channel Maps Make No Difference ?
Post by: HE-BENNETT on Oct 23, 13, 10:46:14 AM
Hmmm, actually in the example image you show there, I don't see any reflection of the default cubemap.  If the value is left at zero, you won't see any reflection at all.  Try exporting with some different reflectivity values and make sure the environment scheme for your test area has either the default "/Render/ShaderTextures/DefaultAreaEnvironmentMap.dds" cube map or one of your own specified (for the "Environment Map" field under "textures")


A map in the channel would allow per-pixel control, but that feature isn't currently implemented in the engine.  Rather than break the objects apart into separate assets, you can simply assign a different material on a per-poly basis to apply different reflectivity values or custom shaders.  This, of course, will need to inform your asset design to try and minimize the number of materials needed for each asset.  The more materials on a single mesh, the more of a performance hit that mesh will be.

The brightness of the specular map is used in conjunction with the reflectivity value to determine the amount of the area's cube map that is reflected.  So, you should be able to achieve something of the effect you're after by adjusting the spec map. 


Off hand I don't know of a specific other shader to point you at, I haven't done as much work with them as I would like.
Title: Re: Different Channel Maps Make No Difference ?
Post by: gaarzen on Oct 23, 13, 03:08:16 PM
Hmmm, actually in the example image you show there, I don't see any reflection of the default cubemap.  If the value is left at zero, you won't see any reflection at all.  Try exporting with some different reflectivity values and make sure the environment scheme for your test area has either the default "/Render/ShaderTextures/DefaultAreaEnvironmentMap.dds" cube map or one of your own specified (for the "Environment Map" field under "textures")


A map in the channel would allow per-pixel control, but that feature isn't currently implemented in the engine.  Rather than break the objects apart into separate assets, you can simply assign a different material on a per-poly basis to apply different reflectivity values or custom shaders.  This, of course, will need to inform your asset design to try and minimize the number of materials needed for each asset.  The more materials on a single mesh, the more of a performance hit that mesh will be.

The brightness of the specular map is used in conjunction with the reflectivity value to determine the amount of the area's cube map that is reflected.  So, you should be able to achieve something of the effect you're after by adjusting the spec map. 


Off hand I don't know of a specific other shader to point you at, I haven't done as much work with them as I would like.

Thanks a lot for the clarifications, Benett !! :)