Jump to content

Normal Maps for Player Models


Go to solution Solved by AshuraDX,

Recommended Posts

Posted
Heya guys!

 

I am working on a character for JKA and will be making more in the future. I am currently in the process of sculpting detail into a high poly version of the player model and am going to bake an ambient occlusion map onto the base mesh that will be going in-game. Ambient occlusion on its own looks fine, and definitely adds to the detail and realism I'm working on, but also being able to add a normal map would make it looks amazing! Unfortunately, I read that normal mapping in JKA is not supported.

 

I am wondering if there is perhaps a work-around or some kind of scripting way to be able to add a normal map to a player model. I'm looking for any help that could allow me to do this.

 

Thanks!

 

 

ooeJack

Posted

Heya @@Boothand, thanks for responding!

 

I'm working on this character for a server with a whole lot of players. Rend2 renderer seems to half fix the problem. It adds the possibility to have normal maps and more, but this software would need to be downloaded and used by everybody who would be using/seeing this player model and other models with extra texture maps to be able to see the extra detail. I would like everybody else who plays to be able to see it. That's why I'm hoping to find a way to be able to have the normal map injected into the original JKA game engine renderer through a complex shader script or something of the sorts.

 

I'm not sure if many people in the server I play on are using rend2 renderer. However, I'll ask them and maybe this will be indeed the way to go. :)

 

Thanks again mate!

 

 

ooeJack

Posted

Keep in mind, rend2 is not something people are expected to use currently, as it's not finished, but if it does get finished, I'm sure a lot of people would be willing to try it. The renderer can be switched out in runtime as far as I remember, so once it's 'installed', you can easily switch back and forth between rd-vanilla and rd-rend2 for any reason, using console commands (cl_renderer) and a vid_restart.

eezstreet and ooeJack like this
Posted

Yea, that's true, @@Boothand.

 

So I won't be able to include a normal map in the release of my current character, but I could always add it in at a later date when rend2 comes out and people are using it. So it'll be ok.

 

Perhaps if you'd like, @@Xycaleth, I could send you a part of my character to help you test your renderer on. If so, let me know here or in a pm and I'll send it your way. :)

 

Thanks for your help, fellas!

 

 

ooeJack

Boothand and eezstreet like this
Posted

What I started doing and you could too is to just release the normal maps and shader files with the character since Rend2 uses a different file extension (MTR) for the shaders so having them in the PK3 on the vanilla renderer wont hurt anything, they'll be ignored. If you run Rend2 though it will ignore the standard .SHADER file type and load the .MTR file type.

 

I released my AT-ST this way, there isn't any adverse conflict from doing this so you can release the model "rend2 ready" without any extra files needed.

eezstreet and ooeJack like this
Posted

If you run Rend2 though it will ignore the standard .SHADER file type and load the .MTR file type.

 

Not true. Rend2 still reads .SHADER files, and there's only one reason to NOT use a .SHADER file in rend2 - same asset but different shaders and textures between renderers. If there's two shaders named the same eg test.mtr and test.shader (usually for creating vanilla and rend2 compatible shaders), rend2 will load the .MTR one and skip the .SHADER one.

ooeJack and eezstreet like this
Posted

Not sure if I could do what you're suggesting, @@minilogoguy18. I've been sculpting my mesh to get an ambient occlusion bake onto my model. I previously was sculpting all my detail relative depth to each other, so like, a small scratch on armour would be a small indentation, and a big sword cut would be a deep cut etc. Doing this only made the deep cuts visible in the AO bake (Even then, in some places it was a bit tricky to see). So I've had to go and make everything deep cut to be able to see it.

 

So if I'd need to get a normal map ready, I'd probably need to redo a bit of the sculpting and make the scratches more like scratches etc. Looking at the sculpt now, it looks a little silly having very little variation in depth, but it works out in the AO bake, so it'll look great in-game, so I've had to do it this way.

 

I feel like showing a bit of him. This is his mask:

 

Sculpt: 

- https://jkhub.org/images/ktDxiRR.png

 

AO bake render on lowpoly: 

- https://jkhub.org/images/i8liHpz.png

 

 

ooeJack

eezstreet likes this
Posted

I don't think we can do that man. Normal maps are its own thing and can't be composited in with the diffuse. AO, on the other hand, can because it's just shades of black and white.

 

 

ooeJack

Posted

No, you can take the blue channel from normal maps and add them to your AO, depending how much detail you have modeled / baked, it can really help, it also helps to mask out some glitchy cavities in the AO. Your normal map is pretty basic here and honestly wouldn't make much of a difference with or without it.

eezstreet likes this
Posted

Any type of sculpting work would transition well to a normal map bake and be effective in adding more detail to any ingame model, @@Psyk0Sith. Unless you mean grabbing the blue channel from my normal map and adding it to my AO wouldn't make much difference in this case.

 

 

ooeJack

Posted

I mean normal maps are best generated from a high poly source modeled with fat bevels, your high poly source could be improved in that area. I can tell you that because when you show the model without normals all you get is superficial details that could've been hand painted in a few seconds. For a game like JA your best skill is knowing how to paint light and shadows the traditional way. If you plan to do a high poly source you need to go overboard with bevels and still paint some light sources into your textures.

Posted

What I sometimes do or try is remove all saturation from the normal map, then use it as you would an ambient occlusion map.

Nice trick I was told was to make the blue channel all white, then desaturate the normal map. After that, copy the result over and blend using multiply. Works only with world/object space normal maps, not tangent.

Boothand likes this
  • Solution
Posted

@@ooeJack You could do what I do and bae a worldspace normal map, then use that to prelight the model.

Green Channel is overlayed at roughly ~70% Opacity and the Blue Channel is Multiplied with ~30% Opacity.

I also overlay a curvature map and multiply AO on top. Here's what that gives you on a flat Color:

Posted

I mean normal maps are best generated from a high poly source modeled with fat bevels, your high poly source could be improved in that area. I can tell you that because when you show the model without normals all you get is superficial details that could've been hand painted in a few seconds. For a game like JA your best skill is knowing how to paint light and shadows the traditional way. If you plan to do a high poly source you need to go overboard with bevels and still paint some light sources into your textures.

 

I understand everything you're saying here, @@Psyk0Sith. I plan to texture highlights across the model, fix up shadows that the sculpt didn't get too right, etc. Half of the reason I'm sculpting here is because I've never done a full sculpting project before, and I've wanted to for a while. I know that doing a sculpt for a game like JKA isn't the best place to do it, but it's a great start for a beginner like me. I will continue to sculpt more in the future, but probably not for JKA until the rend2 renderer comes along.

 

@@AshuraDX - Thanks! I'll give your lighting method a go. :)

 

Thanks for your help, fellas!

 

 

ooeJack

  • 4 months later...
Posted

... I know that doing a sculpt for a game like JKA isn't the best place to do it ...

 

Turns out I was quite wrong. I wasn't 100% sure about it at the time, but now that I've finished my first character for JKA, sculpting is great for it! Sculpting all of the extra detail and rendering the normal and ambient occlusion maps in Blender has garnered great results that I know I wouldn't have been able to achieve just by using Photoshop. Thanks to everybody here for helping me out with the issue.
 
If you'd like to see what all this was going towards, check out my 'Darksiders II - Death' player model for JKA here:  https://jkhub.org/files/file/3258-darksiders-ii-death/
 
Cheers!
 
 
ooeJack

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...