[RESOLVIDO] Problema com pulo do jogador - O personagem demora muito no ar!
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Problema com pulo do jogador - O personagem demora muito no ar!
Olá pessoal tô com um problema bem chato aqui no sistema de pulo que eu fiz. Acontece que depois que pula, o personagem demora muito no ar! Eu não sei porque. No meu script apenas é adicionada uma força para cima por um instante, até ai tudo bem, o problema é depois que salta, quando ele começa a cair, cai muito lento. Dai o pulo fica estranho e lerdo pra cair é bem chato, preciso fazer ele cair mais rápido do que sobe.
Tipo isso:
Exemplo:
| _____________
|Altura Eixo > > >
| > >
| > >
| > >
| > >
|personagem > "0" - inicio >
---------------0-----1----1.2---------------5----------
_______________________________________________ - Tempo(segundos) eixo Z
Sobe rápido e demora pra cair o que faz com que o personagem alcance uma distancia enorme que não deveria durante os saltos.
Meu script de salto basicamente é esse:
O meu jogo é no estilo subway surfers, a variável "dir" indica a direção do arraste(1 - pra cima, - 1 pra baixo)
Me parece ser algum problema relacionado ao FixedUpdate ou Update.
O salto ocorre apenas depois que eu arrasto pra cima ou pra baixo e tenho certeza absoluta que o problema não é nessa parte do script, apenas demora pra cair, como se a gravidade estivesse fraca. Como eu faria pra ajustar o pulo, de forma que o jogador suba e desça com a mesma velocidade ? Mas sem modificar a velocidade de movimentação no eixo z (o personagem anda com uma força aplicada no eixo z)
Alguém tem alguma ideia do que fazer nesse caso?
Obrigado.
Tipo isso:
Exemplo:
| _____________
|Altura Eixo > > >
| > >
| > >
| > >
| > >
|personagem > "0" - inicio >
---------------0-----1----1.2---------------5----------
_______________________________________________ - Tempo(segundos) eixo Z
Sobe rápido e demora pra cair o que faz com que o personagem alcance uma distancia enorme que não deveria durante os saltos.
Meu script de salto basicamente é esse:
- Código:
public void FixedUpdate()
{
if (canjump)
{
ExecuteJump(dir);
canjump = false;
}
}
public void ExecuteJump(float dir)
{
body.AddForce(Vector3.up * JumpForce * dir);
}
O meu jogo é no estilo subway surfers, a variável "dir" indica a direção do arraste(1 - pra cima, - 1 pra baixo)
Me parece ser algum problema relacionado ao FixedUpdate ou Update.
O salto ocorre apenas depois que eu arrasto pra cima ou pra baixo e tenho certeza absoluta que o problema não é nessa parte do script, apenas demora pra cair, como se a gravidade estivesse fraca. Como eu faria pra ajustar o pulo, de forma que o jogador suba e desça com a mesma velocidade ? Mas sem modificar a velocidade de movimentação no eixo z (o personagem anda com uma força aplicada no eixo z)
Alguém tem alguma ideia do que fazer nesse caso?
Obrigado.
Última edição por dstaroski em Sáb Dez 22, 2018 9:07 pm, editado 1 vez(es) (Motivo da edição : Resolvido)
FabioBRPA- Iniciante
- PONTOS : 2917
REPUTAÇÃO : 3
Respeito as regras :
Re: [RESOLVIDO] Problema com pulo do jogador - O personagem demora muito no ar!
Também já tive esse problema, portanto:
Mude a gravidade do objeto:
Onde GForce é a forca da gravidade.
(Lembre-se de colocar em GravityScale como 0 em Rigidbody)
Mude a gravidade do objeto:
- Código:
rb.velocity -= Vector3.up * GForce;
Onde GForce é a forca da gravidade.
(Lembre-se de colocar em GravityScale como 0 em Rigidbody)
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Problema com pulo do jogador - O personagem demora muito no ar!
Cara invez de usar dir usa "Time.deltaTime" depois de jumpforce depois vai em > Edit > project settings > physics e coloca a gravidade como -20 com isso o pulo e a descida dele vai ser fixa
francisco barroso- Programador
- PONTOS : 2613
REPUTAÇÃO : 59
Respeito as regras :
Re: [RESOLVIDO] Problema com pulo do jogador - O personagem demora muito no ar!
creio que o seu problema esteja relacionado com Root Animations, caso seu personagem tenha alguma
joveem- Avançado
- PONTOS : 2994
REPUTAÇÃO : 12
Idade : 23
Áreas de atuação : Programacao, Desingn, Modelagem
Respeito as regras :
Re: [RESOLVIDO] Problema com pulo do jogador - O personagem demora muito no ar!
Valeu ai pela ajuda galera! consegui resolver apenas adicionado uma força para baixo quando o personagem atinge a altura minima do salto como o NKKF fez.
FabioBRPA- Iniciante
- PONTOS : 2917
REPUTAÇÃO : 3
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Problema com respawn de personagem
» Pulo "muito Alto"
» [RESOLVIDO]Build WebGL demora demais.
» Bug no pulo do personagem
» Personagem dar apenas um pulo
» Pulo "muito Alto"
» [RESOLVIDO]Build WebGL demora demais.
» Bug no pulo do personagem
» Personagem dar apenas um pulo
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos