#Single stack
1223 messages · Page 2 of 2 (latest)
88
¿que andabas intentando hacer acá?
namas probando, hay una funcion que se llama matrix_build_projection_perspective_fov y me dio curiodad asi que la multiplique con la matris de las capas para ver quetal y pues eso pasa
🦧
ah
cosas
👀
Queso
un cuadrado 3d echo a mano
lo que intente no funciono, pero todavía me queda una ultima opcion para lograr que las pilas se puedan rotar en todos los angulo, si no lo logro morire
🦧
al final todo fallo, pero ahora estoy intentando una ultimisima cosa que es una solución muy tonta, pero asi bien estúpida pero creo que puede funcionar
🐛
si no funciona a las buenas se puede solucionar a la fuerza
mi plan por ahora va funcionando, pero todavia falta corregir unos errores para decir que en verdad funciono
por ahora asi queda, la idea que tuve para llenar los espacios intermedios de las capas apilas fue el crear de manera automática capas equivalentes al eje x e y del modelo para solucionar el problema, la idea era tener un sistema mucho mas y eficiente para dibujar las pilas de frente, las desventajas de este nuevo sistema es que por ahora no logro hacer que el aspecto del modelo mantenga una consistencia por lo cual al rotar el modelo este puede perder mas detalles que el sistema anterior, pero lo bueno de este sistema nuevo aparte del poder rotar las pilas como si fueran un modelo 3d es lo eficiente que es para dibujar los modelos.
en el sistema anterior al mostrar un sprite de frente se tienen que dibujar capas extras para llenar esos espacios, asi que al ver el modelo de ejemplo de frente este tiene que dibujar 40 veces cada capa lo que da un total de 1160 sprites cada frame, a esto se le suma el escalado que se le da a estas mismas y a la resolución a que se este mostrando, con este nuevo sistema solo se tienen que dibujar 57 capas en todo momento.
este sistema nuevo todavía tiene errores con el orden de dibujado y cosas similares pero son cosas que todavía puedo mejorar
aqui un ejemplo con un modelo grande, con el anterior sistema dibujar un modelo asi de grande ralentiza el programa, y mas si este se ve de frente o se aumenta la resolución con la que se muestra
@maiden bluff que te parece esta apileada?
🦧
mira
compre un programa de pixel art hace unos dias
por 15 dolares
q tiene un par de cosas basicas
y necesita un monton de ayuda
o ea
de desarrollo
QUE SALGAN LAS MALDITAS APLIEADAS FUNCIONALES DE UNA VEZ
no se bien q estas haciendo pero me parece q ya te saliste un poco del diseño de producto y estas haciendo nomas lo q tenes ganas 
Al menos a mi me parece que sigo en el tema, esto es un sistema aparté para poder dibujar de manera mas eficiente los modelos de frente debido a que el anterior era demasiado malo, los modelos seguirán apilando se de manera normal
🐛
buenisimo a seguir metiendole
sigo implementado mejoras de rendimiento al programa, estoy haciendo que al dibujar un modelo si no se esta girando se dibuje una superficie con el modelo ya echo y así no tener que andar haciendo cálculos innecesarios, aun que de momento tengo problemas con esto por las diferentes resoluciones
🎷 🐛
yei ya consegui que funcionara, ahora si el modelo se queda quiero c le toma una "foto" para dejar de dibujarlo y usar la foto en su lugar, no muestro nada por obviamente no es algo que se note
xd
estaba haciendo que esto de tomarle una foto para dibujarla en su lugar y me di cuenta que deja de encajar la imagen cuando la ventana tiene x tamano, no encontre una solucion para esto, no es algo que pase muy a menudo eso de tener la ventana con un tamano raro asi que espero que no sea un problema
ya que lo pienso podría borrar el fondo para evitar que se note tanto pero igualmente la posicion del modelo seguiría estando mal
raios jinsen, no soy programador, pero he visto que algunos en gamemaler para ubicar los objetos dividen la pantalla para obtener el punto medio, eso te serviria o ya lo aplicas? espero haberte ayudado mi compa
en este caso el problema es el tamaño y no la posición, la foto del modelo se dibuja con el mismo tamaño de la venta, asi que ni idea porque ocurra eso y no veo alguna relación entre los tamaños de la ventana en los cuales pasa esto
asi que de momento sera problema del yo del futuro
🦧
dios, sin duda alguna el dibujado de la gui es una cosa, no logro que mantenga un tamaño proporcional, pero bueno ya estoy cansado, sera problema para el yo de mañana
🦧
ando progresando un poco, ya mejore la forma en la cual se dibuja la barra de herramientas y el panel de opciones, no habia mencionado esto antes pero estoy almacenando todos los textos en un archivo json para poder cambiar de manera fácil el idioma del programa y evitar que todo el texto este cargado de manera innecesaria, por ahora no es tanto texto como para se note en el rendimiento pero al menos no lo empeora
🦧
progresando ando, ando mejorando el sistema con el cual c dibujan las ventanas, también estoy haciendo botones con listas de opciones y tambien hice que el idioma del programa c pueda cambiar
demasiado por hoy, deberia descansar 2 meses
🦧
Amo a jinsen en secreto
🎷 🐛
dios tarde mucho pero ya están completamente terminadas y funcionales las ventanas, ya falta muy poco para terminar la actualización
lo ultimo que falta es agregar las opciones para cambiar la manera en la cual se dibuja el modelo
al final serán 2 opciones: apilado normal y el modelo 3d completo
estos dia le estado buscando una forma de mejorar la manera en la cual se dibujan los modelos de frente, despues de tanto probar e investigar llegue a la conclusión de que la mejor manera para hacer esto lo que ya estaba haciendo antes, no queria admitirlo ya que significaría que todo mi esfuero para mejorarlo fueron para nada, pero al final asi fue, no mostre mucho al respecto pero estuve mejorando mucho el sistema para dibujar en 3d los modelos, pero este sistema termino siendo incompatible con los modelos con detalles pequeños,(almenos yo no logre que funcionara), como ultimo intento desesperado cree un sistema para convertir los modelos a "voxeles" obteniendo la informacion del color de cada pixel individual y creando una caja usando 7 matrices, los resultados no eran muy diferentes que el anterior pero con la diferencia de ser extremadamente lento e insostenible para rotaciones en tiempo real.
ahora volvere a integrar el sistema anterior pero eliminando los angulos intermedios, tambien buscare una forma de mejorar el rendimiento de este
perdon a mis 1 segudores por tardar tanto
esto haciendo cambios en la exportación del modelo, ya que se puede cambiar la escala del modelo(maximo x5), aunque todavia fallan una cosas pero nada que no pudea solucionar
el escalado del modelo no afectara a la vista frontal del modelo para evitar que el sprite exportado sea demasiado grande
🐛
ya porfin termine la actualizacion del programa, me puse a cambiar el itch y encontré un programa nuevo de apilado de sprites
es algo simple y lleva como 2 meses sin actualizarse
Jinsen soi tu fan
ya subi la actu del programa, ya pudeo descansar en paz
🐛
@covert adder https://pixelmatt99.itch.io/asevoxel
Que veo, un ruval?!
🦧
no jodas un gringo se papio a jinsen
se lo apilaron
es latino
XD
idea de como se vería un panel de frames en el programa, lo malo de esto es que tendrias que importar cada frame de uno por uno, y al cerrar el programa lo tendrías que volver a hacer, aun que eso ultimo se podria solucionar guardando la ruta de acceso de todos los frames de una animacion, para despues cargarla, aun que de momento solo son ideas
dios creo que me estoy volviendo loco pero no e dejado de darle vueltas a una idea que tengo de como finalmente poder dibujar de manera precisa un modelo desde el lateral sin necesidad de estirar sus capas, aun que me preocupa el rendimiento que podría tener al combinarse con el modo de autocarga, por ahora sigue siendo una idea pero veré si esta semana tengo tiempo de ponerla a prueba
🦧
y eso de promocionar y publicitar el programa ya otro dia quizás
jsjsjsjs
acabo d descubrir una función del programa, que si le pones un png y en la cantidad de frames a importar le pones el ancho de la imagen te la transforma en un modelo de manera automatica
...
waos
🦧
buenisimo
ya empese a hacer pruebas para implementar el nuevo sistema de dibujado de los modelos de lado, lo primero que hice por ahora es hacer que una cuadricula de sprites gire entorno a un centro y mantengan un orden de dibujo por su coordenada "y", aunque me di cuenta que aprobechando esto podria hacer un efecto de "sombra" al cambiar el color de los pixeles que estan mui atras, nose que tan bien quede el efecto en un modelo real o que tan util sea en si, por lo que ahora namas es una idea
lo siguente es cortar de manera automática los modelos en tiras, para alinear todas las tiras en la misma coordenada "y" para moverlas mientras su profundidad cambia y asi dar el efecto de que están de lado de manera mas precisa
🦧
Bro literalmente estas creando un motor raycasting
Nada que ver pero me acabas de dar una idea, y sis en lugar de pintar los pixeles lejanos les reduzco el tamaño para dar la ilusión de perspectiva?
👀
¿como que no?, los motores raycasting utilizan tiras para renderizar los modelos (sprites) dependiendo de las que se encuentre primero
ya termine la primevercion del nuevo sistema de dibujo, y como prueba de fuego cargue un mode muy gran para ver que tan mal esta de rendimiento, y en resumen dibujarlos de esta manera hace que el programa tenga la misma velocidad que las capturas
sjjsjs
ahorita mando vidrio de una prueba con un modelo normal
bueno aqui esta la prueba del nuevo sistema de dibujo
lo que hace este sistema es cargar y guardar en tira verticales el modelo para después dibujar y rotar todo el conjunto, lo que permite modificar de manera mas sencilla las propiedades de una tira espesifica del sprite
cuales son las ventajas de este sistema?:
permite dibujar el modelo de frente sin necesidad de estirar *50 las capas y sin deformaciones en modelos grandes.
abre la posibilidad agregar efectos visuales a los modelos.
al no depender del angulo de la camara se pude cambiar al instante entre el modo de dibujo frontal y superior.
pero este sistema no es perfecto, ya que sus desventajas son:
le falta precisión en el dibujado del modelo en los 2 ángulos.
al depender de múltiples bucles para calcular la posición y dibujo de las tiras hace que sea lento.
no es compatible con el modo de autocarga al tener crear de nuevo una tira del modelo.
no es compatible con modelos grandes.
hay barias cosas que se podrían mejorar pero de momento creo yo que este sistema funcionaria solo para dibujar el modelo de frente, ya que no me gusta para nada el sistema actual, también esta la parte de poder agregarle efectos al modelo pero no estoy del todo seguro si esto seria útil
de momento la escala de poder de los sistemas que e estado probando seria el siguiente:
precisión:
pilas > estirado> tiras> matrices
rendimiento:
pilas> matrices> estirado> tiras
ángulos:
matrices> tiras> estirado> pilas
libertad:
tiras> matrices> estirado = pilas
despues de pensarlo un poco creo que en lugar de remplazar los sistemas de dibujo los voy a implementar todos, el apilado normal y el estiramiento son los mejors modos para visualizar los cambios hechos al modelo, pero las tiras y matrices ofrecen mayor libertad al exportar el modelo.
al menos esa es la idea, pero antes de eso tendría que hacerle ajustes a las funciones de exportar para que sea compatible con eso
🐛
@maiden bluff oie toroja tu q opinas de esta cocinada?
🍳 🐛
mas tarde la leo
estoy haciendo pruebas para ver como mejorar la precisión de dibujado con las tiras, de momento la manera mas sencilla de aumentar su precisión es el incrementar su tamaño, la profundidad de las tiras se calcula por su coordenada "y" por lo que aumentar la distancia entre tiras disminuyen el parpadeo por tiras con la misma posición, al menos eso lo que me parece, no me hagan caso no se sumar
jjsjjs
esto de escalarlo no generaría ningún problema al exportar el modelo, ya que solo tendría que escalar la imagen que se exporta y listo, tendría menos ruido y errores que dibujándolo de normar, lo malo es que en el programa lo verías escalado y no en el tamaño 1:1 que se supone debería tener, así que no sabrías como se ve el modelo realmente asta exportarlo
no se preocupen gente ya aprendia pensar, namas agregue una variable exta que mide la profundidad en lugar de usar directamente la altura de los sprites, asi que ahora se dibuja bien sin necesidad de agrandarlo
jsjsj
asi se ve con baja resolución
ya que tambien lo voy a implementar estoy regresando a arreglar el sistema de dibujo con matrices, hacer lo mismo que con el sistema de tiras ayudo mucho a que dibujara de manera correcta pero igualmente persisten unos errores importantes, sigo viendo el como solucionarlos pero de momento solo estos dos lados de los modelos se dibujan bien, avisare cuando descubra cual es el error
🍳 🐛
mas o menos esta quedando, en lugar de multiplicar el "z" de las matrices creo una copia que esta mas alejada, eso soluciono el error de uno de los lados, pero sigue fallando la parte de atras del modelo, pero creo que voy por buen camino
al final si quedo
jsjs
pero todavia falta una de las capas para poder dibujarlo de manera correcta en 360 grados en los 3 ejes
🍳 🐛
antes de gravar el video probé el sistema con un modelo grande, con los arreglos que le hice al sistema tuve que duplicar la cantidad de matrices por modelo pero igualmente a pesar del cambio sigue siendo extremadamente eficiente a la hora de dibujar el modelo en cualquier angulo, pero lo malo de esto es que antes tiene que "crear el modelo", cosa que lleva algo de tiempo, no es mucho pero lo suficiente como para detener el programa por 1 o 2 segundos con un modelo como este
tambien despues de los arreglos que hice todavia persisten unos errores menores en el dibujado(las franjas), aun que no son nada tan grave a mi parecer, probablemente tengan arreglo pero de momento toi mucansado
aqui esta la prueba junto con el otro sistema de tiras(el de la derecha), los errores son mas visibles con una resolución alta asi que los modelos exportados en 1:1 no deberían tener tantos
el nuevo es el de la izquierda por si acaso jsjs
🍲 🐛
Single stack
ya pero si me daras dulce o truco
la actu nunca c detuvo, ya logre que se pueda guardar una captura del modelo en 3d y en tiras, aparte de que también e estado probando y asegurándome de que no aparezca errores.
falta implementar el exportarlos rotando en cada modo, la ventana con las opciones de exportación y unas cositas mas
🍳 🐛
aun que todavía hace falta arreglar cosas relacionadas con la importación de modelos.
la verdad eso es lo que menos e probado, pero a simple vista solo tengo que volver a calcular unos cuantos valores de los otros modos cada que se importa un modelo nuevo
🔥 🐛 🔥
ya quedo la exportación de los modelos en 3d, lo malo es que dependiendo del modelo los errores al exportar se notan mas
Oe jinsen conocés una técnica llamada subpixelin?
Oko dame unos minutos ahora te paso un ejemplo
🐖
@covert adder es un técnica que simula un pixel mas pequeño que un pixel.
Se pued usar para suavizar animación.
Este juego se llama Dead cells y los personajes estan pre-renderizados en 3D con un filtró pixelart
Podrías usar esta técnica para qué esto se viera mas fluido :D
Busca un tutorial sobre sub pixelin en Youtube si quieres
ia veo, aún que no se q le aporta eso a los modelos, aparte de que no sabría cómo implementar eso
🐛
🫠ok
bueno ahora si de verdad los modelos se exportan de manera correcta de las 3 formas, falta hacer la ventana de exportar y una para activar y configurar las sombras de las tiras
Tal vez te convenga hacer que la resolución minima de los pixeles sea de 2x2, en 1x1 hay partes que se deforman en la rotación
pero en la diagonal
eso o quizas hay un problema con la función de renderizar
🤔
el problema es como se redondean los pixeles, ya que en ocacione al girar el sprites se ve parte de lo de atras, por eso en ocaciones se ve un pixel diferente sin razon, la verdad es que olvide arreglar eso, la solucion que aplico es dibujar x2 el modelo para despues escalarlo x1
supongo que todavia no termino la exportacion de los modelos

