fix(parity): implement ground click ripple, target select glow, and 3D projectile obstacle collision with regression probes
This commit is contained in:
+19
-6
@@ -196,12 +196,25 @@ class FlyInstance extends RefCounted:
|
||||
_explode()
|
||||
return false
|
||||
|
||||
if data.hit_on_background and _world and _world.has_method("sample_height"):
|
||||
var gh := float(_world.call("sample_height", pos.x, pos.z))
|
||||
if gh > pos.y:
|
||||
_emit("at_background")
|
||||
_explode()
|
||||
return false
|
||||
if data.hit_on_background:
|
||||
if _world and _world.has_method("sample_height"):
|
||||
var gh := float(_world.call("sample_height", pos.x, pos.z))
|
||||
if gh > pos.y:
|
||||
_emit("at_background")
|
||||
_explode()
|
||||
return false
|
||||
# 40250 CFlyingInstance::Update FCheckBackgroundDuringFlying:
|
||||
# 空间 3D 建筑与静态障碍物碰撞(碰撞层 2: StaticBody3D)
|
||||
if _world is Node3D and _world.is_inside_tree():
|
||||
var w3d: World3D = _world.get_world_3d()
|
||||
if w3d and w3d.direct_space_state:
|
||||
var q := PhysicsRayQueryParameters3D.create(last_pos, pos, 2)
|
||||
var hit := w3d.direct_space_state.intersect_ray(q)
|
||||
if not hit.is_empty():
|
||||
pos = hit.position
|
||||
_emit("at_background")
|
||||
_explode()
|
||||
return false
|
||||
return true
|
||||
|
||||
func _explode(bomb := true) -> void:
|
||||
|
||||
Reference in New Issue
Block a user