Dokumentacija ovog članka je za sve što koristi Source pogon. Kliknite ovdje za više informacija.

prop_static

From Valve Developer Community
< Hr
Jump to navigation Jump to search
English (en)Español (es)Hrvatski (hr)Русский (ru)中文 (zh)Translate (Translate)
Ne smije se miješati s $staticprop i allowstatic (prop_data) QC naredbama.

prop_static je unutarnji(en) Točkasti entitet(en) dostupan u svim Source Source igrama. Koristi se za jeftino(en) dodavanje modela(en) svijetu. Ne može se pomicati, animirati ili prihvatiti input(en) (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(en) i, za razliku od svih drugih entiteta modela, može se osvijetliti po vrhu i bacati sjene na lightmap(en).

AltNames.pngAltNames: This entity is also tied to static_prop.

Poznata ograničenja

Vertex rasvjeta

Demonstracija statične rasvjete rekvizita sa i bez $bumpmap u Source 2013 Source 2013, na modelu džipa boje vanilije iz Day of Defeat: Source Day of Defeat: Source. Obratite pažnju na razlike u točnosti osvjetljenja na džipu koji je djelomično ispod mosta.

Rasvjeta(en) 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(en)) i izgledat će slično kao dinamički props(en). Ovo je jedino ponašanje dostupno u verzijama do Source 2006.

Uz omogućeno osvjetljenje po vrhovima (dostupno od Source 2007 putem -StaticPropLighting), VRAD(en) ć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(en) na modelima s vrlo visokim poligonima, stoga je preporučljivo kreirati LOD(en).

U verzijama pogona prije CS:GO engine branchCSGO(en) i Strata Source 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 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 Source 2013 Multiplayer, Team Fortress 2 branch TF2 branch i Garry's Mod Garry's Mod, VRAD može primijeniti lightmap(en) na statične rekvizite, omogućujući bolje stapanje između brush(en) 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(en) i/ili materijala(en), 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(en) formatu, koji može učiniti primjetnim trake u boji u HDR(en) načinu rada (posebno ako je izvor svjetla blizu rekvizita). Garry's Mod Garry's Mod generira i koristi zasebne RGBA16161616f karte svjetla za HDR način.

Naposljetku, modeli s LoD(en)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(en) od uvijek korištenja modela najviše kvalitete.

Pogledajte stranicu $lightmap(en) za potpuni popis upozorenja s rekvizitima za mapiranje svjetla.

PlacementTip.pngRaditi okolo:Modificirani VRAD može generirati HDR svjetlosne karte za statičke rekvizite, nauštrb dodatne upotrebe VRAM-a; pogledajte PPL(en) za više informacija.
Tip.pngSavjet:
  • Propper++ Propper++ može ispeći $basetexture(en) 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(en) ograničava maksimalan broj entiteta na karti, uključujući interne entitete(en), 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 Source 2007Source 2013Left 4 Dead engine branch može biti do 8192 entiteta (računajući statičke rekvizite);
  • U Alien Swarm engine branchPortal 2 engine branch do 16384;
  • U CS:GO engine branch do 20480;
  • U Mapbase do 65536 (radi s bilo kojom igrom Source 2013 Singleplayer).

Budući da se, opet, to ograničenje odnosi na sve entitete karte, realna maksimalna količina statičkih rekvizita bit će manja.

Tip.pngSavjet:Ovo je meko ograničenje, a modificirani VBSP(en) ga može promijeniti (MAX_MAP_ENTITIES u public/bspfile.h). BSP datoteka teoretski može sadržavati više od 4 milijarde statičkih rekvizita.

Prisilna dosljednost

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

PlacementTip.pngRaditi okolo:Ovo nije ograničenje motora; provjeru obavlja kompilator. Modificirani VBSP(en) to može izbjeći. Pogledajte ispod.

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 Day of Defeat: Source)

PlacementTip.pngRaditi okolo:Ili sastavite zaseban model za svaku željenu varijaciju (ne troši edikt(en), bolje osvjetljenje) ili koristite prop_dynamic (lakše, manje dupliciranja datoteka).

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(en). Sjene tekstura bit će bačene na temelju prvog skina, iako su alfa teksture za ostale skinove učitane u memoriju. (testirano u Day of Defeat: Source)

Ključne vrijednosti

Collisions (solid) <cjelobrojni(en) izbori>
Kako bi rekvizit trebao komunicirati s drugim objektima.
  • 0 - Nije čvrsto
  • 2 - Koristi okvir za ograničavanje
  • 6 - Koristi VPhysics(en) (zadano)
    Note.pngBilješka:Korištenje VPhysics kolizije na modelima bez mreže kolizije(en) 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(en)>
Prop će biti osvijetljen vrhom slično dinamičkim propovima: u stvarnom vremenu, na temelju svog origin(en) ili $illumposition(en). 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.
Icon-Important.pngVažno:Omogućavanje ovoga poništava generatelightmaps!
Disable Self-Shadowing with vertex lighting (disableselfshadowing) <Booleov(en)>
Kada je omogućeno osvjetljenje vrhova, spriječite samosjenčanje geometrije (bacanje sjena na sebe).
Ignore surface normal for computing vertex lighting (ignorenormals) <Booleov(en)>
Kada je omogućeno osvjetljenje vrhova, zanemarite normalu površine strana prilikom izračuna osvjetljenja vrhova, što rezultira ujednačenijim sjenčanjem.
Tip.pngSavjet:Korisno za tanke, prozirne predmete poput lišća na potpornjima za lišće.
Alpha (renderamt) <cijeli broj(en)> (u svim igrama od(en) Left 4 Dead)
Alfa blijeđenja, gdje je 0 potpuno prozirno, a 255 potpuno neprozirno.
Render Color (R G B) (rendercolor) <boja255(en)> (u svim igrama od(en) Left 4 Dead)
Obojite model ovom bojom.
Note.pngBilješ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(en)> (u svim igrama od(en) Source 2013 Multiplayer) (također u Garry's Mod)
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.
Note.pngBilješka:Mapiranje svjetla može se lažirati i na statičnim elementima pomoću $detailblendmode(en) 8 ili shadera Modulate(en) u svim igrama, iako sinkronizacija osvjetljenja može biti teška.
Warning.pngUpozorenje:Nekoliko upozorenja i napomena; vidi gore navedene napomene i upozorenja.
Note.pngBilješka:(ne u Black Mesa) Iako ovaj KV postoji u FGD-u Black Mese, ne koristi se; Xengine(en) ne podržava lightmapped props(en).
Lightmap Resolution X (lightmapresolutionx) <cijeli broj(en)> (u svim igrama od(en) Source 2013 Multiplayer) (također u Garry's Mod)
Lightmap Resolution Y (lightmapresolutiony) <cijeli broj(en)> (u svim igrama od(en) Source 2013 Multiplayer) (također u Garry's Mod)
Rezolucija generirane mape svjetla u smjeru X (ili U) i Y (ili V). (Koristi se samo ako je omogućeno Generiraj mape svjetla.)
Icon-Important.pngVaž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(en)> (u svim igrama od(en) CS:GO engine branch) (također u Garry's Mod)
Treba li VRAD stvoriti indirektnu rasvjetu iz ovog rekvizita.
Disable Prop Combine (preventpropcombine) <Booleov(en)> (u svim igrama od(en) CS:GO engine branch)
Spriječite kombiniranje ovog statičkog propa s bilo kojim drugim statičkim propovima u VBSP-u.
Uniform Scaling (uniformscale) <float(en)> (u svim igrama od(en) CS:GO engine branch)
Množitelj za veličinu statičkog modela propelera.
Icon-Bug.pngGreš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 ?]
Napraviti: dodajte skaliranje kvs iz p2ce
Name (targetname) <niz(en)> (samo u The Ship: Murder Party)
Naziv na koji se ship_base_interactionThe Ship: Murder Party 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(en). Naziv neće biti u kompiliranom BSP-u.

Studiomodel:

World Model (model) <put modela(en)>
model(en) u kojem bi se ovaj entitet trebao pojaviti. Ograničenje od 128 znakova.
Skin (skin) <cijeli broj(en)>
Neki modeli imaju više skinova(en). Ova vrijednost odabire iz indeksa, počevši od 0.
Tip.pngSavjet:Hammerov preglednik modela automatski ažurira ovu vrijednost ako ga koristite za pregled različitih maski.
Icon-Bug.pngGreška:Statični rekviziti s višestrukim kožama(en) uvijek će izračunati sjene teksture(en) 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(en)>
Odaberite entitet (po mogućnosti info_lighting) iz kojeg ćete uzorkovati osvjetljenje umjesto $illumposition(en) entiteta, ako je osvjetljenje po vrhovima onemogućeno na ovom podupiraču.

Shadow:

Disable Shadows (disableshadows) <Booleov(en)>
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(en)> (u svim igrama od(en) Counter-Strike: Global Offensive)
Koristi se za onemogućavanje iscrtavanja u dubinu sjene (za projicirane teksture) za ovaj entitet.
Disable flashlight (disableflashlight) <Booleov(en)> (u svim igrama od(en) Portal 2)
Koristi se za onemogućavanje osvjetljenja projicirane teksture i sjena na ovom entitetu.
Render in Fast Reflections (drawinfastreflection) <Booleov(en)> (u svim igrama od(en) Portal 2)
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(en)>
Distance at which the entity starts to fade.
End Fade Dist (fademaxdist) <float(en)>
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(en)>
If you specify so in worldspawn, or if the engine is running below DirectX 8 (DX7 in Source 2006), 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(en)> (uklonjen od Portal 2)
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(en) izbori> (uklonjen od Left 4 Dead)
The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices
Warning.pngUpozorenje:If these are used, the object may break when the user switches their DirectX settings.[missing string]
Tip.pngSavjet: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(en) od korištenja blocklight(en) kistova, jer se ne računa u ograničenja kista i brushside(en).
Minimum / Maximum Effect Details Level (mincpulevel / maxcpulevel) <cjelobrojni(en) izbori> (u svim igrama od(en) Left 4 Dead)
Don't render for players with Effect Details levels that exceed the minimum or maximum.
Choices
  • 0: Default ("Low" for mincpulevel, "High" for maxcpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
Minimum / Maximum Shader Details Level (mingpulevel / maxgpulevel) <cjelobrojni(en) izbori> (u svim igrama od(en) Left 4 Dead)
Don't render for players with Shader Details levels that exceed the minimum or maximum.
Choices
  • 0: Default ("Low" for mingpulevel, "Very High" for maxgpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
  • 4: Very High
Vidi također:  cpu_level / gpu_level convars

Tip.pngSavjet: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(en) od korištenja blocklight(en) kistova, jer se ne računa u ograničenja kista i brushside(en).
Pitch Yaw Roll (Y Z X) (angles) <QAngle(en)>
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

Error! prop_static using model "[model]", which must be used on a dynamic entity (i.e. prop_physics). Deleted.
Greška! prop_static koristi model "[model]", koji se mora koristiti na dinamičkom entitetu (tj. prop_physics). Izbrisano.

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):

Ako je model vaš prilagođeni model:

$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):

Napraviti: Navedite opciju koja radi s Team Fortress 2 branch.

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.

See also