@ -223,6 +223,7 @@ void RayCast3D::_update_raycast_state() {
ray_params . collide_with_bodies = collide_with_bodies ;
ray_params . collide_with_areas = collide_with_areas ;
ray_params . hit_from_inside = hit_from_inside ;
ray_params . hit_back_faces = hit_back_faces ;
PhysicsDirectSpaceState3D : : RayResult rr ;
if ( dss - > intersect_ray ( ray_params , rr ) ) {
@ -297,6 +298,14 @@ bool RayCast3D::is_hit_from_inside_enabled() const {
return hit_from_inside ;
}
void RayCast3D : : set_hit_back_faces ( bool p_enabled ) {
hit_back_faces = p_enabled ;
}
bool RayCast3D : : is_hit_back_faces_enabled ( ) const {
return hit_back_faces ;
}
void RayCast3D : : _bind_methods ( ) {
ClassDB : : bind_method ( D_METHOD ( " set_enabled " , " enabled " ) , & RayCast3D : : set_enabled ) ;
ClassDB : : bind_method ( D_METHOD ( " is_enabled " ) , & RayCast3D : : is_enabled ) ;
@ -339,6 +348,9 @@ void RayCast3D::_bind_methods() {
ClassDB : : bind_method ( D_METHOD ( " set_hit_from_inside " , " enable " ) , & RayCast3D : : set_hit_from_inside ) ;
ClassDB : : bind_method ( D_METHOD ( " is_hit_from_inside_enabled " ) , & RayCast3D : : is_hit_from_inside_enabled ) ;
ClassDB : : bind_method ( D_METHOD ( " set_hit_back_faces " , " enable " ) , & RayCast3D : : set_hit_back_faces ) ;
ClassDB : : bind_method ( D_METHOD ( " is_hit_back_faces_enabled " ) , & RayCast3D : : is_hit_back_faces_enabled ) ;
ClassDB : : bind_method ( D_METHOD ( " set_debug_shape_custom_color " , " debug_shape_custom_color " ) , & RayCast3D : : set_debug_shape_custom_color ) ;
ClassDB : : bind_method ( D_METHOD ( " get_debug_shape_custom_color " ) , & RayCast3D : : get_debug_shape_custom_color ) ;
@ -350,6 +362,7 @@ void RayCast3D::_bind_methods() {
ADD_PROPERTY ( PropertyInfo ( Variant : : VECTOR3 , " target_position " , PROPERTY_HINT_NONE , " suffix:m " ) , " set_target_position " , " get_target_position " ) ;
ADD_PROPERTY ( PropertyInfo ( Variant : : INT , " collision_mask " , PROPERTY_HINT_LAYERS_3D_PHYSICS ) , " set_collision_mask " , " get_collision_mask " ) ;
ADD_PROPERTY ( PropertyInfo ( Variant : : BOOL , " hit_from_inside " ) , " set_hit_from_inside " , " is_hit_from_inside_enabled " ) ;
ADD_PROPERTY ( PropertyInfo ( Variant : : BOOL , " hit_back_faces " ) , " set_hit_back_faces " , " is_hit_back_faces_enabled " ) ;
ADD_GROUP ( " Collide With " , " collide_with " ) ;
ADD_PROPERTY ( PropertyInfo ( Variant : : BOOL , " collide_with_areas " , PROPERTY_HINT_LAYERS_3D_PHYSICS ) , " set_collide_with_areas " , " is_collide_with_areas_enabled " ) ;