RF Track Building Guide by Mike DiPonio
Jump to navigation
Jump to search
Overview
rF Track Building Guide (Cleaned and Formatted)
Edited version of JPS's Track Editing introduction (with permission). Originally made for SCGT and F1C, updated for rFactor track editing.
Required Software
- 3D Studio MAX: Mandatory (ZModeler not sufficient)
- Set units to meters: Customize > Unit Setup
Section 1: Lofting a Basic Layout
1. Setup
- Obtain accurate track map and scale it
- Create a plane and assign track map material
- UV map it using fit and bitmap fit
- Lower it by 10m to keep out of the way
2. Create Path Line
- Use a standard spline line, set vertex type to smooth
- Trace down the center of the pavement
- Use minimal number of vertices (every 20m in turns, 80m on straights)
- Use Bezier or Bezier-corner for refining; avoid corner type
- Place starting point at world center (0,0,0) if possible
- Add elevation changes by adjusting Z-values of vertices
3. Important Notes
- Keep this path line free-floating, never attach to hierarchy
- Do not delete it
4. Lofting the Track
- Create a straight shape line (2 corner vertices)
- Width = 8 to 16 meters
Lofting Procedure
- Create tab > Geometry > Compound Objects > Loft
- Select your path
- Set Path Parameters to Path Steps
- Under Creation Method, select Instance > Click Get Shape > Click your shape line
Fix Loft Orientation
- If it's vertical: Modify shape line > Segment mode > Rotate Z-axis by 90°
5. Applying Materials (gMotor2)
- Create Multi/Sub-Object material
- Rename first sub-material to
ROADxxx
- Change type to gMotor Material
- Use shader: T1 (DX7) or Bump Specular Map T1 (DX8)
- Rename first sub-material to
Texture Slots
- Color: Main road texture (e.g. ROAD.DDS)
- Specular: e.g. ROAD_S.DDS
- Bump: e.g. ROAD_B.DDS
Tiling
- Specular: U/V = 6
- Bump: U/V = 12 (if road is 12m wide)
6. Texture Mapping
- Apply material to loft object
- Set Length Repeat appropriately (start at 40)
- Width Repeat = 1 (usually)
- To vary by segment: disable normalize and set Material ID per segment
7. Optimizing Mesh
- Shape Steps: Controls width polycount (0 = 1 quad across)
- Path Steps: Controls length polycount
- Adjust to improve curve/hill smoothness without overloading polycount
Real-time Adjustments
- Modify path vertices or Bezier handles to affect mesh
- Add vertices using Refine
Section 2: Setting Up Game Files
Folder Structure
- Create:
GameData\Locations\YourTrack
- Inside:
GMT\
,MAP\
, and subfolders for layouts (TrackShort, TrackLong)
- Inside:
- Copy from original track:
aiw
,cam
,gdb
,scn
,mas
files - Rename all files to match your track
GDB File
- Top entry = TRACK NAME IN CAPS
- Filter Properties = mod/series
- Event name = Track name
- Setup TDF, SCORETOWER, lighting
SCN File
- Use sample track SCN as base (SampleTrack recommended)
- Delete Instances section
- Adjust directories and MAS references
Converting to GMT
- Setup MAX Utilities: Configure Buttons > GMT Converter
- Set mesh directory, e.g.
rFactor\GameData\Locations\YourTrack\GMT
- Click Get Selected with loft selected
- Check:
- Collidable
- HAT
- Use gMotor Normals
- Smooth
- Receiver
- Omni
- Click Do Mesh
Creating SCN Instance
- Set scene file path (e.g.
NEW.SCN
) - Export scene > copy instance lines to your track's SCN file
Creating AIW File (Minimal Test Version)
<syntaxhighlight lang="ini"> [GRID] GridIndex=0 Pos=(-3.865,0.250,-2.316) ; X,Y,Z Ori=(0.000,-1.569,-0.001) </syntaxhighlight>
- Swap Y and Z from MAX coordinates
- Add 0.2 to Y to prevent falling through track
SCN Instance Format
<syntaxhighlight lang="ini"> Instance=track01 {
MeshFile=track01.mts CollTarget=True HATTarget=True ShadowReceiver=True Response=VEHICLE,TERRAIN
} </syntaxhighlight>
First Test
- Set Opponents = 0
- Disable flags
- Load track in Race mode
- Test drive and check:
- Elevation
- Poly overlaps
- Material ID collision
- Driveable surface
- If falling through: delete track's
.HAT
file inLOG/HAT/
- Also: In PLR file set:
<syntaxhighlight lang="ini"> Always Rebuild HAT = 0 </syntaxhighlight>
Loft Tuning
- Fine-tune elevation, width, vertex smoothness
- Use Tape Measure in MAX for width validation
- Avoid scaling path/shape lines (causes measurement/mapping errors)
- Adjust shape/path size based on real track length:
- Example: Lap at 30mph = 8 minutes
- (8 / 2 = 4 miles in game)
- If real length is 3 mi, then scale factor = 3/4 = 0.75
- Example: Lap at 30mph = 8 minutes