Aleatoriedad

Preguntas y respuestas relacionadas con el desarrollo de videojuegos y aplicaciones 3D interactivas, usando Blender Game Engine.
Responder
FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Aleatoriedad

Mensaje por FRANJO » Dom Nov 08, 2015 6:13 am

¿Es posible en BGE que un objeto aparezca en diferente sitio cada vez que arranca el juego???

Intención: búsqueda de objetos, pero que no se sepa previamente donde están.

Seria necesario poder limitar la ubicación para que no se salga del entorno de búsqueda o establecer una serie de coordenadas (tabla) donde aleatoriamente podría estar.

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Dom Nov 08, 2015 7:32 am

Poder se puede..
No es nada fácil explicarlo pues entra en juego el mezclar diferentes bloques de lógica entre sí, pero poder, se puede.
Hay dos tipos de RANDOM
Hay uno en Sensores (Sensors) y otro en Actuadores (actuators).

La primera sería el activar el Random de Actuators (como ejemplo) desde un simple plano, y que al presionar una tecla (o cualquiere otro tipo de sensor) se active el random y le ponga una valor aleatorio.
Antes hay que `ponerle al plano una property de por ejemplo un Integer con valor cero.

Esto haría que se cambiaran los valores (del 1 al 9 en este caso), de la propiedad del plano.
Un vez tenemos estos valores, se tratarís de poner varios EMPTY en la escena, con una propiedad cada uno....
Luego sigo.
Adjuntos
plano01.jpg

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Dom Nov 08, 2015 7:40 am

Luego se trata de poner emptys en las zonas donde quieres que aparezca el objeto.
A cada empty se le pone una propiedad y un valor cero.
Y se añade un sensor de propiedad que al tener un cierto valor (en este caso para el primero el 1, para el segundoserá el 2, etc) se active el objeto (Edit Object < add object
Adjuntos
plano02.jpg

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Dom Nov 08, 2015 7:51 am

Y ahora la parte mas liosa, pues se trata de poner un sensor de tipo PROPERTY al PLANO donde se le indica que cuando el valor sea 1 le ponga un valor de 1 a la propiedad punto1 ( o sea que le pondrá el mismo valor que tenga (PLANO) y por lo tanto con un sensor de propiedad donde le pongamo que cuando su valor sea uno, añada el objeto a la escena ya tendremos configurada la primera parte, luego solo hay que repetir lo mismo en el empty segundo y con valor de propiedad 2, etc, etc.
Adjuntos
plano03.jpg

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Dom Nov 08, 2015 8:05 am

Blend
Hay que presionar la barra espaciadora varias veces..
He puesto el valor del aleatorio de 1 a 5 por lo que en pocos clics tendría que salir todos los objeto.
Les he puesto un valor de vida de 120 (dos segundos) y luego ya desaparecen.
Una vez que han salido y desaparecido ya no vuelve a cargar el mismo,
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]


FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Re: Aleatoriedad

Mensaje por FRANJO » Dom Nov 08, 2015 9:37 am

Muchas gracias. Es espectacular y muy complicado.

Yo en mi parco conocimiento había intentado por otro medio: un objeto se mueve aleatoriamente al inicio del juego, lo hace siempre diferente pero no he sabido como detenerlo, si esta función se pudiera hacerla funcionar por un tiempo limitado el objeto quedaría siempre en un sitio diferente al inicio del programa.
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]

Última edición por FRANJO el Dom Nov 08, 2015 10:04 am, editado 1 vez en total.

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Dom Nov 08, 2015 10:03 am

Con un DELAY que le puedes poner a cada movimiento e indicandole los segundos que tiene que durar..
60 delays son un segundo
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]


FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Re: Aleatoriedad

Mensaje por FRANJO » Dom Nov 08, 2015 10:10 am

Gracias, muy bueno, Asi queda mucho mas sencillo, no hay que tocar ninguna tecla, y el solo se ubica en el entorno, ahora hay que jugar con los desplazamientos para que quede dentro del espacio previsto.

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Aleatoriedad

Mensaje por juani » Dom Nov 08, 2015 5:24 pm

Buenas, no te compliques con los desplazamientos, haz el cubo dinamic y selecciona las aristas del plano y las extruyes en el eje z, así el cubo no se saldrá de la escena.Por cierto al extruir las cuatro aristas, estas crearán una cara, la seleccionas y la eliminas pulsando x faces.

Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Dom Nov 08, 2015 5:26 pm

juani escribió:Buenas, no te compliques con los desplazamientos, haz el cubo dinamic y selecciona las aristas del plano y las extruyes en el eje z, así el cubo no se saldrá de la escena.Por cierto al extruir las cuatro aristas, estas crearán una cara, la seleccionas y la eliminas pulsando x faces.
No creo que le funcione así... seguramente las traspasará.

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Aleatoriedad

Mensaje por juani » Dom Nov 08, 2015 5:32 pm

Buenas Soliman, he probado lo que habeis hecho y con el cubo dinamico funciona bien.
Saludos

FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Re: Aleatoriedad

Mensaje por FRANJO » Dom Nov 08, 2015 5:33 pm

Eso ya lo hice, pero hay un pequeño problema si los desplazamientos son muy grandes 0.45 o mas de x e y, el objeto atraviesa todo lo que le pongas delante, hace caso omiso de la opción dinamic y no respeta las colisiones, es extraño. Si los desplazamientos son del menos de 0.40 parece que respeta las colisiones. Valores con los que funciona sin atravesar ningún objeto +- 0.35 para x , +- 0.35 para y, la frecuencia a 15.
Última edición por FRANJO el Dom Nov 08, 2015 6:36 pm, editado 1 vez en total.

juani
Mensajes: 158
Registrado: Mié Oct 28, 2015 1:34 am
Nombre: Juan Antonio Sanchez Flores

Re: Aleatoriedad

Mensaje por juani » Dom Nov 08, 2015 5:51 pm

Yo le he hecho en el blend que has mandado tu y el el de Soliman y me va bien, no le pongas colisiones. Solo selecciona el cubo y lo pones dinamic no selecciones colission bounds.
Ha de ser dinamic para que no tenga rotaciones.

FRANJO
Mensajes: 92
Registrado: Mié Ene 21, 2015 7:03 am
Nombre: FRANCISCO JOSE

Re: Aleatoriedad

Mensaje por FRANJO » Sab Nov 21, 2015 5:32 am

Bueno después de muchas pruebas, y con problemas de escape del entorno, que no se porque a veces lo hace bien en otras salta las vallas, o se mete en el interior de objetos que hay en el juego, he encontrado otra manera sencilla de hacer aparecer aleatoriamente un objeto, aun así surge un problema y es que aunque el objeto quede invisible a efectos de colisiones o iteraciones permanece con lo que hay que añadir un desplazamiento para que quede fuera del entorno. He intentado hacerlo editando objeto pero no me ha funcionado correctamente. Los objetos aparecen siempre en el mismo sitio, se podría también añadir algún pequeño movimiento pero no lo veo muy efectivo por lo dicho anteriormente. Lo dejo para si le sirve a alguien en algún juego lo pueda utilizar. He añadido un contador de objetos activos.
Adjuntos

[La extensión blend ha sido desactivada y no se mostrará en adelante]


Avatar de Usuario
soliman
Mensajes: 5501
Registrado: Jue Sep 01, 2005 1:13 pm
Nombre: soliman
Contactar:

Re: Aleatoriedad

Mensaje por soliman » Sab Nov 21, 2015 7:50 am

Descargado.. y luego lo miro, que ahora estoy a tope.
Saludos

Responder