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