2#ifndef LIBSBX_PHYSICS_CHARACTER_CONTROLLER_HPP_
3#define LIBSBX_PHYSICS_CHARACTER_CONTROLLER_HPP_
5#include <libsbx/utility/enum.hpp>
7#include <libsbx/math/vector3.hpp>
8#include <libsbx/math/quaternion.hpp>
10#include <libsbx/physics/shape_collider.hpp>
11#include <libsbx/physics/mesh_collider.hpp>
12#include <libsbx/physics/collision_detection.hpp>
14namespace sbx::physics {
16enum class collision_flags : std::uint8_t {
18 below = utility::bit_v<0>,
19 above = utility::bit_v<1>,
20 sides = utility::bit_v<2>
25 collision_flags flags{collision_flags::none};
31 std::float_t height{2.0f};
32 std::float_t radius{0.5f};
33 std::float_t slope_limit{45.0f};
34 std::float_t step_offset{0.3f};
35 std::float_t skin_width{0.01f};
36 std::float_t ground_snap_distance{0.2f};
40 collision_flags flags{collision_flags::none};
42 bool is_grounded{
false};
44 bool was_grounded{
false};
Definition: vector3.hpp:23
Definition: character_controller.hpp:30
Definition: character_controller.hpp:23