Loading a Model's CFrame at the right Baseplate

You should save the position relative to the base instead of relative to the world origin.

For example, if each base is a model with a PrimaryPart set in a consistent way, then you could write:

local cframeToSave = baseModel.PrimaryPart.CFrame:Inverse() * itemObject.CFrame
-- later, after retrieving from data store
local cframeToSet = baseModel.PrimaryPart.CFrame * cframeFromDataStore

Edit: My original code was incorrect because I had the left and right sides of the multiply flipped around. It should work now.

8 Likes