An EQS Query scores the tests using reference values opposite of how the comments and tooltips describe. It will score items closest to the referenced value lower than those further away, but the expected outcome is that the items closer to the reference value will be scored higher than those further away.

The issue seems to be in EnvQueryTest::NormalizeItemScores, that the clamped score is subtracted from the reference value, and the absolute value of that is then normalized. This leads to exact matches equating to 0.


Here is a screenshot of the current outcome for the test described in the Steps to Reproduce:

[Image Removed]


Here is what the expected result is:

[Image Removed]

Steps to Reproduce
  1. Create an EQS query with a point grid generator.
  2. Add a Dot test to the query.
  3. Set the Dot test's Test Mode to Dot 2D (Heading)
  4. Set Line A Mode to Rotation using the Querier
  5. Set Line B Mode to Two Points going from Querier to Item
  6. Set the Filter type to Minimum and a value of 0
  7. Enable the Reference Value and set it to 0.7 (roughly 45 degrees for highest score)
  8. Add EQS testing pawn to level and set its Query to be the one created here.

Expected Result: The Query scores points closest to a 45 degree angle the highest and points further away from 45 degrees should be lower and normalize to 0.

Actual Result: The Query scores points closest to a 45 degree angle the lowest and those furthest away the highest.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-164917 in the post.

Login to Vote

ComponentUE - AI - EQS
Affects Versions5.0.35.1
Target Fix5.1
Fix Commit22178933
Main Commit22188101
Release Commit22178933
CreatedSep 23, 2022
ResolvedSep 26, 2022
UpdatedOct 21, 2022