Hola a todos, esta es mi primera vez posteando en este sitio así que no se desesperen, haha. :-[
Mi problema es técnicamente sólo un dilema, pero tal vez pueda tener otra solución que no haya contemplado. Ahorita estoy teniendo unos problemas pequeños, pero que considero que puedan causar problemas críticos al desarrollo del juego en un futuro. Básicamente estoy trabajando en un juego que utiliza proyecciones básicas usando el engine de 3D de GM:S (cubos, floors, walls, etc.) con personajes planos (imagínate Paper Mario).
Como estoy trabajando los sprites del juego en Flash se me hizo muy práctico exportar los sprites en SWF ya que ocupan muy MUY poco espacio y GM:S ahora los soporta. El problema es que el arte de vector (los SWF) no se puede texturizar usando el engine de 3D. ???
Así que decidí usar esta función, que técnicamente proyecta el SWF en una surface para poder guardar el surface como un sprite dentro de una variable temporal:
El código funciona, pero los sprites creados quedan demasiado pixeleados, y si lo uso activando el anti-aliasing, el contorno queda horrible con "manchas" del draw_clear_alpha. ¿Hay alguna mejor forma de hacer esto? ??? Necesito que los sprites se vean muy bien y considerando que este juego va a tener una grande cantidad de sprites (al menos unos 200) siento que los SWF son necesarios ya que pesan como 10 KB cada uno (con animaciones y todo) y un sprite en PNG de 1200x1200 ocupa al menos 150 KB POR FRAME, haciendo que el juego pueda llegar a pesar al menos 30 MBs de sólo sprites. :-X
¿A alguien se le ocurre alguna solución? :-\
Mi problema es técnicamente sólo un dilema, pero tal vez pueda tener otra solución que no haya contemplado. Ahorita estoy teniendo unos problemas pequeños, pero que considero que puedan causar problemas críticos al desarrollo del juego en un futuro. Básicamente estoy trabajando en un juego que utiliza proyecciones básicas usando el engine de 3D de GM:S (cubos, floors, walls, etc.) con personajes planos (imagínate Paper Mario).
Como estoy trabajando los sprites del juego en Flash se me hizo muy práctico exportar los sprites en SWF ya que ocupan muy MUY poco espacio y GM:S ahora los soporta. El problema es que el arte de vector (los SWF) no se puede texturizar usando el engine de 3D. ???
Así que decidí usar esta función, que técnicamente proyecta el SWF en una surface para poder guardar el surface como un sprite dentro de una variable temporal:
Código [Seleccionar]
surf = surface_create(sprite_get_width(argument0),sprite_get_height(argument0))
surface_set_target(surf)
draw_clear_alpha(c_blue, 0);
draw_sprite(argument0,argument1,0,0)
surface_reset_target();
spr = sprite_create_from_surface(surf,0,0,sprite_get_width(argument0),sprite_get_height(argument0),true,true,sprite_get_width(argument0)/2,sprite_get_height(argument0))
surface_free(surf)
sprite_index = spr
El código funciona, pero los sprites creados quedan demasiado pixeleados, y si lo uso activando el anti-aliasing, el contorno queda horrible con "manchas" del draw_clear_alpha. ¿Hay alguna mejor forma de hacer esto? ??? Necesito que los sprites se vean muy bien y considerando que este juego va a tener una grande cantidad de sprites (al menos unos 200) siento que los SWF son necesarios ya que pesan como 10 KB cada uno (con animaciones y todo) y un sprite en PNG de 1200x1200 ocupa al menos 150 KB POR FRAME, haciendo que el juego pueda llegar a pesar al menos 30 MBs de sólo sprites. :-X
¿A alguien se le ocurre alguna solución? :-\