a vale
aunque este esta bien, yo decia mas que nada el diagonal
aplica lo mismo para el otro, se "redondea" lo que hay en ese pixel y por eso unas partes aparecen y desaparecen
ia quedo la configuración de la sombra q tienen las tiras, las tiras siguen siendo malas para visualizar el modelo pero al menos se le puede dar ese efecto de profundidad con las sombras
asis anda la ventana de exportacion normal, tambien tendría que hacer una especial para exportar el modelo en 3d
voy a reciclar código que hice para el otro programa y hacer que puedas elegir si los frames tienen un "suavisado" en la rotación
🐖
ñaños aquierta la prueba de como se veria un modelo exportado con diferentes tipo de suavizado con 16 frames, siono se ve bien chad?
🐖
los 3 son diferente namas que hay 2 que se parecen mucho
joder eso esta god
me acabo de dar cuenta que la exportacion normal del modelo girando c rompio
jsjsssj
hay un problema , final la ventana para exportar los modelos en 3d quedo muy grande, voy a quitarla y colocar entre las opciones una ventana que solo tenga los valores de la rotación "x" y "z" para modificar, asi la misma ventana sirve para exportar los 3 modelos
ñaños andaba bucando errores y encontré uno, todavia no identifico que es lo que esta pasando o porque pasa pero logre repetirlo 2 veces y ocurre cuando cambias entre modo de dibujado con la carga automatica, el modelo empieza a "perder capas" asta que ya no se dibuja, solo se arregla cerrando y abriendo el programa
sigo sin poder arreglar ese error, por ahora las cosas que podrian causarlo son los modelos grandes y la carga automatica
pues al final non encontré exactamente que lo causaba
xd
parece que es algo relacionado con que el modelo no se termine de cargar y a la vez la autocarga lo cargue de nuevo
o almenos esa es la impresion que me da
parece que encontre una solucion
y es agregar tiempo a la carga automatica al cambiar de modo de dibujo, asi da un poco mas de marguen a cargar la vercion anterioir
no es la mejor solucion pero de momento parece funcionar
seguire probando con modelos mas grandes para ver si continua funcionando
olvídenlo, no funciono
xd
asiendo aun mas pruebas parece que el problema si esta relacionado con la carga utomatica y los modelos grandes, y solo ocurre con las tiras y los modelos en 3d, parece que de manera espontanea simplemente los modelos deciden morirse, aun que cuando esto pasa si intentas cerrar el programa este tambien se muere
parece que al caragar los modelos ay un error que se acumula o algo asi
estoy cansado, no se que mas hacer
xd
¿probaste limpiar el screen antes de realizar la carga?
o mejor reiniciar la escena cada que se auto cargue
asi seria como si se hubiera acabado de abrir
si hago eso tendría que guardar las ventanas y ajustes que tiene el programa en ese momento, aun que pensando un poco en que podria estar causando el problema a lo mejor es que no se estan liberando de la memoria las "surfaces" que uso para dibujar los modelos, ni idea porque eso afectaria a que no se dibujen los modelos pero veré si ayuda en algo arreglar eso
🐖
parece que el problema si era eso, aun que el programa explota al intentar borrar las surfaces del modelo en 3d
🦧
asi que solo e probado con las tiras, y despues de dajar un rato que se anden cargando y descargando parece que el programa sigue funcionando con normalidad
revisaste que no hayan referencias abiertas a las partes que intentas borrar?
no te preocupes ñaño ya encontré el problema, no lo estaba haciendo en el orden correcto, aunque lo mismo intente con las tiras y funciono, pero por si acaso a esas tambien les cambie el orden y todo parece ir bien
voy a dejar el programa ejecutandose un rato pa ver si no se muere con el tiempo
buena ya hice una pequeña prueba dejando el programa abierto unos 20 minutos cargando 1024 surfaces por segundo y al terminar el programa seguia bien
🔥 🍳 🐛
no encontré ningún otro error(grave) aparte de ese asi que voy a empezar a preparar cosas para publicar la actualización
acabo de notar que las tiras dibujan el primer frame como el ultimo, asi que lo ignorare

