prop_static
prop_static
je unutarnji Točkasti entitet dostupan u svim Source igrama.
Koristi se za jeftino dodavanje modela svijetu. Ne može se pomicati, animirati ili prihvatiti input (uz ograničenu iznimku $treesway). Zapravo, ne postoji kao entitet nakon što je mapa sastavljena. Velika većina modela u tipičnoj karti su
prop_static
entiteti.
prop_static
će se sudarati s drugim objektima pod uvjetom da ima mrežu sudara i, za razliku od svih drugih entiteta modela, može se osvijetliti po vrhu i bacati sjene na lightmap.

static_prop
. Poznata ograničenja
Vertex rasvjeta



Rasvjeta se može ponašati različito na određenom statičkom rekvizitu, ovisno o njegovim postavkama i načinu na koji su njen model i materijali kreirani.
Prop s onemogućenim osvjetljenjem po vrhovima bit će osvijetljen na temelju svog porijekla ($illumposition, ako je definirano u modelu, ili Porijeklo osvjetljenja, ako je definirano u Hammer) i izgledat će slično kao dinamički props. Ovo je jedino ponašanje dostupno u verzijama do .
Uz omogućeno osvjetljenje po vrhovima (dostupno od putem -StaticPropLighting), VRAD će izračunati i ispeći informacije o osvjetljenju i boji za svaki vrh modela, što obično rezultira boljim, realističnijim izgledom u igri.
Međutim, ponekad to može dovesti do neželjenih dionica sjene ili svjetla, osobito na modelima s niskim poligonima ili rekvizitima izduženih proporcija, poput drveća. Što je veći broj poli, točnije može biti osvjetljenje po vrhovima. To može postati skupo na modelima s vrlo visokim poligonima, stoga je preporučljivo kreirati LOD.
U verzijama pogona prije CSGO i
Strata Source, ako bilo koji materijal na modelu rekvizita koristi normalno mapiranje ($bumpmap, $normalmap ili $phong), osvjetljenje po vrhu bit će prisilno onemogućeno. To se događa ako neka od maski koristi $bumpmap ili $phong, čak i ako to nije odabrana aktivna maska.
CS:GO engine branch i derivati podržavaju rasvjetu po vrhovima na normalno mapiranim i $phong materijalima i ne podliježu ovom ograničenju.
Svjetlosne karte na statičkim rekvizitima
U Source 2013 Multiplayer,
TF2 branch i
Garry's Mod, VRAD može primijeniti lightmap na statične rekvizite, omogućujući bolje stapanje između brush geometrije i modela. Međutim, baš kao i kod osvjetljenja po vrhovima, ova se značajka ne može koristiti zajedno s $bumpmap, $phong ili $normalmap.
Prilikom pečenja karte svjetla za model, VRAD će koristiti isti UV i skaliranje kao $basetexture prvog materijala modela njegove prve kože (uzimajući u obzir $basetexturetransform, ako postoji).
To znači da:
- Modeli stvoreni s UV otocima koji se preklapaju dobit će loše mape svjetla jer će se također preklapati;
- Ako model ima više kože i/ili materijala, samo će se prvi koristiti za postavljanje mapa svjetla, što potencijalno pogoršava preklapanje;
- Karta svjetla bit će obrezana UV rubovima (UV-ovi popločavanja nisu podržani);
- Svjetlosne karte niske rezolucije mogu prelaziti preko rubova UV-a.
Da stvar bude gora, svjetlosna karta koju za rekvizite generira vanilla VRAD dolazi kao RGB888 (24-bitni SDR) u posebnom PPL formatu, koji može učiniti primjetnim trake u boji u HDR načinu rada (posebno ako je izvor svjetla blizu rekvizita). Garry's Mod generira i koristi zasebne RGBA16161616f karte svjetla za HDR način.
Naposljetku, modeli s LoDovima će svjetlosnu kartu generiranu za svaki LoD, što može uvelike povećati količinu VRAM-a koju koristi pojedinačni rekvizit, čineći modele s razinom detalja potencijalno skupljim od uvijek korištenja modela najviše kvalitete.
Pogledajte stranicu $lightmap za potpuni popis upozorenja s rekvizitima za mapiranje svjetla.


