I've been at this for an hour now, trying to tween these parts of a welded model. The model is a book, and im trying to make the script open the book, but since i have welds, its not able to do that at all. The tween works, but the welds are stopping it from being displayed.
local tweenserv = game:GetService("TweenService")
local grim = script.Parent
local lpage = grim:FindFirstChild("LPage")
local rpage = grim:FindFirstChild("RPage")
local rcover = grim:FindFirstChild("LCover")
local lcover = grim:FindFirstChild("RCover")
local spine = grim:FindFirstChild("Spine")
local debounce = false
local w1 = Instance.new("Weld")
local w2 = Instance.new("Weld")
local w3 = Instance.new("Weld")
local w4 = Instance.new("Weld")
w1.Part0 = spine
w1.Part1 = lcover
w1.C0 = w1.Part0.CFrame:inverse()*w1.Part1.CFrame
w1.Parent = w1.Part0
w2.Part0 = spine
w2.Part1 = rcover
w2.C0 = w2.Part0.CFrame:inverse()*w2.Part1.CFrame
w2.Parent = w2.Part0
w3.Part0 = lpage
w3.Part1 = lcover
w3.C0 = w3.Part0.CFrame:inverse()*w3.Part1.CFrame
w3.Parent = w3.Part0
w4.Part0 = rpage
w4.Part1 = rcover
w4.C0 = w4.Part0.CFrame:inverse()*w4.Part1.CFrame
w4.Parent = w4.Part0
function openbook()
local tweenInfo = TweenInfo.new(
1,--duration
Enum.EasingStyle.Quint,--animation
Enum.EasingDirection.Out,--easing direction
5,--how many times it will repeat
true --determines whether it should return back
)
if not debounce then
debounce = true
local goal = {}
goal.CFrame = CFrame.new(spine.Position) * CFrame.Angles(0,0,math.rad(5))*CFrame.new(0.706,0.05,0)
local tween = tweenserv:Create(lpage, tweenInfo, goal)
local tween2 = tweenserv:Create(lcover, tweenInfo, goal)
tween:Play()
local goalreverse = {}
goalreverse.CFrame = CFrame.new(spine.Position) * CFrame.Angles(0,math.rad(180),math.rad(5))*CFrame.new(0.706,0.05,0)
local tween3 = tweenserv:Create(rpage, tweenInfo, goalreverse)
local tween4 = tweenserv:Create(rcover, tweenInfo, goalreverse)
tween3:Play()
wait(3)
debounce = false
end
end
openbook()

3 comments
Don't put welds? Maybe if you don't put any welds BETWEEN the pages, make a row of invisible parts on the side then weld those to the pages and each other.
the pages are just a singular part, that would be really laggy if it was multiple
2 pages btw, one on the left side of the book and one on the right