GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Colisões não funcionando
por RastaMaan Hoje à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 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

» 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


Exportando modelos 3D para o GM

+4
RKNF1995
rodrigo1434
Gusba
GMBR
8 participantes

Ir para baixo

Exportando modelos 3D para o GM Empty Exportando modelos 3D para o GM

Mensagem por GMBR Dom 04 maio 2008, 20:52

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:
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
avatar
GMBR

Data de inscrição : 26/02/2008
Reputação : 6
Número de Mensagens : 352
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://gmbr.forumeiros.com

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Gusba Ter 21 Out 2008, 22:34

bom!, mas nao seria importar?
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por rodrigo1434 Ter 21 Out 2008, 22:49

Eu tambem acho,mas tá escrito em vários tutos assim mesmo (exportando modelos)
rodrigo1434
rodrigo1434

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 25/04/2008
Reputação : 5
Número de Mensagens : 324
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://brasilgame.forumbrasil.net

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Gusba Qua 22 Out 2008, 09:53

alguem jah testou? funciona bem?
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por rodrigo1434 Qua 22 Out 2008, 10:07

esse script funciona bem,serve para vc importar os modelos .obj para usar no 3d d seu jogo
rodrigo1434
rodrigo1434

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 25/04/2008
Reputação : 5
Número de Mensagens : 324
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://brasilgame.forumbrasil.net

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por RKNF1995 Qua 22 Out 2008, 15:52

se naumme engano ja tinha colocado esse tuto aqui no foum aum tempo atras
RKNF1995
RKNF1995

Data de inscrição : 19/07/2008
Reputação : 6
Número de Mensagens : 1257
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.rknf1995.blogspot.com

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Gusba Qua 22 Out 2008, 22:49

cara nao funciono!
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Janx Qui 23 Out 2008, 13:07

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
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Gusba Qui 23 Out 2008, 13:23

sim, exportei do rhino em .obj, mas dah erro
Gusba
Gusba

Data de inscrição : 03/08/2008
Reputação : 0
Número de Mensagens : 1156
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.ciganospictures.hd1.com.br

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por SuperHacker Qui 17 Jun 2010, 15:34

como eu monto a textura?
botei um carro, mas não ficou bem montado
SuperHacker
SuperHacker

Data de inscrição : 19/05/2010
Reputação : 0
Número de Mensagens : 63
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Luiz A. Oliveira Sex 29 Abr 2011, 19:43

Sei que estou revivendo esse tópico e peço desculpas, mais não entendi e gostaria que fizessem uma engine para mim.
Luiz A. Oliveira
Luiz A. Oliveira

Games Ranking : Nota C

Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Reputação : 5
Número de Mensagens : 914
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://luizgm.blogspot.com/

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por PedroX Sex 29 Abr 2011, 20:05

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

_________________


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:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Exportando modelos 3D para o GM Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Exportando modelos 3D para o GM Empty Re: Exportando modelos 3D para o GM

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos