Skip to content
This repository was archived by the owner on Nov 29, 2022. It is now read-only.
This repository was archived by the owner on Nov 29, 2022. It is now read-only.

Possible Issue with Raycasting #294

@Riizade

Description

@Riizade

Desktop Screenshot 2022 07 20 - 12 34 51 83

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.

help.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    to-investigateThis maybe a bug... but needs investigation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions