BSP to XSI

The BSP to XSI Converter is a tool that read BSP files from the source engine and convert the map into OBJ/MTL files. Furthermore, a script is generated for SoftImage|XSI that place light sources and adjust some settings.

The tool contains fragments to import models as well, but it is no longer develop anymore.

It can convert an entire directory with all BSP files at once.

The import script is necessary, because OBJ/MTL has no lights.

Screenshot 001

Installation

You need space, a lot of space. First you need to extract all GCF files somewhere. After this you have to extract all VMF and convert all to TGA files as well.

The tool will ask you for these files.

Setup Path

The tool will now scan your files and create a cache file, instead of searching the files on the disk. If this all finish and you process a map, the log filled with text …

Summary of all file pathnames
-------------------------------
Protocol Output File : S:\BSP2XSI\Import\bsp2xsi_dm_lockdown.txt
BSP Input File : T:\original\bsp_files\dm_lockdown.bsp
Mapname : dm_lockdown
OBJ Output File : S:\BSP2XSI\Import\bsp2xsi_dm_lockdown.obj
MTL Output File : S:\BSP2XSI\Import\bsp2xsi_dm_lockdown.mtl
XSI Output File : S:\BSP2XSI\Import\bsp2xsi_dm_lockdown.js
GCF Search Path : T:\original
TGA Search Path : T:\tga
-------------------------------

Output the paths

Creating Filename Cache : reading 871123 entries from cache file OK
- Found 27122 directories with 871123 files
  Starting process ... please wait ...
  Creating base XSI Script ... OK
  Setting up BSP environment ... OK
  Starting BSP file import
- Reading BSP file ... OK
- Reading LUMPs ... found 64 lumps OK
- Fetching Vertices ... found 12618 vertices OK
- Reconstruction Edges ... found 31950 edges OK
- Build Faces ... found 50945 faces OK
- Fetching texture datas ... found 502 datas OK
- Generate texture tables ... found 502 entries OK
- Build texture data ... found 485 datas OK
- Generate texture infos ... found 2768 infos OK
- Finalize original faces with textures ... found 6536 real faces OK
- Reading entities ... found 605 entities OK
  Importing BSP file was successfully

Now converting the map

Setting up OBJ/MTL exporter BSP join ... OK
Starting convertation from BSP to OBJ/MTL
- Search Material : plaster/plasterwall026a
- Found : T:\original\source_2007_shared_materials\hl2\materials\Plaster\plasterwall026a.vmt
- Search Base texture : plaster/plasterwall026a
- Base Texture found : T:\tga\source_materials\hl2\materials\Plaster\plasterwall026a.tga
- Search Material : tile/tilestair001a
- Found : T:\original\source_materials\hl2\materials\Tile\tilestair001a.vmt
- Search Base texture : tile/tilestair001a
- Base Texture found : T:\tga\source_materials\hl2\materials\Tile\tilestair001a.tga

For each material you will see what the tool is doing

Writting OBJ/MTL file
Adding lights into the XSI Script
Removing default light, settim camera culling on and switch to texture decal in viewports
Rotating the whole map and frame all viewports
Toggle camera visibility and lightcone display
Closing XSI Script file

DONE

Time for Convert : 5855 Milliseconds ...

Start XSI and run the script S:\BSP2XSI\Import\bsp2xsi_dm_lockdown.js
that import anything for you and setup the environment

Have Fun

Resulting files:

Result Files

Finish. Now open SoftImage|XSI and let the script run:

Import Script

Result of the import:

Import Finish

Quick Render:

Import Render

Known problems

All, or most of the lights having very strange values. You need to adjust them

Displacements are ignored

Download

Screenshots

Screenshot 002 Screenshot 002 Screenshot 002 Screenshot 002 Screenshot 002 Screenshot 002