Share this post

Link to post

Share on other sites

In relation to this map's textures (under the 'hr_massive' category in Hammer SDK) how does the four way blend or any blend work? I try to blend but it just adds more or takes away grass (the tall grass that looks like a sprite) and I try using the sculpt tool's 'Blend' option under the displacement settings but that does nothing as well. What's Valve's secret?

Share this post

Link to post

Share on other sites

In relation to this map's textures (under the 'hr_massive' category in Hammer SDK) how does the four way blend or any blend work? I try to blend but it just adds more or takes away grass (the tall grass that looks like a sprite) and I try using the sculpt tool's 'Blend' option under the displacement settings but that does nothing as well. What's Valve's secret?

I think Valve used not anounced tools. Or Valve used Sprinkle tools, for .vbsp grass, but i don't know how it work. This tools EZ for prop_static and other entities.

I don't know, how it works, but colors are the same as in the previous one.

So, if you want to use a detail sprites in your map like Valve, you must create a .vbsp file with a new detail sprites type and detail sprites material with a new masks, specially designed to your map.

If you delete masks entries from your custom detail sprites material, sprites are placed or not by blend alpha value and parameters from .vbsp file.

Share this post

Link to post

Share on other sites

I've tried and by using various different textures I can remove the upright grass but the blending of the actual ground doesn't show up in Hammer nor in game. What do I have to do for this to work (I'm not that great at Hammer!) if anyone knows?

Share this post

Link to post

Share on other sites

Alright, I did some testing with the new detail sprites and found out how more specifically how they work. @Mamorex was on the right track but there's a few key things you left out.

Removing $alphatest from the material or adding $translucent

First, the detail sprites material - it's 2 detail sprite sheets side by side, so version A and version B. The different versions have to have same sprite positions and sizes. You only specify version A coordinates in the .vbsp.

Next up, the detail sprites masks. Red and blue are for wind offset -- so you can have different parts of the sprites sway in the wind differently, you can see Valve isolated some blades of grass for this effect. The green channel is a tint mask and controls how much the sprites are affected by the $worldspacetint.

That brings us to the world space textures. They seem to automatically get resized to fit the whole map area, so it you resize the map you'd have to resize the textures too.

The world space tint texture is pretty self explanatory, controls what color to tint the grass, 127 grey means no tint.

The world space masks texture uses the red channel to select which version of the sprites to use -- 0 is version A and anything more is version B.

The green channel of the texture controls the sprite size -- 127 is default, with darker making the sprites smaller and brighter making the sprites larger. The vmt command $minimumspritesize controls the cutoff point for the sprites, so the sprites smaller than the specified value don't get rendered which can act as a placement mask.

I don't know what the blue channel of this texture does, changing it had no effect on the sprites for me.

All this means sprites still get placed by vbsp on map compile, so they still use displacement alpha for the placement, but the new masks can manipulate sprites size and color after map compile.

MapCore on Discord

Our picks

More WIP images. A beach area and another vehicle. The beach is the CT spawn, and the new vehicle area is the T spawn. Much of the detail from these parts will be coming from the 3dsky, which is still under construction.