diff --git a/NewHorizons/Builder/Props/DetailBuilder.cs b/NewHorizons/Builder/Props/DetailBuilder.cs index 54fc2fd6..59d33997 100644 --- a/NewHorizons/Builder/Props/DetailBuilder.cs +++ b/NewHorizons/Builder/Props/DetailBuilder.cs @@ -232,7 +232,7 @@ namespace NewHorizons.Builder.Props if (!detail.keepLoaded) GroupsBuilder.Make(prop, sector); prop.SetActive(true); - if (detail.hasPhysics || true) + if (detail.hasPhysics) { var addPhysics = prop.AddComponent(); addPhysics.Sector = sector; @@ -428,14 +428,15 @@ namespace NewHorizons.Builder.Props if (!Sector) Logger.LogError($"Prop {name} has physics but no sector! Will fall through things when surrounding area is unloaded"); - yield return new WaitForSeconds(3f); + yield return new WaitForSeconds(.1f); var parentBody = GetComponentInParent(); - // just disable all non triggers - foreach (var collider in GetComponentsInChildren(true)) - if (!collider.isTrigger) - collider.enabled = false; + // hack: make all mesh colliders convex + // triggers are already convex but whatever + // prints errors for non readable meshes but whatever + foreach (var meshCollider in GetComponentsInChildren(true)) + meshCollider.convex = true; var bodyGo = new GameObject($"{name}_Body"); bodyGo.SetActive(false); diff --git a/NewHorizons/External/Modules/PropModule.cs b/NewHorizons/External/Modules/PropModule.cs index bac024c9..aca1f56a 100644 --- a/NewHorizons/External/Modules/PropModule.cs +++ b/NewHorizons/External/Modules/PropModule.cs @@ -232,6 +232,7 @@ namespace NewHorizons.External.Modules /// /// Should this object dynamically move around? + /// This tries to make all mesh colliders convex, as well as adding a sphere collider in case the detail has no others. /// public bool hasPhysics;