Tutorial: Render Properties Last edited 9 months ago2024-02-28 20:51:38 UTC

You are viewing an older revision of this wiki page. The current revision may be more detailed and up-to-date. Click here to see the current revision of this page.
✔️ Download example map

Most of the brush-based entities (like the func_ type) and point-based monster entities have a set of basic rendering properties. They are: I'll be talking about them in this tutorial, so get ready...

Render FX (renderfx)

Render FX is probably the simplest property - it sets any special effects that the entity is rendered with, such as fading in and out, flickering etc. You may need to tweak the other properties before the effect looks good though. I used the hologram FX for the hologram woman on the left in the example map.

Render Mode (rendermode)

Render Mode is a pretty fundamental part of the rendering properties - it sets the way in which the entity is rendered. The options are:

FX Amount (renderamt)

This property usually controls the translucency of the effect, and can have a value ranging from 1 to 255, with 1 being totally invisible, and 255 being opaque.

FX Color (rendercolor)

Only two Render Modes use this property - Color and Glow (although some entities, such as env_beam need a color, it isn't called FX Color in SmartEdit). A pretty self-explanatory property - it sets the color.

On brush entities, this doesn't affect the color, but instead is used to determine the scrolling speed of textures which are prefixed with SCROLL. The red value is a boolean determining direction, and the green and blue values are read together as a 16-bit integer determining speed. On func_conveyor, the appropriate rendercolor is automatically set via game code based upon the speed KV, but it can also be manually defined for other entities (such as func_illusionary).

Making a Real Fence

You might have noticed that in some areas in Half-Life, there are fences that the player can shoot through. It's a simple idea, but it requires a little trick to set up.

You will notice that some entities, including the monster_generic ones that are in the example map as holograms, have a flag called Not Solid that allows you to let the player to walk through them. This has obvious uses, such as... well... for making a hologram. But it won't work for fences, because, firstly, func_wall entities don't have a Not Solid flag, and even if they did, the player would be able to move though as well as bullets. But there is a way round this problem.

It just so happens that func_illusionary was designed to be, um, illusionary, so it's basically a non-solid func_wall, and can be made to display masked textures in the same way as a normal func_wall. Then, to stop the player moving though, you can simply create a 'clip' brush - Select the texture called 'clip', and create a brush. This stops the player moving through, but not bullets... and not monsters. To stop the monsters, create another brush with some texture other than 'clip', and bind it to a func_monsterclip entity. Place all three brushes over each other, and you have a 'real' fence!
Holographic.Holographic.

3 Comments

Commented 11 years ago2013-03-27 22:16:37 UTC Comment #100493
About the FX Color part - English is not the same as american
Commented 4 years ago2020-04-30 21:26:25 UTC Comment #102695
Render mode Color , or Pure Color in cs hex fgd , must be used with an "visible" texture. If an "invisible" texture is used like null, bevel, or even aaatrigger, the compiler will make it drawn invisible. aaatriger for example works in the oldest tool set and maybe in zoner tools 3.4 but definitely not in vhlt tools as it removes these entities visually.
Best to keep it a non special texture for it to work properly.
Commented 3 months ago2024-08-07 16:20:12 UTC Comment #106288
I feel like migrating the stuff I added to env_render page here, and redirect from that page, but I'm undecided on how much I should rewrite the original content of this page, and even who the original author to be credited is, because the entire page content will need to be reworked to properly label and address bmodel/studiomodel/sprite differences.

You must log in to post a comment. You can login or register a new account.