[TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
+2
Guilherme_cj852
JohnRambo
6 participantes
Página 1 de 1
[TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
Olá meus amigos!
Nos jogos FPS de hoje (Far Cry, Call of futy, Medal of Honor, etc) notamos um detalhe que quando você vira a camera do seu personagem a arma se movimenta junto e depois volta à sua posição original... e esse deslocamento deixa seu jogo mais realista, e isso é muito bom!
Encontrei um script na internet que fazia isto mas estava cheio de comandos desnecessários e estava em JavaScript, então eu mesmo converti para C#, e simplifiquei o script para facilitar no entendimento! :D
Segue o script:
O script deve conter o nome "ArmaSeMover"
esse script você vai jogar na sua arma, e na aba Inspector você seta os valores em "QuantidadeMovimento" e em "VelocidadeMovimento" do jeito que achar melhor... no meu projeto eu coloquei QuantidadeMovimento = 1 e VelocidadeMovimento = 2 e achei que ficou bom.
Na variavel "Arma" você vai linkar a sua arma.
É isso pessoal!
Até mais
Nos jogos FPS de hoje (Far Cry, Call of futy, Medal of Honor, etc) notamos um detalhe que quando você vira a camera do seu personagem a arma se movimenta junto e depois volta à sua posição original... e esse deslocamento deixa seu jogo mais realista, e isso é muito bom!
Encontrei um script na internet que fazia isto mas estava cheio de comandos desnecessários e estava em JavaScript, então eu mesmo converti para C#, e simplifiquei o script para facilitar no entendimento! :D
Segue o script:
- Código:
using UnityEngine;
using System.Collections;
public class ArmaSeMover : MonoBehaviour {
public float QuantidadeMovimento;
public float VelocidadeMovimento;
public GameObject Arma;
private float MovimentoEixoX;
private float MovimentoEixoY;
private Vector3 PosicaoOriginal;
private Vector3 NovaPosicao;
void Start(){
PosicaoOriginal = transform.localPosition;
}
void Update () {
MovimentoEixoX = Input.GetAxis( "Mouse X" ) *Time.deltaTime * QuantidadeMovimento;
MovimentoEixoY = Input.GetAxis( "Mouse Y" ) *Time.deltaTime * QuantidadeMovimento;
NovaPosicao = new Vector3 ( PosicaoOriginal.x+ MovimentoEixoX, PosicaoOriginal.y+ MovimentoEixoY, PosicaoOriginal.z);
Arma.transform.localPosition = Vector3.Lerp(Arma.transform.localPosition, NovaPosicao , VelocidadeMovimento * Time.deltaTime);
}
}
O script deve conter o nome "ArmaSeMover"
esse script você vai jogar na sua arma, e na aba Inspector você seta os valores em "QuantidadeMovimento" e em "VelocidadeMovimento" do jeito que achar melhor... no meu projeto eu coloquei QuantidadeMovimento = 1 e VelocidadeMovimento = 2 e achei que ficou bom.
Na variavel "Arma" você vai linkar a sua arma.
É isso pessoal!
Até mais
Última edição por JohnRambo em Sex Set 20, 2019 1:35 pm, editado 1 vez(es)
JohnRambo- Moderador
- PONTOS : 5171
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: [TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
Achei que esse efeito seria muito mais complicado de se fazer '-' só 23 linhas kk vlw
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
Guilherme_cj852 escreveu:Achei que esse efeito seria muito mais complicado de se fazer '-' só 23 linhas kk vlw
Pois eh kkkkk, mas no site onde eu encontrei este script ele estava muito mais complexo.... consegui simplificar bastante =]
weslleyFx escreveu:kkkkk, legal
vlw =]
JohnRambo- Moderador
- PONTOS : 5171
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: [TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
vlw funcionouJohn Rambo escreveu:Guilherme_cj852 escreveu:Achei que esse efeito seria muito mais complicado de se fazer '-' só 23 linhas kk vlw
Pois eh kkkkk, mas no site onde eu encontrei este script ele estava muito mais complexo.... consegui simplificar bastante =]weslleyFx escreveu:kkkkk, legal
vlw =]
Eduardoro39- Avançado
- PONTOS : 3257
REPUTAÇÃO : 11
Idade : 24
Respeito as regras :
Re: [TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
funcionou muitissississimo bem!
jonatan oliveira rocha- Avançado
- PONTOS : 3276
REPUTAÇÃO : 6
Idade : 34
Respeito as regras :
Re: [TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
Seria bom se usasse o Mathf.Clamp para fixar o valor do movimento até um limite máximo, porque do jeito que está, se o jogador mover o mouse muito rápido a arma desloca para uma posição muito distante da origem.
- Código:
public float LimitedeMovimento; // Adicione ao início, e coloque o valor que achar melhor.
// Adicione as linhas abaixo após a linha 19.
MovimentoEixoX = Mathf.Clamp(MovimentoEixoX, -LimitedeMovimento, LimitedeMovimento);
MovimentoEixoY = Mathf.Clamp(MovimentoEixoY, -LimitedeMovimento, LimitedeMovimento);
SK Games- Iniciante
- PONTOS : 3093
REPUTAÇÃO : 2
Respeito as regras :
Re: [TUTORIAL] Deslocamento (movimento) de armas para jogos FPS
Boa! Obrigado pela sugestão! :DSK Games escreveu:Seria bom se usasse o Mathf.Clamp para fixar o valor do movimento até um limite máximo, porque do jeito que está, se o jogador mover o mouse muito rápido a arma desloca para uma posição muito distante da origem.
- Código:
public float LimitedeMovimento; // Adicione ao início, e coloque o valor que achar melhor.
// Adicione as linhas abaixo após a linha 19.
MovimentoEixoX = Mathf.Clamp(MovimentoEixoX, -LimitedeMovimento, LimitedeMovimento);
MovimentoEixoY = Mathf.Clamp(MovimentoEixoY, -LimitedeMovimento, LimitedeMovimento);
JohnRambo- Moderador
- PONTOS : 5171
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Troca de armas usando 1 botão para jogos de celular
» [TUTORIAL] Sistema de Zoom...tanto para cameras como para armas
» [TUTORIAL] Série - Sketchup para Jogos!
» [TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
» [TUTORIAL] Sistema de pulo ( com linecast ) para jogos 2D
» [TUTORIAL] Sistema de Zoom...tanto para cameras como para armas
» [TUTORIAL] Série - Sketchup para Jogos!
» [TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
» [TUTORIAL] Sistema de pulo ( com linecast ) para jogos 2D
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos