Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[GM:S] Importar modelos .OBJ?
+2
peixoto
gabrielsch
6 participantes
Página 1 de 1
[GM:S] Importar modelos .OBJ?
Faz algum tempo que o Game Maker Studio foi lançado e até agora não vi nenhuma maneira de importar um modelo 3D com a extensão .obj. O motivo pelo qual eu preciso importar esse tipo de modelo é que ele é facil de se encontrar em sites de modelos 3D gratuitos e a maioria dos modeladores aceitam esse tipo de extensão.
Há alguns scripts que eram usados nas versões anteriores do Game Maker e que não utilizam DLLs, esses conseguem importar os modelos em um jogo feito no GM:S mas as texturas ficam erradas, é como se não tivesse feito um UV Map nelas. Gostaria de saber se alguém conhece algum jeito de carregar esse tipo de modelo (por script ou por dll mesmo), nem que seja de forma um pouco lenta.
OBS: Tentei usar uma DLL que se não me engano foi feita pelo Jiraya mas ela não funcionou nas outras versões, já nas antigas elas é rápida e importa as texturas corretamente.
OBS²: Todos os modelos em que testei estavam com o UV Map correto.
Flw!
Há alguns scripts que eram usados nas versões anteriores do Game Maker e que não utilizam DLLs, esses conseguem importar os modelos em um jogo feito no GM:S mas as texturas ficam erradas, é como se não tivesse feito um UV Map nelas. Gostaria de saber se alguém conhece algum jeito de carregar esse tipo de modelo (por script ou por dll mesmo), nem que seja de forma um pouco lenta.
OBS: Tentei usar uma DLL que se não me engano foi feita pelo Jiraya mas ela não funcionou nas outras versões, já nas antigas elas é rápida e importa as texturas corretamente.
OBS²: Todos os modelos em que testei estavam com o UV Map correto.
Flw!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
Cara se houver como fazer isso só com uma extensão(e até agora não vi nenhuma para fazer tal coisa também).
Evite usar Dlls.Elas podem funcionar em um sistema, mas se você for exportar para mais um(por exemplo:Windows e android) ela pode não funcionar, e dar problemas no jogo.
Como o GMS ainda está engatinhando, por enquanto é melhor usar só extensões, ok?
OBS: Tentei usar uma DLL que se não me engano foi feita pelo Jiraya mas ela não funcionou nas outras versões, já nas antigas elas é rápida e importa as texturas corretamente.
Evite usar Dlls.Elas podem funcionar em um sistema, mas se você for exportar para mais um(por exemplo:Windows e android) ela pode não funcionar, e dar problemas no jogo.
Como o GMS ainda está engatinhando, por enquanto é melhor usar só extensões, ok?
peixoto- Games Ranking :
Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
No meu caso vou exportar apenas para Windows, só quero utilizar o 3D no Game Maker: Studio porque é muito mais rapido que as outras versões, não quero ter que voltar para o GM 8 e enfrentar dificuldades com o desempenho.
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
Bem acho que o melhor é esperar lançarem alguma Dll que ajude a importar os modelos .obj, ou pedir ao jiraya que atualize a dll
peixoto- Games Ranking :
Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
Você já tentou usar o incluided files?
Super Maker- Data de inscrição : 09/07/2011
Reputação : 6
Número de Mensagens : 646
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
Gente e muito facil ler .obj!!!
A formatacao e basica, o problema com uv e pq o obj e em grupos e nao so uma textura, as uvs deveriam ficar somente na sua textura, mas como so exist uma elas erram.
Eu criei um programa que transforma varias em uma so! Vai no meu tutorial em Perguntas e respostas(errei o topico)k mas o problema e que a versao do meu programa que upei so le txt(que e quase obj) mas e so converter com o milkshape.
(obs o prog ta na apostila medium)
A formatacao e basica, o problema com uv e pq o obj e em grupos e nao so uma textura, as uvs deveriam ficar somente na sua textura, mas como so exist uma elas erram.
Eu criei um programa que transforma varias em uma so! Vai no meu tutorial em Perguntas e respostas(errei o topico)k mas o problema e que a versao do meu programa que upei so le txt(que e quase obj) mas e so converter com o milkshape.
(obs o prog ta na apostila medium)
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
#Peixoto
É quem sabe o Jiraya possa dar uma ajuda...
#Super Maker
Os arquivos .obj estão nos Included Files assim como qualquer DLL que eu tentei utilizar, as texturas estão em background/sprites e eu apenas as defino como textura em uma variável.
#Rodrigo Santiago
Na realidade eu pretendo usar modelos com apenas uma textura, até onde sei só achei uma engine que conseguia importar múltiplas texturas usando o arquivo .mtl do modelo, mas era muito extenso e tinha alguns bug ao carregar alguns com muitos polígonos.
Flw!
É quem sabe o Jiraya possa dar uma ajuda...
#Super Maker
Os arquivos .obj estão nos Included Files assim como qualquer DLL que eu tentei utilizar, as texturas estão em background/sprites e eu apenas as defino como textura em uma variável.
#Rodrigo Santiago
Na realidade eu pretendo usar modelos com apenas uma textura, até onde sei só achei uma engine que conseguia importar múltiplas texturas usando o arquivo .mtl do modelo, mas era muito extenso e tinha alguns bug ao carregar alguns com muitos polígonos.
Flw!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
vc pode converter o modelo .obj para .d3d nativo do game maker, assim carregara muito mais rapido...
Posso tentar fazer uma extensão compativel com todas plataformas, mas só no final de
semana...
Posso tentar fazer uma extensão compativel com todas plataformas, mas só no final de
semana...
Re: [GM:S] Importar modelos .OBJ?
Eu uso um programa chamado "Model creator for game maker" tipo eu importo para ele um modelo no formato obj. (eu conserto a textura nele mesmo) e depois exporto no formato" gmmod " ,para ler esse formato no gm é o mesmo sistema do" D3D ".
JoaoVanBlizzard- Games Ranking :
Notas recebidas : B+B
Data de inscrição : 04/03/2012
Reputação : 144
Número de Mensagens : 1926
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
Re: [GM:S] Importar modelos .OBJ?
#JoaoVanBlizzard
Sim, eu tenho ele aqui e acabei de arrumar a textura de um barril para meu jogo e logo depois exportei como .gmmod, coloquei no jogo e funcionou perfeitamente!
#Jiraya
Sim, eu já tinha feito isso mas o problema é que vou comprar um pacote com mais de 100 modelos low-poly e eles vem em .obj com uma textura para cada modelo. Eu poderia muito bem pegar esses 100 modelos e ir arrumando o UV Map deles se necessário e exportar para .gmmod mas isso ia demorar bastante por isso pedi alguma forma de importa-los no Game Maker. Agradeço muito se fizer essa extensão, além de me ajudar nesse problema vai ajudar muitas outras que estão com o mesmo problema.
Flw!
Sim, eu tenho ele aqui e acabei de arrumar a textura de um barril para meu jogo e logo depois exportei como .gmmod, coloquei no jogo e funcionou perfeitamente!
#Jiraya
Sim, eu já tinha feito isso mas o problema é que vou comprar um pacote com mais de 100 modelos low-poly e eles vem em .obj com uma textura para cada modelo. Eu poderia muito bem pegar esses 100 modelos e ir arrumando o UV Map deles se necessário e exportar para .gmmod mas isso ia demorar bastante por isso pedi alguma forma de importa-los no Game Maker. Agradeço muito se fizer essa extensão, além de me ajudar nesse problema vai ajudar muitas outras que estão com o mesmo problema.
Flw!
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: [GM:S] Importar modelos .OBJ?
- Código:
//LoadWaveFront(filename)
var a=argument0,b=ds_list_create(),c,d=ds_list_create(),e=ds_list_create(),f=ds_list_create(),g=ds_list_create(),h=ds_list_create(),i=ds_list_create(),j=ds_list_create(),k=ds_list_create(),l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,E,F,G,H,I,J,K,L;
ds_list_add(b,0)ds_list_add(d,0)ds_list_add(e,0)ds_list_add(f,0)ds_list_add(g,0)ds_list_add(h,0)ds_list_add(i,0)ds_list_add(j,0)ds_list_clear(k)l=file_text_open_read(a)for(L=0;file_text_eof(l)==false;L++){m=file_text_read_string(l)m=string_replace_all(m," "," ")if(string_char_at(m,1)=="v" && string_char_at(m,2)==" "){
m=string_delete(m,1,string_pos(" ",m))n=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))o=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))p=real(string_copy(m,1,string_length(m)))ds_list_add(b,n)ds_list_add(d,o)ds_list_add(e,p)}
if(string_char_at(m,1)=="v" && string_char_at(m,2)=="n"){m=string_delete(m,1,string_pos(" ",m))q=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))r=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))s=real(string_copy(m,1,string_length(m)))ds_list_add(f,q)ds_list_add(g,r)ds_list_add(h,s)}
if(string_char_at(m,1)=="v" && string_char_at(m,2)=="t"){m=string_delete(m,1,string_pos(" ",m))t=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))u=real(string_copy(m,1,string_length(m)))ds_list_add(i,t)ds_list_add(j,u)}
if(string_char_at(m,1)=="f" && string_char_at(m,2)==" "){m=string_replace_all(m," "," ")m=string_delete(m,1,string_pos(" ",m))if(string_char_at(m,string_length(m))==" ")m=string_copy(m,0,string_length(m)-1)v=string_count(" ",m)w=1;A[0]=0;
for(H=0;H<v;H+=1){f=string_copy(m,1,string_pos(" ",m))m=string_delete(m,1,string_pos(" ",m))A[w]=f;w++}
f=string_copy(m,1,string_length(m))A[w]=f;if(w==3){K=A[2];J=A[3];I=A[1];ds_list_add(k,K)ds_list_add(k,J)ds_list_add(k,I)}else{K=A[2];J=A[3];I=A[1];ds_list_add(k,K)ds_list_add(k,J)ds_list_add(k,I)
for(t=0;t<w-3;t+=1){K=A[4+t];J=A[1];I=A[3+t];ds_list_add(k,K)ds_list_add(k,J)ds_list_add(k,I)}}}file_text_readln(l)}file_text_close(l)
B=d3d_model_create()C=0;d3d_model_primitive_begin(B,pr_trianglelist)for(H=0;H<ds_list_size(k)H++){F=ds_list_find_value(k,H)if(string_count("/",F)==0){G=F;D=-1;E=-1}
if(string_count("/",F)==1){G=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))D=string_copy(F,1,string_length(F))E=-1}
if(string_count("/",F)==2 && string_count("//",F)==0){G=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))D=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))E=string_copy(F,1,string_length(F))}
if(string_count("/",F)==2 && string_count("//",F)==1){F=string_replace(F,"//","/")G=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))D=-1;E=string_copy(F,1,string_length(F))}
n=ds_list_find_value(b,floor(real(G)))o=ds_list_find_value(d,floor(real(G)))p=ds_list_find_value(e,floor(real(G)))
if(floor(real(E))!=-1 && ds_list_size(f)>=1){q=b*ds_list_find_value(f,floor(real(E)))r=b*ds_list_find_value(g,floor(real(E)))s=b*ds_list_find_value(h,floor(real(E)))}else{q=0;r=0;s=0;}
if(floor(real(D))!=-1 && ds_list_size(i)>=1){t=ds_list_find_value(i,floor(real(D)))u=ds_list_find_value(j,floor(real(D)))}else{t=0;u=0;}
d3d_model_vertex_normal_texture(B,n,o,p,q,r,s,t,u)C+=1;if(C==999){C=0;d3d_model_primitive_end(B)d3d_model_primitive_begin(B,pr_trianglelist)}}d3d_model_primitive_end(B)
ds_list_destroy(d)ds_list_destroy(e)ds_list_destroy(f)ds_list_destroy(g)ds_list_destroy(h)ds_list_destroy(i)ds_list_destroy(j)ds_list_destroy(k)
return B;
- LoadWaveFront:
//LoadWaveFront(filename)
var a=argument0,b=ds_list_create(),c,d=ds_list_create(),e=ds_list_create(),f=ds_list_create(),g=ds_list_create(),h=ds_list_create(),i=ds_list_create(),j=ds_list_create(),k=ds_list_create(),l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,E,F,G,H,I,J,K,L;
ds_list_add(b,0)ds_list_add(d,0)ds_list_add(e,0)ds_list_add(f,0)ds_list_add(g,0)ds_list_add(h,0)ds_list_add(i,0)ds_list_add(j,0)ds_list_clear(k)l=file_text_open_read(a)for(L=0;file_text_eof(l)==false;L++){m=file_text_read_string(l)m=string_replace_all(m," "," ")if(string_char_at(m,1)=="v" && string_char_at(m,2)==" "){
m=string_delete(m,1,string_pos(" ",m))n=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))o=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))p=real(string_copy(m,1,string_length(m)))ds_list_add(b,n)ds_list_add(d,o)ds_list_add(e,p)}
if(string_char_at(m,1)=="v" && string_char_at(m,2)=="n"){m=string_delete(m,1,string_pos(" ",m))q=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))r=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))s=real(string_copy(m,1,string_length(m)))ds_list_add(f,q)ds_list_add(g,r)ds_list_add(h,s)}
if(string_char_at(m,1)=="v" && string_char_at(m,2)=="t"){m=string_delete(m,1,string_pos(" ",m))t=real(string_copy(m,1,string_pos(" ",m)))m=string_delete(m,1,string_pos(" ",m))u=real(string_copy(m,1,string_length(m)))ds_list_add(i,t)ds_list_add(j,u)}
if(string_char_at(m,1)=="f" && string_char_at(m,2)==" "){m=string_replace_all(m," "," ")m=string_delete(m,1,string_pos(" ",m))if(string_char_at(m,string_length(m))==" ")m=string_copy(m,0,string_length(m)-1)v=string_count(" ",m)w=1;A[0]=0;
for(H=0;Hf=string_copy(m,1,string_length(m))A[w]=f;if(w==3){K=A[2];J=A[3];I=A[1];ds_list_add(k,K)ds_list_add(k,J)ds_list_add(k,I)}else{K=A[2];J=A[3];I=A[1];ds_list_add(k,K)ds_list_add(k,J)ds_list_add(k,I)
for(t=0;tB=d3d_model_create()C=0;d3d_model_primitive_begin(B,pr_trianglelist)for(H=0;H if(string_count("/",F)==1){G=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))D=string_copy(F,1,string_length(F))E=-1}
if(string_count("/",F)==2 && string_count("//",F)==0){G=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))D=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))E=string_copy(F,1,string_length(F))}
if(string_count("/",F)==2 && string_count("//",F)==1){F=string_replace(F,"//","/")G=string_copy(F,1,string_pos("/",F)-1)F=string_delete(F,1,string_pos("/",F))D=-1;E=string_copy(F,1,string_length(F))}
n=ds_list_find_value(b,floor(real(G)))o=ds_list_find_value(d,floor(real(G)))p=ds_list_find_value(e,floor(real(G)))
if(floor(real(E))!=-1 && ds_list_size(f)>=1){q=b*ds_list_find_value(f,floor(real(E)))r=b*ds_list_find_value(g,floor(real(E)))s=b*ds_list_find_value(h,floor(real(E)))}else{q=0;r=0;s=0;}
if(floor(real(D))!=-1 && ds_list_size(i)>=1){t=ds_list_find_value(i,floor(real(D)))u=ds_list_find_value(j,floor(real(D)))}else{t=0;u=0;}
d3d_model_vertex_normal_texture(B,n,o,p,q,r,s,t,u)C+=1;if(C==999){C=0;d3d_model_primitive_end(B)d3d_model_primitive_begin(B,pr_trianglelist)}}d3d_model_primitive_end(B)
ds_list_destroy(d)ds_list_destroy(e)ds_list_destroy(f)ds_list_destroy(g)ds_list_destroy(h)ds_list_destroy(i)ds_list_destroy(j)ds_list_destroy(k)
return B;
o código foi otimizado por mim para executar mais rápido...
Última edição por Jiraya em Sáb 16 Fev 2013, 14:37, editado 2 vez(es)
Tópicos semelhantes
» Importar 3D
» importar para GMStudio
» Importar sprite da Net
» Importar .gm81
» 3d no gm, objetos importar...
» importar para GMStudio
» Importar sprite da Net
» Importar .gm81
» 3d no gm, objetos importar...
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos