Anuncios Google

combertir modelos para lua

 

para comvertir el modelo hay que triagularlos yo uso Autodesk 3ds Max 9 32-bit  y los importo al blender

y los inporto  a la carpeta donde tengo el covertidor de modelo. tanbien hay que haser un archivo de texto con el nombre archivo1

luego con un compilador de c++  compilar el codigo

el modelo tiene que estar en la misma carpeta

en el codigo hay que escribir nombre del modelo

despues de compilar abrir el archivo de texto con el Nombre archivo1

y copiar el codigo en lua

 

 

 

 

 

 

este codigo guardarlo como .cpp

 

#include<fstream>
 
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
 
//matrices donde almacenaremos los vértices, las coordenadas de texturización y las caras 
//(límite máximo: objeto de 250 vértices o 100 caras) 
int main()
{
float v[54900][3]; //v[numverts][0]=xf;   v[numverts][1]=yf;   v[numverts][2]=zf;
float vt[54900][2];
int faces[19900][3]; //faces[numfaces][0]=v1;  faces[numfaces][1]=v2; faces[numfaces][2]=v3; 
int faces1[19900][3];
int numfaces;
 
//Nombre de la figura a cargar 
char figura[20] = {"untitled.obj"}; 
 
	//Abrimos la figura como si fuera un fichero de texto 
	FILE* f = fopen (figura, "rb");
 
	char oneline[55500]; 
 
	char primera[55500];
	int numnorms=0;
	int i, numverts=0;
	int v1,  v2, v3, vt1,vt2,vt3; 
	float xf, yf, zf,uno,dos; 
	numfaces=0; 
 
		while (!feof(f))
		{
			fgets(oneline,55500,f); 
 
			sscanf(oneline, "%s ", primera);
 
			if(strcmp(primera, "v")==0)
 
			{ 
				sscanf(oneline, "v %f %f %f", &xf, &yf, &zf);
 
 
			v[numverts][0]=xf;  v[numverts][1]=yf;  v[numverts][2]=zf;
 
 
			numverts++; 
			}
			if(strcmp(primera, "vt")==0)
			{
				sscanf(oneline, "vt %f %f %", &uno, &dos);
 
				vt[numnorms][0]=uno; vt[numnorms][1]=dos; 
 
 
				numnorms++; 
			}
			if(strcmp(primera, "f")==0)
			{
				sscanf(oneline, "f %d/%d %d/%d %d/%d %d/%d", &v1, &vt1, &v2, &vt2, &v3, &vt3);
 
 
				faces[numfaces][0]=v1;    faces[numfaces][1]=v2;   faces[numfaces][2]=v3; 
				faces1[numfaces][0]=vt1;    faces1[numfaces][1]=vt2;  faces1[numfaces][2]=vt3; 
 
 
 
 
 
 
 
 
 
 
				numfaces++; }
		}
	//del while
	fclose(f);
 
 
 
 
		ofstream docu ("archivo1.txt");
 
 
 
 
 
 
 
 
	//dibujamos las numfaces caras 
	for(i=0; i<numfaces; i++)
	{ 
		//Dibujamos caras de 3 vértices 
 
		//1er vértice 
		//y especificamos el vértice propiamente dicho 
		docu<<"{"<<vt[faces1[i][0]-1][0]<<"," <<vt[faces1[i][0]-1][1]<<", red,"<<v[faces[i][0]-1]  [0]<<"   ,   "<<v[faces[i][0]-1]  [1]<<"  ,  "<<v[faces[i][0]-1]  [2]<<"},"<<endl; 
		//2do vértice 
 
 
		//y especificamos el vértice propiamente dicho 
		docu<<"{"<<vt[faces1[i][1]-1][0]<<","<< vt[faces1[i][1]-1][1]<<", red,"<<v[faces[i][1]-1]  [0]<<"   ,   "<<v[faces[i][1]-1]  [1]<<"  ,  "<<v[faces[i][1]-1]  [2]<<"},"<<endl;  
		//3er vértice 
 
 
		//y especificamos el vértice propiamente dicho 
		docu<<"{"<<vt[faces1[i][2]-1][0]<<","<< vt[faces1[i][2]-1][1]<<", red,"<<v[faces[i][2]-1]  [0]<<"   ,   "<<v[faces[i][2]-1]  [1]<<"  ,  "<<v[faces[i][2]-1]  [2]<<"},"<<endl; 
 
 
		//y especificamos el vértice propiamente dicho 
 
	}
	docu.close();
}

 

 

 

 

 

