I have just started using BEPUphysics v2 on a server for a game. The server runs on .NET Core 2.0 as a console application, and the game-client is made with Unity. During testing and exploring the demos, I have gotten very confused about which axes of positions in the engine corresponds to which direction (right, upwards and forwards). I think I have found that the X-axis of positions in the engine are in the Right direction, the Y-Axis is the forward direction and the Z-axis is the upwards direction. In the CharacterController Demo, the characters forward direction is stored in the Y-Axis. But I have also found some situations where it seems as if this is not true, such as in the RagdollDemo where the Y-Axis of the "gravity" parameter in DemoPoseIntegratorCallbacks is set to 10, which should mean that gravity pulls forwards (which it does not appear to do in the demo).
Code: Select all
Simulation = Simulation.Create(BufferPool, new SubgroupFilteredCallbacks { CollisionFilters = collisionFilters }, new DemoPoseIntegratorCallbacks(new Vector3(0, -10, 0)));
Code: Select all
int ragdollIndex = 0;
var spacing = new Vector3(2f, 3, 1);
int width = 8;
int height = 8;
int length = 8;
var origin = -0.5f * spacing * new Vector3(width, 0, length) + new Vector3(0, 0.2f, 0);
for (int i = 0; i < width; ++i)
{
for (int j = 0; j < height; ++j) <--- the 'j' variable runs along the height
{
for (int k = 0; k < length; ++k) 'j' is passed as the y parameter
{ \/
AddRagdoll(origin + spacing * new Vector3(i, j, k), Quaternion.CreateFromAxisAngle(new Vector3(0, 1, 0), MathHelper.Pi * 0.05f), ragdollIndex++, collisionFilters, Simulation);
}
}
}