Tontadas y pamplinas + Otras dudas

Started by Futu-block, August 19, 2016, 01:28:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

A eso le veo lógica, aunque no entienda de rendimientos, controladores ni módulos, si la respuesta al id es afirmativa entonces no hay reacción por consiguiente no trabaja, y si no trabaja no rinde, no consume o no gasta, como queráis decir

Total y resumiendo, que para un pc de media con Pentium 4, que hoy en día se que da muy muy corto pero podemos tomarlo de base; aplicarle un módulo o dos IFS apenas va a notarse la diferencia

SplinterGU

hay diferencia, no se si apenas se notaria, yo probe en un i7, quizas en un p4 la diferencia sea mayor.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

No me acuerdo de los números exactos, pero te aseguro que forzando el if Y la suma, los tiempos eran bastantes parecidos.
Además, insisto en que los dos códigos que planteas del módulo y de los dos IF no son lo mismo. Si quieres una equivalencia perfecta sería entre:
angle = angle % 360000
y
if (angle >= 360000) angle -= 360000 end
if (angle <= -360000) angle += 360000 end

Porque repido, el módulo devuelve valores negativos y los ifs como los había planteado yo, no :D

La equivalencia correcta sería:
angle = angle % 360000
if (angle < -0) angle += 360000 end

y
if (angle >= 360000) angle -= 360000 end
if (angle < 0) angle += 360000 end


Y estoy seguro de que en este caso es más rápido sin el módulo... ¡pero leches! Estamos hablando de una diferencia de 1/10 parte de lo que duran dos instrucciones. Ni en una calculadora de reloj íbamos a notar la diferencia :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

exacto.

el punto fue que futu, dijo que le gustaria poder usar algo al estilo angle %= 360. y la respues, pues que si, que puede usarlo. despues se armo todo el rollo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

Cierto, no estamos en los 90 y no hay que limitar memoria para nada ;)

Otra y creo que un poquito mas dificil...
·¿Se puede espejar en angulo?

Resulta que sigo con mi proyecto de muñecotes, ya he conseguido que gire el brazo y que la mano le siga, pero en el momento de hacerle el espejo del brazo me gustaría que la mano siguiera en la misma posición...

vamos, no se si me entendeis pero pongo un ejemplo:

Futu-block




segun un write_var que le hago,

if (angle >= 360000;) angle -= 360000 end
if (angle < 0) angle += 360000; end


Este me dá errores, no redondea bien, y este me da una lectura mas exacta:

angle = angle % 360000
if (angle < -0) angle += 360000 end


pero ya digo, en el write_var

Futu-block

Otra, ya que no sabeis la de los angulos y le estoy buscando otro remedio... (porque veo que no se puede como yo quiero)

-¿Que información se les puede ''agregar'' a las imagenes?
Me refiero, en un fpg tu puedes ponerle a cada imagen el punto de control, o incluso mas puntos, pero no se como pasar de un punto a otro. ¿tambien se le puede poner anotaciones que despues puedes usar como datos? Por ejemplo unas constantes que desde el programa pregunte segun la variable tome una u otra.

¿esto tambien se puede hacer con las imagenes png? es decir, si hay alguna forma de que tengan una información extra que pueda yo usar despues

Erkosone

SEgun el croquis que has puesto, desde donde espeja hasta donde deberia espejar hay unos -90º de diferencia, restaselos haber que te da no?

Futu-block

yo lo hago con flags, pero lo que hace es me invierte totalmente los resultados, el brazo del robot me gira en dirección contraria cuando le aplico el flags, asi que no hay que trabajar con el flags

Drumpi

Yo no termino de entender el problema que tienes con el espejado... Es más, no sé para qué quieres hacer el espejado en ese caso :D

