PhysicsShape AddHeightFieldShape( System.UInt16[] heights, System.Byte[] materials, int sizeX, int sizeY, float sizeScale, float heightScale )

book_4_sparkGenerated
code_blocksInput

Description

The AddHeightFieldShape method is used to add a height field shape to a PhysicsBody. This shape is defined by a grid of heights and materials, allowing for the creation of terrain-like surfaces in the physics simulation.

Usage

To use the AddHeightFieldShape method, you need to provide the following parameters:

  • heights: An array of UInt16 values representing the height values of the grid.
  • materials: An array of Byte values representing the material indices for each grid point.
  • sizeX: An Int32 representing the number of grid points along the X-axis.
  • sizeY: An Int32 representing the number of grid points along the Y-axis.
  • sizeScale: A Single value that scales the size of the grid in world units.
  • heightScale: A Single value that scales the height values in world units.

This method returns a PhysicsShape object representing the newly created height field shape.

Example

// Example of adding a height field shape to a PhysicsBody
PhysicsBody body = new PhysicsBody();

// Define the height and material data
ushort[] heights = new ushort[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
byte[] materials = new byte[] { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 };

// Define the size and scale
int sizeX = 5;
int sizeY = 2;
float sizeScale = 1.0f;
float heightScale = 0.1f;

// Add the height field shape
PhysicsShape shape = body.AddHeightFieldShape(heights, materials, sizeX, sizeY, sizeScale, heightScale);