Entrar
Últimos assuntos
» Procuro Programador de game makerpor Wou Sex 15 Mar 2024, 10:27
» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Exportando modelos 3D para o GM
+4
RKNF1995
rodrigo1434
Gusba
GMBR
8 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Exportando modelos 3D para o GM
Exportando modelos 3D para o GM
Primeiro, o que você deve fazer é criar o seu modelo.
Em muitos programas, tem como exportar os modelos como .obj, no anim8tor é simples:
Abra o seu modelo, vá em Object -> Export... -> Nome do arquivo.obj
Agora, salve na pasta do seu jogo.
Depois, você deve pegar o script chamado createFromObj, esse é um script usado para exportar modelos do seu computador para o game maker:
Código:
Você não deve de forma alguma modificar este script, pois pode danificar o seu modelo, ou dar erro.
Agora, você tem que criar um objeto, criar selecionar o modelo e desenhá-lo na room.
É bem simples:
Código:
Explicando:
No código acima, você cria o modelo, adiciona um modelo à ele e desenha ele na room, de acordo com os eixos X, Y e Z.
Obs: Modelos muito grandes com muitas vértices podem demorar muito para carregar.
Retirado do fórum Game Maker Point
Primeiro, o que você deve fazer é criar o seu modelo.
Em muitos programas, tem como exportar os modelos como .obj, no anim8tor é simples:
Abra o seu modelo, vá em Object -> Export... -> Nome do arquivo.obj
Agora, salve na pasta do seu jogo.
Depois, você deve pegar o script chamado createFromObj, esse é um script usado para exportar modelos do seu computador para o game maker:
Código:
- Código:
// MOSAIC Light 3D OBJ IMPORTER
// (c) 2006. Zoltan Percsich. All Rights Reserved.
// Don't edit this script
filename=argument0;
flipnormals = 1;
if (argument1>0) flipnormals=-1;
vertex_list1=ds_list_create();ds_list_clear(vertex_list1);ds_list_add(vertex_list1,0);
vertex_list2=ds_list_create();ds_list_clear(vertex_list2);ds_list_add(vertex_list2,0);
vertex_list3=ds_list_create();ds_list_clear(vertex_list3);ds_list_add(vertex_list3,0);
normal_list1=ds_list_create();ds_list_clear(normal_list1);ds_list_add(normal_list1,0);
normal_list2=ds_list_create();ds_list_clear(normal_list2);ds_list_add(normal_list2,0);
normal_list3=ds_list_create();ds_list_clear(normal_list3);ds_list_add(normal_list3,0);
texture_list1=ds_list_create();ds_list_clear(texture_list1);ds_list_add(texture_list1,0);
texture_list2=ds_list_create();ds_list_clear(texture_list2);ds_list_add(texture_list2,0);
faces_list=ds_list_create();ds_list_clear(faces_list);
fp=file_text_open_read(filename);
for (i=0;file_text_eof(fp)==false;i+=1) {
row=file_text_read_string(fp);row=string_replace_all(row," "," ");
if (string_char_at(row,1)=="v" && string_char_at(row,2)==" ") {
row=string_delete(row,1,string_pos(" ",row));
vx=real(string_copy(row,1,string_pos(" ",row)));
row=string_delete(row,1,string_pos(" ",row));
vy=real(string_copy(row,1,string_pos(" ",row)));
row=string_delete(row,1,string_pos(" ",row));
vz=real(string_copy(row,1,string_length(row)));
ds_list_add(vertex_list1,vx);
ds_list_add(vertex_list2,vy);
ds_list_add(vertex_list3,vz);
}
if (string_char_at(row,1)=="v" && string_char_at(row,2)=="n") {
row=string_delete(row,1,string_pos(" ",row));
nx=real(string_copy(row,1,string_pos(" ",row)));
row=string_delete(row,1,string_pos(" ",row));
ny=real(string_copy(row,1,string_pos(" ",row)));
row=string_delete(row,1,string_pos(" ",row));
nz=real(string_copy(row,1,string_length(row)));
ds_list_add(normal_list1,nx);
ds_list_add(normal_list2,ny);
ds_list_add(normal_list3,nz);
}
if (string_char_at(row,1)=="v" && string_char_at(row,2)=="t") {
row=string_delete(row,1,string_pos(" ",row));
tx=real(string_copy(row,1,string_pos(" ",row)));
row=string_delete(row,1,string_pos(" ",row));
ty=real(string_copy(row,1,string_length(row)));
ds_list_add(texture_list1,tx);
ds_list_add(texture_list2,ty);
}
if (string_char_at(row,1)=="f" && string_char_at(row,2)==" ") {
row=string_replace_all(row," "," ");
row=string_delete(row,1,string_pos(" ",row));
if (string_char_at(row,string_length(row))==" ") row=string_copy(row,0,string_length(row)-1);
face_num=string_count(" ",row);
face_division=1;
temp_faces[0]=0;
for (fc=0;fc<face_num;fc+=1) {
f=string_copy(row,1,string_pos(" ",row));
row=string_delete(row,1,string_pos(" ",row));
temp_faces[face_division]=f;
face_division+=1;
}
f=string_copy(row,1,string_length(row));temp_faces[face_division]=f;
if (face_division==3) {
f1=temp_faces[2];
f2=temp_faces[3];
f3=temp_faces[1];
ds_list_add(faces_list,f1);
ds_list_add(faces_list,f2);
ds_list_add(faces_list,f3);
} else {
f1=temp_faces[2];
f2=temp_faces[3];
f3=temp_faces[1];
ds_list_add(faces_list,f1);
ds_list_add(faces_list,f2);
ds_list_add(faces_list,f3);
for (t=0;t<face_division-3;t+=1) {
f1=temp_faces[4+t];
f2=temp_faces[1];
f3=temp_faces[3+t];
ds_list_add(faces_list,f1);
ds_list_add(faces_list,f2);
ds_list_add(faces_list,f3);
}
}
}
file_text_readln(fp);
}
file_text_close(fp);
tm=d3d_model_create();
tsn=0;
d3d_model_primitive_begin(tm,pr_trianglelist);
for (fc=0;fc<ds_list_size(faces_list);fc+=1) {
sub_face=ds_list_find_value(faces_list,fc);
if (string_count("/",sub_face)==0) {
f_index=sub_face;
t_index=-1;
n_index=-1;
}
if (string_count("/",sub_face)==1) {
f_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
sub_face=string_delete(sub_face,1,string_pos("/",sub_face));
t_index=string_copy(sub_face,1,string_length(sub_face));
n_index=-1;
}
if (string_count("/",sub_face)==2 && string_count("//",sub_face)==0) {
f_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
sub_face= string_delete(sub_face,1,string_pos("/",sub_face));
t_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
sub_face= string_delete(sub_face,1,string_pos("/",sub_face));
n_index=string_copy(sub_face,1,string_length(sub_face));
}
if (string_count("/",sub_face)==2 && string_count("//",sub_face)==1) {
sub_face=string_replace(sub_face,"//","/");
f_index=string_copy(sub_face,1,string_pos("/",sub_face)-1);
sub_face= string_delete(sub_face,1,string_pos("/",sub_face));
t_index=-1;
n_index=string_copy(sub_face,1,string_length(sub_face));
}
vx=ds_list_find_value(vertex_list1,floor(real(f_index)));
vy=ds_list_find_value(vertex_list2,floor(real(f_index)));
vz=ds_list_find_value(vertex_list3,floor(real(f_index)));
if (floor(real(n_index))!=-1 && ds_list_size(normal_list1)>=1) {
nx=flipnormals*ds_list_find_value(normal_list1,floor(real(n_index)));
ny=flipnormals*ds_list_find_value(normal_list2,floor(real(n_index)));
nz=flipnormals*ds_list_find_value(normal_list3,floor(real(n_index)));
} else {
nx=0;
ny=0;
nz=0;
}
if (floor(real(t_index))!=-1 && ds_list_size(texture_list1)>=1) {
tx=ds_list_find_value(texture_list1,floor(real(t_index)));
ty=ds_list_find_value(texture_list2,floor(real(t_index)));
} else {
tx=0;
ty=0;
}
d3d_model_vertex_normal_texture(tm,vx,vy,vz,nx,ny,nz,tx,ty);
tsn+=1;
if (tsn==999) {
tsn=0;
d3d_model_primitive_end(tm);
d3d_model_primitive_begin(tm,pr_trianglelist);
}
}
d3d_model_primitive_end(tm);
return tm;
Você não deve de forma alguma modificar este script, pois pode danificar o seu modelo, ou dar erro.
Agora, você tem que criar um objeto, criar selecionar o modelo e desenhá-lo na room.
É bem simples:
Código:
- Código:
Evento Create:
modelo = createFromObj("nomedoobjeto.obj"); //Seleciona um modelo do seu computador
textura = background_get_background(back_textura); //Adiciona uma textura ao seu modelo
Evento Draw:
d3d_model_draw(modelo,x,y,z,textura); //Desenha o modelo na room
Explicando:
No código acima, você cria o modelo, adiciona um modelo à ele e desenha ele na room, de acordo com os eixos X, Y e Z.
Obs: Modelos muito grandes com muitas vértices podem demorar muito para carregar.
Retirado do fórum Game Maker Point
Re: Exportando modelos 3D para o GM
Eu tambem acho,mas tá escrito em vários tutos assim mesmo (exportando modelos)
Re: Exportando modelos 3D para o GM
esse script funciona bem,serve para vc importar os modelos .obj para usar no 3d d seu jogo
Re: Exportando modelos 3D para o GM
se naumme engano ja tinha colocado esse tuto aqui no foum aum tempo atras
Re: Exportando modelos 3D para o GM
Gusba escreveu:cara nao funciono!
lembre-se que isso é so para .OBJ
Última edição por Janx em Sex 29 Abr 2011, 22:33, editado 1 vez(es)
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Exportando modelos 3D para o GM
como eu monto a textura?
botei um carro, mas não ficou bem montado
botei um carro, mas não ficou bem montado
SuperHacker- Data de inscrição : 19/05/2010
Reputação : 0
Número de Mensagens : 63
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Exportando modelos 3D para o GM
Sei que estou revivendo esse tópico e peço desculpas, mais não entendi e gostaria que fizessem uma engine para mim.
Re: Exportando modelos 3D para o GM
Primeiro, você deve exportar o seu modelo do programa de modelagem.
Você deve salvar na pasta do jogo.
Criar o script e colar o codigo (esta no tutorial).
O script carregara o modelo para você.
Basta voce chamar ele no objeto. O codigo é esse (esta no tutorial):
Create:
modelo = createFromObj("nomedoobjeto.obj");
textura = background_get_background(back_textura);
Draw:
d3d_model_draw(modelo,x,y,z,textura);
O draw vai desenhar seu modelo, que esta salvo na variavel 'modelo'.
Você deve criar um background e chama-lo de back_textura.
Você coloca uma textura (gramado, terra, qualquer coisa) nesse background.
É isso. Não tem segredo.
FLW
Você deve salvar na pasta do jogo.
Criar o script e colar o codigo (esta no tutorial).
O script carregara o modelo para você.
Basta voce chamar ele no objeto. O codigo é esse (esta no tutorial):
Create:
modelo = createFromObj("nomedoobjeto.obj");
textura = background_get_background(back_textura);
Draw:
d3d_model_draw(modelo,x,y,z,textura);
O draw vai desenhar seu modelo, que esta salvo na variavel 'modelo'.
Você deve criar um background e chama-lo de back_textura.
Você coloca uma textura (gramado, terra, qualquer coisa) nesse background.
É isso. Não tem segredo.
FLW
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Tópicos semelhantes
» Pedido de Tutorial - Exportando jogos para celular
» Importando modelos .d3d para o Game Maker
» como faço para tornar imagem modelos do wings 3d?
» Como importando e exportando e editando scripts
» [Resolvido]como fazer um personagem soltar poderes para cima,para baixo,para a direita e para a esquerda?
» Importando modelos .d3d para o Game Maker
» como faço para tornar imagem modelos do wings 3d?
» Como importando e exportando e editando scripts
» [Resolvido]como fazer um personagem soltar poderes para cima,para baixo,para a direita e para a esquerda?
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|