Document toolboxDocument toolbox

2023.1.116.1 DBelt System



Overview

The DBeltSystem allows you move objects over its surface where the BeltSystem's velocity is determined by the rotation of a 2023.1.116.1 Double Wheel Joint.

It also has the ability to create a loft mesh to use as its surface.

 


Where to find

Add a DBeltSystem to your scene by navigating to Standard Components > Belt System

It will automatically be attached to a selected GameObject. Otherwise it will create a new GameObject to attach to.


Feature Layout

Belt Settings

 

Wheel Joint

Use this field to select a WheelJoint in the scene that will be used as the driver for the DBeltSystem.

Velocity

This field shows the current velocity of the belt, which is depend on the changing rotation of the WheelJoint.

Inverted Axis

If the rotation of the wheel should be done in the inverted direction for the belt.

Local Direction

The local direction of the belt it is moving in.

Loft Mesh Settings

 

Circumference Spline

Use this field to select a (closed) Spline as the Loft Circumference Spline.

Surface Spline

Use this field to select a Spline as the Loft Surface Spline.

Circumference Max Length Deviation

Use this field to set the maximum distance between points on the Circumference Spline

Circumference Max Angle Deviation

Use this field to set the maximum angle between points on the Circumference Spline

Surface Max Angle Deviation

Use this field to set the maximum distance between points on the Surface Spline

Invert Surface Normals

Use this field to generate the triangle normals on the opposite sides.

Show as Rendered Mesh

Use this field to generate a Mesh Filter and a Mesh Renderer upon generating the Loft Mesh.

Generate Surface

Use this button to generate a surface from a Circumference Spline and a Surface Spline using all the above settings.

Clear Surface

Use this button to clear a previously generated surface.

Generate Loft Mesh

Use this button to generate a Loft Mesh from a previously generated surface

Gizmo Settings

 

Enable Velocity Gizmo

Use this field to toggle the use of the Velocity Gizmo.

Show when not selected

Use this field to toggle whether the Gizmo should be visible when the component is not selected.

Velocity Gizmo Color

Use this field to set the color of the Velocity Gizmo


How to use

1. Generate a Loft Mesh (optional)

To generate a Loft Mesh, you first need to describe its surface. You do so by creating a Circumference and Surface Spline. (See also: Spline )

First create a Circumference Spline. This needs to be a closed spline around the edge of the belt.

Then, create a Surface Spline. This spline must be perpendicular to any point on the Circumference Spline.

Now click “Generate Surface”. This will create a list of Splines that form the entire surface of the LoftMesh. The LoftMesh itself has not been generated yet but this will give you a clear indication of how it will look.

If you are not satisfied with the generated surface, click “Clear Surface”. All generated Splines will now be deleted. Try changing the settings and regenerate the surface.

As soon as you are satisfied with the generated surface, click “Generate Loft Mesh”. This will actually generate the Loft Mesh and add it to a MeshCollider on the GameObject.

2. Assign a WeelJoint

The DBeltSystem requires a WheelJoint to function. Rotating the WheelJoint will result in a velocity change of the belt. This way you can have, for example, a Motor component drive the DBeltSystem.

3. Set the Friction Type (optional)

Make sure that project settings have Friction Type set to “Patch Friction Type”. The provides the best result other friction type can work but have more issue’s.

Note: Friction Type can be found in the Project Settings:
Edit → Project Settings → Physics → Friction Type

4. Set local direction

The DBeltSystem requires direction to move in to function and can only move in that direction.

 

Prespective Documentation