34 const char *name=
"character");
37 void set_linear_movement(
const LVector3 &velocity,
bool is_local);
38 void set_angular_movement(PN_stdfloat omega);
42 void set_gravity(PN_stdfloat gravity);
43 PN_stdfloat get_gravity()
const;
45 void set_fall_speed(PN_stdfloat fall_speed);
46 void set_jump_speed(PN_stdfloat jump_speed);
47 void set_max_jump_height(PN_stdfloat max_jump_height);
49 void set_max_slope(PN_stdfloat max_slope);
50 PN_stdfloat get_max_slope()
const;
52 void set_use_ghost_sweep_test(
bool value);
54 bool is_on_ground()
const;
55 bool can_jump()
const;
58 MAKE_PROPERTY(shape, get_shape);
59 MAKE_PROPERTY(gravity, get_gravity, set_gravity);
60 MAKE_PROPERTY(max_slope, get_max_slope, set_max_slope);
61 MAKE_PROPERTY(on_ground, is_on_ground);
64 INLINE
virtual btPairCachingGhostObject *get_ghost()
const;
65 INLINE
virtual btCharacterControllerInterface *get_character()
const;
67 virtual void do_sync_p2b(PN_stdfloat dt,
int num_substeps);
68 virtual void do_sync_b2p();
71 virtual void transform_changed();
79 btKinematicCharacterController *_character;
80 btPairCachingGhostObject *_ghost;
84 LVector3 _linear_movement;
85 bool _linear_movement_is_local;
86 PN_stdfloat _angular_movement;
88 void do_transform_changed();
94 static void init_type() {
95 BulletBaseCharacterControllerNode::init_type();
97 BulletBaseCharacterControllerNode::get_class_type());
100 return get_class_type();
104 return get_class_type();
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...