ya publique la nueva vercion xd
tambien hice un nuevo trailer, no muestro nada pero almenos creo yo es mejor que el primero
no avise pero le subi el precio al programa, ahora cuesta 5 o mas, en lugar de 5 o menos
🦧
esooo
bueno voy a planear un poco lo siguiente a hacer para el programa, esto es mas un recordatorio para mi
después pues del lanzamiento de la 1.6 y probar el programa con calma los errores principales que note son
errores con la resolución y el zoom,
problemas al actualizar el modelo en 3d,
problemas de dibujo con el modelo en 3d,
problemas de rendimiento con el cargado de modelos con los 2 modos nuevos de dibujo,
la verdad es que no se como gestionar las actualizaciones, no se si sea buena idea estar de nuevo 5 meses trabajando en una actualizacion grande o subir de a poco las mejoras
de momento lo que tendría que hacer es :
corregir lo relacionado al modelo 3d
dibujar el modelo en una segunda cámara para solucionar lo del zoom
traer de nuevo el viejo sistema de dibujo frontal
mejorar la carga automática de los modelos
mejorar la exportación
corregir las ventanas
algun dia empezare, de momento me distraeré con otra cosa para descansar
🐖
como dices que muchos son errores siempre es mejor actualizar justo cuando lo arregles asi la gente puede probar y verirficar si esos bugs estan solucionados.
ya hicieron el single stack 2
I will show you how I made a 3d pixel art editor in gamemaker, lmk in the comments what is the craziest thing you have seen in gamemaker
PixelMage: https://drive.google.com/file/d/1pMHzTpwQzjSAEHlf7bu2HVMzela_1cPV/view?usp=sharing

@maiden bluff tu crees que debería implementar algo similar en el programa?
el hacer que puedas crear los modelos directamente desde el programa
para mi crear un editor lo suficientemente comodo y usable en el programa es dificil en terminos de que se entienda
ia veo
Ya e empezado a arreglar cositas, y estoy pensando en una nueva función que podría implementar, la idea es poder exportar las capas del modelo en vertical y horizontal, parecerían lo mismo pero en realidad la orientación de las capas de la diferentes características al modeló, por ejemplo: las capas verticales dan la ilusión de que el modelo rota en un eje "y" y las verticales en un eje "z"
Además es mas fácil hacer modelos altos con capas verticales, por lo que no tendrías que hacer de manera manual el cambio si quieres ver el modelo en un programa que no acepte modelos verticales
No es algo indispensable pero almenos estaría la opción para ahorrar tiempo si la necesitas