Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Having trouble getting UpVector while tweening to make a rocket, is there any solution to this?

Hello,

Im currently trying to figure out how to make a spaceship with the roblox TweenService and its all going good so far until i started 'tweening', there is nothing 'wrong' with my code. I want to get the UpVector of a part and tween it from there but the parts instead of going straight up they go a little to the side.

local tweenService = game:GetService("TweenService")

-- These three parts are wielded together with stage 2 as 'center' part
local Stage1 = script.Parent:WaitForChild("Stage1")
local Stage2 = script.Parent:WaitForChild("Stage2")
local finalStage = script.Parent:WaitForChild("FinalStage") --

local studs = script.Parent:WaitForChild("Studs").Value -- how high up it should go (set to 50)

local stage1Fire = Stage1:WaitForChild("Fire"):WaitForChild("ParticleEmitter") -- ignore this

local luanchButton = script.Parent:WaitForChild("Luanch"):WaitForChild("Detector")

local tweenInfo = TweenInfo.new(
	script.Parent.MaxVel.Value / 60, -- just so i could set studs per minute
	Enum.EasingStyle.Quad,
	Enum.EasingDirection.In,
	0,
	false,
	0
)

local function luanch()
	local properties = {
		CFrame = CFrame.new(Stage2.CFrame.UpVector * Vector3.new(1, studs, 1)) -- I think its somwhere here the problem is.
	}
	
	local tween = tweenService:Create(Stage2, tweenInfo, properties)
	
	tween:Play()
end

luanchButton.Triggered:Connect(luanch) -- Im using a ProximityPrompt 

I have created a video here if i have been bad at explaning

Thanks for taking your time!

1 answer

✓ Accepted answer

Yes the problem is indeed on line 25.

Instead of this.

CFrame = CFrame.new(Stage2.CFrame.UpVector * Vector3.new(1, studs, 1))

It should be this.

CFrame = Stage2.CFrame + Stage2.CFrame.UpVector * studs

This is because UpVector returns a Vector3 value that is 1 stud above the Intance, so then you can multiply it with an number to make it higher. Then you add the CFrame of the Instance so it combines the rotation and position together.

I hope you understand and that this helps!

3 comments

0

Thanks, it really helped!

0

You should really accept the answer then

0

i tried but i didnt know how before, now i know

This discussion is preserved as it was. New answers, comments, and votes are closed.