erro com projeção esquisito.....

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

erro com projeção esquisito.....

Mensagem por anônimous em Sex 18 Fev 2011, 22:25

ta dando um erro esuisito aqui no meu projeto

eu estava usando o codigo d3d_set_projection(x,y,z,player.x,player.y,player.z,0,-1,0) no draw do objeto camera

estranhamente, eu estava testando o jogo, e testando somente, quando numa hora esse d3d_set_projection parou de funcionar, os argumentos x1, y1, z1, x2, y2 e z2 simplesmente pararam de serem lidos sem mais nem menos

o que é estranho: funcionava e parou sem eu mexer em nada

o que e mais estranho ainda: eu fiz um codigo pra alterar a posição x y z da camera pelo teclado, ou seja, eu fiz uns controles pra poder controlar a camera, só para testar pra tentar descobrir o porque do erro, eu rodei no debug mode, as variaveis X, Y e Z da camera estão corretas, mas a projeção, embora eu tenha colocado x, y, z, não esta lendo esses argumentos

alguem tem alguma ideia do que pode ser isso?

anônimous

Número de Mensagens : 57
Data de inscrição : 02/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por Kabeção em Sab 19 Fev 2011, 10:46

Não para falar qual problema sem seu código fonte já pode ser qualquer coisa.
Coloque o download do seu gmk.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por anônimous em Sab 19 Fev 2011, 11:32

a sim, mas só que eu nem fiz nem 10% do projeto e ja tem mais de 50Mb OO

eu vou falar os codigos que coloquei pra fazer a camera e algunes movimentos

o movimento do player é simples, eu uso as setas pra movimentá-lo pra direita, e a barra de espaço para fazê-lo pular, isso não interfere em nada, só mexe nas variaveis x, y e z do player Happy

ja a camera, eu coloquei assim no begin step:

camera.x = player.x
camera.y = player.y - 300
camera.z = player.z + 300

isso move a camera

e no create da camera

//iniciando 3D
d3d_start()
draw_set_color(c_white)



d3d_set_perspective(true);
d3d_set_hidden(true);
d3d_set_culling(true);
d3d_set_shading(true);
texture_set_interpolation(false);


//Ativar o uso de luzes no GM 3D
d3d_set_lighting(true);

//Ativa uma luz(cada luz tem uma identificaçao, vamos ativar a luz 1);
d3d_light_enable(1,true)



z = y
y = -150



e no draw


d3d_set_projection(x,y,z,player.x,player.y,player.z,0,-1,0)







//luz direcional, crie um vetor 3dimencional (x,y,z) indicando a direçao
//(Id da luz,vetor X,vetor Y,vetor Z,cor da luz)
d3d_light_define_direction(1,player.x,player.y,player.z,c_white);
d3d_light_define_point(1,x,y,z,10000,c_white)
//no caso criei uma luz branca que aponta para baixo.





esse é o codigo da camera, mas preste atenção no codigo
d3d_set_projection(x,y,z,player.x,player.y,player.z,0,-1,0)

isso ta me deixando doido pois eu estou mandando ele ficar na posição x, y e z da camera apontando pro x, y e z do player, a camera e o player estão se movento corretamente, só rodar no modo debug e ver que as variaveis x, y e z deles estão corretos, mas a projeção não e move nem se vira XS


acho que com isso ja da pra saber mais ou menos o que eu posso fazer pra tentar resolver o erro, se não der, eu pego o projeto e os arquivos esternos (como modelos) copio, apago aquilo que não sera tão necessario, deixo so o basico mesmo, e tento hostear mas ainda assim deve ficar meio pesado mas se não der pra resolver assim eu faço o upload ;) mas é que tá tão pesado Sad




anônimous

Número de Mensagens : 57
Data de inscrição : 02/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por Markituh em Sab 19 Fev 2011, 14:03

É que apenas uma minoria sabe mexer com 3D, o Kabeção é um deles(acho que ele é o único). Mas por que será que apenas uma minoria sabe? Bom, pois o Game Maker tem o foco principal para jogos 2D, no quesito 3D ele não tem tanto suporte. Mas assim...

Já tentou trocar o Begin Step por Step? Pois o Begin Step acontece quando o step é iniciado, acho que o correto seria no Step, pois isso tem que ser feito a todo tempo. Possívelmente no End Step, pois a câmera pode ser movida de última hora.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por anônimous em Sab 19 Fev 2011, 14:31

cara, eu ja tentei sim, mas na verdade o problema não esta ai, as variaveis x, y e z da camera e do player estão sendo alteradas perfeitamente, mas a projeção não esta partindo do ponto x, y e z da camera, embora eu tenha colocado isso nos argumentos da função

ou seja: as variaveis estão funcionando direitinho, o problema está em que os argumentos não são lidos


e eu ja percebi essa desvantagem no 3d da minoria conhecer, infelizmente é verdade, mas tem mais pessoas aqui que entendem Happy não é só o kabeção, mas ele com certeza é o que sabe mais (talvez tenha outra pessoa que saiba mais mas eu nunca vi, talvez o jiraya sei lah mas ate agora so vi o kabeção mesmo)


