OldUnreal / UnrealTournamentPatches

Other
1.04k stars 30 forks source link

Collision issue at map MH-DesertstormV0.unr #1653

Closed SeriousBarbie closed 1 month ago

SeriousBarbie commented 1 month ago

Server OldUnreal-UTPatch469e3.15-Linux-x86 log says

MH-DesertstormV0.CaveManta13 flew out of the world at (X=5408.679688,Y=-761.721619,Z=888.642334)!! MH-DesertstormV0.CaveManta3 flew out of the world at (X=7382.004395,Y=-345.633728,Z=893.785156)!! MH-DesertstormV0.CaveManta12 flew out of the world at (X=7337.304688,Y=-214.358521,Z=895.542297)!! MH-DesertstormV0.CaveManta0 flew out of the world at (X=7413.826660,Y=-74.238647,Z=883.454468)!! MH-DesertstormV0.CaveManta21 flew out of the world at (X=6125.521484,Y=-545.031067,Z=886.926758)!! MH-DesertstormV0.CaveManta5 flew out of the world at (X=5927.730469,Y=-407.578064,Z=892.239136)!! MH-DesertstormV0.CaveManta9 flew out of the world at (X=6083.663574,Y=-530.783508,Z=887.217529)!! MH-DesertstormV0.CaveManta19 flew out of the world at (X=6013.772949,Y=-441.053741,Z=887.686768)!! MH-DesertstormV0.CaveManta22 flew out of the world at (X=6257.479004,Y=-456.713104,Z=893.355591)!! MH-DesertstormV0.CaveManta23 flew out of the world at (X=6454.711426,Y=-142.330704,Z=894.188721)!! MH-DesertstormV0.CaveManta18 flew out of the world at (X=7220.017090,Y=-292.361267,Z=887.121277)!! MH-DesertstormV0.CaveManta2 flew out of the world at (X=6516.188965,Y=-146.731812,Z=891.477600)!! MH-DesertstormV0.CaveManta11 flew out of the world at (X=6068.176758,Y=-479.390656,Z=904.790039)!! MH-DesertstormV0.CaveManta1 flew out of the world at (X=6400.785645,Y=-56.683224,Z=884.520813)!! MH-DesertstormV0.CaveManta8 flew out of the world at (X=6658.363770,Y=-476.238098,Z=888.363586)!! MH-DesertstormV0.CaveManta16 flew out of the world at (X=6801.987305,Y=-301.613281,Z=888.890442)!!

If you inspect for example the location of CaveManta12 in editor you'll see that this is the upper surface of subtract Brush1519 where normally nothing should escape into void. (Because these Mantas carried en Event, map couldn't be ended. Consider raising their event if things go out of the world.) MH-DesertstormV0-EscapeSpot

SeriousBarbie commented 1 month ago

Additional info:

grep "flew out of the world" ucc.init.sh-2024-10-*|wc
    191    1528   26273
SeriousBuggie commented 1 month ago

It is actually map bug. Top surface with normal (0, 0, -1) use only next collision hulls:

Log: 38632: 0 (X=-0.471397,Y=-0.881921,Z=0.000000,W=-280.229919)
Log: 38632: 1 (X=-0.471397,Y=0.881921,Z=0.000000,W=564.693604)
Log: 38632: 2 (X=-1.000000,Y=-0.000000,Z=-0.000000,W=-3687.374512)
Log: 38632: 3 (X=1.000000,Y=0.000000,Z=0.000000,W=5885.410156)

There no any plane with Z not zero. Which mean there no collision on top.

However pre-469e it collide on top, because exists bug when bounding box collide like regular plane. And top plane of this box make collision, which prevent mantas fly away.

If you rebuild map on 469e, issue gone. because top plane get proper collision hulls:

Log: 41450: 0 (X=-1.000000,Y=0.000000,Z=-0.000000,W=-4124.725586)
Log: 41450: 1 (X=-0.000000,Y=1.000000,Z=0.000002,W=-368.359131)
Log: 41450: 2 (X=0.350215,Y=0.936669,Z=0.000000,W=1111.724365)
Log: 41450: 3 (X=-0.063234,Y=-0.997999,Z=0.000000,W=437.594391)
Log: 41450: 4 (X=-0.160751,Y=-0.986995,Z=0.000000,W=-7.774902)
Log: 41450: 5 (X=-0.000000,Y=-0.000000,Z=-1.000000,W=-880.000000)

As you see, plane with index 5 use proper normal, which match to node normal.

I guess there happen next:

We fix bug and and issue appear.

So proper answer: map bugged and need be rebuilt/fixed.

However, I suspect there floating a lot such maps, so we will push change to collision system, which partially revert our fix, and make AABB collide for top surface.

I hope that will be enough for all similar cases.

SeriousBarbie commented 1 month ago

Is there already a version with that fixed fix?

SeriousBuggie commented 1 month ago

Yes. Preview 5.1 and tests 779+.

SeriousBarbie commented 3 weeks ago

I just installed v469e Preview 5 on servers and still Mantas escape (same map):

MH-DesertstormV0.CaveManta6 flew out of the world at (X=4862.745117,Y=-444.624573,Z=883.298462)!! MH-DesertstormV0.CaveManta7 flew out of the world at (X=6298.318848,Y=-233.243088,Z=895.941650)!! MH-DesertstormV0.CaveManta21 flew out of the world at (X=5328.143066,Y=-640.122986,Z=890.403748)!! MH-DesertstormV0.CaveManta8 flew out of the world at (X=5742.704590,Y=-58.353748,Z=899.021912)!! MH-DesertstormV0.CaveManta2 flew out of the world at (X=4683.522461,Y=-664.469238,Z=887.552795)!! MH-DesertstormV0.CaveManta1 flew out of the world at (X=4640.691406,Y=-671.585754,Z=887.064514)!! MH-DesertstormV0.CaveManta22 flew out of the world at (X=6591.937012,Y=92.289253,Z=883.986267)!! MH-DesertstormV0.CaveManta20 flew out of the world at (X=5558.053711,Y=-831.231323,Z=883.908264)!!

SeriousBuggie commented 3 weeks ago

You need preview 5.1 or later. Preview 5 not contain fix.