un modelo ya combertido

 red   = Color.new(  0,   0, 255)
 
 
modelo={
 
{0.485231,0, red,0.468968   ,   0.011303  ,  -1.07652},
{0.485231,0.242616, red,0.355671   ,   0.05264  ,  0.919838},
{0.242616,0.242616, red,-1.64107   ,   0.064161  ,  0.806281},
{0.242616,0, red,0.468968   ,   0.011303  ,  -1.07652},
{0,0.242616, red,-1.64107   ,   0.064161  ,  0.806281},
{0,0, red,-1.52777   ,   0.022824  ,  -1.19008},
{0.485193,0.242616, red,0.468968   ,   0.011303  ,  -1.07652},
{0.727701,0.242616, red,0.482816   ,   2.01084  ,  -1.11714},
{0.727701,0.485124, red,0.369517   ,   2.05218  ,  0.879221},
{0.242616,0.485195, red,0.468968   ,   0.011303  ,  -1.07652},
{0.585574,0.485195, red,0.369517   ,   2.05218  ,  0.879221},
{0.414095,0.656674, red,0.355671   ,   0.05264  ,  0.919838},
{0.242616,0.828004, red,0.355671   ,   0.05264  ,  0.919838},
{0.413946,0.656674, red,0.369517   ,   2.05218  ,  0.879221},
{0.585276,0.828004, red,-1.62722   ,   2.0637  ,  0.765663},
{0.485231,0.071286, red,0.355671   ,   0.05264  ,  0.919838},
{0.827891,0.071286, red,-1.62722   ,   2.0637  ,  0.765663},
{0.656561,0.242616, red,-1.64107   ,   0.064161  ,  0.806281},
{0.756986,0.828019, red,-1.64107   ,   0.064161  ,  0.806281},
{0.585574,0.656607, red,-1.62722   ,   2.0637  ,  0.765663},
{0.756985,0.485195, red,-1.51393   ,   2.02236  ,  -1.2307},
{0,0.727606, red,-1.64107   ,   0.064161  ,  0.806281},
{0.242413,0.485193, red,-1.51393   ,   2.02236  ,  -1.2307},
{0.242413,0.727606, red,-1.52777   ,   0.022824  ,  -1.19008},
{0.485193,0.485195, red,0.482816   ,   2.01084  ,  -1.11714},
{0.242616,0.485193, red,0.468968   ,   0.011303  ,  -1.07652},
{0.242618,0.242616, red,-1.52777   ,   0.022824  ,  -1.19008},
{0.242578,0.485193, red,0.482816   ,   2.01084  ,  -1.11714},
{0,0.242617, red,-1.52777   ,   0.022824  ,  -1.19008},
{0.242577,0.242616, red,-1.51393   ,   2.02236  ,  -1.2307},
{0.935614,0.824174, red,-1.51393   ,   2.02236  ,  -1.2307},
{0.768453,1, red,-1.62722   ,   2.0637  ,  0.765663},
{0.756986,0.824174, red,-1.56401   ,   3.11033  ,  -0.239577},
{0,0.727606, red,-1.51393   ,   2.02236  ,  -1.2307},
{0.178563,0.727606, red,-1.56401   ,   3.11033  ,  -0.239577},
{0.173422,0.750438, red,-1.56151   ,   3.10941  ,  -0.283639},
{0.756986,0.485195, red,-1.62722   ,   2.0637  ,  0.765663},
{0.983305,0.485195, red,0.369517   ,   2.05218  ,  0.879221},
{0.983305,0.649566, red,0.432725   ,   3.0988  ,  -0.126019},
{0.727701,0.320753, red,-1.62722   ,   2.0637  ,  0.765663},
{0.95402,0.485123, red,0.432725   ,   3.0988  ,  -0.126019},
{0.727701,0.485124, red,-1.56401   ,   3.11033  ,  -0.239577},
{0.585276,0.828004, red,0.482816   ,   2.01084  ,  -1.11714},
{0.400051,0.961599, red,-1.51393   ,   2.02236  ,  -1.2307},
{0.303695,0.828004, red,-1.56151   ,   3.10941  ,  -0.283639},
{0.303695,0.961599, red,0.482816   ,   2.01084  ,  -1.11714},
{0.022114,0.961599, red,-1.56151   ,   3.10941  ,  -0.283639},
{0.207338,0.828004, red,0.435228   ,   3.09789  ,  -0.170081},
{0.756986,0.824174, red,0.369517   ,   2.05218  ,  0.879221},
{0.92542,0.649566, red,0.482816   ,   2.01084  ,  -1.11714},
{0.936861,0.824174, red,0.435228   ,   3.09789  ,  -0.170081},
{0.827891,0.242616, red,0.369517   ,   2.05218  ,  0.879221},
{0.827891,0.062879, red,0.435228   ,   3.09789  ,  -0.170081},
{0.850873,0.068057, red,0.432725   ,   3.0988  ,  -0.126019},
{0.727944,0.039613, red,0.435228   ,   3.09789  ,  -0.170081},
{0.48593,0.071286, red,-1.56151   ,   3.10941  ,  -0.283639},
{0.485231,0.039613, red,-1.56401   ,   3.11033  ,  -0.239577},
{0.725892,0.031496, red,0.435228   ,   3.09789  ,  -0.170081},
{0.485231,0, red,-1.56401   ,   3.11033  ,  -0.239577},
{0.729307,0, red,0.432725   ,   3.0988  ,  -0.126019},
{0.725892,0.031496, red,0.435228   ,   3.09789  ,  -0.170081},
{0.485231,0, red,-1.56401   ,   3.11033  ,  -0.239577},
{0.729307,0, red,0.432725   ,   3.0988  ,  -0.126019},
 
 
}

 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Mills

