Part rendering from inside

I am playing with cframes with part and the part randomly renders from the inside.

Here’s a video of it.

Sorry for the garbage fps. You can see I was trying to select the part but on some areas it’s not working. The Transform tool wasn’t showing the rotate tool. I forgot to show it in the video, but setting the part’s position or orientation fixes it.

I have another recording but it’s short
https://gyazo.com/45b69b24590cb62f5c91fa48c0f06061

I restarted studio and it’s still happening. Hopefully this isn’t a bug because it is actually useful.

Anyways, how did that happen?
This is the code I was playing around with

game:GetService'RunService'.RenderStepped:Connect(function()
	workspace.Part.CFrame *= CFrame.new(0,0,0, .7,0,.7, 0,.5,.5, -.7,0,.7)
end):Disconnect(wait(1))

Edit: Something i forgot to do before making a post is playtest, and apparently it only happens on edit mode.

Edit: Nevermind, the bug is actually being fixed by replication. When making it on the server, the cframe is not properly replicated to the client. When making it on the client, the bug appears.

1 Like

wait wtf.

JK i found out its a bug. Its kind lf due to constant replication whoch just makes the renderer freak out on edit.

EDIT:found out its already solved as he found it out already.

Dear @Lielmaster I request you to mark either yourself or me (or any other tbh) as solution as people will keep coming to this post only to know its solved

Hope this bug fixes. Till then try to flip faces/normals in blender or maya.

Thanks for replying, although I already found out it’s a bug, I will mark your post as solution.
Anyways, here is a way to replicate this bug

local p = Instance.new('Part')
p.Anchored = true
p.Size = Vector3.new(5,5,5)
p.CFrame = CFrame.new(16.9999619, 19.4090862, 12.4999886, 0.609568775, 0.514187813, -0.603354752, -0.647868574, 0.761733234, -0.00538066123, -0.456828684, -0.394174427, -0.797454774)
p.Parent = workspace

Like I said in my post, this bug won’t replicate properly to the client, so you have to send the cframe to the client then let the client set the part’s cframe.

I found a better way to replicate this bug. Just flip one of the CFrame’s directional vector, but I prefer flipping the ZVector.

local part = workspace.Part -- reference the part
local cf = part.CFrame
part.CFrame = CFrame.fromMatrix(cf.p, cf.XVector, cf.YVector, -cf.ZVector) -- inverting the z axis

@IamNewToRiblix you may be interested in debugging why this happens, or just mess with the code idk, it’s your choice. I’m only pinging you because you are the only person that replied.

oh i knew bout the second one though the first one. Its hard to find the bugs like first one though. Also i wont be able to debug any of these because in the Second One its working as its expected to.its like flipping normals in a 3D software for that vector (if it has a vector). And the First one is just a studio bug Though its fun to watch bugs like these so thanks for taking your time sharing this.

Actually, I debugged the first one and apparently one of its axis (Z axis im assuming) is flipped. That is how I found the second one.

I didn’t know it was normal. Thanks for letting me know.

1 Like