¿Cómo edito escenarios en Flighgear?

¡Trabajadores!

Los logros del Justicialismo han de defenderse con todas las armas, y en todos los terrenos que sean propicios para la acción.

En el mundo del Software Libre bien podemos hacerlo en toda hora y en todo lugar, pues toda acción que se emprenda utilizando y difundiendo el Software Libre es una acción realizada bajo el justicialista paradigma de "Combatir al Capital".

Indudablemente que Flightgear es el simulador de vuelo libre, por lo cual es la herramienta ideal para aprender a volar o simular un vuelo sin gastar una chirola. La instalación "pelada" de este simulador trae un escenario limitado a la bahía de San Francisco y poco más, pero ya he enseñado cómo instalar una versión más completa a partir de una grilla mundial. Gracias a ella y a su programación modular, podremos instalar mapas detallados de todos los EE.UU. y de gran parte de Europa Occidental. Asimismo, tendremos un nivel de detalle bastante aceptable para la Argentina.

Esto se debe a que el simulador de vuelo Flightgear cuenta con el módulo TerraSync, el cual hace uso de servidores públicos y datos de OpenStreetMap y otros sitios libres con el fin de mejorar las grillas de terreno local. Ellas se descargan activando la opción TerraSync al iniciar el simulador (puede tardar unos segundos o varios minutos, dependiendo si teníamos instalado dicho escenario previamente).

La característica TerraSync también hace uso de la edición de terrenos por parte de una Comunidad Organizada de voluntarios, capaces de mejorar y hermosear los entornos de vuelo. Esta acción Justicialista está avalada por FlightGear, y es una en la que hemos de hacernos peritos.

Para la Argentina podremos querer completar aún más los datos ofrecidos por TerraSync, y además compartirlos con la Comunidad de Pilotos Virtuales de Flightgear

Me han preguntado en numerosas ocasiones cómo hacer tal procedimiento de Justicia Social, y si bien no es excesivamente difícil, cierto es que podremos perdernos si no lo hacemos con un Conductor que oficie de guía. Es por ello que os indicaré secretos y recomendaciones para llegar a un buen aterrizaje con la edición de los escenarios que deseen.

Han de saber que para editar escenarios en Flight Gear debemos emplear el "UFO", un plato volador peronista. Este aparato alienígena está preparado para "colocar" objetos en el mapa 3D de Flight Gear de manera más sencilla que el método antiguo de disponer el objeto, coordenadas, y demás parámetros en un tedioso archivo .XML


Un ejemplo suele aclararlo todo, como decía Napoleón. En esta clase práctica, os indicaré cómo editar un escenario consistente en un aeroclub, con lo cual ustedes podrán replicar otros que conozcan en sus cercanías, o que deseen replicar virtualmente.

Imaginemos que queremos editar el "Aeroclub Enea M. Mozzi" de San Pedro (SA89). Se trata de un típico aeroclub bonaerense, situado unos 5 kilómetros al sudoeste de dicha ciudad. Opera en un campo de 108 hectáreas con dos pistas de pasto cruzado de 940 x 23 Mts., una de ellas con balizamiento eléctrico. Entre las instalaciones que ostenta la orgullosa y pequeña institución se encuentran dos hangares con una capacidad de 6 aviones cada uno, taller de mantenimiento, edificio con oficina, sala de pilotos, cocina, salón comedor calefaccionado con capacidad para 200 personas, y proveduría de naftas de aviación de 100 y 95 octanos. Además, se presenta una amplia zona de esparcimiento parquizada, cancha de paddle, zona de camping iluminada, servicio de cantina, baños con agua caliente.
Lo primero documentarnos al respecto del terreno, su orografía, carreteras, y sobre todo, la disposición de los elementos internos en el aeródromo. Para ello podremos usar fotografías, y también encontrar la "cruz de pasto" del aeródromo SA8H en una visual aérea de la zona al sudoeste de San Pedro. Esto es muy sencillo conociendo donde está y utilizando la aplicación GoogleEarth para Linux. También podríamos emplear la web de mapas oficiales de Flightgear (que cuenta con capa de visión satelital), o buscar sus coordenadas en los sitios adecuados.



