Skip to content

Inaccurate detection #12

@Chungmire

Description

@Chungmire

Hello, I am quite intrigued by the concept of this project, but there appear to be some issues through my testing.

I have used the methods outlined to obtain the vphys data and turn it into a .tri file. I have minimally adapted the example to just cast between hard-coded position values which I obtain from cl_showpos 1. I used de_mirage for testing. In my examples, I'm using the same X and Y coordinates for the start and end position, but changing the Z coordinate. I am using this to detect if there is any ground surface I may collide with. An example is provided:

r_start = Vector(-148.04f, 368.25f, 30.00f);
r_end = Vector(-148.04f, 368.25f, -42.75f);

In the above example, z position 25.04 is where the ground actually is. It doesn't detect intersection until -42.75, however, which is 67.79 units away from the true surface. This discrepancy isn't consistent either. In 2 locations I tested, it detected at 63.87 units. Other examples detected at 62.99, 63.88, and 64.39 units away. I don't know much about mapping, but I have seen this method used in CSGO cheats for detecting surfaces, albeit with the game's traceray function. The suggestion to just find the largest discrepancy and always use it isn't sufficient as I need precision within the unit. I was wondering if it's not possible to do what I'm attempting to do with triangles alone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions