Como fazer FPS no Roblox Studio com câmera em primeira pessoa e mãos visíveis
Neste tutorial, você vai aprender como criar um jogo estilo FPS no Roblox Studio, travando a câmera em primeira pessoa, escondendo o corpo do personagem e deixando apenas as mãos e a ferramenta visíveis.
Assista ao passo a passo e depois copie os scripts completos abaixo.
Um sistema FPS no Roblox Studio com câmera travada e mãos visíveis
Antes de copiar os scripts, veja a lógica do projeto. Neste tutorial, o jogador entra no jogo, equipa uma ferramenta e a câmera muda para o modo primeira pessoa, deixando o jogo com aparência de FPS.
Câmera em primeira pessoa
O jogador fica com a visão travada em primeira pessoa, criando a sensação de estar dentro do jogo.
Corpo escondido
O script deixa as partes do corpo invisíveis para evitar que braços, cabeça ou tronco atrapalhem a visão da câmera.
Mãos visíveis
Apenas as mãos e braços necessários continuam aparecendo, deixando o jogo mais parecido com um FPS.
Tool no modo FPS
Quando o jogador equipa uma ferramenta, ela continua visível na tela junto com as mãos do personagem.
Como o sistema funciona dentro do Roblox?
O script do jogador fica observando a câmera e o personagem. Quando o jogo está em primeira pessoa, ele ajusta a transparência das partes do corpo. Já o script da ferramenta ativa ou desativa o modo FPS quando a Tool é equipada.
Um sistema FPS no Roblox Studio com câmera travada e mãos visíveis
Antes de copiar os scripts, veja a lógica do projeto. Neste tutorial, o jogador entra no jogo, equipa uma ferramenta e a câmera muda para o modo primeira pessoa, deixando o jogo com aparência de FPS.
Câmera em primeira pessoa
O jogador fica com a visão travada em primeira pessoa, criando a sensação de estar dentro do jogo.
Corpo escondido
O script deixa as partes do corpo invisíveis para evitar que braços, cabeça ou tronco atrapalhem a visão da câmera.
Mãos visíveis
Apenas as mãos e braços necessários continuam aparecendo, deixando o jogo mais parecido com um FPS.
Tool no modo FPS
Quando o jogador equipa uma ferramenta, ela continua visível na tela junto com as mãos do personagem.
Como o sistema funciona dentro do Roblox?
O script do jogador fica observando a câmera e o personagem. Quando o jogo está em primeira pessoa, ele ajusta a transparência das partes do corpo. Já o script da ferramenta ativa ou desativa o modo FPS quando a Tool é equipada.
Escolha o próximo curso
Deslize, conheça os detalhes ou faça a matrícula direto.
Curso Roblox 1
Para começar do zero e criar jogos aprendendo lógica de programação.
Curso Roblox 2
Para evoluir com inventário, economia, NPCs, sistemas e missões.
Programação em Blocos
O jeito mais fácil de começar com lógica, sequência e desafios.
Front-End JR
Crie sites com HTML, CSS e JavaScript em projetos práticos.
Organize o Roblox Studio antes de criar o modo FPS
Antes de copiar os scripts, é importante entender onde cada código deve ficar. Neste projeto, vamos usar um script para controlar a câmera do jogador e outro script dentro da Tool para ativar o modo primeira pessoa.
Crie um LocalScript no StarterPlayerScripts
O script que controla a câmera e deixa apenas as mãos visíveis deve ficar dentro de StarterPlayer > StarterPlayerScripts.
Crie ou escolha uma Tool
A Tool é a ferramenta que o jogador vai equipar. Pode ser uma arma, um objeto ou qualquer item que você queira usar no modo FPS.
Coloque um LocalScript dentro da Tool
O script da Tool será responsável por travar a câmera em primeira pessoa quando o jogador equipar o item.
Teste com o personagem R15
O script usa nomes como RightHand, LeftHand, RightArm e LeftArm. Por isso, o ideal é testar com personagem no modelo R15.
Atenção: use LocalScript
Como estamos mexendo na câmera do jogador, os scripts precisam ser LocalScripts. Se você colocar como Script normal, pode não funcionar corretamente, porque a câmera é controlada no lado do jogador.
Script para controlar a câmera em primeira pessoa no Roblox Studio
Este script deve ficar em um LocalScript dentro de StarterPlayerScripts. Ele controla a câmera, esconde o corpo do personagem e mantém apenas as mãos, braços e a Tool visíveis no modo FPS.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local runService = game:GetService("RunService")
local visibleParts={
"RightHand", "LeftHand",
"RightArm", "LeftArm",
"RightLowerArm", "LeftLowerArm",
"RightUpperArm", "LeftUpperArm"
}
runService:BindToRenderStep('FirstPersonArms', Enum.RenderPriority.Camera.Value +1, function()
local character = player.Character
if not character then return end
local isFirstPerson = (player.CameraMode==Enum.CameraMode.LockFirstPerson) or
(workspace.CurrentCamera and workspace.CurrentCamera.CameraSubject == character and
workspace.CurrentCamera.CameraType == Enum.CameraType.Custom)
if isFirstPerson then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.LocalTransparencyModifier=1
end
end
for _, partName in pairs(visibleParts) do
local part = character:FindFirstChild(partName)
if part then
part.LocalTransparencyModifier=0
end
end
local tool= character:FindFirstChildOfClass("Tool")
if tool then
for _, toolPart in pairs(tool:GetDescendants()) do
if toolPart:IsA("BasePart") then
toolPart.LocalTransparencyModifier=0
end
end
end
else
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.LocalTransparencyModifier=0
end
end
end
end)
O script roda no lado do jogador
Como a câmera é individual para cada jogador, esse código precisa estar em um LocalScript.
O corpo fica invisível no FPS
O script altera o LocalTransparencyModifier das partes do personagem para esconder o corpo durante a visão em primeira pessoa.
As mãos e a Tool continuam visíveis
As partes listadas em visibleParts permanecem aparecendo, junto com a ferramenta equipada pelo jogador.
Script para ativar o modo FPS quando a ferramenta for equipada
Este script deve ficar dentro da Tool, como um LocalScript. Quando o jogador equipa a ferramenta, a câmera entra no modo primeira pessoa. Quando ele desequipa, a câmera volta ao modo normal.
local tool = script.Parent
local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
tool.Equipped:Connect(function()
print("Ferramenta Equipada")
player.CameraMode= Enum.CameraMode.LockFirstPerson
end)
tool.Unequipped:Connect(function()
print("Ferramenta foi desequipada")
player.CameraMode = Enum.CameraMode.Classic
player.CameraMinZoomDistance =10
wait(1)
player.CameraMinZoomDistance=0.5
end)
Quando a Tool é equipada
O evento Equipped detecta quando o jogador pega a ferramenta e ativa o modo LockFirstPerson.
Quando a Tool é desequipada
O evento Unequipped detecta quando o jogador guarda a ferramenta e volta a câmera para o modo clássico.
Zoom ajustado novamente
O script altera o CameraMinZoomDistance para ajudar a câmera a voltar corretamente depois que a Tool é desequipada.
Como testar se o FPS, a câmera e as mãos visíveis funcionaram
Depois de colocar os scripts no lugar certo, é hora de testar o jogo. Essa etapa ajuda a verificar se a câmera entra em primeira pessoa, se o corpo fica escondido e se a Tool continua aparecendo na tela.
Clique em Play
No Roblox Studio, clique em Play para iniciar o teste como jogador. Espere o personagem carregar completamente antes de equipar a Tool.
Equipe a Tool
Pegue a ferramenta que está no StarterPack. Ao equipar, o script deve ativar o modo LockFirstPerson.
Veja a câmera em primeira pessoa
A visão deve ficar travada em primeira pessoa, como em um jogo FPS. O jogador não deve conseguir afastar muito a câmera.
Confira as mãos e a ferramenta
O corpo do personagem deve ficar escondido, mas as mãos, braços e a ferramenta equipada devem continuar visíveis na tela.
O jogador deve enxergar como se estivesse dentro do jogo
Se tudo estiver correto, ao equipar a Tool, a câmera entra em primeira pessoa. O corpo não atrapalha a visão, as mãos continuam aparecendo e a ferramenta fica visível, criando uma experiência parecida com um jogo FPS.
A Tool aparece no inventário do jogador.
A câmera trava em primeira pessoa ao equipar.
O corpo do personagem fica escondido.
As mãos e braços continuam visíveis.
A câmera volta ao normal ao desequipar a Tool.
FPS no Roblox Studio não funcionou? Veja o que pode estar errado
Se a câmera não entrou em primeira pessoa, se as mãos não apareceram ou se a Tool ficou invisível, confira os erros mais comuns e como corrigir no Roblox Studio.
A câmera não fica em primeira pessoa
Confira se o script da ferramenta está dentro da Tool como LocalScript. Se estiver como Script normal, a câmera pode não mudar.
As mãos não aparecem no FPS
O script mostra apenas as partes que estão na lista visibleParts. Se o personagem usa outro modelo ou os nomes das partes são diferentes, elas podem continuar invisíveis.
O corpo aparece na frente da câmera
Se cabeça, tronco ou pernas continuam aparecendo, o script pode não estar rodando no lugar certo ou o personagem ainda não carregou completamente.
A Tool fica invisível
O script precisa encontrar a ferramenta equipada dentro do personagem. Se a Tool não tiver partes do tipo BasePart, ela pode não aparecer corretamente na câmera.
O script está no lugar errado
Para esse sistema funcionar, o script da câmera deve ficar em StarterPlayerScripts e o script de equipar/desequipar deve ficar dentro da Tool.
Não aparece erro, mas também não funciona
Isso pode acontecer quando o jogo está sendo testado do jeito errado ou quando o personagem ainda não carregou. Também vale abrir o Output para procurar mensagens.
Dica importante: abra o Output do Roblox Studio
A janela Output mostra mensagens como erro de nome, script no local errado ou objeto que não foi encontrado. Sempre que o FPS não funcionar, ela deve ser o primeiro lugar para procurar pistas.
Como deixar seu jogo FPS no Roblox Studio mais completo
Depois que a câmera em primeira pessoa estiver funcionando, você pode evoluir o projeto adicionando outros sistemas importantes de um jogo FPS, como mira, munição, som, dano e recarregamento.
Adicionar uma mira na tela
Você pode criar uma GUI com uma mira no centro da tela para ajudar o jogador a mirar melhor durante o jogo.
Criar sistema de tiro
O próximo passo é detectar quando o jogador clica com a Tool equipada e disparar um tiro usando script.
Aplicar dano nos inimigos
Com o sistema de tiro pronto, você pode verificar se o disparo acertou outro jogador, NPC ou objeto e aplicar dano.
Criar munição
Um FPS fica mais interessante quando existe limite de balas, contador de munição e recarregamento.
Adicionar efeitos sonoros
Sons de tiro, recarga, impacto e passos deixam o jogo mais imersivo e com aparência mais profissional.
Criar pontuação
Você pode combinar o FPS com leaderstats para mostrar eliminações, pontos, moedas ou ranking dos jogadores.
Esse projeto ensina lógica de jogo de verdade
Criar um FPS no Roblox Studio não é apenas deixar a câmera em primeira pessoa. Esse tipo de projeto ajuda o aluno a entender eventos, câmera, personagem, ferramentas, interface e interação entre jogador e ambiente.
Controlar a visão do jogador em primeira pessoa.
Usar ferramentas equipáveis dentro do Roblox.
Detectar quando o jogador equipa ou desequipa um item.
Criar mira, munição e informações na tela.
Escolha o próximo curso
Deslize, conheça os detalhes ou faça a matrícula direto.
Curso Roblox 1
Para começar do zero e criar jogos aprendendo lógica de programação.
Curso Roblox 2
Para evoluir com inventário, economia, NPCs, sistemas e missões.
Programação em Blocos
O jeito mais fácil de começar com lógica, sequência e desafios.
Front-End JR
Crie sites com HTML, CSS e JavaScript em projetos práticos.
Depois do FPS, veja outros sistemas para criar no Roblox Studio
Agora que você já aprendeu como criar câmera em primeira pessoa e deixar as mãos visíveis, pode continuar evoluindo seus projetos com interface, moedas, leaderstats e outros sistemas.
Como criar GUI de moedas no Roblox Studio
Aprenda a criar uma interface personalizada para mostrar moedas na tela do jogador.
Ver tutorial →Como criar leaderstats com moedas e diamantes
Veja como criar painel de pontuação, moedas, diamantes e respawn automático de itens.
Ver tutorial →Curso de Roblox para crianças e adolescentes
Para quem quer aprender Roblox Lua do zero e criar jogos com scripts passo a passo.
Conhecer o curso →Uma boa sequência para evoluir no Roblox Lua
Para aprender com mais segurança, o ideal é criar sistemas pequenos e depois combinar tudo em jogos maiores: câmera, interface, pontuação, itens e lógica de jogo.
Câmera FPS
Tool equipada
GUI na tela
Pontuação
Quer aprender a criar jogos no Roblox de verdade?
Neste tutorial, você aprendeu como criar um sistema de FPS no Roblox Studio, usando câmera em primeira pessoa, mãos visíveis e Tool equipada. Agora imagine aprender passo a passo a criar jogos completos, com scripts, lógica e projetos práticos.
local camera = workspace.CurrentCamera
tool.Equipped:Connect(function()
player.CameraMode = Enum.CameraMode.LockFirstPerson
end)
Câmera em primeira pessoa
Ferramentas no Roblox
Scripts e lógica
Perguntas frequentes sobre FPS no Roblox Studio
Veja as principais dúvidas de quem está criando câmera em primeira pessoa, mãos visíveis e ferramentas no modo FPS dentro do Roblox Studio.
01 O que é um jogo FPS no Roblox Studio?
Um jogo FPS é um jogo em primeira pessoa, onde o jogador enxerga o mundo como se estivesse dentro do personagem. No Roblox Studio, isso pode ser feito travando a câmera em primeira pessoa e ajustando quais partes do corpo aparecem na tela.
02 Onde devo colocar o script da câmera FPS?
O script que controla a câmera e as partes visíveis do personagem deve ficar em um LocalScript dentro de StarterPlayerScripts. Como a câmera é individual para cada jogador, esse código precisa rodar no lado do jogador.
03 Por que preciso usar LocalScript?
Porque a câmera do Roblox é controlada localmente para cada jogador. Se você usar um Script comum no lugar de um LocalScript, a câmera pode não entrar no modo primeira pessoa corretamente.
04 Por que as mãos não aparecem no modo FPS?
Isso pode acontecer se o personagem estiver usando um modelo diferente ou se as partes não tiverem os nomes esperados pelo script. O ideal é testar com personagem R15 e conferir nomes como RightHand e LeftHand.
05 Posso usar esse sistema com qualquer Tool?
Sim, mas a Tool precisa estar configurada corretamente. O ideal é que ela tenha uma parte visível, como Handle, e que o script da Tool esteja dentro dela como LocalScript.
06 Esse script já cria tiro e dano?
Não. Esse tutorial cria a base visual do FPS: câmera em primeira pessoa, corpo escondido, mãos visíveis e Tool aparecendo na tela. Para criar tiro, dano, munição e recarregamento, é necessário adicionar novos scripts depois.
07 Consigo voltar a câmera ao normal depois?
Sim. O script da Tool usa o evento Unequipped para voltar o CameraMode para Classic. Assim, quando o jogador desequipa a ferramenta, a câmera retorna ao modo normal.





