Grind Splines Dreamteck - SkaterXLModding/skater-xl-mapping-wiki GitHub Wiki
Table of Contents
Welcome
This guide will be going over using Dreamteck splines to create grinds for your Skater XL map. This is the very tool the developers use for creating grinds on official game maps. This is, therefore, the most stable and reliable method for splining SXL custom maps. This guide will cover basic grinds, as well as more complex grind layouts. This guide will not be covering custom collider generation, project set up, or any non-dreamteck splining techniques. For more information regarding such topics, please refer to the Related Wiki Pages section.
Installation and Setup
Navigate to the Asset Store window in your Unity editor. Search for "Dreamteck Splines". If not already purchased, the plugin costs $35. Once purchased, select the blue Download
button. Once the asset bundle has finished downloading to your computer, you can simply press the Import
button.
If you do not have the Asset Store window, it can be found under
Window > Asset Store
After a moment, another prompt window will pop up. This window indicates all the assets that will be imported. Leave everything checked, if for some reason something is not checked, click the All
button. Then press Import
.
Once the plugin has been imported you will be greeted by the Dreamteck welcome screen, go ahead and close that.
Make sure to check your console for any red stop sign errors. These are fatal errors and if you have other scripts in the project throwing such an error, this can effect other editor scripts working
Getting Started
There are quite a few different ways to organize your map's hierarchy, and while there really are no wrong ways to do so, there are definitely some methods that are more efficient than others. When working with splines, particularly on larger maps with a high spline count, staying organized is quite critical.
In the example below, note the flow of object parenting and organization. The overall mesh of the hubba is the parent of an empty GameObject
, which has the grind colliders related to this particular hubba as children. The naming of these objects does not actually matter, and comes down to personal preference. While this hierarchy layout is by no means a requirement, it is generally recommended to work with some sort of consistent system on your projects to keep workflow tidy and as efficient as possible. On a small map as in the example below, it is very easy to get away with a poor organizational system, but such bad habits can become dangerous on larger projects.
Another tip when using Dreamteck, is to adjust user preferences before starting work. This can save a fair bit of time by requiring fewer repetitive clicks over time. Navigate to Edit > Preferences
to open the Preferences
panel. Select the Dreamteck > Splines
tab. Feel free to set up these preferences as desired. It is recommended by this guide to use the Linear
spline type by default, as that is the most common spline type used when making SXL maps.
Duplicating splines a lot? Use
Local
as your defaultSpace
Creating a Spline
The first step to creating a spline with Dreamteck, as with any spline method, is to have your collider base setup. In this specific example I'm using a basic custom mesh for a kinked hubba. We will briefly touch on using multiple primitive colliders in this guide as well. If you'd like to learn more about collider types and their pros and cons, check the Colliders wiki page.
We will start by setting the collider object to the Grindable
(or Coping
if desired) layer, as well as tagging it with the appropriate sound tag. The appropriate tags are Wood
, Grind_Concrete
, and Grind_Metal
Don't remember all the tags and layers you need in your project? Check here
Next step is to add the spline component to the grind colliders. Select the desired objects in the hierarchy, then in the inspector, select Add Component
and search for "Spline". Add a Spline Computer
component.
Although you cannot edit multiple Dreamteck splines at the same time, you can add/remove them to multiple objects at once
Select the first collider that needs a spline. Click the +
to add a new spline point
Once this is enabled, the contextual inspector panel will change options slightly. It is highly recommended to leave these settings at their default values, at least for now.
Now add spline points along the collider, starting at one end and moving to the other. If placing on a simple flat object, simply place a point at the start, and a point at the end. Only add new points where the grind will change directions. When placing splines on kinked features, place a point before and after each kink. As long as Surface
is selected (should be default) as the place method, the points will place directly on the collider. Once completed, hold right mouse button, and left click to finish the spline.
Tips for placing points
-
With kinks, place one point before the kink, and another on the other side of the kink
-
For curved features, try using
Catmull Rom
orB Spline
types to try and smooth out the curve with fewer points
Before exiting edit mode, it is important to double check the normals of the spline. Normals on splines are what tell the skater where "Up" is on the grind, as well as helping angle the skater appropriately for non-flat grinds. To quickly check all normals on a spline, select the Set Point Normals
button from the Dreamteck tools menu, then Select > All
from the dropdown for point selection.
Note the normals change from the flat to the down sections of the hubba
The Point Operations
drop down can be used to quickly set points in a specific direction, often setting normals to Up
, then hand adjusting them with the handle gizmo is a fairly effective method.
Tips For Adjusting Normals
-
Normals should be perpendicular to the grind orientation
-
For bowl and transition coping, you can angle the normals in by a few degrees to let skaters exit grinds smoothly without popping
-
Don't be afraid to experiment
You can now double click to exit the spline editor, and have a fully set up spline.
Creating a Spline With Multiple Colliders
It is very common practice to use primitive colliders where possible, and is in fact highly recommended from the devs themselves. Although we will not cover the placement and generation of primitive colliders for grinds in this guide, it is still necessary to cover how to place splines on said colliders. If you'd like to learn more about setting up primitive colliders for grinds quickly, check the [wiki page] on the topic.
As you can see in the example image below, the workflow is essentially the same. The spline component is attached to an empty game object, and the colliders are all parented to the spline component. By setting the parent object to the Grindable
or Coping
layer, unity can automatically set all the children to that layer as well.
! image
Speeding Up Workflow
There are a number of ways to make slight improvements in the workflow of placing lots of splines. We will cover a few of the most common methods in this section of the guide, but remember to always be open to improving upon whatever methods you use. Always ask yourself "Am I doing this in the best way I could?"
- Copy/Paste
By right clicking the component, you can Copy Component
. Then move to another Spline Computer
component on another grind, and Paste component values
, or even just paste component on a collider with no computer. By simply using the Move Tool
on the points, you can easily reposition the spline in place.
- Duplicating
If you'd like to duplicate an entire object, splines and all, simply set the spline Space
to Local
and the splines will now move with their parent objects.
Note that if you leave the spline
Space
set toLocal
, it is possible that the object scale, location, and rotation can have undesirable effects on the functionality of the spline. It is recommended to set back toWorld
Space
Related Wiki Pages
[Bills Splines]
External Information Sources
Unity Asset Store - Dreamteck Splines
Dreamteck Splines - User Manual