Here’s basically what’s going on
Why does the greenish turquoise triangle think it is acceptable to just intersect the negative part?
(I AM USING PreciseConvexDecomposition BEFORE YOU SAY THAT IS THE ANSWER)
Here’s basically what’s going on
Which negative part?
Your picture and post barely explain anything. You haven’t specified your issue other than “so uhm this collides but should not why?”
Also, this is #help-and-feedback:scripting-support. I don’t think your issue has anything to do with scripts.
Anyways, as far as I understand, the green thingy should not intersect with the brown one. Can you send a screenshot of the explorer?
I’m not on regular so I can’t post bug reports, but I created the union in script.
Here’s a better photo (but with the collisions working):
The red part is the negative part.
Here’s an example instance of the explorer
Are you sure you include the green part when you are unioning the doorway (or whatever that brown thing is) with negative part?
yessir!!!
What green part? The grass/floor?
Yet again, I created the union in-script, therefore making it scripting-support, not building-support.
The one that is above the brown frame.
If you are creating unions in script, can you show us the code? It can be a mistake that you do not include that green part above brown one when doing UnionAsync
.
local function negate(v:BasePart,negativeClone)
repeat wait() until game.ServerStorage.ServerCooldown.Value == 0
game.ServerStorage.ServerCooldown.Value = 1
local subtract:UnionOperation = v:SubtractAsync({negativeClone},Enum.CollisionFidelity.PreciseConvexDecomposition,Enum.RenderFidelity.Precise)
subtract.Parent = v.Parent
--[[if v:IsA("Part") then
local clone = v:Clone()
clone.Parent = v.Parent
clone.Transparency = 1
clone.CanCollide = false
clone.Name = 'hitProtector'
local pathMod = Instance.new("PathfindingModifier",clone)
pathMod.PassThrough = false
pathMod.Label = "Danger"
pathMod.Name = 'ignoreWall'
end]]
local fake = Instance.new("Part",workspace)
fake.Name = 'fake'
fake.Position = Vector3.new(0,10000,0)
fake.Anchored = true
fake.Transparency = 1
for i = 0, 2 do
local subtract2 = subtract:SubtractAsync({fake},Enum.CollisionFidelity.PreciseConvexDecomposition,Enum.RenderFidelity.Automatic)
subtract2.Parent = subtract.Parent
subtract2.Name = v.Name
addMarker(subtract2,'Builder_Wall')
subtract:Destroy()
subtract = subtract2
end
return subtract
end
You see a little problem with that?
You are going through for
loop 3 times. And, on the first itteration, you destroy subtract
. Then, you try to SubtractAsync
an already destroyed instance. I am surprised it didn’t error.
I did it on purpose to see if it would help the issue because placing something (like a window) would typically fix it because it unions it again.
It did help, mildly… but it still did help.
It replaces the subtract variable at the end?
Oh, I see.
It is pretty useless though. Re-doing unions like that can sometimes help. I think it either might be a bug in Studio, or your computer is weak and can’t handle subtracting.
Try joining the game via Roblox instead of play-testing it in Studio and see if the issue resolves itself. (Alt+P the game first)
I paid $900 for this
What does Alt+P do? Publish the game?
Yeah. It publishes the changes.
well then L if it works on servers