-
Notifications
You must be signed in to change notification settings - Fork 43
Possible Issue with Raycasting #294
Description
The screenshot above was taken by using CodeLLDB and stepping through the execution of Rust code.
As you can see, pre-normalization the ray vector is about (12, 15, -98) which is actually a unit vector with its magnitude x100.
That means we'd expect the normalized vector to be around (0.12, 0.15, -0.98)
After normalization (assigned to direction) the vector is (-0.98, 0, 0).
The -0.98 value placed in the x scalar slot should be placed in the z scalar slot, and the x and y scalars are not present at all.
Now, CodeLLDB isn't perfect, it may not be mapping the memory values correctly, so this may essentially be a visual bug with the debugger.
However, I am experiencing a bug where I'm casting a ray through some collider shapes, and the ray cast always returns None, even when I confirm the start and ray vectors would correctly cause the ray to pass through the location of the collider shapes.
The vector normalization misalignment is the best lead I have so far.
For the sake of completeness,, I've attached below a copy a post I made asking for help in the Bevy Discord server. If there's an obvious bug there that would cause the raycast to not detect the collision shapes, then I think it's reasonable to chalk up the erroneous vector normalization to a debugger memory layout bug.
However, if the attached code looks correct, then as above, this vector normalization bug is the best lead I have for a root cause.
