|Note: These instructions are meant for Linux, not Windows. Although you can do this on Windows, you'll probably need to ask for better directions on the VDrift forums.|
What you need
- Vdrift program
- Vdrift level editor
- Blender 2.33 or higher. Tested on 2.45 with Python 2.5.1
- Blender JOE export script. Get that here: http://svn.vdrift.net/repos/vdrift-art/trunk/tools/
Get the "export-all-joe-0.3.py" script. The differnce in the files is that one exports all the object in the scene and the other only exports the one that is selected.
Getting the level editor
In the Linux console, copy everything below:
svn co http://svn.vdrift.net/repos/vdrift-trackeditor/trunk vdrift-trackeditor
Directions for creating tracks
- Model the scene. See the track modeling tutorial for help with this step.
- If you use a 3d editor other than blender, import the track into blender.
- Use the export-all-joe-0.3.py blender export script to export all objects. This script can be found in the VDrift art repository under the tools folder. The export script creates a number of .joe files and a list.txt file. The list.txt file may be named somename-list.txt, in which case you should rename it to list.txt
- Create new folder for track in track editor folder TRACKEDITOR_TP (if your track is called parkinglot, the path could be /home/joe/VDrift-trackeditor/data/tracks/parkinglot).
- Make folder TRACKEDITOR_TP/objects/
- Copy all of the .joe files and the list.txt file to TRACKEDITOR_TP/objects/
- Open track editor data/tracks/editor.config and set active track to TRACKEDITOR_TP.
- Run the track editor. Trace the roadways and mark the starting position (press H for help).
|Why trace roadways?
File:Track-smoothing.png This is a visual depiction of the track smoothing that occurs when tracing a roadway. Imagine this image is showing the track surface from a side view. The black lines represent the track mesh, and the red lines represent the bezier patches. Once the track has been traced in the track editor, VDrift will use the red lines to do collision instead of the black lines. On the top, this represents a dip in the road. You can see how collision using the red line will behave properly. On the bottom, this represents a bump road. You can see that the red line doesn't change the magnitude of the bumps, it just makes them realistically smooth instead of unrealistically pointy.
- CD to the VDrift-trackeditor/joepack folder. Compile the joepack tool by running
- CD to the TRACKEDITOR_TP/objects folder (this is important, the packfile stores relative paths) and run
/path/to/VDrift-trackeditor/joepack/joepack -c objects.jpk *.joe
- If you want, this command will show you the files in the joepack to allow you to verify the previous step worked correctly:
/path/to/VDrift-trackeditor/joepack/joepack -l objects.jpk
- Copy TRACKEDITOR_TP into the main VDrift tracks folder VDRIFT_TP (for example /home/joe/VDrift/data/tracks/parkinglot). Erase VDRIFT_TP/objects/*.joe since they are all in the pack file now.
- Add VDRIFT_TP/about.txt and ensure that the first line is the name of the track. You should put information about the track author, where the track came from, etc in the second line and on.
- Run VDrift and check out what the track looks like in-game. Note that you will only be able to drive on the roadways you defined in the track editor since no other surfaces have been flagged as collideable. Also take a screenshot for the track selection screen.
- Create a track selection image (a 512x512 png file works best) and save it to VDRIFT_TP/trackshot.png
- Open up all of the texture files in TRACKEDITOR_TP/objects and review which textures belong to objects that should be collide-able (roads and walls), have full brightness (trees), be mipmapped (fences and fine transparent objects sometimes look better when not mipmapped), or be skyboxes.
- Set the correct object properties using the VDrift-tracked/listedit tool (more documentation to come).
This modified script exports the track.txt from blender. export-all-joe-0.3.py
To add a lap sequence(start/finish line):
- Add an Empty object to the scene.
- Position it at the start/finisch line of your track.
- Rename it to "lap sequence n"(n is the number of the sequence)
To add a car start position:
- Add an Empty object to the scene.
- Position it on your track.
- Rename it to "start position n"(n is the number of the position)