Propper++ može ispeći $basetexture modela u atlas bez popločavanja koji se ne preklapa, ublažavajući neke od ovih problema uz manji gubitak kvalitete.
- Upotrijebite QC naredbu $checkuv 0to1 overlap kako biste spriječili kompajliranje modela ako ima nekompatibilne UV-ove.
Kompilirajte ograničenja za statičke rekvizite
VBSP ograničava maksimalan broj entiteta na karti, uključujući interne entitete, a budući da se prop_static
računa prema tom ograničenju, ako ih ima previše, kompajliranje može biti neuspješno.
- U
može biti do 8192 entiteta (računajući statičke rekvizite);
- U
do 16384;
- U
do 20480;
- U
do 65536 (radi s bilo kojom igrom
).
Budući da se, opet, to ograničenje odnosi na sve entitete karte, realna maksimalna količina statičkih rekvizita bit će manja.

Prisilna dosljednost
Kako bi se osigurala dosljednost ponašanja, modeli s ugrađenim podacima fizike ne mogu biti prop_static
, osim ako se ne koristi allowstatic. Upotrijebite informacijsku karticu Hammer Model Browsera da provjerite postoji li podrška.

Modeli s grupama tijela
Prop_static does not support selectable $bodygroup submodels; if there's any, only the first one will be used by the game. Despite this, VRAD will generate lightmap shadows from all submodels present in the MDL! (tested in )

