|—| |Fájl kiterjesztés|.bsp| |Elsődleges változatok|Id Tech BSP (Quake 1/2/3), GoldSrc BSP (Half-Life 1), Source BSP (Half-Life 2, CS:GO), Source 2 BSP (CS2, Half-Life: Alyx)| |Formátumtípus|Bináris sorosított geometriai adatstruktúra, amely előre kiszámított BSP fát, láthatósági leveleket és lightmap tömböket tartalmaz| |Elsődleges felhasználás|Összeállított 3D játék szintek (térképek) tárolása, beleértve a statikus geometriát, lightmap-eket, entitás elhelyezéseket (spawn pontok, fegyverek, triggerek) és ütközési adatokat| |Fő funkció|Valós idejű láthatóság culling – a BSP fa azonnal eldobja a láthatatlan geometriát a falak mögött, lehetővé téve a 1990-es évek hardverének, hogy komplex beltéri környezeteket magas képkockaszámon rendereljen| |Biztonsági profil|Csak olvasható, biztonságos játék terjesztéshez; sérült vagy dekompilált BSP fájlok renderelési hibákat, hiányzó ütközéseket vagy motor összeomlásokat okozhatnak; nem szándékolt kézi szerkesztésre| |Kompatibilitás|Natív az Id Tech motorokhoz (Quake sorozat, Doom 3), GoldSrc (Half-Life 1, Counter-Strike 1.6), Source (Half-Life 2, Portal, Left 4 Dead, Team Fortress 2), Source 2 (CS2, Dota 2), és számos harmadik fél motorhoz (Call of Duty a Black Ops Cold War-ig)|
A BSP fájl felépítése
Egy .bsp fájl több, „lump”-nak nevezett szekcióra van felosztva, amelyek a fájl fejlécében leírt adatdarabok. Minden lump egy adott feladatot lát el:
- Entitások: Meghatározza a térképen lévő objektumokat és azok tulajdonságait, például fényeket, spawn pontokat vagy tárgyakat.
- Csomópontok: A térkép geometria szervezésére és felosztására használt struktúrák, amelyek segítik a hatékony renderelést és ütközésdetektálást.
- Vertexek: Pontok, amelyek meghatározzák a térkép geometriáját alkotó poligonok sarkait.
- Síkok: Lapos felületek, amelyek a térkép geometria határait alkotják, segítve a tér felosztását.
- Levelek: A térkép térének alrészletei, amelyek segítik a láthatóság és a renderelés kezelését.
- Láthatóság: Információ, amely segíti a motort meghatározni, mely térkép részek láthatók különböző helyekről.
- Felületek: A poligonok felületei, amelyek a térkép geometriáját alkotják.
- Textúrák: A felületekre alkalmazott vizuális elemek, amelyek megjelenést kölcsönöznek.
BSP fájlok létrehozása és lefordítása
BSP fájlok bináris fájlok, ami azt jelenti, hogy olyan formátumban tárolódnak, amely a teljesítményre van optimalizálva, nem pedig az emberi olvashatóságra. A fejlesztők ezeket a fájlokat .MAP fájlokból hozják létre és fordítják le, amelyek a nyers térképadatokat tartalmazzák. Olyan eszközöket, mint a Q3Map2 és az Irrlicht, gyakran használnak erre a célra. Emellett az id Software olyan eszközöket biztosít, mint a GtkRadiant és a DarkRadiant, amelyek kifejezetten a BSP fájlok létrehozására és szerkesztésére lettek tervezve.
Használat a Quake játék motorokban
- id Tech 1 (Doom Engine): Az id Software eredeti motorja, amely a szintjeihez BSP formátumot használt.
- Quake Engine: Az eredeti Quake játékhoz használt motor, amely szintén BSP technológián alapul.
- id Tech 2 (Quake II Engine): Fejlesztette az eredeti Quake motort, kibővített BSP funkciókkal.
- id Tech 3 (Quake III Arena): További fejlesztéseket hozott a BSP kezelés és renderelés terén.
- id Tech 4 (Doom 3): Folytatta a BSP technológia használatát, további fejlesztésekkel a komplexebb és részletesebb környezetekhez.
A Quake és a Source Engine BSP fájlok közötti különbségek
Valve Source motorja, amely a Half-Life 2, Left 4 Dead és Team Fortress 2 játékokat hajtja, a Quake motorból fejlődött. Ennek következtében továbbra is .bsp fájlokat használ a térképadatok tárolására, hasonlóan a Quake motorhoz. Azonban a Source motor saját .bsp formátumváltozatát alkalmazza, amely eltér az eredeti Quake formátumtól. Ennek következtében a Quake BSP fájlok dekompilálására tervezett programok (azaz olyan eszközök, amelyek a bináris adatot emberi olvasható formátumba konvertálják) nem biztos, hogy hatékonyak a Source BSP fájlokkal, a két motor közötti fájlstruktúra- és adatformátum-különbségek miatt.
A Source motor .bsp fájlformátuma módosításokat és fejlesztéseket tartalmaz, amelyek a rendereléshez és a játékmechanikához vannak igazítva, így megkülönböztethető a Quake BSP formátumtól. A Source motor játékokban a BSP fájlok a játék .GCF (Game Cache File) archívumaiban tárolódnak. Figyelemre méltó, hogy a Source motor BSP fájljai nem tartalmaznak leíró szöveget a térképről, amely néha a Quake BSP fájlokban előfordult. Továbbá a Source motor BSP fájljai nem tartalmazzák a nem játékos karakterek (NPC-k) által a térkép bejárásához használt AI navigációs fájlokat; ezek a navigációs fájlok általában külön tárolódnak, és az NPC-ket a játék környezetében vezérlik.
Hogyan nyissunk meg egy BSP fájlt
A .bsp fájl megnyitásához kövesse az alábbi lépéseket:
- Játék motor: Töltse be a fájlt közvetlenül abban a játék motorban, amelyhez készült. Például használja a Source motort a Source játékok térképeihez, vagy a Quake motort a Quake térképekhez.
- Szerkesztő eszközök: Használjon szint szerkesztőket, mint a Hammer Editor (Source motor térképekhez) vagy a GtkRadiant (Quake térképekhez) a
.bspfájlok megtekintéséhez és szerkesztéséhez. - Dekompilálók: Használjon dekompiláló eszközöket (például BSPTwoMap vagy Quake BSP dekompilálók) a
.bspfájlok.map-hez hasonló szerkeszthető formátumba konvertálásához. Vegye figyelembe, hogy a kompatibilitás különböző motorok között eltérő lehet. - Megjelenítők: Használjon a játék motorra specifikus térképmegjelenítőket vagy vizualizálókat, amelyek a térképet szerkesztési lehetőség nélkül tudják megjeleníteni.
GyIK
Q1: Meg tudom nyitni a BSP fájlt a számítógépemen, mint egy normál képet vagy dokumentumot?
A: Nem, a BSP fájlok bináris játékeszközök, amelyeket motorok használnak, nem emberek; speciális eszközökre, például a „BSPSource” vagy a „Nem’s BSP Viewer” programokra van szükség a dekompiláláshoz vagy megtekintéshez.
Q2: Mi a különbség egy BSP fájl és egy MAP fájl között?
A: A MAP fájl egy ember által olvasható szöveges fájl, amely szerkesztésre szolgál, míg a BSP fájl a lefordított, gép-optimalizált bináris verzió, amelyet a játék ténylegesen futtat.
Q3: A BSP fájlformátum tárol 3D modelleket, például karaktereket vagy fegyvereket?
A: Általában nem; a BSP a statikus világgeometriát (falak, padlók) tárolja, míg a karakterek és tárgyak külön model fájlokban (például MDL vagy MDX) vannak tárolva.
Q4: Miért tart annyira sokáig a saját BSP térképeim lefordítása?
A: A hosszú fordítási idő általában a „VIS” (láthatóság) és a „RAD” (radialitás/fény) szakaszok miatt van, ahol a motor minden lehetséges látószakaszt és fényvisszaverődést számol ki a térképen.
Q5: A BSP formátum csak a Half-Life és a Quake játékokban használatos?
A: Bár ezekben a játékokban híres, számos motor használ BSP fákat az ütközésdetektáláshoz, beleértve a korai Call of Duty, Titanfall játékokat, sőt néhány CAD szoftvert is a 3D térbeli rendezéshez.