private void AdaptCollider() { if (exactColliders) { ComponentUtilities.EnsureComponentReference(gameObject, ref meshCollider, true); meshCollider.convex = true; meshCollider.enabled = true; if (boxCollider != null) { boxCollider.enabled = false; boxCollider.center = Vector3.zero; boxCollider.size = 0.00001f * Vector3.one; } meshCollider.sharedMesh = meshFilter.sharedMesh; } else { ComponentUtilities.EnsureComponentReference(gameObject, ref boxCollider, true); boxCollider.enabled = true; if (meshCollider != null) { meshCollider.enabled = false; } boxCollider.size = new Vector3(width, height, depth); boxCollider.center = new Vector3(0, 0, depth / 2f); } }
/// <summary> /// Called by Unity every frame and on every change in the Unity editor /// </summary> private void Update() { // if something was changed: updat the mesh and colliders if (settingsChanged) { settingsChanged = false; CheckValues(); ComponentUtilities.EnsureComponentReference(gameObject, ref meshFilter, true); meshFilter.sharedMesh = GenerateMesh(); AdaptCollider(); } }