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}, }
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
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
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
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?
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
Dos años en SCENEBETA
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