Categories
Development General High Stakes Tutorials

Importing NFS3 PSX Tracks to Blender

If you want to import some or all Need For Speed III – Hot Pursuit PSX tracks to blender this short guide might help you.

I digged into it to get to the data of the Playstation-only Tracks Autocross, Caverns, Scorpio-7, Space Race and The Room, but also to finally see the legend TR02B myself.

Personal trivia: I knew that there needed to be some sort of hidden tracks and cars beside the ones that I could ever find as I can clearly remember as if it was yesterday when I read an article about the upcoming NFS3 game showing a screenshot of both track and car that I could never find in the (PC-)release version. Due to the fact that I never had a PSX myself but playing it on PC, I honestly never looked after it. Today I found out that the screenshot was representing the Autocross-Track with the PSX El Nino which has (for some reason) differences in it’s rear end textures.

Prequisites

  • Blender (download here)
  • The PC-Version of Need For Speed III*
  • The PSX-Release of Need For Speed III**
  • The Tool/Game OpenNFS (download here, mirror, mirror)
  • The Tool trk2blend (download here)
  • Adobe Photoshop (or any other tool with the ability to batch-convert BMP-files to PNG-files)

Setting up OpenNFS

This step might be optional as there could be other ways to get your hands on the texture of those tracks, but I found it the most easy way once you set up OpenNFS.

Once you have downloaded OpenNFS you may just want to extract the zipped folder to a location of your choice.

Following the original installation instruction (mirror) you then need to copy the whole NFSIII-PC files obtained from your original NFSIII-PC CD to resources/NFS_3 and the extracted files from your NFSIII-PSX CD to resouces/NFS_3_PS1, so that both folders look like the following screenhots show:

The following step with OpenNFS might be obsolete as there are other tools to convert the textures to BMP, PNG or whatever, but I personally found it the most easy way just to click through the dropdown in OpenNFS waiting for the tracks to load and have the textures all ready in each folder instead of working on a cli.

Starting OpenNFS

Once you started OpenNFS select TR02B (or any other track you like) from the track dropdown

In the cli window in the background you will notice some stuff going on, just be patient and wait for the track to load.

TR02B from NFS3 Hot Pursuit loaded in OpenNFS

Once the track is fully loaded you now may exit OpenNFS or take a lap around the track – your choice.

Afterwards you navigate to the installation directory of OpenNFS and jump to

/bin/assets/tracks/NFS_3_PS1/

In there you will find all track-folders you already opened in OpenNFS containing each track’s textures as BMP files.

e.g. ZZZTR02B

Converting the BMP files to PNGs

As there are many ways to achieve that I will leave that up to you, I used a simple photoshop action and batch-runned it to get them into PNGs.

I suggest to store the png files in new folder. Personally, I always create new folders like

ROOT/exports/nfs3/tracks/tr02b/png

Converting the TRK files to Blender with TRK2Blender

Open the tool “TRK2Blender”, navigate to the PSX-files-folder within your OpenNFS installation directory and select the corresponding trk file, e.g. ZZZTRK02B.

Afterwars you will see the conversion process running

Prompting “Conversion complete, please exit.” when the process is completed. Within the NFS3-PSX file folder in OpenNFS’s resources you then will find a new folder named after the track file you opened containing all .lwo files.

Note: At this step I suggest to copy all .lwo-files to the export-folder above just to keep an eye on the exported files for later use maybe.

ROOT/exports/nfs3/tracks/tr02b/

Make sure you copied the bmps converted to png in the subfolder (here “PNG”; but the name is up to you, e.g. “textures” or whatever).

Start Blender

Once you started blender I prefer to empty the scene to remove unused content.

Open scripting tab, click “new” and paste the following script.

import os
import bpy

# put the location to the folder where the objs are located here in this fashion
# this line will only work on windows ie C:\objects
path_to_obj_dir = os.path.join('C:\\', 'Users', 'USERNAME', 'PATH', 'TO', 'YOUR', 'FILES')

# get list of all files in directory
file_list = sorted(os.listdir(path_to_obj_dir))

# get a list of files ending in 'obj'
obj_list = [item for item in file_list if item.endswith('.lwo')]

