.Normal is backwards? (Surface alignment CFrame)

GreenPuddle.CFrame = CFrame.new(RaycastResults.Position, RaycastResults.Position + RaycastResults.Normal)

0a273850111c11e39985e179c846f486

The .Normal seems to be backwards and I don’t know how to inverse it. Calling :Inverse() on the whole CFrame makes it teleport to a random position.

I’m trying to have the green toxic puddle stick to the surface of rotated objects.

Any help is appreciated!

If the surface is correct and just the rotation of the puddle is wrong, you can rotate the puddle by 90 degrees with CFrame.Angles

GreenPuddle.CFrame = CFrame.new(RaycastResults.Position, RaycastResults.Position + RaycastResults.Normal) * CFrame.Angles(0, 0, math.rad(90))

CFrame.Angles(0, 0, math.rad(90)) has to be changed to CFrame.Angles(math.rad(90), 0, 0). (In my script atleast)

So happy this was easy math instead of some long equation. Thank you!