Luego activamos el Lanzador de Flightgear desde Aplicaciones / Juegos / Flightgear Launch Control. Es importante utilizar este programa (llamado fgrun) en lugar del lanzador común de Flightgear, pues este nos presentará una consola terminal necesaria para editar los archivos.

Se abrirá el lanzador Flightgear Wizard. Elegimos el avión escogemos el UFO (si no lo tuviésemos ya instalado, lo descargamos desde el Hangar Virtual de Flightgear), y presionamos Siguiente.

 ...y como aeródromo de origen elegimos San Pedro (código ICAO SA89).
...presionamos el botón Siguiente y a continuación, el botón Volar.

Se abrirá el simulador y nos localizará pegados a la tierra. El UFO u OVNI es capaz de volar como un avión, pero a una velocidad peronista de hasta Mach 3. Asimismo, es capaz de operar a muy baja velocidad y quedar suspendido en el aire sin gastar una gota de combustible.

Lo volamos como un avión común acelerando suavemente y desplazandonos en los tres ejes. En este caso, despegamos desde el aeródromo San Pedro y lo colocamos en una posición aproximada a la de la vista de referencia de Google Earth. Con el control de vista (presionando el botón derecho del mouse mismo y arrastrándolo) podremos girar la visual si así lo deseamos. Si no, podremos reorientar la visual "volando el OVNI" a baja velocidad.

Una vez que tengamos la visual en un lugar por encima del aeródromo y que nos hayamos orientado con las autopistas, rutas, ciudades y otros puntos de referencia, podremos comenzar a incorporar objetos para hermosear el campo aéreo y los alrededores sanpedrinos. Todo ello lo haremos basándonos en la realidad. No debemos agregar objetos "que no existen".

Presionamos la Barra Espaciadora para activar el Selector de Objetos y la tecla = ("Igual") para activar el corrector de posición de los objetos.
El Selector de Objetos es una lista que nos permitirá elegir uno entre una miríada de objetos 3D (modelos). Una vez elegido un modelo 3D podremos emplearlo para poblar nuestros escenarios. Los objetos se encuentran divididos alfabéticamente en distintas cataegorías:

    Agriculture (objetos campestres)
    Aircraft (Aviones)
    Airport (objetos de aeródromos, aeropuertos, hangares, edificios aeronáuticos, instalaciones, etc).
    Boundaries (bordes, paredes, cercas, alambrados, ligustros y accesos a los mismos).
    Civilian: Objetos genéricos, monumentos, y gubernamentales.
    Commercial (zonas y edificios comerciales)
    Communications (plantas transmisoras y distintos tipos de antenas, radares, etc).
    Effects (efectos)
    Fauna (animales que podemos localizar en tierra)
    Industrial (fábricas, tanques, instalaciones de trabajo)
    Maritime (buques, barcos, yates, marinas e instalaciones relacionadas)
    Military (elementos relacionados con las fuerzas armadas)
    Power (plantas eléctricas, nucleares, eólicas y solares, y líneas de transmisión de alta, mediana y baja tensión)
    Residential (edificios, casas, y zonas edificadas de distinto tipo y tamaño).
    Sport (estadios, canchas, instalaciones deportivas)
    StreetForniture (objetos de calles, puentes, semáforos, estaciones, etc).
    Transport: Vehículos de todo tipo e instalaciones relacionadas.
    Trees: Distintos tipos de árboles y formaciones de árboles.
    Weather: efectos climáticos y nubes. No utilizar.

Debemos seleccionar un objeto, preferiblemente debemos buscar aquellos con extensión .xml, y en segundo lugar uno de extensión .ac. Por ejemplo, entre los objetos más comunes para disponer como referencia de vuelo en la pampa húmeda se encuentran las líneas de árboles. buscamos el objeto Trees/line_trees.xml.

Para disponer una línea de árboles en el mapa, hacemos clic sobre el lugar donde lo queremos. Aparecerá una linea de unos 100 metros de árboles altos.

