Mundos virtuales en 3D


Les presento un proyecto llamado FMXIsland realizado por Grégory Bersegeay (MVP Embarcadero Delphi Francia) que recrea un mundo virtual en 3D realizado con Firemonkey.

Grégory es todo un especialista en el desarrollo de videojuegos y tiene una gran cantidad de ejemplos y demos en su github

Incorpora un mapa que indica el punto en el que te encuentras, lo que es muy útil para orientarte dentro del mundo 3D. Me ha llamado la atención la simulación del movimiento de las olas del mar, que lo hace marcando la propiedad "ActiveWave" del componente tGBEPlaneExtended, también la gestión de colisiones con los objetos del mapa que está correctamente implementada.

Grégory ha realizado una suite de componentes llamada GBE3D, que deriva de los componentes originales de FMX que incorpora Delphi y que permite hacer una abstracción de la complejidad que siempre conlleva realizar el diseño de los paisajes y de los objetos que lo componen.

La suite de componentes GBE3D es necesario instalarla previamente para que se pueda compilar el programa, para ello la descargamos de github, Abrimos Delphi y desde el menú File - Open abrimos el archivo GBE3D.dproj y pulsamos con el botón derecho del ratón sobre GBE3D.bpl y activamos secuencialmente el menú "Compile", después "Build" y por último "Install"


Si la instalación ha sido exitosa en la paleta de componentes vermos unos cuantos nuevos:
TGBEHeightmap, TGBEGrass, TGBECubemap, TGBEViewport, TGBEClouds, etc...
 
Luego hay que añadir la ruta donde esté la librería GBE3D al entorno Delphi.
 
Desde el menú TOOLS - OPTIONS - Delphi - Library y según el entorno donde queramos ejecutar el programa (Win32, Win64, Android, IOS) le decimos que añada una nueva ruta:


Este proyecto se puede compilar con la edición gratuita de Delphi.

En las pruebas que he realizado el movimiento de la imagen es fluido y responde perfectamente a las pulsaciones del teclado.

- Flecha arriba: aumenta la velocidad

- Flecha abajo: disminuye la velocidad

- Escape: detiene el movimiento

- Flecha derecha: rota la imagen hacia la derecha

- Flecha izquierda: rota la imagen hacia la izquierda

 El proyecto muestra:

- cómo usar un mapa de alturas;
- ciclo día / noche;
- el usuario puede moverse y orientarse libremente;
- simulación de nubes;
- tomar captura de pantalla de TViewport3D;
- usar un mapa;
- ciudades iluminadas por la noche;
- detección de colisiones con obstáculos;
- sigue las asperezas del suelo;
- utilizar animaciones de Firemonkey;
- olas en el mar.

El juego no usa ningún módulo de Unity, está hecho desde cero íntegramente con Delphi. 

Estas son algunas de las pantallas del mundo en 3D


Página de github de FMXIsland

Para descargarlo pulsar el botón CODE y en el menú emergente seleccionar "Download.zip"

 

Página personal de Grégory Bersegeay

 


 


 


Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...