Dokumentasjon

    Table of Content
    • 3d
      • 3D-filformater
      • 3DS to DWG
      • 3MF to STL
      • AC
      • AMF
      • BHV
      • BIP
      • FBX to DWG
      • GLB
      • GLB to 3DS
      • GLB to FBX
      • GLB to GLTF
      • GLB to STL
      • GLB to USDZ
      • MDX
      • MTL
      • OBJ
      • PLY
      • SMD
      • STP
    • audio
      • Lydfilformater
      • GP
      • M3U
      • M3U8
      • M4R
      • MP3
      • MUS
      • MUS Minecraft
      • PKF
      • PTX
      • QCP
      • SESX
      • STY
      • WAV
    • cad
      • CAD-filformater
      • DGN
      • DWFX
      • DWG
      • DXF
      • GCODE
      • IGS
      • PLT
    • compression
      • Komprimeringsfilformater
      • APK
      • GZ
      • ISO
      • LZMA
      • PKG
      • TGS
      • VPK
      • WHL
      • WUX
      • XAPK
      • ZIP
    • data
      • Datafilformater
      • CDX
      • ESX
      • GB
      • INK
      • IO
      • PCB
      • PRT
      • SAFETENSORS
      • VCS
      • XDELTA
    • database
      • Database filformater
      • BAK SQL Server
      • CRYPT14
      • DB
      • DB3
      • DBC
      • DTSX
      • FDB
      • GDB
      • MDF
      • NDF
      • SAV
      • SQL
      • SQLITE
    • disc-and-media
      • Disk- og mediefilformater
      • CUE
      • ISZ
      • MDF
      • OVA
      • TIB
      • Toast
      • WBFS
    • ebook
      • E-bok filformater
      • CBZ
      • JWPUB
      • KFX
    • email
      • Filformater for e-post
      • EML
      • ICS
      • OFT
      • RPMSG
      • VCF
    • executable
      • Kjørbare filformater
      • BAT
      • CMD
      • JSF
      • MST
      • PS1
      • PYC
      • REG
      • RUN
      • WSF
      • XEX
    • finance
      • Finans filformater
      • ABA
      • IXBRL
      • OFX
      • XBRL
    • font
      • Font filformater
      • TTF
      • WOFF2
    • game
      • Spillfilformater
      • 3DSX
      • ASS
      • ASSET
      • BIN
      • BIN PCSX
      • BSP
      • CLIP
      • CT
      • DSV
      • ESP
      • FOMOD
      • GMA
      • MCA
      • MCPACK
      • NBT
      • NDS
      • NSP
      • NSZ
      • PAK
      • PSS
      • RPF
      • RPX
      • RVZ
      • SMC
      • UASSET
      • Unity3D
      • VDF
      • XCI
      • Z64
    • gis
      • GIS filformater
      • FIT
      • GPX
      • KMZ
    • image
      • Bildefilformater
      • ARW
      • BMP
      • CDR
      • GIF
      • HDR
      • JFIF
      • JPEG
      • JPF
      • JXL
      • PVT
      • RPF
      • SKP
      • TIFF
    • misc
      • Diverse filformater
      • BAK Backup
      • CRX
      • CTG
      • ENC
      • FIG
      • GPG
      • H5
      • IPS
      • LOCK
      • LRC
      • MEDIA FILES
      • NOMEDIA
      • PDO
      • PES
      • PKPASS
      • PS2 BIOS
      • PSX BIOS
      • SHELL SCRIPT
      • TEXT FORMATS
      • XMZX
    • pdf
      • PDF
      • FDF
    • plugin
      • Plugin filformater
      • Q1Q
    • presentation
      • Presentasjonsfilformater
      • PPT
      • PPTX
    • programming
      • Programmering
      • ACD
      • ASM
      • AU3
      • C
      • CONFIG
      • CS
      • CSPROJ
      • CXX
      • EGG
      • G4
      • GROOVY
      • H
      • HPP
      • INO
      • Jav
      • JRXML
    • project-management
      • Prosjektledelse filformater
      • MPP
    • video
      • ASS
      • BNP
      • DRP
      • MJP
      • TTML2
      • WebVTT
    1. Hjem
    2. Spillfilformater
    3. BSP

    What's on this Page

      • Hva er en BSP-fil?
      • BSP-filformat - Mer informasjon
      • Nøkkelfunksjoner ved BSP-filer
      • Struktur av en BSP-fil
      • Opprette og kompilere BSP-filer
      • Bruk i Quake-spillmotorer
      • Forskjeller mellom Quake- og Source Engine BSP-filer
      • Hvordan åpne en BSP-fil
      • FAQ
      • Referanser

    Hva er en BSP-fil?

    En BSP-fil er en viktig komponent i videospillutvikling, brukt til å lagre kartdata for ulike spillmotorer, inkludert Quake- og Source-motorene. I Quake-motoren fungerer .bsp-filer som beholdere for kartgeometri, teksturer og entitetsdata. Disse filene opprettes når kart designet i Quakes nivåredigerer blir kompilert, slik at spillet kan gjengi og bruke disse kartene under spill. Dette formatet innkapsler oppsettet og de visuelle elementene i spillmiljøet, og sikrer at spillmotoren effektivt kan laste og vise kartet.

    På samme måte brukes .bsp-filer i Source-motoren til å lagre kartdata for spill som Half-Life 2 og Counter-Strike: Source. Kartene for disse spillene designes med verktøy som Hammer Editor, og de resulterende .bsp-filene inneholder viktig informasjon om kartets geometri, teksturer og enheter. Disse filene er nødvendige for at Source-motoren skal kunne gjengi nivåene nøyaktig under spill. .bsp-filformatet er binært, noe som betyr at det ikke er lett lesbart eller redigerbart for hånd, men er optimalisert for bruk av spillmotoren for å sikre jevn ytelse og nøyaktig representasjon av spillmiljøet.

    BSP-filformat - Mer informasjon

    BSP står for Binary Space Partitioning (binær romdeling), en teknikk som brukes av spillmotorer for effektivt å håndtere og gjengi 3D-miljøer. Hovedideen bak BSP er å dele opp komplekse polygoner i enklere, konvekse sett. Denne partisjoneringen hjelper motoren med å håndtere og gjengi intrikate 3D-kart mer effektivt ved å forenkle beregningene som trengs for å vise kartet. Ved å dele rommet inn i håndterbare seksjoner kan motoren raskt bestemme hvilke deler av kartet som er synlige og må gjengis, noe som forbedrer ytelsen og reduserer gjengitetiden.

    Nøkkelfunksjoner ved BSP-filer

    EgenskapBeskrivelse
    Filtype.bsp
    Primære varianterId 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)
    FormattypeBinær serialisert geometrisk datastruktur som inneholder et forhåndsberegnet BSP-tre, synlighetsblader og lyskart-blokker
    Primær brukLagrer kompilerte 3D-spillnivåer (kart) inkludert statisk geometri, lyskart, plassering av enheter (spawn-punkter, våpen, triggere) og kollisjonsdata
    HovedfunksjonSanntids synlighetskulling – BSP-treet forkaster umiddelbart usynlig geometri bak vegger, noe som gjør at maskinvare fra 1990-tallet kan gjengi komplekse innendørs miljøer med høye bildefrekvenser
    SikkerhetsprofilSkrivebeskyttet og trygt for distribusjon av spill; korrupte eller dekompilerte BSP-filer kan forårsake gjengivelsesfeil, manglende kollisjoner eller krasj i motoren; er ikke ment for manuell redigering
    KompatibilitetNative for Id Tech-motorer (Quake-serien, 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) og mange tredjeparts-motorer (Call of Duty opptil Black Ops Cold War)

    Struktur av en BSP-fil

    En .bsp-fil er organisert i flere seksjoner kalt “lumps”, som er datablokker beskrevet i filens header. Hver lump har et spesifikt formål:

    • Entiteter: Definerer objekter og deres egenskaper i kartet, som lys, spawn-punkter eller gjenstander.
    • Noder: Strukturer som brukes til å organisere og partisjonere kartets geometri, og hjelper med effektiv gjengivelse og kollisjonsdeteksjon.
    • Vertices: Punkter som definerer hjørnene på polygonene som utgjør kartets geometri.
    • Planer: Flate overflater som danner grensene for kartets geometri, og hjelper med å partisjonere rommet.
    • Leaves: Delinger av kartets rom, som hjelper med å håndtere synlighet og gjengivelse.
    • Synlighet: Informasjon som hjelper motoren å bestemme hvilke deler av kartet som er synlige fra ulike posisjoner.
    • Flater: Overflater på polygonene som utgjør kartets geometri.
    • Teksturer: Visuelle elementer som påføres overflatene for å gi dem sitt utseende.

    Opprette og kompilere BSP-filer

    BSP-filer er binære filer, noe som betyr at de lagres i et format som er optimalisert for ytelse snarere enn menneskelig lesbarhet. Utviklere lager og kompilere disse filene fra .MAP-filer, som inneholder rå kartdata. Verktøy som Q3Map2 og Irrlicht brukes ofte til dette formålet. I tillegg tilbyr id Software verktøy som GtkRadiant og DarkRadiant, som er spesielt designet for å opprette og redigere BSP-filer.

    Bruk i Quake-spillmotorer

    Flere Quake-spillmotorer bruker BSP-filer til å håndtere kartdata:

    • id Tech 1 (Doom Engine): Den originale motoren fra id Software, som brukte en form for BSP for sine nivåer.
    • Quake Engine: Motoren som ble brukt for det originale Quake-spillet, også basert på BSP-teknologi.
    • id Tech 2 (Quake II Engine): Forbedret den originale Quake-motoren med utvidede BSP-funksjoner.
    • id Tech 3 (Quake III Arena): Innførte ytterligere fremskritt i håndtering og gjengivelse av BSP.
    • id Tech 4 (Doom 3): Fortsatte bruken av BSP-teknologi med ytterligere forbedringer for mer komplekse og detaljerte miljøer.

    Forskjeller mellom Quake- og Source Engine BSP-filer

    Valves Source-motor, som driver spill som Half-Life 2, Left 4 Dead og Team Fortress 2, utviklet seg fra Quake-motoren. Som et resultat fortsetter den å bruke .bsp-filer for lagring av kartdata, likt Quake-motoren. Imidlertid bruker Source-motoren sin egen versjon av .bsp-formatet, som avviker fra det opprinnelige Quake-formatet. Derfor kan programmer laget for å dekompilere Quake BSP-filer (dvs. verktøy som konverterer binær data til et menneskelig lesbart format) være ineffektive med Source BSP-filer på grunn av forskjeller i filstrukturer og dataformater mellom de to motorene.

    Source-motorens .bsp-filformat inneholder modifikasjoner og forbedringer tilpasset dens gjengivelse og spillmekanikk, noe som gjør det forskjellig fra Quake BSP-formatet. I Source-spill lagres BSP-filer i spillens .GCF (Game Cache File)-arkiver. Merk at Source-motorens BSP-filer ikke inneholder beskrivende tekst for kartet, noe som noen ganger var tilstede i Quakes BSP-filer. I tillegg inneholder ikke Source-motorens BSP-filer AI-navigasjonsfiler som brukes av ikke-spillerkarakterer (NPC-er) for å navigere i kartet; i stedet lagres disse AI-navigasjonsfilene vanligvis separat og veileder NPC-er gjennom spillmiljøet.

    Hvordan åpne en BSP-fil

    For å åpne en .bsp-fil, følg disse trinnene:

    1. Spillmotor: Last inn filen direkte i spillmotoren den er laget for. For eksempel, bruk Source-motoren for kart fra Source-spill eller Quake-motoren for Quake-kart.
    2. Redigeringsverktøy: Bruk nivåredigerere som Hammer Editor (for Source-motorens kart) eller GtkRadiant (for Quake-kart) for å vise og redigere .bsp-filer.
    3. Dekompilatorer: Bruk dekompileringsverktøy (som BSPTwoMap eller Quake BSP-dekompilatorer) for å konvertere .bsp-filer til et mer redigerbart format som .map. Merk at kompatibilitet kan variere mellom ulike motorer.
    4. Visere: Bruk kartvisere eller visualiseringsprogrammer spesifikke for spillmotoren, som kan vise kartet uten redigeringsmuligheter.

    FAQ

    Q1: Kan jeg åpne en BSP-fil på datamaskinen min som et vanlig bilde eller dokument?

    A: Nei, BSP-filer er binære spillressurser ment for motorer, ikke for mennesker; du trenger spesifikke verktøy som “BSPSource” eller “Nem’s BSP Viewer” for å dekompilere eller vise dem.

    Q2: Hva er forskjellen mellom en BSP-fil og en MAP-fil?

    A: En MAP-fil er en menneskelig lesbar tekstfil som brukes til redigering, mens en BSP-fil er den kompilerte, maskinoptimaliserte binære versjonen som spillet faktisk kjører.

    Q3: Lagrer BSP-filformatet 3D-modeller som karakterer eller våpen?

    A: Generelt nei; BSP lagrer den statiske verdensgeometrien (vegger, gulv), mens karakterer og gjenstander lagres separat som modellfiler (som MDL eller MDX).

    Q4: Hvorfor tar mine tilpassede BSP-kart så lang tid å kompilere?

    A: Lange kompileringstider skyldes vanligvis “VIS” (synlighet) og “RAD” (radiositet/belysning) fasene, hvor motoren beregner hver mulig synslinje og lysrefleksjon i kartet.

    Q5: Er BSP-formatet kun brukt for Half-Life og Quake?

    A: Selv om det er kjent fra de spillene, bruker mange motorer BSP-trær for kollisjonsdeteksjon, inkludert tidlige Call of Duty, Titanfall, og til og med noen CAD-programmer for 3D-romsortering.

    Referanser

    • Binær romdeling
     
     Norsk
    Close
     English
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Español
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski
     Bengali
     Dansk
     Persian
     Finnish
     Gaeilge
     Lithuanian
     Latvian
     Azeri