Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

KinematicCollision3D

繼承: RefCounted < Object

存放移動 PhysicsBody3D 所產生的碰撞資料。

說明

存放移動 PhysicsBody3D 所產生的碰撞資料,通常是由 PhysicsBody3D.move_and_collide() 產生的。移動 PhysicsBody3D 時,它會在偵測到與另一個實體發生碰撞時停止。偵測到碰撞時就會返回 KinematicCollision3D 對象。

碰撞封包括碰撞物件、剩餘運動和碰撞位置。可以使用該資料進行碰撞的自訂響應。

方法

float

get_angle(collision_index: int = 0, up_direction: Vector3 = Vector3(0, 1, 0)) const

Object

get_collider(collision_index: int = 0) const

int

get_collider_id(collision_index: int = 0) const

RID

get_collider_rid(collision_index: int = 0) const

Object

get_collider_shape(collision_index: int = 0) const

int

get_collider_shape_index(collision_index: int = 0) const

Vector3

get_collider_velocity(collision_index: int = 0) const

int

get_collision_count() const

float

get_depth() const

Object

get_local_shape(collision_index: int = 0) const

Vector3

get_normal(collision_index: int = 0) const

Vector3

get_position(collision_index: int = 0) const

Vector3

get_remainder() const

Vector3

get_travel() const


方法說明

float get_angle(collision_index: int = 0, up_direction: Vector3 = Vector3(0, 1, 0)) const 🔗

根據 up_direction 返回碰撞角度,預設為 Vector3.UP。該值始終為正。


Object get_collider(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回該碰撞實體所附加的 Object


int get_collider_id(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回該碰撞實體所附加的 Object 的唯一實例 ID。請參閱 Object.get_instance_id()


RID get_collider_rid(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回被 PhysicsServer3D 使用的碰撞實體的 RID


Object get_collider_shape(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回該碰撞實體的形狀。


int get_collider_shape_index(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回該碰撞實體的形狀索引。請參閱 CollisionObject3D


Vector3 get_collider_velocity(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回該碰撞實體的速度。


int get_collision_count() const 🔗

返回偵測到的碰撞次數。


float get_depth() const 🔗

返回該碰撞物體沿碰撞法線覆蓋的長度。


Object get_local_shape(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回移動的物件的碰撞形狀。


Vector3 get_normal(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回在碰撞點處該碰撞實體的形狀的法線。


Vector3 get_position(collision_index: int = 0) const 🔗

給定碰撞索引(預設情況下最深的碰撞),返回以全域座標表示的碰撞點。


Vector3 get_remainder() const 🔗

返回移動對象的剩餘移動向量。


Vector3 get_travel() const 🔗

返回移動物件的在碰撞前的運動。