NVlabs / FPSci

Aim Training Experiments
Other
67 stars 23 forks source link

Bug in multi-destination world-space target offset logic #352

Closed bboudaoud-nv closed 2 years ago

bboudaoud-nv commented 2 years ago

Currently the destination target m_offset implementation is confusing and appears to be incorrectly implemented in the main session logic.

My understanding of this offset is that it is intended to handle player-space destination targets, a feature that was never fully developed as we have reverted towards more "pure" world-space destination targets.

As of today, there is a special branch of destination target onSimulation() that returns early w/o modifying target position. This code pushed us towards using the m_offset to specify the target position, which is incorrect. Instead we should be passing a 0-valued offset whenever a target is in "world" space.

The resulting effect is that a world-space target w/ more than one destination does not currently present at the correct position as the offset logic in Session::spawnTrialTargets() effectively doubles the first position by using it as the offset. World-space targets with a single destination still work fine as the position is being passed in through the offset field.