gente, descobri qual é o erro! mas não descobri como concerta-lo!

não é so os argumentos que não são lidos, a função inteira não estava sendo lida

eu pensava que o jogo 3d só rodava se tivesse porjeção, então a função etsava sendo lida, pois havia uma projeção, só que na coordenada errada, eu pensava que só os argumentos não estavam sendo lidos

eu fiquei doido e pensei assim, o que aocntece se eu retirar esse codigo? so pra ver se eu descobrir alguma coisa

então eu fui no draw do objeto camera e tinha lah logo no inicio


d3d_set_projection(x,y,z,player.x,player.y,player.z,0,-1,0)


eu tirei esse codigo


ai eu rodei o jogo, e sabem o que ocorreu? simplesmente a mesma coisa que ocorria quando tinha o codigo, ou seja, a função inteira não está sendo lida, uma outra projeção está sendo iniciada sozinha....


alguem ja viu isso? uma projeção ser iniciada sozinha? o que pode ser?

anônimous

Número de Mensagens : 57
Data de inscrição : 02/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por Kabeção em Dom 20 Fev 2011, 14:45

Pelo o que eu vi do código não tem nada errado.
Bugs aparentemente sem explicação assim acontecem de vez em quando, quando tinha problemas como esse eu rescrevia o jogo todo de novo sem copiar nada e resolvia o problema e ainda por cima deixava a execução mas leve o que mostra que foi apenas falta de atenção em alguma parte do código.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por anônimous em Sex 25 Fev 2011, 13:45

cara, essas coisas são realmente estranhas

sabe o que é bem mais estranho mesmo?

eu ja refiz o jogo... :cry:

e ainda assim o bug persiste, e isso não tem explicação, pois ele ta gerando uma propjeção sozinho e não ta lendo meu codigo, e mesmo ele continua, e se eu pegar outros projetos, e testar, a projeção sai direitinho, só no meu jogo que não dá certo :cry: parece que o game maker esta contra o meu projeto OO

---EDIT---

gente como ja disse antes, o GM não ta lendo o codigo d3d_set_projection certo? eu pensei numa coisa agora que pelo que ta acontecendo pode ter sentido!!!!

eu to suspeitando que o modo 3d não está sendo iniciado, isso é possivel? o modo 3d não ser iniciado? eu ja coloquei d3d_start(); no create do player, ja coloquei no codigo da room e em tudo quanto é lugar mas não ta lendo, então eu estou achando que o modo d3d não está sendo iniciado

eu fui fazer o teste e tirei o codigo d3d_start() pra ver no que dava e não fez assim tanta diferença, mudou um pouco mas parece ser a mesma coisa


bom, ele não está lendo de jeito nenhum o codigo d3d_set_projection, pois eu altero todos os valores e dá no mesmo, então talvez seja pq ele não esteja lendo o d3d_start()

alguem sabe alguma coisa? por favor gente só o kabeção e o markituh respondeu, sera mesmo que ninguem ai sabe nada do porque dele não estar lendo o codigo? diga alguma coisa huaha

anônimous

Número de Mensagens : 57
Data de inscrição : 02/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por anônimous em Sex 25 Fev 2011, 17:50

aew galera descobri mais uma coisa sobre o jogo

como eu não conseguia descobrir qual era o problema do meu jogo, resolvi fazê-lo sem usar a projeção, ja que ficava uma tela lah parada ao invez de virar a tela pros objetos eu trabalho um pouquinho mais e coloco os objetos na frente da tela

dificil?

+/- pois eu tive que conseguir girar os objstos e talz mas depois foi ficando mais simples


mas ai eu descobri uma coisa:

a projeção estranha que aparecia na tela não era nada mais nada menos que

UMA VIEW

:O

ou seja: não havia projeção 3d alguma, meu jogo na verdade é 2.5d :O da pra fazer o jogo usando view sem problema, mas alguem sabe se não tem como eu fazer uma projeção? ficaria melhor com uma projeção

ou seja: o codigo d3d_set_projection e d3d_set_projection_ext não é lido pelo meu gm, então ha outra forma de eu fazer a projeção??


---EDIT----

podem deixar gente, eu consegui "fazer uma projeção" usando a view antes ja dita Happy eu só tive que fazer um scriptzinho que ficou até pequeno e ele altera a posição de todos os objetos de acordo com umas variaveis que eu criei pra poder alterar a "projeção" a qualquer parte do jogo, infelizmente ficaria mais bonito se eu pudesse rodar tipo virando pra cima/baixo mas por cuasa de umas coisinhas não foi possivel Sad ai a projeção fica meio ruim, pois pro player andar pra traz fica tenso xD mas ta bom

obrigado a todos, flw

anônimous

Número de Mensagens : 57
Data de inscrição : 02/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: erro com projeção esquisito.....

Mensagem por Conteúdo patrocinado Hoje à(s) 20:26


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