-
Acceder datos export ase
Hola a todos/as, mi problema es muy simple, necesito acceder a un parámetro del exportador de ase, se trata del output static #frame, ya que necesito un ase por frame. De momento uso este script que corre por cada frame sacando el ase en él, pero siempre me exporta el correspondiente al frame 0. Lo que necesito es específicamente el estado especifico de la malla en cada frame, de ahí que necesite indicarlo de alguna forma. Creo que pudiendo acceder allí ya me serviría. Muchas gracias por adelantado.
Aquí os pongo el script para quien quiera probarlo o usarlo:
Tafilenumber=0.
Slidertime=animationrange, start.
For loop=animationrange, start todo animationrange, end do.
(T-tmesh = snapshotasmesh selection[1] tif tafilenumber < 10 then t(t tastring = c:\documents and settings\administrator\escritorio\export ases\ases\pato_andar_00 + (tafilenumber as string) +.ase t) tif tafilenumber < 100 and tafilenumber > 9 then t(t tastring = c:\documents and settings\administrator\escritorio\export ases\ases\pato_andar_0 + (tafilenumber as string) +.ase t) if tafilenumber >= 100 then t(t tastring = c:\documents and settings\administrator\escritorio\export ases\ases\pato_andar_ + (tafilenumber as string) +.ase t) t-tastring = c:\documents and settings\administrator\escritorio\export ases\ases\pato_quiet + (tafilenumber as string) +.ase texportfile (tastring) #noprompt ttafilenumber+=1 tslidertime+=1.
-
El problema es que estás usando snapshotAsMesh, que captura la malla en el estado actual del modificador, pero no avanza la animación en el exportador ASE. Necesitas forzar a que el exportador ASE procese el fotograma actual del slider. La solución es usar el parámetro frame en la función exportFile.
Modifica tu script para incluir el parámetro de frame en la exportación. Aquí está el script corregido y mejorado:
Primero, necesitas establecer el tiempo del slider para cada fotograma antes de exportar. Luego, al exportar, debes especificar el frame en la función exportFile. El formato correcto para exportar un frame específico es exportFile nombreArchivo #noPrompt usando:frame.
Aquí tienes una versión funcional de tu script:
tafilenumber=0.
basePath = "C:\\Documents and Settings\\Administrator\\Escritorio\\export ases\\ases\\pato_andar_".
for t = animationRange.start to animationRange.end do
(
slidertime = t.
if tafilenumber < 10 then
tastring = basePath + "00" + (tafilenumber as string) + ".ase"
else if tafilenumber < 100 then
tastring = basePath + "0" + (tafilenumber as string) + ".ase"
else
tastring = basePath + (tafilenumber as string) + ".ase".
exportFile tastring #noPrompt using:frame.
tafilenumber+=1.
)
La clave está en el parámetro using:frame al final del exportFile. Esto le dice al exportador ASE que utilice el estado de la animación en el frame actual del slider (slidertime). Asegúrate de que la ruta de basePath es correcta y que el directorio existe. También, considera usar una ruta más corta y sin espacios para evitar posibles errores.