Entity
Entitet je objekt definiran unutar Source obično u svrhu omogućavanja interakcije igrača ili drugih entiteta putem I/O sustava. Svijet, koji je kombinacija svih kistova svijeta, func_detail i prop_static entiteta, predstavljen je entitetom nazvanim worldspawn.
Vrste entiteta
Entiteti se mogu podijeliti u nekoliko različitih tipova. Iz perspektive Hammer editora, mogu se razdvojiti na temelju načina na koji su kreirani u editoru, što je određeno njihovom FGD definicijom.
Od strane urednika karte | |
---|---|
Vrste | Informacije |
Entitet četke | Entitet kista stvara se vezanjem entiteta za BSP geometriju brush na mapi, dajući kistu specifičan efekt ili sposobnost definiranu entitetom vezanim za njega. Prilikom kompajliranja, vezani kistovi se pretvaraju u model kista koji koristi ovaj entitet. |
Točkasti entitet | Točkasti entiteti su entiti stvoreni na određenoj pozicijskoj točki na mreži . Neki zahtijevaju odabir modela kako bi u potpunosti funkcionirali. |
Prema načinu obrade | |
---|---|
Vrste | Informacije |
Interni entitet | Interni entiteti su oni koje obrađuje VBSP , a zatim se brišu ili spajaju u drugi entitet. Ne postoje kada se karta izvodi, tako da se neće računati u ograničenje entiteta . Interni entiteti dobivaju poseban tretman od strane alata za kompiliranje karte i uklanjaju se iz konačnog proizvoda, obično pohranjeni u posebnom dijelu. |
Polu-unutarnji entitet | Polu-interni entiteti su oni entiteti koji ostaju kao entiteti na mapi, a kompajler također radi nešto posebno na temelju njihovog naziva klase na isti način kao i s internim entitetima.
Na primjer, model kista func_areaportal se premješta u svijet pomoću VBSP , ostavljajući entitet bez ikakvog kista u datoteci mape. Ili func_detail_blocker koji blokira stvaranje detaljnih spriteova tijekom kompajliranja i ostaje na mapi, moguće samo kao informacija za dekompilatore. Ili čak entiteti povezani s svjetlom koje obrađuje VRAD za izračun osvjetljenja. |
Neinterni entitet | Neinterni entiteti se ne obrađuju od strane VBSP (osim u slučaju entiteta kistova koji pretvaraju povezane kistove u bmodel ) i ostaju kao zasebni entiteti. To su obično interaktivni objekti ili likovi s kojima igrač može komunicirati ili koji utječu na igranje. |
Općenito odvajanje od perspektive igre na temelju namjene | |
---|---|
Vrste | Informacije |
Entitet četke | Entiteti koji koriste model četke . |
Entitet modela | Entiteti koji koriste studio model . Na primjer prop_static, prop_physics, prop_dynamic, player, npc_alyx. (gotovo uvijek su podklase od CBaseAnimating ) |
Točkasti entitet | Entiteti čiji je položaj relevantan za njihovu funkcionalnost i ne koriste 3D model, najčešće nemaju vizualni prikaz s izuzetkom čestica, spriteova, dekala. Na primjer info_target, env_sprite, infodecal, info_particle_system (često izvedeno iz CPointEntity , ali nije pravilo) |
Logički entitet | Entiteti čiji položaj nije relevantan za njegovu funkcionalnost. Na primjer logic_auto, logic_relay, math_counter, info_director (često izvedeno iz CLogicalEntity , ali to nije pravilo jer čak ni logic_auto nije) |
Ograničenja
Zbog alokacije memorije, postoji ograničenje broja entiteta koje Source može istovremeno upravljati.
Treba uzeti u obzir i kombiniranu veličinu (u bajtovima) podataka o entitetima mape, čak i ako je broj entiteta unutar sigurnih granica. Velike količine entdata mogu potrajati znatno dugo za prijenos s poslužitelja na klijenta i mogu dovesti do rušenja sustava.
See also
- Entiteti
- Dodavanje točkastih entiteta (dio serije tutorijala)
- Stvaranje entiteta kista (isto)
- Stvaranje entiteta (kratka referenca)
- Entiteti u dubini
- Popis entiteta
- Kodiranje Vaš prvi entitet
- Konzolna naredba dump_entity_sizes
- sačuvani entitet