Respecto a los puntos de control, get_point y get_real_point tienen un parámetro que es el número del punto de control, así puedes pasar de uno a otro. Como poder, puedes almacenar más información, porque hay un par de campos que no se suelen usar, pero que están ahí, que son el nombre del gráfico y una pequela descripción. Son dos strings, de no recuerdo qué tamaño, pero la pega es que no puedes leerlos con funciones de Bennu, tienes que aprender a usar FREAD y cómo se guardan los datos en un FPG/MAP para hacerlo.
En los PNG no puedes guardar más info que la que tiene el formato PNG. En realidad dicho formato tiene tropecientos campos de cabecera (incluyendo autor, coordenadas de la foto, fecha de la foto, marca de la cámara...) pero desde Bennu no se pueden leer. Lo bueno es que al cargarlos se transforman en MAP y admiten puntos de control, paletas, etc.

Si quieres almacenar info extra, te las vas a tener que ingeniar: o usas los puntos de control, o usas un fichero secundario, o te creas tu propio formato de imágenes.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

Es que como está el pico 8 que los archivos de sus juegos es una imagen Png decía yo que si podia hacerse en bennu, ya veo que no.
Lo del Archivo secundario ya lo tenia previsto pero claro, habrá de ser oculto o algo para que no se borre accidentalmente

FreeYourMind

tambien puedes asociar informacion a las imagenes de un fpg por codigo, te creas una funcion que lo haga y haces la equivalencia por id de imagen

SplinterGU

Quote from: Futu-block on January 24, 2018, 08:50:38 PM
yo lo hago con flags, pero lo que hace es me invierte totalmente los resultados, el brazo del robot me gira en dirección contraria cuando le aplico el flags, asi que no hay que trabajar con el flags

programa de ejemplo?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

Enga vá...

Teneis que darle a brazo 1, entonces al girar la rueda del raton, gira el brazo y la mano, cuando le das a los iconos del brazo mas encogido que pone angulo, cambia el grafico y por ende la distancia de la mano con respecto al hombro, que es la mejor opción que se me ocurrió. Sin embargo si le das a 0 (cero) es cuando el espejado actua con el flags, que me lo trastoca todo

En un momento dao no me iportaría cargar otro grafico u otra vez el grafico en la posición correcta, ya sabeis, en este programa lo importante es el resultado que ha de ''imprimirse'' en una imagen nueva para luego hacer un collage

SplinterGU

Quote from: Futu-block on January 25, 2018, 03:06:53 PM
Enga vá...

Teneis que darle a brazo 1, entonces al girar la rueda del raton, gira el brazo y la mano, cuando le das a los iconos del brazo mas encogido que pone angulo, cambia el grafico y por ende la distancia de la mano con respecto al hombro, que es la mejor opción que se me ocurrió. Sin embargo si le das a 0 (cero) es cuando el espejado actua con el flags, que me lo trastoca todo

En un momento dao no me iportaría cargar otro grafico u otra vez el grafico en la posición correcta, ya sabeis, en este programa lo importante es el resultado que ha de ''imprimirse'' en una imagen nueva para luego hacer un collage

tu sample es un lujo...

por otro lado, varias cosas que corregir

1) debes usar flag = 3, en lugar de flag = 2
2) cada grafico al menos debe tener 2 puntos de control (las extremidades), 1 punto de control que sea el centro y otro punto de control que sea la union de otra extremdidad, en la otra extremidad tenes que poner las coordendas en base a real_point del punto de control de pather.
esto es, en el brazo tiene 2 puntos, el centro que es el hombro (que es su eje), y un punto de control en la mano, ese punto de control es la referencia que debe tomar en cada frame el grafico mano.
3) los graficos de mano deberian tomar el flag del padre

con eso deberia estar solucionado el asunto, podes ver el fuente para la crap que hice de resident evil, ahi esta hecho lo que queres hacer (o similar)

estaria bueno, una opcion para transparentar o poner en no visible ciertas partes del muñeco, por ejemplo, el cuerpo, asi se ven bien los brazos y otra opcion de sincronizar movimientos entre miembros (por ejemplo, los brazos, asi cuando cambiamos el angulo de uno cambien los 2 para poder ver el efecto bien)

lindo tu ejemplo, un lujo
Download Lastest BennuGD Release: http://www.bennugd.org/node/2