Area
继承
简要描述
用于检测3D物理影响的通用区域节点。
描述
检测CollisionObject节点重叠,进入或退出的3D区域。
成员
类型 | 属性名 | 默认值 |
---|---|---|
float | angular_damp | 0.1 |
String | audio_bus_name | "Master" |
bool | audio_bus_override | false |
int | collision_layer | 1 |
int | collision_mask | 1 |
float | gravity | 9.8 |
float | gravity_distance_scale | 0.0 |
bool | gravity_point | false |
Vector3 | gravity_vec | Vector3( 0, -1, 0 ) |
float | linear_damp | 0.1 |
bool | monitorable | true |
bool | monitoring | true |
float | priority | 0.0 |
float | reverb_bus_amount | 0.0 |
bool | reverb_bus_enable | false |
String | reverb_bus_name | "Master" |
float | reverb_bus_uniformity | 0.0 |
int | space_override | 0 |
方法
返回值类型 | 方法名称 |
---|---|
bool | get_collision_layer_bit(bit: int) const |
bool | get_collision_mask_bit(bit: int) const |
Array | get_overlapping_areas() const |
Array | get_overlapping_bodies() const |
bool | overlaps_area(area: Node) const |
bool | overlaps_body(body: Node) const |
void | set_collision_layer_bit(bit: int, value: bool) |
void | set_collision_mask_bit(bit: int, value: bool) |
信号
- **area_entered**
当另一个区域进入时发出。
- **area_exited**
当另一个区域退出时发出。
- **area_shape_entered**
当另一个区域进入时发出,报告哪些区域重叠。
- **area_shape_exited**
当另一个区域退出时发出,报告哪些区域重叠。
- **body_entered**
当物理物体进入时发出。
body
参数可以是PhysicsBody或[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。
- **body_exited**
当物理物体退出时发出。
body
参数可以是PhysicsBody或[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。
- **body_shape_entered**
当物理物体进入时发出,报告哪些形状重叠。
body
参数可以是PhysicsBody或[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。
- **body_shape_exited**
当物理物体退出时发出,报告哪些形状重叠。
body
参数可以是PhysicsBody或[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。
枚举
enum SpaceOverride:
- **SPACE_OVERRIDE_DISABLED = 0**
该区域不影响重力/阻尼。
- **SPACE_OVERRIDE_COMBINE = 1**
此区域将其重力/阻尼值添加到到目前为止已计算的任何值(按[成员优先级]顺序)。
- **SPACE_OVERRIDE_COMBINE_REPLACE = 2**
该区域将其重力/阻尼值添加到到目前为止已计算的任何内容(按[成员优先级]顺序),而忽略任何较低优先级的区域。
- **SPACE_OVERRIDE_REPLACE = 3**
该区域取代了所有重力/阻尼,甚至是默认设置,而忽略了任何较低优先级的区域。
- **SPACE_OVERRIDE_REPLACE_COMBINE = 4**
该区域替换了到目前为止计算出的所有重力/阻尼(按[成员优先级]顺序),但继续计算其余区域。
常量
成员说明
- float angular_damp
Default | 0.1 |
---|---|
setter | set_angular_damp(value) |
getter | get_angular_damp |
- String audio_bus_name
Default | "Master" |
---|---|
setter | set_audio_bus(value) |
getter | get_audio_bus |
- bool audio_bus_override
Default | false |
---|---|
setter | set_audio_bus_override(value) |
getter | is_overriding_audio_bus |
- int collision_layer
Default | 1 |
---|---|
setter | set_collision_layer(value) |
getter | get_collision_layer |
- int collision_mask
Default | 1 |
---|---|
setter | set_collision_mask(value) |
getter | get_collision_mask |
- float gravity
Default | 9.8 |
---|---|
setter | set_gravity(value) |
getter | get_gravity |
- float gravity_distance_scale
Default | 0.0 |
---|---|
setter | set_gravity_distance_scale(value) |
getter | get_gravity_distance_scale |
- bool gravity_point
Default | false |
---|---|
setter | set_gravity_is_point(value) |
getter | is_gravity_a_point |
- Vector3 gravity_vec
Default | Vector3( 0, -1, 0 ) |
---|---|
setter | set_gravity_vector(value) |
getter | get_gravity_vector |
- float linear_damp
Default | 0.1 |
---|---|
setter | set_linear_damp(value) |
getter | get_linear_damp |
- bool monitorable
Default | true |
---|---|
setter | set_monitorable(value) |
getter | is_monitorable |
- bool monitoring
Default | true |
---|---|
setter | set_monitoring(value) |
getter | is_monitoring |
- float priority
Default | 0.0 |
---|---|
setter | set_priority(value) |
getter | get_priority |
- float reverb_bus_amount
Default | 0.0 |
---|---|
setter | set_reverb_amount(value) |
getter | get_reverb_amount |
- bool reverb_bus_enable
Default | false |
---|---|
setter | set_use_reverb_bus(value) |
getter | is_using_reverb_bus |
- String reverb_bus_name
Default | "Master" |
---|---|
setter | set_reverb_bus(value) |
getter | get_reverb_bus |
- float reverb_bus_uniformity
Default | 0.0 |
---|---|
setter | set_reverb_uniformity(value) |
getter | get_reverb_uniformity |
- int space_override
Default | 0 |
---|---|
setter | set_space_override_mode(value) |
getter | get_space_override_mode |
方法说明
- get_collision_layer_bit get_collision_layer_bit(bit: int) const
返回图层蒙版上的单个位。
- get_collision_mask_bit get_collision_mask_bit(bit: int) const
返回碰撞掩码上的单个位。
- get_overlapping_areas get_overlapping_areas() const
返回相交的Area列表。
- get_overlapping_bodies get_overlapping_bodies() const
返回相交的PhysicsBody的列表。
- overlaps_area overlaps_area(area: Node) const
如果true
,则给定区域与Area重叠。
注意:移动物体后,该测试的结果不是立即产生的。
- overlaps_body overlaps_body(body: Node) const
如果true
为真,则给定的物理实体与Area重叠。
注意:移动物体后,该测试的结果不是立即产生的。
body
参数可以是PhysicsBody或[GridMap]实例(虽然GridMap本身不是物理物体,但它们将具有碰撞形状的图块注册为虚拟物理物体)。
- set_collision_layer_bit set_collision_layer_bit(bit: int, value: bool)
设置/清除层掩码上的各个位。
- set_collision_mask_bit set_collision_mask_bit(bit: int, value: bool)
设置/清除冲突掩码上的各个位。