sombreamento em jogo 3d? kd?

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

sombreamento em jogo 3d? kd?

Mensagem por anônimous em Qua 16 Fev 2011, 16:35

opa eaw galera, eu tava bem fazendo uns teste pra vê se eu conseguia importar um modelo pro meu jogo 3d né..... acontece que com o script CreatefromObj deu certo, só que falta o sombreamento, exemplo, em um jogo 3d um modelo, proximo das bordas, fica mais escuro, e no meio, mais claro, se eu desenhar uma bola, ela deve ficar clara no meio e ir ficando escura proximo do "canto", só que isso não acontece no meu jogo, eu tenho uma textura que ta funcionando direito, só que sem esse sombreamento, fica exatamente igual a um jogo 2d, porque se eu desenho uma esfera usando uma textura amarela, ao invez de parecer uma esfera parece um circulo 2d pq fica a mesma cor, sem ficar escuro no canto, eu to usando todas aquelas funções necessarias pra fazer os jogos 3d, tipo as que colocamos no create, e eu to usando o d3d_set_projection pra fazer a camera e o d3d_model_draw pra desenhar o modelo, ele desenha normalmente o modelo mas sem o sombreamento nas bordas...... lembrando que eu não estou usando aquela iluminação do GM, pq eu não sei usar aquelas funções pra fazer iluminação, será que e esse o probrema? me ajuda ae gente se possivel

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: sombreamento em jogo 3d? kd?

Mensagem por MatheusReis em Qua 16 Fev 2011, 16:43

Sim, você precisa ativar as luzes.

No create:
Código:

//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)

Agora no step ou no Draw ponha:
Código:
//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,0,0,-1,c_white);
//no caso criei uma luz branca que aponta para baixo.

Veja se funciona
"Brinque" com os valores de vX,vY,e vZ para obter a direçao desejada
(Você pode ativar mais luzes e po-las em direçoes diferentes para obter efeitos de iluminaçao diferentes).

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: sombreamento em jogo 3d? kd?

Mensagem por anônimous em Qua 16 Fev 2011, 16:57

obrigado, vou tentar

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: sombreamento em jogo 3d? kd?

Mensagem por MatheusReis em Qua 16 Fev 2011, 17:13

Qualquer erro, avise.

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: sombreamento em jogo 3d? kd?

Mensagem por anônimous em Qua 16 Fev 2011, 20:18

deu certinho, obrigado, mas aproveitando o topico, deixe-me te perguntar, eu uso o script cratefromobj que serve pra importar modelos feitos em outros programas, só que tipo eu faço assim:

modelo1 = createfromobj("modelo.obj",false)

e depois uso o d3d_model_draw pra desenhar o objeto, ate ai tudo bem, mas a porcaria do script demroa pra carregar, e quando eu for importar todos os modelos vai demorar muito, vc sabe uma forma de eu salvar essa variavel pra não ter que importar na proxima vez? tipo uma forma de eu durante e jogo copiar o valor da variavel modelo1, pra eu editar a gmk e colocar o valor no lugar de ter que importar, pra na proxima vez que eu rodar ja estar carregado os valores, tem como eu copiar o valor da variavel? (ps.: a variavel é bem grandinha depois que carrega....)

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: sombreamento em jogo 3d? kd?

Mensagem por MatheusReis em Qua 16 Fev 2011, 20:51

Olha...tenho uma possivel solução:

Quando tiver terminado o jogo, ponha TUDO que tem que ser carregado num script em uma room inicial vazia (lembre-se de salvar as IDs dos modelos em variaveis GLOBAIS). E quando terminar de carregar, pule para a próxima room(uma tela de entrada, por exemplo).
No inicio dessa room útil, made ela usar game_save("TudoCarregado.sav").
Agora delete essa primeira room carregadora e mande no inicio da room de entrada ela usar game_load("TudoCarregado.sav").
Desse modo o Game Maker, ao carregar o Save, irá "se lembrar" dos modelos carregados e de suas IDs.

Não é certo de que vá funcionar, pois não sei exatamente o modo que esse script funciona, mas não custa tentar =D

Me informe sobre os resultados

MatheusReis

Ranking : Nota A
Número de Mensagens : 1087
Idade : 23
Data de inscrição : 13/01/2010
Notas recebidas : B-A-A
Reputação : 30
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 0

http://www.mathaeuz.deviantart.com

Voltar ao Topo Ir em baixo

Re: sombreamento em jogo 3d? kd?

Mensagem por anônimous em Qui 17 Fev 2011, 14:11

vou ver, eu ja tinha pensado em fazer isso, mas eu não queria arquivos externos..... mas eu lembrei que de qualquer forma eu terei que mandar os modelos juntos mesmo.....

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: sombreamento em jogo 3d? kd?

Mensagem por Conteúdo patrocinado Hoje à(s) 19:52


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