Rotate projectile based on mouse position

I have created bow and arrow and made a script that shoots arrow. When I tried it first it was working good but arrow was not rotated to mouse position. So I looked up on forum and found the solution (CFrame.new(pos of arrow, mousepos)). In fact it works now, but it is not arrowhead facing mouse, it is arrow handle facing it. Here is a gif of what I mean: https://gyazo.com/ef9622466ba64f80442c30b0259a3900 Also I would like to add that arrow is a model and I am putting velocity and changing CFrame on it’s main part. Here is Code:

Tool.Activated:Connect(function()
	if Damaged == false and Debounce == false then
		Debounce = true
		Anim2:Play()
		wait(0.5)
		local Arrow = Tool.Bow.Arrow:Clone()
		Arrow.Parent = workspace
		Arrow.Main.CFrame = CFrame.new(Arrow.Main.Position, Mousehit.Position)
		Arrow.Main.Velocity = Mousehit.LookVector * 500
		wait(1)
		Arrow:Destroy()
		Debounce = false
	end
end)

I hope someone can help me because I cant already finish my super simple game because of that bow.

If there is a constant offset, you can add a counter offset to the CFrame. Try editing the offset values for whatever works for you:

CFrame.new(Arrow.Main.Position, Mousehit.Position) * CFrame.Angles(0,math.rad(90),0)

Thank you, worked perfectly me!

Refrain from using deprecated objects, please use CFrame.lookAt.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.