Si quisiéramos eliminar este objeto, podremos presionar la tecla borrar. Si quisiera borrar un objeto ya indicado, puedo crear un objeto cualquiera al lado del objeto que deseo borrar, luego presionar la tecla Borrar y el objeto nuevo se eliminará, y se seleccionará automáticamente el objeto cercano (parpadeará en el editor). Para borrar dicho objeto puede presionar también Borrar.
Con la ventana de Corrector de objetos podremos ajustar la disposición de los modelos 3D tanto en longitud (rojo) como en latitud (verde), y corrigiéndolo con los botones >> o > (cambios grandes o pequeños). Asimismo, usando el deslizador de ajuste fino podremos disponer su posición exacta en el plano. Usando la variable amarilla "heading" ("rumbo") podremos rotar y orientar el objeto en el sentido deseado. Los ajustes de Altitud, Cabeceo, y Ladeo no son necesarios.

También podremos consultar el resto de los comandos del OVNI presionando F10 y eligiendo el menú UFO / Help (?).

Si volamos con el OVNI a una posición cercana podremos colocar árboles individuales fácilmente, como si de una maqueta se tratara. Naturalmente que en el aeródromo la categoría más importante es Airport, donde se encuentra una gran variedad de hangares y otros objetos pertinentes. En este caso, escojo los hangares rurales de chapa zincada característicos de San Pedro, y un edificio para la sede social. Los oriento y localizo en el lugar que corresponde según las fotografías del aeródromo. Lo mismo hacemos con los surtidores de nafta, balizas, indicadores, postes de luz, y demás objetos que encontremos en las fotografías de referencias. Seamos prolijos con la rotación de los modelos, orientándolos adecuadamente según las referencias.

En la categoría Aircraft tomo un planeador ASK21 (Aircraft/ask21-low-poly-blue.xml) y lo pongo en la zona de pasto, así como un par de ultralivianos (Aircraft/Ulm_Red.ac), y porqué no, un par de avionetas Cessna y Piper. Estos aviones son fijos, pero sirven para completar un bello aeródromo provincial.

Una vez que tenemos todo como deseamos, consultando la imaginería satelital podremos agregar algunas de las famosas plantaciones de árboles frutales de la zona, que sirven de referencia para volar los circuitos alrededor de las pistas de pasto, con el objeto Trees/large_plantation.xml, localizándolas en los lugares adecuados. Para los clásicos montes de eucaliptus que abundan en la provincia de Buenos Aires (y constituyen una miríada de zonas forestadas artificialmente) se puede utilizar el objeto Trees/egkk_woods.xml, que nos presentará una mancha verde de unos 50x50m y que podremos emplear para simular dichos parches arbolados. Son muy útiles como referencia visual lejana.

Podremos también disponer el objeto Agriculture/ChickenBarn_140x15m.ac para los consabidos criaderos de pollos, abundantes en esta región y utilizados como referencia indubitable para el vuelo visual.

Existe la posibilidad de plantear grandes áreas suburbanas en el caso de que no estén indicadas en el mapa simple. Con el objeto Residential/suburban-area.xml podremos localizar un área suburbana de unos 250x250 metros. Con el objeto Residential/zone_maisons_long.xml, podremos en tanto agregar algunas zonas de casas, ideales para representar parajes y pequeños barrios. El objeto Residential/zone_maisons_grd.xml puede servirnos para barrios mayores, pues presenta unos 200x200m de zona semiurbanizada.


Una vez que agregamos todo lo deseado y estemos satisfechos, presionamos la tecla "d" minúscula. Esto aparentemente no hará nada, pero realmente se volcarán todos los objetos en una gran lista dentro de la Consola de Flightgear. Es importante no olvidar este paso final para concluir la edición. Conforme lo hayamos realizado, podremos conmutar a la Consola de Flightgear con Alt+Tab, o eventualmente también podríamos querer salir del simulador Flightgear (F10 / Archivo / Salir).

