Descripción rápida.

Bienvenido al blog de "The Minerva Project"!
¿Qué es Minerva? Minerva es una herramienta que facilita la creación de aplicaciones de realidad aumentada, sin requerir un conocimiento profundo en la materia. ¡Simplemente dile a Minerva qué quieres que haga tu aplicación, y ella hará todo el trabajo!

viernes, 4 de marzo de 2011

Sistemas SCA

Minerva basa la especificación de la lógica de la aplicación en los sistemas SCA.

¿Qué es un sistema SCA?

Los sistemas SCA se basan en la utilización de tres tipos básicos de objetos: los Sensores, los Controladores y los Actuadores. Para quien esté familiarizado con el uso de la suite Blender, y más particularmente con su Game Engine integrado, sabrán a lo que me refiero.

Veamos el siguiente ejemplo para entenderlo mejor:

>Imaginemos que queremos hacer una aplicación donde queremos que, cuando se pulse la tecla de Escape, se cierre (una aplicación muy sencilla a todas luces). En vez de utilizar librerías como SDL para detectar la pulsación de teclas y demás, en Minerva se haría de la siguiente forma:

1. Declaramos un MAO (un objeto en minerva) que contenga los MLB (sensores, controladores y actuadores). En nuestro ejemplo vamos a declarar un MAORenderable3DTeapot, que es una taza en 3D. Utilizamos este por ser muy simple de declarar.

2. Declaramos un sensor que se active cuando se pulse la tecla Escape. Este tipo de sensor en Minerva se denomina MSLSensorKeyboard, y le especificamos que sea la tecla que queremos.

3. Declaramos un controlador de tipo AND. Este controlador se activará siempre y cuando todas sus entradas estén activas. En Minerva se denomina MSLControllerAND.

4. Declaramos un actuador para que cierre la aplicación. En Minerva este actuador se denomina MSLActuatorQuitApp.

4. Finalmente conectamos el sensor al controlador, y este al actuador. Ya está hecha nuestra aplicación. En código MSL sería como sigue:

MAOWorld simple_app{
MAORenderable3DTeapot taza{
size = 1.0
reference = Null

MSLKeyboardSensor key_esc{
type = "KEYDOWN"
key = "ESCAPE"
}

MSLControllerAND and1

MSLActuatorQuitApp quitApp{}

key_esc -> and1 -> quitApp
}
}

Y ya está, sin compilar. Por supuesto, Minerva ofrece un variado repertorio de objetos MLB, además de simulaciones físicas, sombras, scripting en Python, propiedades dinámicas para los MAO...

1 comentario: