ooeJack Posted December 18, 2016 Share Posted December 18, 2016 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 Link to comment
Boothand Posted December 18, 2016 Share Posted December 18, 2016 Normal mapping works in the WIP rend2-renderer that Xycaleth is porting/working on. I'm sure seeing a nicely normal mapped character in JKA would be a good morale boost and motivation! https://jkhub.org/topic/7468-rend2-a-modern-renderer/ ooeJack likes this Link to comment
ooeJack Posted December 19, 2016 Author Share Posted December 19, 2016 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 Link to comment
Xycaleth Posted December 19, 2016 Share Posted December 19, 2016 There's no way to fake normal maps on players in regular jka. Jka only supports per vertex lighting but per pixel lighting is required for normal mapping to work eezstreet and ooeJack like this Link to comment
Boothand Posted December 19, 2016 Share Posted December 19, 2016 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 Link to comment
ooeJack Posted December 20, 2016 Author Share Posted December 20, 2016 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 eezstreet and Boothand like this Link to comment
minilogoguy18 Posted December 20, 2016 Share Posted December 20, 2016 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 Link to comment
Tempust85 Posted December 20, 2016 Share Posted December 20, 2016 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 Link to comment
minilogoguy18 Posted December 20, 2016 Share Posted December 20, 2016 Ah, ok, so as long as they have the same name the game will toggle between the 2 based on render engine being used. eezstreet likes this Link to comment
ooeJack Posted December 21, 2016 Author Share Posted December 21, 2016 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 Link to comment
Tempust85 Posted December 22, 2016 Share Posted December 22, 2016 What you need to do is bake the normals into the diffuse. Yeah, no normal maps suck but this is the best we can do atm sadly. eezstreet likes this Link to comment
ooeJack Posted December 23, 2016 Author Share Posted December 23, 2016 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 Link to comment
Psyk0Sith Posted December 24, 2016 Share Posted December 24, 2016 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 Link to comment
Boothand Posted December 25, 2016 Share Posted December 25, 2016 What I sometimes do or try is remove all saturation from the normal map, then use it as you would an ambient occlusion map. Link to comment
ooeJack Posted December 27, 2016 Author Share Posted December 27, 2016 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 Link to comment
Psyk0Sith Posted December 27, 2016 Share Posted December 27, 2016 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. Link to comment
Tempust85 Posted December 27, 2016 Share Posted December 27, 2016 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 Link to comment
Archangel35757 Posted December 27, 2016 Share Posted December 27, 2016 for your low poly mesh you could try to use a maxscript like "Normal Thief" to make your low-poly vertex normals match (as best possible) your hi-poly mesh's vertex normals. @@DT85, @@Psyk0Sith -- wouldn't that also help? Link to comment
Psyk0Sith Posted December 27, 2016 Share Posted December 27, 2016 It will improve the shading, as long as the file format supports it. Tempust85 likes this Link to comment
Archangel35757 Posted December 27, 2016 Share Posted December 27, 2016 It will improve the shading, as long as the file format supports it.Both MD3 v2.2 and dotXSI v1.9 exporters support specified/explicit normals (using the Edit Normals modifier). Link to comment
Solution AshuraDX Posted December 27, 2016 Solution Share Posted December 27, 2016 @@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: Link to comment
ooeJack Posted December 28, 2016 Author Share Posted December 28, 2016 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 Link to comment
ooeJack Posted May 16, 2017 Author Share Posted May 16, 2017 ... 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 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now