Como fazer pra um objeto seguir apenas uma direção?

Pessoal, preciso de ajuda, estou programando um canhão e preciso que ele atire uma esfera para frente, a primeira vista funcionou,só que funciona apenas em uma direção se eu rotacionar ele para de pegar, pois a esfera não vai na direção que estou apontando.

Exemplo:

Se alguém souber como posso resolver, irei agradecer profundamente…

1 curtida

Tente criar um BodyVelocity na esfera e mudar a velocidade para o LookVector do canhão.

Mais ou menos isso:

local frenteDoCanhao, esfera

local bodyVelocity = Instance.new('BodyVelocity', esfera)
bodyvelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)  -- Velocidade que você quer
bodyVelocity.Velocity = frenteDoCanhao.CFrame.LookVector

Já tentei e não funciona… Ele sempre vai pra uma direção, e não a que eles esta apontando

Fiz um canhão simples que está funcionando com qualquer lado.
image

A mira precisa ficar virada para frente.

O código:

local clickDetector = script.Parent.Base.ClickDetector
local mira = script.Parent.Mira

local replicatedStorage = game:GetService('ReplicatedStorage')
local projetil = replicatedStorage:WaitForChild('Projetil')

local canShot = true
local speed = 70

clickDetector.MouseClick:Connect(function()
	if canShot then
		canShot = false
		
		local novoProjetil = projetil:Clone()
		novoProjetil.Parent = workspace
		novoProjetil.Position = mira.Position
		
		local bodyVelocity = Instance.new('BodyVelocity', novoProjetil)
		bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
		bodyVelocity.Velocity = mira.CFrame.LookVector * speed
		
		wait(1)
		canShot = true
	end
end)

O resultado:

Você pode mostrar a estrutura do seu canhão ou o código?

Acho que vou refaze-lo.

1 curtida

Ok, boa sorte! Se precisar de ajuda é só pedir.

1 curtida

Não sei se você conseguiu resolver o problema, mas você rotacionou o canhão pelo client ou pelo server?

Já resolvi, sinceramente não entendi o problema, já que reescrevi o código e funcionou.

1 curtida

hahaha, que bom que conseguiu!

1 curtida