No announcement yet.

That Half-Life 2 Aesthetic

  • Filter
  • Time
  • Show
Clear All
new posts

    That Half-Life 2 Aesthetic

    Hello Unreal community, I'm trying to get some opinions on what you think makes the best techniques for achieving that late-90's / early 2000's Half Life 2 texture/aesthetic. To me it seems like they use simple materials with Albedo + Normal/Bump + Specular. And most of the time, really dialling up the roughness of the materials (they mostly look matte) and not overdoing their specular maps. What do you think?

    Also it seems like static light baking with very soft shadows and plenty of GI baked into the scene also helps with that look. I've tried to bring this aesthetic to UE4 and fully dynamic light techniques and found that the only way to do this is with Distance Field lighting for the soft shadows on all lights. This does cause problems for very thin meshes and skinned meshes. Of course, with static lighting I could achieve that look much more easily, so if anyone has tips on weather it's possible to have baked global illumination without baked lightmaps or shadows that would be awesome.

    The other side of that aesthetic is the textures are most of the time or exclusively taken from the real world, photographs, etc that bring a very realistic look, even if slightly incorrect when you inspect the textures very closely (shadows/highlight don't match light source angles)... although bump maps should help with this a bit. There textures seem a bit more on the flat side... I'm not 100% sure if they do use bump maps/normal maps at all actually. I guess that's the question, if anyone here has a better idea of the exact way they create their materials or what process I could use in UE4 to replicate that that would be awesome , I love that late-90's / early 2000's aesthetic.

    Originally posted by vbs View Post
    baked global illumination without baked lightmaps or shadows that would be awesome.
    Its sounds kind of wierd ) In the end, you need to bake something which will define that global illumination. HL2 use lightmaps calculated with radiosity method + ambient cubemaps for movable objects and characters.

    Those valve "ambient cube", are more or less equal to UE4 volumetric lightmaps.
    UE4 Lightmass doesnt give "that" radiosity look, cause lightmass are way better in terms of physical correctness. Those radiosity method in source engine gives less correct but some more evenly spreaded lighting. Im not sure but probably you can achieve something like that by adding SkyLight with small intensity (and without shadows, offcourse) to prevent some areas become too dark, which will give more flat-ish/washed out look.

    Ofcourse the most important and easiest to achieve steps to 00's look is:
    1. Disabling any kind of AO. Cause as you see there's no AO in HL2 and most of those times games.
    2. Disabling shadows for static lighting. Cause as you can see there's no shadow baked with radiosity lightmaps in source.

    Also, I believe what disabling "Use inverse square falloff" in all lights also can help. Not sure but probably not many games of those times use features like that for lighting.

    Also as you can see in the papers, valve using so called "Half-Lambert" or "Wrap diffuse" lighting model, at least for characters (im not sure about static objects, not character meshes).
    Those lighting model are dead simple. Default lighting model are NdotL (the Dot product from Normal and Light direction vector) and "wrap diffuse" is NdotL*0.5+0,5. Bloody simple, but you cant add that lighting model to you material, cause you dont have any access to light direction vector in material (not in defferend nor forward rendering mode), you should modify/add you custom shading model, which can be quite difficult if you not familiar with that sort of task.
    You probably can experiment with adding those "wrap diffuse" model in simply way like:
    You chose what light in you scene will be, let say, general, and which will be secondary. The secondary light are default light, but for general, which will like "key" light, you make some BP where you put you light and simple logic to set light direction in material parameter collection.
    In you character/monsters material, you add those "wrap diffuse" calculations and simply do "diffuse*wrapdiffuse" and put it into emissive.
    Im not sure how less 00's or more 00's it can look with or without whose "wrap diffuse" lighting model, but at least you can just try it, cause its relatively somple and fast to make.

    Also it probably a not bad way to achieve 00's look is to use ambient cubemaps (like one which you can find in PostProcess), but you will should implement what ambient cubemaps as localized one trougth postprocess material and a bunch of premaded cubemaps (or just make those cubemaps directly in engine with cubecapture).
    I believe that sort or IBL-ish lighting was used in Dead Space2/3. Not guarantee, but at least it looks like that and im quite sure localized ambient cubemaps can easilly give "that" look.

    UPD: also i think as an experiment you can add small amount of emission, like 0.1 or even less to all material and then bake the light. It will vanish all light detail, but, well... HL2 also doesnt have a lot of details in lighting )

    Last edited by Alexander.L; 08-28-2019, 01:13 AM.


      Thanks A.L. That's some good info, I'll play around with those settings see what I can get. I know I won't get the exact feel, but was curious how much of it I could reproduce.


        UE3 used to have the same kind of Radiosity Normal Maps as Half Life 2, but it was before Lightmass GI so they were not utilized to their full potential. Another issue with Radiosity Normal Maps was that it used 3 lightmaps per surface (to store both color and intensity from 3 vectors) so the system was later replaced to save memory. I think it is difficult to achieve that look in UE4 without it.
        Last edited by 2car; 09-09-2019, 04:56 AM.