Gracias Gracias:  0
Resultados 1 al 9 de 9

Tema: [maxscript] Creacion de Zip's

  1. #1
    como siempre... Avatar de exavi
    Fecha de ingreso
    Jul 2005
    Ubicación
    London
    Mensajes
    536

    Question [maxscript] Creación de Zip's

    Hola, estoy escribiendo un exportador para 3dsmax para un motor de juegos que voy a utilizar para hacer en el proyecto de final de carrera y necesito crear un zip metiendo todos los archivos y carpetas que ya me crea el mismo exportador.

    He estado buscando por todas partes, primero en la documentación de maxscript (que es muy buena) pero en cuanto la creación de zips no pone nada de nada y después también por Internet y nada de nada. Todos los scripts de ejemplo que he "encontrado" parecen tener el link roto...

    Alguien me podría decir cómo se utiliza el método "maz"?
    (quiero crear el zip, no descomprimirlo)

    maz "file.zip" destinationDir --tal cual en la documentación y nada,devuelve 0.

    hay alguna otra forma de meter cosas en zips desde maxscriptí

    graciaaas!!

  2. #2
    Administrador Avatar de SHAZAM
    Fecha de ingreso
    Apr 2002
    Ubicación
    28.10º N 15.43º W in a blue planet.
    Mensajes
    20,761

    Re: [maxscript] Creación de Zip's

    Si no te he entendido mal, el max ya tiene una herramienta para eso, esta en el menú File, si no recuerdo mal es "Archive" o algo así.

    ...
    Obtén enseñanza tradicional en arte y cine. Los ordenadores solo son herramientas. Ellos no pueden tomar decisiones creativas, y solo pueden crear trabajos tan buenos como tus conocimientos y tu experiencia les permita.
    Victor Navone


    Ser "animador" es un regalo que te ganas y un honor que deben adjudicarte los otros.
    Chuck Jones


    La tecnología no hace las películas, la gente las hace. No eres un animador sólo porque puedas mover un objeto del punto A al punto B. Eres alguien quien le da vida a un personaje, que es algo que el software y la tecnología no puede dar.
    John Lasseter

  3. #3
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,911

    Re: [maxscript] Creación de Zip's

    CGTalque - Using DOSCommand() with 7Zip
    CGTalque - Script to assist users in exchanging materials
    CGTalque - DOSCommand does not work, yet in Command Prompt it does...?..!

    Aquí se presentan varias maneras al margen de maz()/unmaz() (no conocía esas funciones). Espero que te sirvan, Xavi
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

  4. #4
    como siempre... Avatar de exavi
    Fecha de ingreso
    Jul 2005
    Ubicación
    London
    Mensajes
    536

    Re: [maxscript] Creación de Zip's

    gracias por vuestras respuestas!

    @shazam: el problema es que para lo que lo voy a usar es para un exportador que tengo hecho, en el que exporto geometría, materiales, luces y cámaras todo en un mismo archivo cada uno de estos elementos van dentro de unas carpetas que se crean automáticamente con el script donde exporta los archivos de todos los objetos que ha exportado de una determinada forma y la idea es que después coja todas estas carpetas con sus respectivos archivos dentro y haga un zip de estas y lo renombre a otro formato.

    lo de renombrarlo es lo de menos, porque sólo con hacer funcionar el "cacharro" que haga los zips a este le da igual si el formato "que se ve" es .zip o si es .caca el problema viene con el tema de comprimirlo, que por lo visto hay dos formas de hacer unzip en max (con el de los mzp y el unmaz) y únicamente una forma de zipear, y la documentación en esta parte da pena...

    @iker: estoy mirando lo del dosCommand, el problema que hay es que es necesario una segunda aplicación con la que realizar los zips... ummm....

    Por cierto, tengo otras 3 dudas:

    1.Cómo puedo meter unas comillas dentro de un string? seguro que haciendo rollos extraños de concatenar historias se puede, pero por el momento no lo he conseguido. Lo único que se me ocurre es crear un archivo en el que escribir sólamente unas comillas y abrirlo desde maxscript y concatenarlo donde quiera...

    Puede parecer una gilipollez pero me estoy volviendo loco porque cuando pongo por ejemplo " " " sólo coge las dos primeras y si pongo " "" " coge por separado las dos primeras y después las de detrás cuando lo que quiero es hacer un:
    format "( "blablabla/%" )" tututu to:fileOut
    y que me saque ("blablabla/tututu")...

    2.Cómo puedo pasar de float a intí la función bit.floatAsInt va como el culo de un 3,135632 (float) se saca un 1006824787 (int) o similares... si lo hago por divisiones a lo cutre manual (como en un script de ejemplo que venia con 3dsmax r4 que se llama round_to) el problema que tiene es que de un 13,4 se saca un 13,0 y sólo quiero el 13, sólo la parte entera, sin parte decimal...

    3. y la úlitma es la que menos sentido tiene de todas: estoy guardando los índices de las caras de cada una de las mallas que hay en escena, el problema es que la salida que me saca es como la que tiene el 3dsmax
    ([1,3,5]) y lo quiero sin corchetes

    para sacar esto lo hago con

    face= getFace obj f
    format "( % )" face

    esto saca: ([1,3,5]) por ejemplo (se saca los corchetes y las comillas de la chistera, aún es comprensible...)
    pues bien, si hago esto:

    face= getFace obj f
    format "( % % % )" face.x face.y face.z

    ahora de repente y sin darme cuenta se inventa otra historia y saca: (1.0 3.0 5.0) ¿y ahora de donde han salido los .0?¿otra vez a convertir historias con floatAsIntí (que por cierto, no va)


  5. #5
    como siempre... Avatar de exavi
    Fecha de ingreso
    Jul 2005
    Ubicación
    London
    Mensajes
    536

    Re: [maxscript] Creación de Zip's

    Ahora probando acabo de ver que funciona bien el maz, pero sólo con archivos y yo lo estaba intentando con una carpeta, ¿alguna idea?


    edit: nada, falsa alarma, además es una chapuza porque si digamos que tienes lo que quieres comprimir en C:\unacarpeta\otracarpeta\ootracarpeta\elarchivo

    en el zip te mete también la estructura de directorios que ha recorrido para llegar allí
    en plan:

    C
    unacarpeta
    otracarpeta
    ootracarpeta
    elarchivo


    puffff... de todas formas esto es lo de menos, pero lo de las comillas y los floats si que no tiene sentido


    edit2: vale, me contesto a mi mismo, :P ya no me acordaba que utilizaba format en vez de print porque el print me metía comillas delante y después de lo que quería escribir en archivos... xDD con ponerle un print a esa parte se soluciona pero para poder cerrar el parentesis tengo que poner un format y me hace que aparezca en la otra línea... creo que no será mucho problema...

    y el día que aprenda a leer me enteraré de que las cosas son más fáciles de lo que parecen y me daré cuenta que el bit.floatAsInt tiene el bit porque es para hacer operaciones a nivel de bit como pone en la documentación y sólo un poco más arriba dice cómo se hace... xDD

    por si alguien tiene curiosidad sólo hay que poner valor o variable as y el formato que quieres...

    134.1342489 as integer ...difícil, eh? xDD



    ...si es que la única conversión que había hecho hasta ahora en maxscript era el degToRad... xDD


    total, to arreglao, a falta de hacer un zip decente y sin carpetas extrañas de por medio. Aunque he visto por ahí que la solución que utiliza la gente es directamente crear el zip en C:\ pero me parece un poco chapucero porque estas dando por hecho que el hd principal del ordenador del que va a utilizar el exportador es C:\ ... me gustaba más la idea de hacerlo en #export que ya pilla la carpeta export de la instalación de max....
    Última edición por exavi; 26-10-2008 a las 01:53

  6. #6
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,911

    Re: [maxscript] Creación de Zip's

    @iker: estoy mirando lo del dosCommand, el problema que hay es que es necesario una segunda aplicación con la que realizar los zips... ummm....
    No sé si Windows comprime nativamente en ZIP. Creo que sí, pero no lo sé. El caso es que 7Zip es gratuito. Incluso puede que haya versiones (no recuerdo si la 'oficial' es así) de estas que sólo es copiar el .exe en algún sitio y a volar. No es necesario que instales nada, con lo que el proceso de compresión usando 'dosCommand' no ensuciaría nada el equipo.

    Lo de las comillas es lo siguiente:

    myString = "Me llamo Iker pero a veces me llaman \"Ike\""

    O sea, \" se usa para meter comillas dentro de un 'string'.

    Lo de los índices de las caras, ¿hablas del número de la cara? Porque si es así no debería sacarte ningún 'float'. Los corchetes siempre sirven para denotar un vector, así que si lo que quieres es lo que te pregunto, tal vez estés usando una función que no es la que buscas. ¿Puedes describirlo mejor?
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

  7. #7
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,765

    Re: [maxscript] Creación de Zip's

    El getFace retorna un array con los índices de los 3 vértices que componen esa cara, para sacarlos por separado como en todo array puedes hacer un "face[1] as integer", "face[2] as ingetger" y "face[3] as integer" y tendrías los índices en valores enteros por separado. Es eso lo que necesitasí no sé si entendí bien...

    Saludos

  8. #8
    como siempre... Avatar de exavi
    Fecha de ingreso
    Jul 2005
    Ubicación
    London
    Mensajes
    536

    Re: [maxscript] Creación de Zip's

    @iker: sisisi era justo eso, es que lo de las comillas me estaba mareando ya y no sabía como buscarlo por la documentación si como strings o que

    @cesar: de momento lo hago así, pero me parece cutre y feo la manera de no-aceptar funciones dentro de funciones de maxscript, quiero decir que por ejemplo para crear un directorio si tengo que hacer:

    makeDir ((getDir #export)+@"\"+outputFile+@"\")

    no le vale, y me toca hacer:

    destinationDir = ((getDir #export)+@"\"+outputFile+@"\")

    makeDir destinationDir

    me parece un poco cutre tener que ir guardando variables a lo tonto cuando se podría hacer todo en una línea, y más teniendo en cuenta que esto se repite a lo largo de todo el exportador...

    hay alguna forma de hacer este tipo de cosasí porque a veces sí funciona, pero no voy a ir probando en cada una de las líneas si uno vale u otro no porque sería un coñazo y total sólo es un exportador para no tener que pasar por el blender de mac que me va muy mal en el macbook...

    por cierto, si tenéis curiosidad, el motor es un motor nuevo llamado SIO2, en un principio esta hecho para hacer juegos para iPhone/iPod Touch, pero se pueden hacer también para Win/OSX/Linux usando la glut...

    esta bastante currao aunque es muy nuevo y le faltan cosas básicas como animación de personajes ya sea con animación bakeada al estilo de los viejos md2 o con animación bien con skin y tal jeje

  9. #9
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,911

    Re: [maxscript] Creación de Zip's

    Precisamente las variables están para no guarrear el código y no tener sentencias tan largas como una ristra de chorizos Vamos, en mi opinión, claro. Si dices que la cosa se repite, guarda más sentido almacenar datos en una variable y usarla a lo largo de todo el script que tener que ir escribiendo todo lo de 'getDir bla bla' cada vez.

    Creo que podrías hacer funcionar tu 'chorizo' añadiendo un par de paréntesis extra al principio y al final. Vamos, que si puedes hacerlo de la segunda manera, también deberías poder hacerlo de la primera
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

Temas similares

  1. maxscript y SWF
    Por jmpinero en el foro Programación y Scripts
    Respuestas: 2
    Último mensaje: 18-12-2011, 21:17
  2. C# en MaxScript
    Por Pery en el foro Programación y Scripts
    Respuestas: 2
    Último mensaje: 30-07-2008, 15:00
  3. [MaXScript]
    Por ricardo_arango en el foro Programación y Scripts
    Respuestas: 1
    Último mensaje: 15-06-2007, 16:29
  4. Creacion de un Maxscript plugin o lo ke sea
    Por metaman en el foro Animación y Rigging
    Respuestas: 2
    Último mensaje: 04-05-2006, 22:26
  5. MaXScript
    Por 3dpoder en el foro 3DStudio Max
    Respuestas: 0
    Último mensaje: 13-08-2005, 23:28

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •