I used SubtractAsync to cut a rectangular hole in a baseplate and put a part below the hole like this:
And the collision shape is like this for some reason
Here is the script:
math.randomseed(1800)
for i=0, math.random(4, 7) do
local holePart = Instance.new("Part")
holePart.Position = Vector3.new(math.random(-888, 888), -4.777, math.random(-888, 888))
holePart.Parent = workspace
holePart.Size = Vector3.new(math.random(128, 512), 8, math.random(128, 512))
holePart.Name = 'HoleQ'
for i, part in workspace:GetPartBoundsInBox(holePart.CFrame, holePart.Size) do
if part.Name == 'TreeHitbox' then
part.Parent:Destroy()
end
end
--workspace.Terrain:FillBlock(holePart.CFrame, holePart.Size, Enum.Material.Water)
local hole_fill = holePart:Clone()
hole_fill.Position = Vector3.new(hole_fill.Position.X, hole_fill.Position.Y - (hole_fill.Size.Y * 1.7), hole_fill.Position.Z)
hole_fill.Anchored = true
hole_fill.Parent = workspace
hole_fill.Name = 'WaterBedrock'
hole_fill.Material = Enum.Material.Sand
hole_fill.BrickColor = BrickColor.new("Sand yellow")
local new_base = workspace.WorldBase:SubtractAsync({holePart}, Enum.CollisionFidelity.PreciseConvexDecomposition)
holePart:Destroy()
workspace.WorldBase:Destroy()
new_base.Parent = workspace
new_base.Name = 'WorldBase'
end
If anyone knows the cause/solution to this problem, please let me know!