A user pointed out a possible mistake in the Engine source code. In the GetCollisionShape function in the UPrimitiveComponent class, an FVector variable Extent is created and set, and then potentially modified to make sure it is not smaller than zero size. However, this variable is never actually used.
Looking over the code, I suspect that it is intended for the return line to be return FCollisionShape::MakeBox(Extent);
Edit Tim L
========
Another user voiced the concern that the if statement in the function should be checking Extent instead of the float value that is passed into the function. This should only be a concern if we do not check Bounds.BoxExtent anywhere else to make sure it never contains a negative value. From what I can tell, this value should default to ZeroVector, but I could not find anything that would make sure none of the values were ever set to a negative value.
RESULT:
The Extent variable is created and set, but never used.
EXPECTED:
The Extent variable is used.
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Gameplay |
---|---|
Affects Versions | 4.9.2, 4.11 |
Target Fix | 4.11 |
Fix Commit | 2737180 |
---|---|
Main Commit | 2765024 |
Created | Oct 21, 2015 |
---|---|
Resolved | Oct 21, 2015 |
Updated | Apr 27, 2018 |