|
Engine²
Open-source game engine written in C++.
|
Triangle mesh collider (concave mesh support). More...
#include <MeshCollider.hpp>
Public Member Functions | |
| MeshCollider ()=default | |
| Default constructor. | |
| MeshCollider (float edgeThreshold) | |
| Construct with custom active edge threshold. | |
Public Attributes | |
| float | activeEdgeCosThresholdAngle = 0.996195f |
| std::optional< Object::Component::Mesh > | mesh |
| Optional embedded mesh data for collision (avoids needing entity Mesh component). | |
Triangle mesh collider (concave mesh support).
This component creates a triangle mesh collision shape from mesh data. The mesh can either be embedded in this component or retrieved from the entity's Object::Mesh component. This supports concave meshes, making it ideal for static terrain, floors, and complex geometry.
If this component is present on an entity with RigidBody, it uses the mesh geometry for collision instead of requiring an explicit collider.
|
default |
Default constructor.
|
inlineexplicit |
Construct with custom active edge threshold.
| edgeThreshold | Cosine of the angle threshold for active edges |
| float Physics::Component::MeshCollider::activeEdgeCosThresholdAngle = 0.996195f |
Cosine of the angle threshold for active edges (default: cos(5°) ≈ 0.996) Active edges prevent objects from getting stuck on internal edges when sliding across triangles Lower values = more edges marked as active = smoother sliding
| std::optional<Object::Component::Mesh> Physics::Component::MeshCollider::mesh |
Optional embedded mesh data for collision (avoids needing entity Mesh component).