V2020.1.56.3_ Belt System
Overview
The BeltSystem allows you generate a LoftMesh and move objects over its surface where the BeltSystem's velocity is determined by the rotation of a V2020.1.56.3_ Wheel Joint
Where to find
Add a BeltSystem 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 BeltSystem. |
Velocity | This field shows the current velocity of the belt, which is depend on the changing rotation of the WheelJoint. |
Acceleration | Use this field to set the acceleration of objects on the belt. This determines how fast objects will follow the velocity of the belt. |
Buffered Circumference Points | Use this field to set the amount of points on the Circumference Spline that will be buffered. More points will result in a more accurate but heavier calculation. |
Buffered Surface Points | Use this field to set the amount of points on the Surface Spline that will be buffered. More points will result in a more accurate but heavier calculation. |
Loft Mesh Settings
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 Gizmo 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
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.
Important: Do not delete the generated surface splines after generating a Loft Mesh. These splines are used by the BeltSystem.
2. Assign a WeelJoint
The BeltSystem 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 BeltSystem.
3. Set the Friction Type
Make sure that project settings have Friction Type set to “Two Directional Friction Type”. Other Friction Types are currently not supported.
Note: Friction Type can be found in the Project Settings:
Edit → Project Settings → Physics → Friction Type
Prespective Documentation