Add more instructions (#619)

* Update docs

* Fix
This commit is contained in:
MegaMech
2026-01-01 10:45:48 -07:00
committed by GitHub
parent 186ea294ae
commit 971da0ca99
10 changed files with 118 additions and 18 deletions
+30
View File
@@ -61,6 +61,34 @@ Guides for making custom tracks!
</a>
</div class="pagebutton">
<div class="pagebutton">
<a class="pagea" href="objectproperties.html">
<div class="pagelink">
<div class="pageimg"><img width=320 src="buttonimage.png" /></div>
<div class="content">
<div class="pageheading">Object Properties</div>
<div class="pagedescription">
<p>Surface types and collision.</p>
</div>
</div>
</div>
</a>
</div class="pagebutton">
<div class="pagebutton">
<a class="pagea" href="paths.html">
<div class="pagelink">
<div class="pageimg"><img width=320 src="buttonimage.png" /></div>
<div class="content">
<div class="pageheading">Pathing</div>
<div class="pagedescription">
<p>Setup pathing for your track.</p>
</div>
</div>
</div>
</a>
</div class="pagebutton">
<div class="pagebutton">
<a class="pagea" href="minimap.html">
<div class="pagelink">
@@ -137,6 +165,8 @@ Guides for making custom tracks!
@subpage quick
@subpage setup
@subpage materials
@subpage objectproperties
@subpage paths
@subpage minimap
@subpage export
@subpage import
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

+46
View File
@@ -0,0 +1,46 @@
@page objectproperties Object Properties
# Object Properties
![alt text](image-22.png)
## Section ID
* Leave this set to 255. This tells the game to always draw the object.
* If you set this to a section ID, then you need to setup grouped displaylists and consider what meshes should be drawn depending on what section the player is driving in and what direction they are facing.
* This technology is no longer necessary, and thus, we can ignore it by leaving this value at 255
## Surface
The kind of driving surface the player is on. Dirt and sand will slow you down. Asphalt is driving on a road, etc.
## Clip
This sets if the object can be driven through or not. And if objects in the environment collide with it. Generally, this value only
needs to be changed under certain circumstances
* Remember that the edges of meshes need to perfectly line-up. If there's any gaps, or if objects overlap each other, the collision will not be consistent and players can drive through the object in the corners.
### No Clip
No collision. Players can drive through this object.
* Warning: Setting the surface mesh to no clip will spawn players at 3000.0f because it will not be able to find a place to put the players
### Single-sided Wall
A normal wall collision presuming the player can never access the other side of the wall. If they do, they will drive through the object.
### Surface
Not necessary to be set. But if for some reason you need to force a mesh to be a surface, this is here for that.
### Double-sided Wall
Required if making a fence where the player can access both sides of the wall. The collision generator is not good at recognizing that you want a double-sided wall and for performance reasons will not provide collision for the other side. This means the player can drive through one side, but not the other. Double-sided wall fixes this so no matter what side the wall is approached from, the player cannot drive through the wall.
## Draw Layer
Object draw order matters for transparent objects. Thus, transparent objects must be drawn after opaque objects.
### Draw Invisible
Pretty self-explanatory. The draw phase gets completely cut from the object. This is useful for invisible walls
### Draw Opaque
A normal object. It is not transparent.
### Draw Translucent
A transparent object. If you do not set this for transparent objects, the order of drawn objects will be wrong.
### Draw Translucent NoZBuffer
Objects set to this ignore the ZBuffer. This means they are always visible on the screen, no matter the distance. The HM64 Labs Gizmo grab handles for instance are set to this (used for translating objects).
+30
View File
@@ -0,0 +1,30 @@
@page paths Paths
The game uses multiple types of track paths
# Track Paths
Allows CPUs to follow the track and for the game to track player progress
* Up to fourth track paths are allowed and one vehicle path
* Average track uses ~800 points. Any number is allowed.
* For best results, place path points evenly apart spacing each one by around 0.20 blender units
* The first path point must be placed at (0,0,0)
# Supported Blender paths
* Bezier Curve
* Nurbs Path (just called path)
![alt text](image-23.png)
* The nurbs path is the easiest to use.
* The track path must face positive Y in blender
## Path Type
This allows the user to select which path is which. Path 1 is required and must be the main path.
The other paths must circle the entire track, splitting off wherever, and are optional.
The vehicle path is for trains, boats, cars, etc.
![alt text](image-24.png)
See the overview guide for more details
+6 -3
View File
@@ -5,6 +5,7 @@ Important details without the steps
## Track Details
Path Points: ~800 (any number is fine)
* For best results, place path points evenly apart spacing each one by around 0.20 blender units
Triangle Count: Original tracks average ~6000 triangles
* SpaghettiKart will start losing fps after ~100k triangles
@@ -13,9 +14,11 @@ Track Boundaries: +-32767.0 in Blender units this is +-1310.68 (32767 / 25)
* Note that this allows a very big track
Track Widths:
* Wide: 1.5 points to 2.7 points.
* Medium: 1.5 points to 1 point.
* Narrow: 1 point to 0.5.*
* Luigi Raceway track width: 1.13 points
* Mario Raceway track width: 1.0 points
* Wide: 1.1 points to 2.0 points
* Medium: 0.8 points to 1.1 points
* Narrow: 0.5 point to 0.8 points
## The Laws of SpaghettiKart
* Track geography must be a plane, not a box
+1 -1
View File
@@ -108,7 +108,7 @@ Thus, the point marked as `1` is the first path point. This must be placed at 0,
## Export
* Name the track
* Choose a mods path
* Scale should be set somewhere around 20-25. 100 results in really big models in-game
* Set scale to 100
<img width="344" height="271" alt="image" src="https://github.com/user-attachments/assets/3be6300c-9125-456c-88bb-da6c231bca30" />
### Mods Path
+5 -2
View File
@@ -12,8 +12,11 @@ Players and actors are placed at 3000.0 if the game cannot find a surface
## Scaling Issues or Missing Geometry
* Set scale in the Fast64 export panel between 20-25. Recommended 25.
* Select the geometry, press CTRL+A and click `Apply Transformations`
* Set scale to 100.
* Select the geometry, press CTRL+A and click `Apply Transformations`
* Lets say a vertex (edit mode) is placed at (10, 0, 0). And then the mesh object (object mode) is placed at (10, 0, 0)
* On export the object will be placed at 20
* Apply transformations resets the object location to (0,0,0)
## Traversal Issues
Certain rules must be followed for players to correctly traverse from one mesh to another mesh.
-12
View File
@@ -1,12 +0,0 @@
@page paths Paths
The game uses multiple types of track paths
# Track Paths
Used by courses
# Horizontal Paths (no Y coordinate)
Used by the train
# Camera Rails
Pathing for the camera during end of race scene, podium ceremony, and credits.