"env_sprite" Acting Buggy

I’m using an “env_sprite” entity to use a tree texture, and reduce performance loss on having to render high-quality tree models far away. (Skybox, and far away areas.) I’ve created a 512x512 translucent texture. Here is my VMT:

“$basetexture” “Racing/Tree_1”
“$alphatest” 1
“$translucent” 1
“$spriteorigin” “[ 0.50 0.50 ]”

Here is my settings:


I set render type to “Additive” to get rid of the black box that surrounds the sprite so it’s translucent. Now to the problem. The sprite looks fine in Hammer’s view, but in-game it screws up. It flashes and interlaces black while moving around the sprite. Here’s some screenshots…



I tried different render types, disabling shadows, and moved it above ground. But there is no explanation to why this is happening. I need help to make it a normal sprite that faces you without any black interlacing. Thank you.

Try out this VMT:

It still didn’t work. It still has that black “Flicker” thing when you walk around the sprite. Thanks for the reply though!

Try “$vertexalpha” 1

I have no idea how, but I made a different tree texture as “1024x1024”, copied Litronom’s and Onebit’s settings, and it magically worked. I guess sprites cannot support “512x512”? Well at least it’s fixed now. Thanks for the help guys, I appreciate the replies. I have one last question, is there a way to make the sprites stop “popping” off screen when they’re halfway on screen? They magically “poof” on and off halfway through the sprite texture on the edge of the screen in Garry’smod.

Since it’s far away the popping shouldn’t cause any problems.

Okay, just checking if there was an option to turn it off. Thank you.

I would probably use a flat brush instead though, it would be cheaper than sprites.

I think sprites are only drawn when the origin is in view.

Yeah, I tried re-sizing the tree and canvas it was on, but it still popped off. I would have thought sprites were cheaper because brushes take up world space.

Well, that could be true. Drawing a square brush requires the calculation of eight points, while a sprite is only one, but the code requires to draw a sprite might be more expensive that the polys of a brush.

I still have yet to find out why sprites are so sensitive in the Source engine. You would think a sprite would create less lag, but the way they implement it causes it to create more lag than a 3-dimensional object.

You’re better off making sprite cards, and form them with displacements. It’s what they did all over white forest along the roads in EP2.

What’s a “sprite card”? I’ve never heard of it, and how is it created?