Scene Graph - FindOverlapHits(:transform) ignores the Scale value

Summary

The (:entity).FindOverlapHits(:transform) function is ignoring the Scale value used in the transform parameter.

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Verse

Steps to Reproduce

using { /Verse.org/SpatialMath }

# Make an entity with mesh_component to use in overlap query.
Entity := entity{}
MeshComponent := Meshes.SM_Sphere:
    Queryable := true
    Entity := Entity
    
Entity.AddComponents(array{MeshComponent})

if (SimulationEntity := GetSimulationEntity[]):
    Entity.AddEntities(array{SimulationEntity})

# Use FindOverlapHits(:transform) with a transform with the desired scale value.
TargetTransform := transform:
    Translation := TargetPosition
    Scale := vector3{Left := 100.0, Up := 100.0, Forward := 100.0}

# FindOverlapHits ignores the Scale value supplied.
for (OverlapHit : Entity.FindOverlapHits(TargetTransform)):
    OverlapHit

Expected Result

The (:entity).FindOverlapHits(:transform) should return all entities that overlap the entity at the specified transform including the scale value.

i.e. should consider entites that overlap the entity at 100x its base size.

Scale := vector3{Left := 100.0, Up := 100.0, Forward := 100.0}

Observed Result

The (:entity).FindOverlapHits(:transform) only returns the entities that overlap with the entity at its currently set scale (using the SetGlobalScale() function).

Platform(s)

n/a

Hi Jacky, getting someone to take a look.

1 Like

FORT-944769 has been created and its status is ‘Unconfirmed’. This is now in a queue to be reproduced and confirmed.