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 LoD ovima ć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 ne podržava odabirljive $bodygroup podmodele; ako ih ima, igra će koristiti samo prvi. Unatoč tome, VRAD će generirati sjene svjetlosne mape iz svih podmodela prisutnih u MDL-u! (testirano u )

Modeli s grupama kože
Iako prop_static podržava odabir $texturegroup skinova, VRAD ne učitava ispravno odgovarajući skin. Budući da VRAD brine samo o alfa kanalu tekstura, ovo je problem samo za materijale koji bi bacali sjene tekstura . Sjene tekstura bit će bačene na temelju prvog skina, iako su alfa teksture za ostale skinove učitane u memoriju. (testirano u )
Ključne vrijednosti
- Collisions (solid) <cjelobrojni izbori>
- Kako bi rekvizit trebao komunicirati s drugim objektima.
- 0 - Nije čvrsto
- 2 - Koristi okvir za ograničavanje
- 6 - Koristi VPhysics (zadano)
Bilješka:Korištenje VPhysics kolizije na modelima bez mreže kolizije uzrokovat će da engine izbaci upozorenje prilikom učitavanja mape. Ako vidite takvo upozorenje, resetirajte koliziju svih rekvizita koristeći navedeni model na jednu od druge dvije opcije.
- Disable per-vertex lighting (disablevertexlighting) <Booleov >
- Prop će biti osvijetljen vrhom slično dinamičkim propovima: u stvarnom vremenu, na temelju svog origin ili $illumposition . To može značajno smanjiti vrijeme kompajliranja VRAD-a ako prop nema koristi od složenog osvjetljenja, nije osvijetljen i/ili koristi eksplicitno definiranu $lightmap.
Važno:Omogućavanje ovoga poništava generatelightmaps!
- Disable Self-Shadowing with vertex lighting (disableselfshadowing) <Booleov >
- Kada je omogućeno osvjetljenje vrhova, spriječite samosjenčanje geometrije (bacanje sjena na sebe).
- Ignore surface normal for computing vertex lighting (ignorenormals) <Booleov >
- Kada je omogućeno osvjetljenje vrhova, zanemarite normalu površine strana prilikom izračuna osvjetljenja vrhova, što rezultira ujednačenijim sjenčanjem.
Savjet:Korisno za tanke, prozirne predmete poput lišća na potpornjima za lišće.
- Alpha (renderamt) <cijeli broj > (u svim igrama od
)
- Alfa blijeđenja, gdje je 0 potpuno prozirno, a 255 potpuno neprozirno.
- Render Color (R G B) (rendercolor) <boja255 > (u svim igrama od
)
- Obojite model ovom bojom.
Bilješka:Za igre prije L4D-a poput Source 2013, možete koristiti ovaj alat kao alternativa
- Generate (and use) lightmaps for this static prop (generatelightmaps) <Booleov > (u svim igrama od
) (također u
)
- Generirajte mapu svjetla za ovaj prop, uz rezervno osvjetljenje po vrhovima. Potrebno je da
-StaticPropLighting
bude omogućen u VRAD-u. Za više informacija posjetite tf2maps.net. Bilješka:Mapiranje svjetla može se lažirati i na statičnim elementima pomoću $detailblendmode 8 ili shadera Modulate u svim igrama, iako sinkronizacija osvjetljenja može biti teška.
Upozorenje:Nekoliko upozorenja i napomena; vidi gore navedene napomene i upozorenja.
Bilješka:(ne u
) Iako ovaj KV postoji u FGD-u Black Mese, ne koristi se; Xengine ne podržava 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
)
- Rezolucija generirane mape svjetla u smjeru X (ili U) i Y (ili V). (Koristi se samo ako je omogućeno Generiraj mape svjetla.)
Važno:Postavljanje visoke rezolucije značajno će usporiti vrijeme kompajliranja VRAD-a i može izgledati neprimjereno u usporedbi s puno nižom rezolucijom mapa svjetla za kist i pomak.
- Enable Bounced Lighting (enablelightbounce) <Booleov > (u svim igrama od
) (također u
)
- Treba li VRAD stvoriti indirektnu rasvjetu iz ovog rekvizita.
- Disable Prop Combine (preventpropcombine) <Booleov > (u svim igrama od
)
- Spriječite kombiniranje ovog statičkog propa s bilo kojim drugim statičkim propovima u VBSP-u.
- Uniform Scaling (uniformscale) <float > (u svim igrama od
)
- Množitelj za veličinu statičkog modela propelera.
Greška:U Hammeru, poništavanje/ponovno izvođenje bilo kakvih promjena (bilo da se radi o malim pomicanjima jedinice ili promjenama skale) rezultirat će time da se rekvizit pojavljuje "normalne" veličine u 3D teksturiranom prikazu (model se pojavljuje normalne veličine samo i zadana vrijednost se i dalje prikazuje nakon ponovnog pokretanja VMF-a). [to-do: testirano u ?]
- Name (targetname) <niz > (samo u
)
- Naziv na koji se ship_base_interaction
entiteti odnose na ovaj entitet pomoću [Kako?]. Također korisno bez obzira na igru za prepoznavanje specifičnih prop_static entiteta u Entity Report . Naziv neće biti u kompiliranom BSP-u.
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 $illumposition entiteta, ako je osvjetljenje po vrhovima onemogućeno na ovom podupiraču.
Shadow:
- 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 iscrtavanja u dubinu sjene (za projicirane teksture) za ovaj entitet.
- Disable flashlight (disableflashlight) <Booleov > (u svim igrama od
)
- Koristi se za onemogućavanje osvjetljenja projicirane 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
)
- Metoda kojom se treba odrediti udaljenost blijeđenja. Ako je onemogućeno, udaljenost blijeđenja je udaljenost od pogleda igrača do objekta, u inčima. Ako je omogućeno, udaljenost blijeđenja je veličina objekta na zaslonu, u pikselima.
- 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 Expand
Savjet:Postavite maxdxlevel na niži broj, kao što je 1 ili 50 (zajedno s disablevertexlighting postavljenim na 1) kako biste stvorili element koji može bacati sjene, ali se ne renderira u igri. Ovo je jeftinije od korištenja blocklight kistova, jer se ne računa u ograničenja kista i brushside .
- 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 Expand
- 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 Expand Vidi također: cpu_level / gpu_level convars
Savjet:Postavite mingpulevel ili mincpulevel na vrlo velik broj, poput 20 (zajedno s disablevertexlighting postavljenim na 1) kako biste stvorili element koji može bacati sjene, ali se ne renderira u igri. Ovo je jeftinije od korištenja blocklight kistova, jer se ne računa u ograničenja kista i brushside .
- 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.
Uobičajene pogreške
VBSP briše model
Prop trenutno nije kompatibilan za korištenje kao prop_static
. Imajte na umu da to ne znači nužno da se model ne može koristiti s prop_static.
Ako model nema oznaku "static" u pregledniku modela (kao u slučaju da "nije" kompiliran s $staticprop):
- Morate koristiti prop_dynamic umjesto toga ili prop_physics_override ako želite da ima fiziku.
Ako je model vaš prilagođeni model:
- Ili nedostaje datoteka QC vašeg modela $staticprop ili nema
allowstatic 1
u prop_data. Primjer:
$KeyValues { prop_data { "base" "Metal.Medium" "allowstatic" "1" } }
Ako nije vaš prilagođeni model, ali ima oznaku "static" u pregledniku modela (kompilirano je s $staticprop):
- Ako je
, dodajte -allowdynamicpropsasstatic opcijama kompajliranja VBSP .
- Ako je
, koristite VBSP iz
Slammin' Source Map Tools (
ili
), VBSP prop_static fix (samo za
),
Mapbase (samo za
) ili
Garry's Mod (samo za
).
- U suprotnom, upotrijebite
Source Model Skin Editor za dodavanje "allowstatic" "1" u prop_data MDL -ovog prop_data, a zatim se vratite na izvorni MDL nakon što se mapa kompajlira.
Model nije u sredini
Ako je iz nekog razloga vaš model pogrešno lociran, provjerite deklarirani naziv kosti u $definebone
modela; trebao bi biti bez kosih crta. Također provjerite poziciju tamo, vrijednosti bi trebale biti poništene.