In my ServerStorage, when you spawn in a model to a certain position, it is rotated a certain way (which is 90 degrees off). It is not clear to me how this would be done. It cannot be as simple as rotating the model from the ServerStorage. It has to be done by a script, or else it won't work in other places that you spawn it. Here is a portion of it.
bg.S.MouseButton1Click:connect(function() for i, v in pairs(game.Teams['Garage 6']:GetPlayers()) do if (locked) then return end locked = true local vehicleName = player.Name.."Car" if (not workspace:FindFirstChild(vehicleName)) then local model = game.ServerStorage.Vehicles:FindFirstChild(vehicles[index][1]):Clone() model.Name = vehicleName model.Parent = game.Workspace model:MakeJoints() model:MoveTo(Vector3.new(-519.846, 186.25, -88.916))
Any help is appreciated. Thank you.
Use :SetPrimaryPartCFrame() to position it before parenting it to the workspace. https://developer.roblox.com/api-reference/function/Model/SetPrimaryPartCFrame
CFrame values can both set a position of a part as well as the orientation of it. If your Model
has a PrimaryPart
, this function will set the CFrame
of the PrimaryPart
to where ever you choose and then take all the parts in that model and move them based on where the PrimaryPart
is.
local Model = workspace.Car Model.PrimaryPart = Model.Center local Clone = Model:Clone() Clone:MakeJoints() local spawnPosition = CFrame.new(10, 5, 10) * CFrame.Angles(0, math.rad(90), 0) --CFrame.new is the position --CFrame.Angles is the orientation --math.rad converts degrees to radians Clone:SetPrimaryPartCFrame(spawnPosition) Clone.Parent = workspace