Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Como suavizar a câmera?
3 participantes
Página 1 de 1
Como suavizar a câmera?
Olá pessoal, eu estou meio sumido do fórum por incrível que pareça por causa de meus projetos, estou meio sem tempo, mas estou com uma duvida aparentemente simples, mas não estou conseguindo resolver:
eu queria deixar a câmera mais suave, para deixar a jogabilidade melhor, eu coloquei para o obj_camera seguir o player, e como já era de se esperar quando o player para ele para também, a câmera parando bruscamente fica muito estranho. Queria que quando o player pare a câmera siga diminuindo a velocidade até chegar a 0 (de 1 em 1), quando chegar a 0 o player não estará mais no centro, então ele deve voltar, aumentando a velocidade e quando chegar na metade do percurso que ela deve fazer para voltar para a posição e começa a diminuir novamente, fiz uma imagem para ilustrar melhor o que estou falando, lembrando que a largura da seta que indica o movimento da câmera é referente a velocidade dela:
https://2img.net/r/ihimizer/img826/9915/escola3.jpg
O problema é ainda maior quando o player cai no chão, quando ele pula tudo bem, afinal ele vai diminuindo a velocidade e quando chega a 0 começa a cair aumentando a velocidade aos poucos, exatamente o que quero. Então quando ele colide com o chão ele já esta com uma grande velocidade deixando a parada da câmera ainda mais bruta....
o que fazer?
agradeço desde já...
eu queria deixar a câmera mais suave, para deixar a jogabilidade melhor, eu coloquei para o obj_camera seguir o player, e como já era de se esperar quando o player para ele para também, a câmera parando bruscamente fica muito estranho. Queria que quando o player pare a câmera siga diminuindo a velocidade até chegar a 0 (de 1 em 1), quando chegar a 0 o player não estará mais no centro, então ele deve voltar, aumentando a velocidade e quando chegar na metade do percurso que ela deve fazer para voltar para a posição e começa a diminuir novamente, fiz uma imagem para ilustrar melhor o que estou falando, lembrando que a largura da seta que indica o movimento da câmera é referente a velocidade dela:
https://2img.net/r/ihimizer/img826/9915/escola3.jpg
O problema é ainda maior quando o player cai no chão, quando ele pula tudo bem, afinal ele vai diminuindo a velocidade e quando chega a 0 começa a cair aumentando a velocidade aos poucos, exatamente o que quero. Então quando ele colide com o chão ele já esta com uma grande velocidade deixando a parada da câmera ainda mais bruta....
o que fazer?
agradeço desde já...
irlansn- Games Ranking :
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Reputação : 5
Número de Mensagens : 482
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como suavizar a câmera?
Eu enventei um script para suavizar a camera, e um pouco grande, e existe duas formas(elas vao estar na apostila q vou lancar), vou fazer upload do modelo 1.
http://www.4shared.com/file/EC26rfOM/engine_camera_mod1.html
#Editado por luiz_eldorado:
Post-duplo, alertado.
http://www.4shared.com/file/EC26rfOM/engine_camera_mod1.html
#Editado por luiz_eldorado:
Post-duplo, alertado.
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: Como suavizar a câmera?
Rodrigo Santiago escreveu:Eu enventei um script para suavizar a camera, e um pouco grande, e existe duas formas(elas vao estar na apostila q vou lancar), vou fazer upload do modelo 1.
http://www.4shared.com/file/EC26rfOM/engine_camera_mod1.html
#Editado por luiz_eldorado:
Post-duplo, alertado.
Muito obrigado pela resposta, mas não é bem o que eu queria..... eu quero sim que a câmera se mova na mesma velocidade do player, pois se estabelecer um "limite" que foi +/- o que vc fez vc vai só fazer com que a câmera tenha um limite de velocidade, é claro se suaviza sim, mas não vai acabar com o problema, pois se o player andar mais rápido a câmera fica para traz, o que eu queria é que a câmera acompanhasse o player na mesma velocidade, mas quando o player parar, sua velocidade vai de 5 para 0, no meu caso de 20 para 0, e a câmera para nessa mesma velocidade, essa parada que quero evitar, quero que a câmera siga como se o player não tivesse parado, mas vá diminuindo a velocidade até chegar a 0, e quando chegar a 0 ele enquadra o player novamente no centro, para deixar o player no centro da view novamente ela vai voltar o caminho que percorreu sem a companhia do player, esse movimento também deve ser suave, ela vai aumentando o hspeed/vspeed até chagar ao meio do percurso que ele vai fazer para voltar a posição do player, pois quando chegar na metade do percurso ele volta a diminuir a velocidade até chagar a 0 e automaticamente se enquadra com o player...
Entende? é como ilustrei na imagem, imagine que a seta vermelha é o percurso que a câmera deve fazer quando o player parar, e a sua largura indica a velocidade naquele ponto, observe que a sema começa grossa, diminui de espessura, aumenta novamente e volta a diminuir....
https://2img.net/r/ihimizer/img826/9915/escola3.jpg
irlansn- Games Ranking :
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Reputação : 5
Número de Mensagens : 482
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como suavizar a câmera?
Estou no celular, então vou tentar ser breve. Esse é o esquema que usei no meu game Action Robo. Faça o seguinte:
- Crie um objeto chamado obj_camera;
- Vá até a sua room e configure a view para seguir esse objeto;
- No Step desde objeto coloque:
FLWS!
- Crie um objeto chamado obj_camera;
- Vá até a sua room e configure a view para seguir esse objeto;
- No Step desde objeto coloque:
- Código:
//Se o player existe
if instance_exists(obj_player)
{
var ddir, dvel;
ddir = point_direction(x,y,obj_player.x,obj_player.y);
dvel = point_distance( x,y,obj_player.x,obj_player.y) * 0.5;
motion_set(ddir,dvel);
}
FLWS!
Re: Como suavizar a câmera?
Alex FC escreveu:Estou no celular, então vou tentar ser breve. Esse é o esquema que usei no meu game Action Robo. Faça o seguinte:
- Crie um objeto chamado obj_camera;
- Vá até a sua room e configure a view para seguir esse objeto;
- No Step desde objeto coloque:Mude o 0.5 para menos se quer mais suave e para mais para menos suave. Sendo 1 totalmente rígido.
- Código:
//Se o player existe
if instance_exists(obj_player)
{
var ddir, dvel;
ddir = point_direction(x,y,obj_player.x,obj_player.y);
dvel = point_distance( x,y,obj_player.x,obj_player.y) * 0.5;
motion_set(ddir,dvel);
}
FLWS!
FICOU MUITO BOM, e é bem simples (porque não pensei nisso antes?!?!) muito obrigado....
PS: Podem trancar o tópico....
irlansn- Games Ranking :
Notas recebidas : B+D
Data de inscrição : 18/01/2011
Reputação : 5
Número de Mensagens : 482
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» galera como que faz o camera fica atras do personagem por que eu to fazendo um jogo de avisão e como que faz para a camera fica atras do personagem ????????
» Como configurar Camera 3D?
» como ajustar a camera
» Como faz a câmera ceguir o player?
» Como faço uma smooth camera melhor?
» Como configurar Camera 3D?
» como ajustar a camera
» Como faz a câmera ceguir o player?
» Como faço uma smooth camera melhor?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos