You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Fix GPUParticlesCollisionHeightField3D adding collisions excluded by its layer_mask
Co-authored-by: Yahia Zakaria <yahiazakaria13@gmail.com>
This commit is contained in:
@@ -3971,15 +3971,19 @@ void RendererSceneCull::render_particle_colliders() {
|
||||
|
||||
struct CullAABB {
|
||||
PagedArray<Instance *> *result;
|
||||
uint32_t heightfield_mask;
|
||||
_FORCE_INLINE_ bool operator()(void *p_data) {
|
||||
Instance *p_instance = (Instance *)p_data;
|
||||
result->push_back(p_instance);
|
||||
if (p_instance->layer_mask & heightfield_mask) {
|
||||
result->push_back(p_instance);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
CullAABB cull_aabb;
|
||||
cull_aabb.result = &instance_cull_result;
|
||||
cull_aabb.heightfield_mask = RSG::particles_storage->particles_collision_get_height_field_mask(hfpc->base);
|
||||
hfpc->scenario->indexers[Scenario::INDEXER_GEOMETRY].aabb_query(hfpc->transformed_aabb, cull_aabb);
|
||||
hfpc->scenario->indexers[Scenario::INDEXER_VOLUMES].aabb_query(hfpc->transformed_aabb, cull_aabb);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user