RayCast

Inherits: Spatial < Node < Object

类别: 核心

简要说明

查询与光线相交的最近对象。

方法

无效

add_exception ( Object node )

无效

add_exception_rid ( RID rid )

无效

clear_exceptions ( )

无效

force_raycast_update ( )

Object

get_collider ( ) const

int

get_collider_shape ( ) const

bool

get_collision_mask_bit ( int bit ) const

Vector3

get_collision_normal ( ) const

Vector3

get_collision_point ( ) const

bool

is_colliding ( ) const

无效

remove_exception ( Object node )

无效

remove_exception_rid ( RID rid )

无效

set_collision_mask_bit ( int bit, bool value )

描述

光线投射表示从起点到终点的直线, cast_to . 它用于查询三维空间,以便沿着光线路径找到最近的对象。

光线投射可以通过以下方式忽略一些对象:将它们添加到异常列表中 add_exception 或者通过使用碰撞层和遮罩设置适当的过滤。

光线投射可配置为报告与 Area S (collide_with_areas )和/或 PhysicsBody S (collide_with_bodies

只有启用的光线投射才能查询空间并报告碰撞。

光线投射计算每个物理帧的交点(请参见 Node ,并缓存结果,以便稍后使用,直到下一帧。如果物理帧之间(或在同一帧中)需要多个查询,请使用 force_raycast_update 调整光线投射后。

属性描述

违约

矢量3(0,-1,0)

设定器

将“强制转换”设置为(值)

吸气剂

把你的角色分配给

光线的目标点,相对于光线投射的 position .

  • bool collide_with_areas

违约

设定器

设置“碰撞”区域(值)

吸气剂

是否与已启用的区域发生冲突?

如果 true ,与碰撞 Area 将报告。

  • bool collide_with_bodies

违约

设定器

设置“碰撞”与“体”(值)

吸气剂

是否与身体碰撞(启用)

如果 true ,与碰撞 PhysicsBody 将报告。

  • int collision_mask

违约

1

设定器

设置碰撞屏蔽(值)

吸气剂

获取碰撞掩模(

光线的碰撞遮罩。将仅检测在遮罩中启用的至少一个碰撞层中的对象。

违约

设定器

设置启用(值)

吸气剂

是否已启用(

如果 true ,将报告碰撞。

  • bool exclude_parent

违约

设定器

设置排除父体(值)

吸气剂

get_exclude_parent_body()。

如果 true ,此光线投射的直接父对象将忽略碰撞。

方法说明

  • void add_exception ( Object node )

添加碰撞异常,使光线不会报告与指定节点的碰撞。

  • void add_exception_rid ( RID rid )

添加碰撞异常,使光线不会报告与指定的 RID .

  • void clear_exceptions ( )

删除此光线的所有碰撞例外。

  • void force_raycast_update ( )

更新光线的碰撞信息。

使用此方法立即更新碰撞信息,而不是等待下一个 _physics_process 例如,如果光线或其父级已更改状态,则调用。

注: enabled == true 不需要执行此操作。

  • Object get_collider ( ) const

返回光线相交的第一个对象,或者 null 如果没有物体与射线相交(即 is_colliding 收益率 false

  • int get_collider_shape ( ) const

返回光线相交的第一个对象的形状ID,或者 0 如果没有物体与射线相交(即 is_colliding 收益率 false

  • bool get_collision_mask_bit ( int bit ) const

返回 true 如果通过的位索引已打开。

注: 位索引范围为0-19。

  • Vector3 get_collision_normal ( ) const

返回相交对象在碰撞点的形状的法向。

  • Vector3 get_collision_point ( ) const

返回光线与最近对象相交的碰撞点。

注: 这一点在 全球的 坐标系。

  • bool is_colliding ( ) const

返回是否有任何对象与光线的矢量相交(考虑矢量长度)。

  • void remove_exception ( Object node )

删除碰撞异常,以便光线报告与指定节点的碰撞。

  • void remove_exception_rid ( RID rid )

删除碰撞异常,以便光线报告与指定的 RID .

  • void set_collision_mask_bit ( int bit, bool value )

设置传递给 value 通过。

注: 位索引的范围是0-19。