Another curious issue, encountered while migrating AFF to the latest UDK build - the 2013-07 one:
We have a map with a 509x509 landscape. Admittedly it's probably a bit too dense because it's been scaled down to DrawScale = (48.0, 48.0, 18.0), so every tile is just 48x48 uu. However it used to work perfectly in the previous build we were on - 2012-07.
Now in 2013-07 the presence of that landscape crashes the whole engine on collision checks performed in the map. Be it moving vehicles or just tracing (and not even tracing directly at the landscape surface, it's enough to just point the trace at a staticmesh near the landscape, perhaps in the same octree region or however it works under the hood), everything results in an immediate crash with the callstack pointing to some PhysX guts:
Obviously can provide dump file along with that if needed.
We did some research and it seemed the issue only occured if the DrawScale on the terrain got dropped below the defaut 128 on X or Y axes. I wasn't sure if that's a valid assessment, could be more related to the fillrate of those landscape tiles when they get smaller or any number of things instead of directly to the DrawScale value.
So then I tried making the landscape DrawScale power of 2. And that surprisingly fixes it. So terrain with DrawScale 48x48 crashes, but with 32x32 or even 16x16 doesn't. Landscape specification never said anything about the need to make tile sizes ^2.
As I said, the issue occurs in 2013-07 but not in 2012-07, anything changed in the engine regarding landscape collision between those builds?
For the record, this is not an issue with any landscape properties - only DrawScale affects that and it happens regardless of number of components, regardless of heightmap or foliage or anything. Happens on any landscape no matter if it comes from a map from a previous build or is newly created. The only other thing that seemed to fix it was cranking up CollisionMipLevel - I presume it, when set to high enough exponent, did the same for collision as increasing the DrawScale beyond the default 128.0.
We have a map with a 509x509 landscape. Admittedly it's probably a bit too dense because it's been scaled down to DrawScale = (48.0, 48.0, 18.0), so every tile is just 48x48 uu. However it used to work perfectly in the previous build we were on - 2012-07.
Now in 2013-07 the presence of that landscape crashes the whole engine on collision checks performed in the map. Be it moving vehicles or just tracing (and not even tracing directly at the landscape surface, it's enough to just point the trace at a staticmesh near the landscape, perhaps in the same octree region or however it works under the hood), everything results in an immediate crash with the callstack pointing to some PhysX guts:
Code:
[0097.86] ScriptLog: VOIP| SetupPlayerMuteList: Player [ Player257 ] doesn't have a UniqueNetId. Nothing to do. [0109.20] DevGarbage: Collecting garbage [0109.26] DevGarbage: 57.192288 ms for realtime GC [0109.27] DevGarbage: 12.375299 ms for unhashing unreachable objects [0109.33] DevGarbage: GC purged 1604 objects (172758 -> 171154) [0138.07] Log: === Critical error: === Fatal error! Address = 0x7155a386 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\PhysXCore64.dll] Address = 0x71776c55 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\PhysXCore64.dll] Address = 0x716b60e5 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\PhysXCore64.dll] Address = 0x884f9fc (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7b00 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f7e87 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x83f8fc9 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x82dffc9 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x82e0716 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x8446cda (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dc7079 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dbc20e (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcedde (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dc7079 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dbc20e (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcedde (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcedde (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dc7079 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcedde (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dc7079 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcedde (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcedde (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dcbff0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7dd6c37 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x80af849 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x841f658 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x81903b8 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x82558ed (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x8256cca (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x9338ba0 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x933deee (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x933df5a (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x125616d4 (filename not found) Address = 0x12511ee8 (filename not found) Address = 0x71b5255a (filename not found) [in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll] Address = 0x1256124e (filename not found) Address = 0x15b2758 (filename not found) Address = 0x7bc0000 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] Address = 0x7bc0000 (filename not found) [in D:\UDK\affJuly13\Binaries\Win64\UDK.exe] [0138.08] Exit: Executing UObject::StaticShutdownAfterError [0138.08] Exit: Executing UWindowsClient::ShutdownAfterError [0138.12] Exit: Executing UWindowsClient::ShutdownAfterError [0138.40] Log: Shutting down FaceFX... [0138.42] Log: FaceFX shutdown. [0138.42] Log: appRequestExit(1)
We did some research and it seemed the issue only occured if the DrawScale on the terrain got dropped below the defaut 128 on X or Y axes. I wasn't sure if that's a valid assessment, could be more related to the fillrate of those landscape tiles when they get smaller or any number of things instead of directly to the DrawScale value.
So then I tried making the landscape DrawScale power of 2. And that surprisingly fixes it. So terrain with DrawScale 48x48 crashes, but with 32x32 or even 16x16 doesn't. Landscape specification never said anything about the need to make tile sizes ^2.
As I said, the issue occurs in 2013-07 but not in 2012-07, anything changed in the engine regarding landscape collision between those builds?
For the record, this is not an issue with any landscape properties - only DrawScale affects that and it happens regardless of number of components, regardless of heightmap or foliage or anything. Happens on any landscape no matter if it comes from a map from a previous build or is newly created. The only other thing that seemed to fix it was cranking up CollisionMipLevel - I presume it, when set to high enough exponent, did the same for collision as increasing the DrawScale beyond the default 128.0.
Comment