Como suavizar a câmera?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como suavizar a câmera?

Mensagem por irlansn em Sab 01 Dez 2012, 23:36

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:

http://img826.imageshack.us/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á...
flw

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como suavizar a câmera?

Mensagem por Rodrigo Santiago em Dom 02 Dez 2012, 07:48

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.

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Re: Como suavizar a câmera?

Mensagem por irlansn em Dom 02 Dez 2012, 23:12

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....

http://img826.imageshack.us/img826/9915/escola3.jpg

flw

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como suavizar a câmera?

Mensagem por Alex FC em Seg 03 Dez 2012, 02:01

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:

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);
}
Mude o 0.5 para menos se quer mais suave e para mais para menos suave. Sendo 1 totalmente rígido.

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: Como suavizar a câmera?

Mensagem por irlansn em Seg 03 Dez 2012, 09:49

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:

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);
}
Mude o 0.5 para menos se quer mais suave e para mais para menos suave. Sendo 1 totalmente rígido.

FLWS!

FICOU MUITO BOM, e é bem simples (porque não pensei nisso antes?!?!) muito obrigado....

PS: Podem trancar o tópico....

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como suavizar a câmera?

Mensagem por Conteúdo patrocinado Hoje à(s) 03:43


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum