func_null

From Valve Developer Community
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Class hierarchy
CNullEntity
CBaseEntity
subs.cpp

func_null is a brush entity available in Mapbase Mapbase. It is a brush version of of info_null. This can be used for creating texlights that don't have a visible brush in-game, such as for prop-based lights or accentuating lighting coming in from a window.

Because this entity isn't removed on compile, it still counts toward the server-side entity limit for a split second until removed on map spawn. Since Mapbase 7.3, it will not count as an edict.

Cpp.pngCode:This entity uses the same C++ class as info_null. As such, the same behavior can be achieved in any game simply by manually setting a brush entity's classname to info_null.
Note.pngNote:Hammer will strip brushes from entities which are defined in the FGD as point entities. It also does not allow a point entity and brush entity to share the same classname, as it will only use the most recently defined version. This be circumvented by using TeamSpen's Hammer Addons comp_kv_setter to change the classname from func_null to info_null.
Alternatively, add a func_null FGD entry to base.fgd; it will spit out an error in the console when loading the map, but will otherwise be ignored by the game, and will never count as an edict, unlike info_null.
AltNames.pngAltNames: This entity is also tied to info_null.

Keyvalues

Origin:

Origin (X Y Z) (origin) <origin>
The position of this entity's center in the world. Rotating entities typically rotate around their origin.
Name (targetname) <string>
Name of this entity. Can be used by compile tools as a spotlight target or a prop_static's lighting origin.
Also displayed in Hammer's 2D views and Entity Report.

Internal keyvalues used by VRAD:

Shadows (vrad_brush_cast_shadows) <boolean> (in all games since Source 2007)
Determines if this entity will cast lightmap shadows.

FGD entry

If using func_null outside of Mapbase, add this FGD entry to the end of base.fgd:

@SolidClass base(Origin) = func_null : 
	"A nonexistent entity that gets ignored by the game (will cause an error in the console, but this can be ignored." 
	+ "Useful for invisible texlights, such as those appearing to be cast by props or which accentuate the light coming in through a window."
[
	targetname(target_source) : "Name" : : "Name to use if this is a target for lighting calculations"
	vrad_brush_cast_shadows(choices) : "Cast Baked Shadows" : 0 : "Set this if this brush casts lightmap shadows." =
	[
		0 : "No"
		1 : "Yes"
	]
]