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

1 Like

Hi Jacky, getting someone to take a look.

1 Like

This topic was automatically closed after 180 days. New replies are no longer allowed.

FORT-944769’s status has changed to ‘Ready for QA’. A member of the QA department is investigating the issue.