Models with skin groups
While prop_static does support selectable $texturegroup skins, VRAD does not properly load the appropriate skin. Since VRAD only cares about the alpha channel of the textures, this is only an issue for materials that would cast texture shadows. Texture shadows will be cast based upon the first skin, even though the alpha textures for the other skins are loaded into memory. (tested in )
Keyvalues
- Collisions (solid) <cjelobrojni izbori>
- How the prop should interact with other objects.
- 0 - Not solid
- 2 - Use bounding box
- 6 - Use VPhysics (default)
Bilješka:Using VPhysics collision on models without a collision mesh will cause the engine to throw a warning upon loading the map. If you see such a warning, reset the collision of all props using the noted model to one of the other two choices.
- Disable per-vertex lighting (disablevertexlighting) <Booleov >
- Prop will be vertex lit more similarly to dynamic props: in real-time, based on its origin or $illumposition. This can significantly reduce VRAD compile times if the prop does not benefit from complex lighting, is unlit, and/or is using an explicitly defined $lightmap.
Važno:Enabling this overrides generatelightmaps!
- Disable Self-Shadowing with vertex lighting (disableselfshadowing) <Booleov >
- When vertex lighting is enabled, prevent the geometry from self-shadowing (casting shadows onto itself).
- Ignore surface normal for computing vertex lighting (ignorenormals) <Booleov >
- When vertex lighting is enabled, ignore the surface normal of faces when calculating the vertex lighting, resulting in more uniform shading.
Savjet:Useful for thin, translucent objects such as leaves on foliage props.
- Alpha (renderamt) <cijeli broj > (u svim igrama od
)
- Alpha of the fade, where 0 is fully transparent and 255 is fully opaque.
- Render Color (R G B) (rendercolor) <boja255 > (u svim igrama od
)
- Tint the model with this color.
Bilješka:For games before L4D like Source 2013, you can use this tool as a alternate
- Generate (and use) lightmaps for this static prop (generatelightmaps) <Booleov > (u svim igrama od
) (također u
)
- Generate a lightmap for this prop, in addition to fallback per-vertex lighting. Requires
-StaticPropLighting
to be enabled in VRAD. For more information, visit tf2maps.net. Bilješka:Lightmapping can be also faked on static props using $detailblendmode 8 or the Modulate shader in all games, although syncing the lighting can be difficult.
Upozorenje:Several caveats and limitations; see note and warnings above.
Bilješka:(ne u
) While this KV does exist in Black Mesa's FGD, it is unused; Xengine does not support lightmapped props.
- Lightmap Resolution X (lightmapresolutionx) <cijeli broj > (u svim igrama od
) (također u
)
- Lightmap Resolution Y (lightmapresolutiony) <cijeli broj > (u svim igrama od
) (također u
)
- The resolution of the generated lightmap in the X (or U) and Y (or V) direction. (Only used if Generate Lightmaps is enabled.)
Važno:Setting a high resolution will significantly slow down VRAD compile times and may look out of place compared to the much lower resolution brush and displacement lightmaps.
- Enable Bounced Lighting (enablelightbounce) <Booleov > (u svim igrama od
) (također u
)
- Whether VRAD should create indirect lighting from this prop.
- Disable Prop Combine (preventpropcombine) <Booleov > (u svim igrama od
)
- Prevent this static prop from combining with any other static props in VBSP.
- Uniform Scaling (uniformscale) <float > (u svim igrama od
)
- A multiplier for the size of the static prop model.
Greška:In Hammer, undoing/redoing any changes (whether they are slight unit movements or scale changes) will result in the prop appearing "normal" sized in the 3D Textured Viewport (the model only appears normal sized and the value given is still shown upon reload of the VMF). [to-do: testirano u ?]
- Name (targetname) <niz > (samo u
)
- The name that ship_base_interaction
entities refer to this entity by[Kako?]. Also useful regardless of game for being able to recognize specific prop_static entities in Entity Report. The name will not be in the compiled BSP.
Studiomodel:
- World Model (model) <put modela >
- model u kojem bi se ovaj entitet trebao pojaviti. Ograničenje od 128 znakova.
- Skin (skin) <cijeli broj >
- Neki modeli imaju više skinova . Ova vrijednost odabire iz indeksa, počevši od 0.
Savjet:Hammerov preglednik modela automatski ažurira ovu vrijednost ako ga koristite za pregled različitih maski.
Greška:Statični rekviziti s višestrukim kožama uvijek će izračunati sjene teksture na temelju alfa kanala(a) iz zadane teksture(a) maske, čak iako alfa teksture alternativnih maski učitava VRAD. [to-do: testirano u ?]
- Lighting Origin (LightingOrigin) <targetname >
- Odaberite entitet (po mogućnosti info_lighting) iz kojeg ćete uzorkovati osvjetljenje umjesto origin entiteta, ako je osvjetljenje po vrhovima onemogućeno na ovom podupiraču.
Sjena:
- Disable Shadows (disableshadows) <Booleov >
- Sprječava stvaranje jeftinih sjena renderiranja u teksturu ili sjena karte svjetla ako je entitet prop_static. Ne utječe na mapiranje sjene.
- Disable Shadow Depth (disableshadowdepth) <Booleov > (u svim igrama od
)
- Koristi se za onemogućavanje renderiranja u dubinu sjene (za projicirane teksture) za ovaj entitet.
- Disable flashlight (disableflashlight) <Booleov > (u svim igrama od
)
- Koristi se za onemogućavanje projiciranog osvjetljenja teksture i sjena na ovom entitetu.
- Render in Fast Reflections (drawinfastreflection) <Booleov > (u svim igrama od
)
- If enabled, this entity will render in fast water reflections (i.e. when a water material specifies
$reflectonlymarkedentities
) and in the world impostor pass.
BaseFadeProp:
- Start Fade Dist (fademindist) <float >
- Distance at which the entity starts to fade.
- End Fade Dist (fademaxdist) <float >
- Max fade distance at which the entity is visible.
- If start fade is <0, the entity will disappear instantly when end fade is hit.
- If end fade is <0, the entity won't disappear at all. (This is the default behavior.)
- The values will scale appropriately if the entity is in a 3D Skybox.
- Fade Scale (fadescale) <float >
- If you specify so in worldspawn, or if the engine is running below DirectX 8 (DX7 in
), props will fade out even if the fade distances above aren't specified. This value gives you some control over when this happens: numbers smaller than 1 cause the prop to fade out at further distances, while those greater than 1 cause it to fade out at closer distances. Using 0 turns off the forced fade altogether. See also the QC command $noforcedfade.
- Screen space fade (screenspacefade) <Booleov > (uklonjen od
)
- The method by which the fading distance should be determined. If disabled, the fade distances is the distance from the player's view to the object, in inches. If enabled, the fade distance is the size of the object onscreen, in pixels.
- Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <cjelobrojni izbori> (uklonjen od
)
- The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices Upozorenje:If these are used, the object may break when the user switches their DirectX settings.[missing string]
- 0 - Default (no bounding)
- 60 - DirectX 6 (!FGD for mindxlevel)
- 70 - DirectX 7
- 80 - DirectX 8 (GeForce4 Ti & FX 5000 series)
- 81 - DirectX 8.1 (GeForce FX 5800, 5900 & Radeon 8500/9100 and 9000/9200)
- 90 - DirectX 9 Shader Model 2
- 92 - OpenGL аналогичен DirectX 9 Shader Model 2 (using ToGL;
only) !FGD
- 95 - DirectX 9 Shader Model 3 (u svim igrama od
)
- 98 - DirectX 9 Shader Model 3 on Xbox 360 (
only) !FGD
Savjet:Set maxdxlevel to lower number such as 1 or 50 (along with disablevertexlighting set to 1) to create a prop that can cast shadows, but isn't rendered in-game. This is cheaper than using blocklight brushes, as it does not count towards brush and brushside limits.
- Minimum / Maximum Effect Details Level (mincpulevel / maxcpulevel) <cjelobrojni izbori> (u svim igrama od
)
- Don't render for players with Effect Details levels that exceed the minimum or maximum.
Choices - 0: Default ("Low" for
mincpulevel
, "High" formaxcpulevel
) - 1: Low
- 2: Medium
- 3: High
- 0: Default ("Low" for
- Minimum / Maximum Shader Details Level (mingpulevel / maxgpulevel) <cjelobrojni izbori> (u svim igrama od
)
- Don't render for players with Shader Details levels that exceed the minimum or maximum.
Choices - 0: Default ("Low" for
mingpulevel
, "Very High" formaxgpulevel
) - 1: Low
- 2: Medium
- 3: High
- 4: Very High
Vidi također: cpu_level / gpu_level convars- 0: Default ("Low" for
Savjet:Set mingpulevel or mincpulevel to a very large number such as 20 (along with disablevertexlighting set to 1) to create a prop that can cast shadows, but isn't rendered in-game. This is cheaper than using blocklight brushes, as it does not count towards brush and brushside limits.
- Pitch Yaw Roll (Y Z X) (angles) <QAngle >
- Orijentacija ovog entiteta u svijetu. Pitch je rotacija oko Y osi, yaw je rotacija oko Z osi, roll je rotacija oko X osi.
Common Mistakes
VBSP deletes model
The prop is not currently compatible to be used as prop_static
. Note that this does not necessarily mean the model cannot be used with prop_static.
If the model does not have "static" flag in the model viewer (as in, was not compiled with $staticprop):
- You need to use prop_dynamic instead, or prop_physics_override if you want it to have physics.
If the model is your custom model:
- Either your model's QC file is missing $staticprop or there is no
allowstatic 1
in the prop_data. Example:
$KeyValues { prop_data { "base" "Metal.Medium" "allowstatic" "1" } }
If it is not your custom model, but has the "static" flag in the model viewer (was compiled with $staticprop:
- If
, add -allowdynamicpropsasstatic to the VBSP compile options.
- If
, use the VBSP from
Slammin' Source Map Tools (
or
), VBSP prop_static fix (
only),
Mapbase (
only), or
Garry's Mod (
only).
- Otherwise, use
Source Model Skin Editor to add "allowstatic" "1" to the MDL's prop_data, then revert to the original MDL after the map is compiled.
Model is off-center
If for some reason your model located incorrectly, check declared bone name in $definebone
of a model; it should be without any slashes. Also check position there, values should be zeroed.