El paso importante consiste en conmutar a la ventana de la Consola de Flightgear (con Alt+Tab), y seleccionar todo el texto de los objetos que hemos incorporado. y lo copiemos presionando Ctrl+c. Distinguiremos fácilmente lo que debemos copiar pues el volcado comienza con una línea de guiones ("-----"), y luego, tras un signo numeral ("#"), indica una latitud, longitud, y un archivo de grilla con extensión .stg (por ejemplo en el caso del SA89 dirá: # w060s40/w060s34/1969681.stg). A continuación nos indicará los objetos propiamente dichos, todos encabezados por una cadena "OBJECT SHARED". Puede que existan varios de estos archivos de grilla si la zona que hemos editado es ,uy amplia. En este caso de ejemplo sólo contiene el archivo de grilla para San Pedro, el ya mencionado w060s40/w060s34/1969681.stg
Una vez copiado el contenido, abrimos un editor de texto cualquiera (podemos usar Gedit, Pluma, o nuestro editor de texto sin formato favorito) y pegamos dicho contenido con Ctrl+v. Luego guardaremos el archivo con un nombre simple de identificar, por ejemplo "zona san pedro.txt".

Podremos incorporar dichos datos a nuestro simulador de vuelo para poder volar ahora con dichos objetos. Para ello debemos editar los archivos de grillas descargados por el módulo TerraSync. Para ello hemos de abrir una terminal con Ctrl+Alt+T e ingresar:

cd ~/.fgfs/TerraSync/Terrain/

Y luego debemos incorporar los objetos de las grillas que nos solicite, en este caso de ejemplo, usaremos el editor GNU Nano para agregar los objetos listados al archivo de la grilla correspondiente. En este caso utilizaríamos:

nano w060s40/w060s34/1969681.stg

Se abrirá un archivo que, como contiene ya el aeródromo "pelado" de San Pedro, el SA89, podría contener las siguientes líneas:

OBJECT_BASE 1969681.btg
OBJECT SA89.btg
OBJECT_SHARED Models/Airport/windsock_lit.xml -59.726411 -33.707641 31.8 0.00
OBJECT_SHARED Models/Airport/windsock_lit.xml -59.729592 -33.702259 30.2 0.00
OBJECT_SHARED Models/Airport/windsock_lit.xml -59.720964 -33.704408 30.5 0.00
OBJECT_SHARED Models/Airport/windsock_lit.xml -59.724145 -33.699026 29.5 0.00

...estas representan el escenario de base y sus mangas de viento, no debemos modificarlas. Le pegamos a continuación los objetos OBJECT_SHARED que agregamos con el OVNI y que se encuentran en el archivo "zona san pedro.txt" que acabamos de guardar. Tengamos en cuenta que no debemos agregarle la linea de latitud/longitud (en este caso # w060s40/w060s34/1969681.stg) pues este consiste simplemente en un indicador del archivo de grilla en el cual debemos incorporar dichos datos.

Conforme guardemos dicho archivo, podremos abrir nuevamente el simulador Flightgear, desactivar el módulo TerraSync (para evitar que se reemplace el archivo modificado por uno original vacío). Ahora podremos elegir un avión distinto y el aeródromo San Pedro SA89. Si todo va bien, ahora el simulador arrancará y nos permitirá volar en el escenario modificado por nosotros mismos.
Una vez que estamos satisfechos con nuestro propio escenario editado, podremos compartirlo con el resto de la Comunidad Organizada. Podremos incorporar masivamente hasta 100 objetos por día al Mapa del mundo Flightgear, el TerraSync. Para ello nos dirigimos a la web oficial de escenarios, y elegimos la opción Contribute / Massive Import of Objects ("Contribuir / Importación Masiva de Objetos").

Debemos pegar hasta 100 (cien) líneas "OBJECT_SHARED" y proveer un correo electrónico. Una vez indicadas, debemos presionar el botón Submit Mass Import.

El envío de objetos será verificado automáticamente para ver si todos los objetos están disponibles.

En el caso de que algún objeto no esté disponible en la base de datos oficial, será numerado, listado e indicado en rojo y rechazado (habremos de volver atrás y eliminar la(s) línea(s) que hace(n) referencia al/los objeto/s en cuestión). Una vez que todos los objetos estén en verde, podremos enviarlos al servidor de escenarios TerraSync presionando el botón Submit Objects.


Los envíos masivos suelen autorizarse una vez por día, y luego de algunos días suelen aparecer en los repositorios oficiales de TerraSync de manera que todos los usuarios podrán visualizar nuestras ediciones. Cuando ello suceda, podremos ver los indicadores individuales de los objetos que hemos ingresados marcados en rojo en el mapa de TerraSync:
Con un poco de acción cooperativa, pericia, paciencia, podremos editar y mejorar nuestros aeródromos locales y sus alrededores para lograr una experiencia de vuelo virtual Justicialista y más interesante.