# loop through the strings in obj_list and add the files to the scene
for item in obj_list:
    path_to_file = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_scene.lwo(filepath = path_to_file)

Make sure to edit the “path_to_obj_dir” var to match your folder structure, e.g.

 path_to_obj_dir = os.path.join('D:\\', '_HighStakes', 'OpenNFS', 'OpenNFS.Pre-Alpha.v_03', 'resources', 'NFS_3_PS1', 'ZZZTR02B')

And hit the “play”-button in the scripting Tab. An error will occur.

Select the texture folder created, hit “Select Image Search…” and see imported track TR02B in blender.

TR02B – The hidden track from Need For Speed III – Hot Pursuit – imported to blender.

*, ** – Due to copyrights I cannot give you access to any of these original game data files, of course!

Categories
Development High Stakes Tutorials

Reworking cars from an old “Need For Speed” title

Yes, you are absolutely right if you begin reading this and instantly think “why should I rework it – there are tons of blueprints or ready-to-buy (or even free) versions of the cars all around the internet”.

That is in fact true, but now for all the so called fantasy cars that exist within the nfs-franchise, mainly in the first four releases.

Chronologically I should start here with recreating the “Warrior PTO/E2” from the very first “Road & Track presents – The Need for Speed”. But as I did not (yet) find a way of converting the NFS1 car models to somewhat nowadays processable format, I am starting with the FZR2000 from NFS2(SE).

FZR2000 from “Need For Speed 2 Special Edition” – Source and Copyright Electronic Arts

Converting from old file format to new file format as preparation

Converting the car from NFS2SE to NFS2.

For some reason the car file format in NFS2SE differs from the ones in NFS2. So, as the car editor only supports NFS2 file format, the first step is to convert it back from NFS2SE to NFS2 as I only own the SE-version of the game.

The conversion process itself is very easy and basic and can be done with a simple tool named “CarEditor” by Mike “Thommson”.

Once the program is started, just oben “NFS2SE” car, select the “futr.geo” and save it as NFS2 car somewhere in your file system

Dont bother the messed up geometry, I do think this (and most) NFS tools are not designed to work on the Windows NT (or in my case Windows 11) system in any way.

Convert the NFS2 car to NFS3

The next step is even more easy, but yet also buggy. You need to convert the NFS2 car file to NFS3. This is done by using the DOS command line tool “car2nfs3”, also written by Mike ‘Thommson’

The use here is simly easy, just copy the futr.geo (from the step above or from the non-SE version of NFS2) and futr.qfs (from the gamedata folder) to the folder where the binary of car2nfs3 is located.

car2nfs3 futr.geo futr.qfs car.fce car00.tga

this promt will convert the car and texture file to the nfs3 formats.

Convert the FCE file to 3ds

Now, the next step is already getting the .fce geometry file into nowadays file format “3ds” using the old(!) version 1.07b of the Zanoza3d Modeler, as version 2 and higher do not support nfs3 and nfs4 file formats.

Damn, what did I miss this software, and on the same time not. Comparing it to nowadays workflows all those tools are really a pain regarding the usability and stability. Don’t get me wrong, I really love that they do exist and did exist back in those days where I started modding and modelling, and I am so thankful towards the autors and pay them as much respect as I can, but the tools have improved in the last years and so have my workflows, and it really feels odd to use those old tools in 2023.

Now, having the .fce file in z3d the geometry can finally be exported to 3ds – meaning it can now be imported to Blender, 3D Studio or whatever tool you prefer to use.

Kind of impressive how lowpoly the cars have been back then right? I mean, look at those “wheels”.

Texturing

As within the conversion process the texture(s) of the car have also been converted you “just” need to flip them once vertically as for some reason the UV coordinates are upside down.

Mind: The screenshot already shows an optimized mesh with reworked wheel arches and wheels and a repainted a-pillar.

Welding

As for some reason the converted meshes are not featuring welded (connected) vertices anymore this needs to be done (by pressing A-key in the edit mode in blender and then selecting the weld modifier).

The result after all conversions

Once the textures are applied and all vertices are welded back together we now have a solid base as blueprint for reworking the model.

Reworking

Having the old original model as base, together with the only two artwork-images exisiting the process can finally start.