Entrar
Últimos assuntos
» Problema ao entrar por uma porta e voltar por elapor aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
Start 3D! [Tutorial]
3 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Start 3D! [Tutorial]
Nome: Start 3D!
Nível de dificuldade: iniciante (Em 3D) mediano (Em Gml em geral)
Requerimentos: Versão do GM 8 - Pro (Funções D3D rodam apenas na versão PRO)
Bem pessoal, hoje vou ensinar como 'entrar' no mundo 3D através do Game Maker, então vamos por a mão na massa!(Literalmente falando)
Em um game 3D a câmera é um dos objetos mais importantes, nela estão armazenadas as configurações de projeção do 'mundo' nas funções:
Hoje vamos trabalhar com a primeira que é mais simples.
'xfrom', 'yfrom' e 'zfrom' são, como o nome já diz, de onde a câmera está olhando.
'xto', 'yto' e 'zto' são os pontos para onde a câmera vai olhar.
'xup', 'yup' e 'zup' são como niveis de desfoque da câmera, os valores padrão para eles são respectivamente 0,0,1; mais é claro que vai depender do programador.
Vamos começar!
Crie um objeto e chame-o de 'obj_cam' (Sem aspas)
Daí no evento CREATE adicione:
Crie o evento STEP e adicione:
Pronto! O mais difícil já foi agora vamos para o DRAW:
Esse código baseia a posição x, y e z nas respectivas posições do obj_player (que será criado depois) e uma distancia a mais para não dar colapso.
Pronto a Câmera já foi, agora criar o personagem.
Primeiramente crie um objeto chamado 'obj_player' (Sem aspas)
No CREATE adicione:
No STEP coloque:
Terminamos o STEP, agora adicione o evento END STEP:
Ok, inicie o evento DRAW e adicione:
Pronto terminamos o Player.
Já estamos quase terminando, crie uma textura e chame de 'bac_ball' e adicione a textura:
Crie outra e chame de 'bac_floor' e adicione a textura:
Pronto agora basta adicionar uma room e colocar a Câmera.
Para quem não conseguiu montar o game aqui vai a engine:
Link direto
Espero que tenham gostado, até a proxima!
Nível de dificuldade: iniciante (Em 3D) mediano (Em Gml em geral)
Requerimentos: Versão do GM 8 - Pro (Funções D3D rodam apenas na versão PRO)
Bem pessoal, hoje vou ensinar como 'entrar' no mundo 3D através do Game Maker, então vamos por a mão na massa!
Câmera
Em um game 3D a câmera é um dos objetos mais importantes, nela estão armazenadas as configurações de projeção do 'mundo' nas funções:
- Código:
d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup)
d3d_set_projection_ext(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect,znear,zfar)
Hoje vamos trabalhar com a primeira que é mais simples.
'xfrom', 'yfrom' e 'zfrom' são, como o nome já diz, de onde a câmera está olhando.
'xto', 'yto' e 'zto' são os pontos para onde a câmera vai olhar.
'xup', 'yup' e 'zup' são como niveis de desfoque da câmera, os valores padrão para eles são respectivamente 0,0,1; mais é claro que vai depender do programador.
Vamos começar!
Crie um objeto e chame-o de 'obj_cam' (Sem aspas)
Daí no evento CREATE adicione:
- Código:
d3d_start()
- Código:
d3d_set_perspective(true)
- Código:
d3d_set_hidden(true)
- Código:
d3d_set_culling(false)
- Código:
texture_set_interpolation(true)
- Código:
draw_set_color(c_white)
- Código:
z=50
- Código:
angulo=0 dx=0 dy=0 dz=0
- Código:
instance_create(x,y,obj_player)
Crie o evento STEP e adicione:
- Código:
if keyboard_check(vk_left) {angulo+=4}
if keyboard_check(vk_right) {angulo-=4}
- Código:
yang=15 //Altura da câmera relativa ao personagem na esfera trigonométrica.
dx=cos(degtorad(angulo));
dy=-sin(degtorad(angulo));
dz=tan(degtorad(yang));
- Código:
m=sqrt(sqr(dx)+sqr(dy)+sqr(dz));
dx/=m;
dy/=m;
dz/=m;
Pronto! O mais difícil já foi agora vamos para o DRAW:
- Código:
x = obj_player.x+dx*175
y = obj_player.y+dy*175
z = obj_player.z+dz*175
d3d_set_projection(x,y,z,obj_player.x,obj_player.y,z,0,0,1)
Esse código baseia a posição x, y e z nas respectivas posições do obj_player (que será criado depois) e uma distancia a mais para não dar colapso.
Pronto a Câmera já foi, agora criar o personagem.
Personagem
Primeiramente crie um objeto chamado 'obj_player' (Sem aspas)
No CREATE adicione:
- Código:
z=0 //Posição Z do Player no mundo
zspeed=0 //Zspeed serve para o pulo
zgravity=0 //Zgravity é para a gravidade
friction=0.5 //determina a fricção absoluta do Player
No STEP coloque:
- Código:
direction=point_direction(obj_cam.x,obj_cam.y,x,y)
- Código:
if keyboard_check(vk_up) {speed=8}
if keyboard_check(vk_down) {speed=-8}
- Código:
if keyboard_check_pressed(vk_space)&&zspeed=0&&zgravity=0 {zspeed=10}
Terminamos o STEP, agora adicione o evento END STEP:
- Código:
z-=zgravity
z+=zspeed
- Código:
if zspeed>0 {zspeed-=0.5}else{zspeed=0}
if z>0&&zspeed=0 {zgravity+=0.5}
if z<=0 {zgravity=0 zspeed=0 z=0}
Ok, inicie o evento DRAW e adicione:
- Código:
d3d_draw_ellipsoid(x-16,y-16,z,x+16,y+16,z+32,background_get_texture(bac_ball),1,1,25)
- Código:
d3d_draw_floor(0,0,-1,room_width,room_height,0,background_get_texture(bac_floor),20,15)
Pronto terminamos o Player.
Texturas
Já estamos quase terminando, crie uma textura e chame de 'bac_ball' e adicione a textura:
Crie outra e chame de 'bac_floor' e adicione a textura:
Pronto agora basta adicionar uma room e colocar a Câmera.
Para quem não conseguiu montar o game aqui vai a engine:
Link direto
Espero que tenham gostado, até a proxima!
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: Start 3D! [Tutorial]
Po cara,seu tutorial esta muito legal,pena que eu não tenho o GM pro,vc tem uma dica de onde eu encontro o gm + crack?Quero começar a desenvouver meus games em 3º dimensão.
ariel h.s- Games Ranking :
Notas recebidas : E-D-D-B
Data de inscrição : 30/04/2012
Reputação : 2
Número de Mensagens : 191
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Start 3D! [Tutorial]
Brigadão!!
of: Se você ficar procurando GM+cr*** você vai acabar com alertas, leia as regras, o melhor mesmo é comprar é só 25 ¢
of: Se você ficar procurando GM+cr*** você vai acabar com alertas, leia as regras, o melhor mesmo é comprar é só 25 ¢
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: Start 3D! [Tutorial]
Achei muito bom seu tutorial,vai me ajudar muito no futuro quando eu pensar em passar a criação em 3D =)
vlw
vlw
Re: Start 3D! [Tutorial]
Brigado amigo, eu espero criar outro muito em breve falando sobre plataformas elevadas.
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Tópicos semelhantes
» [Tutorial] 39dll Tutorial - Part II(Final)
» Game Start erro
» Oi Galerinha, aqui um tutorial básico de um jogo de luta que eu fiz! [TUTORIAL]
» [lib]problema com start to jump position
» [Tutorial] 39dll Tutorial - Part I
» Game Start erro
» Oi Galerinha, aqui um tutorial básico de um jogo de luta que eu fiz! [TUTORIAL]
» [lib]problema com start to jump position
» [Tutorial] 39dll Tutorial - Part I
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|