Pasate a luadev

Luadev está más actualizado y se sigue trabajando en el, en la página oficial tienes más información (www.gcrew.es). Además, no cambia demasiado el código, lo único malo es que no puedes probarlo en el pc, de momento, pero puedes conectar la psp por usb y lo pruebas más rápido.

En blender, al exportar como .obj, tienes las opciones abajo a la izquierda, tienes que marcar "exportar solo seleccionado" y "exportar normales". Si el modelo no está triangulado, también tienes que marcar "triangular caras".

 

Saludos


Pobre PSP

grasias Mills por el dato

grasias Mills por el dato saludos

 

Dolor

La verdad que a mi me sangran los ojos solo de leerlo

en que sentido

en que sentido

Imagen de jorge_97

Jorge

Pues... se refiere a que no puede leer el texto por las faltas de ortografia que has cometido.

Te sguiero que las corrijas ;)

Salu2 de nuevo


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de Mills

Pero

Pero por qué haces eso, hay varios interpretes de lua que abren archivos .obj directamente, solamente tienes que triangular las caras y exportarlos como wavefront .obj, y si usas blender, marcas la opcion de exportar normales también.


Pobre PSP

¿como marcas la opcion de

¿como marcas la opcion de exportar normales? en blender 2.6

es que yo uso luaplayer vi

es que yo uso luaplayer vi que usas luadev ¿ como provas los codigos en el pc?

Imagen de jorge_97

Jorge

Me temo que Lua-Dev aun no tiene opción por llamarlo de alguna manera para poder testear los codigos desde la Compu.

No obstante Lua-Player esta algo obsoleto, te  recomiendo que cambies.

Salu2


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

no es tan grave de todas

no es tan grave de todas forma se entiende  lo importante es el codigo pero bueno de todas forma lo corrijo

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.