La tabla periódica. Editar prims y escribir sobre ellos

Voy a empezar a hacer modificaciones en objetos. Esto me llevará a aprender cómo editar objetos formados por varios prims y cómo escribir texto en ellos. Deberé utilizar el visor Imprudence, por motivos que explicaré más abajo.

En la web de Nebadon2025 tenemos esta tabla periódica de elementos químicos, que redirige a las páginas de Wikipedia de cada uno de ellos cuando se pulsa sobre su imagen. La he descargado en mi Orilla Virtual y he pensado en traducirla al español. Si consigo terminarla, tal y como su autor pide, contactaré con él para enviarle el archivo modificado.

EDITAR OBJETOS CON VARIOS PRIMS

Lo primero que he hecho ha sido desvincular todos los prims de la tabla, seleccionándola y pulsando Herramientas/Desenlazar. Así puedo trabajar con los prims por separado. La primera parte del trabajo es la más tediosa pero la más sencilla: cada prim de cada elemento químico tiene un script («webpage loader») que abre automáticamente la página web que hayamos puesto en la descripción del objeto (pestaña General), así que sólo tengo que sustituir la página de la Wikipedia inglesa de cada elemento por su equivalente de la Wikipedia en español. También traduzco el nombre, añadiéndole la abreviatura del elemento, que la tabla periódica original no indicaba:

Tabla periódica

Importante: para que el script funcione con la nueva web, habrá que reiniciarlo (botón «Reiniciar»). En mi caso, como quiero traducir la frase que se despliega antes de abrir la página («Would you like to go to…?»), al editar cada script se reinicia automáticamente. Si no reiniciamos ni editamos, el script seguirá cargando la Wikipedia en inglés.

ESCRIBIR SOBRE PRIMS

¿Cómo traducir las cartelas superior e inferior de la tabla periódica? La primera dice: «Periodic table of the chemical elements» y la segunda, «Click elements above for more information».

Averiguo que, para introducir texto en prims, hay que activar las OS Functions, que vienen desactivadas por defecto. Así que debo trabajar sólo en el visor Imprudence, ya que el de Second Life no reconoce estas funciones.

En primer lugar, abro el archivo OpenSim.ini con Wordpad y hago todas las modificaciones que señala la página «OSSL Enabling Functions» de OpenSimulator. Es importante eliminar sólo los puntos y coma que se indican aquí, ya que si eliminamos alguno de más, OpenSim no funcionará. Por eso también es fundamental guardar siempre una copia de OpenSim cuando vamos a hacer algún cambio importante en su código. Yo he tenido que volver muchísimas veces atrás desde que estoy descubriendo este programa, para deshacer cambios que no estaban correctos.

A continuación, creo un cubo y lo estiro a lo largo para tener espacio de escritura; en Editar / Contenido, creo un nuevo script, lo renombro (por ejemplo, «escribir») y lo abro para pegar en él el script de la página «OsDrawText» de OpenSimulator. Dentro de este script, la línea «Hello, world!» es el texto por defecto que nos indica dónde debemos poner el nuestro. Yo lo cambio por «Pulsa sobre cada elemento para obtener más información». Además de guardar el script, también pulso el botón «Reiniciar».

Escribir en prims

La frase se repite en todas las caras del prim y, como se ve, aparece cortada. Para que no aparezca cortada, dentro del script debemos modificar el ancho y largo de la textura, que aparece en «osSetDynamicTextureData». De 256×256 que aparece por defecto en el script que hemos tomado de OpenSimulator, cambiamos en principio a 512×512. Se ve ya toda la frase y cuanto más estiremos la altura del prim, mejor se leerá.

Ajustar la frase al prim

Lo malo es que si hacemos lo contrario, reducir la altura del prim para que crear una cartela pequeña que podamos añadir a la tabla periódica, la frase también se reducirá hasta desaparecer, ya que la frase está inserta como textura y ésta se adapta al tamaño del prim.

Pues bien, por lo que he podido ver, se trata de ir jugando con dos parámetros del script:

escribir en prims

El ya mencionado «osSetDynamicTextureData» indica, si no me equivoco, el tamaño de la textura. El largo («width») lo dejo en «512», pero el alto («height») lo modifico en múltiplos de «2». Finalmente lo establezco en «32».

«osMovePen» indica la posición de la frase dentro del prim: el primer «10» mueve la frase en horizontal (si pongo «20», la frase se desplaza hacia la derecha); el segundo 10 mueve la frase en vertical. Para los parámetros que he establecido en «osSetDynamicTextureData», debo reducir los dos «10» a «0»:

Adaptar la textura al prim

¿Cómo he conseguido cambiar el tipo y color de fuente? Para dar formato al texto (que por defecto aparece en Arial, 14), nos vamos a la página «Drawing commands» de OpenSimulator, donde tenemos la sección «Text Drawing Commands». Abrimos el script e introducimos los nuevos parámetros (tipo de letra, tamaño, color, propiedades como negrita y cursiva) en la primera línea de «Commandlist», la que viene precedida por la palabra «string». Los separamos con punto y coma:

Formateando el texto

Es muy sencillo hacer que el fondo de la textura sea transparente, pero más difícil es averiguarlo. En la línea de «osSetDynamicTextureData, dentro de «width:512, height:32», añado otra coma y escribo: «alpha:0». Ya puedo establecer el color blanco para la frase.

Textura con fondo transparente

¿Y cómo hacer que la frase aparezca sólo en una cara del prim? Sólo he encontrado una manera, pero tiene un fallo:

Editamos el prim y activamos «Elegir la cara». Todas las caras del prim mostrarán una especie de punto de mira. Pulsamos sobre una de ellas para que sólo ella muestre el punto de mira y en la pestaña de Textura elegiremos una textura blanca (o invislbe). Haremos lo mismo con todas las demás caras del prim en las que queremos que desaparezca la frase.

Textura en una sola cara

El fallo es que esto funciona si no se hacen más cambios en la frase. Si se vuelve a editar el script de la textura, curiosamente, se aplican los cambios precisamente en todas las caras en las que quería ocultarla, mientras que la cara que quería que fuera visible muestra la frase sin los nuevos cambios. Pero para ser la primera vez, creo que está bastante bien.

SUBIR IMÁGENES A OPENSIM

Ya sólo me falta la imagen central de la tabla, que da una pauta de clasificación de los elementos químicos. Hago un pantallazo y edito en Photoshop.

Clave de la tabla periódica

La guardo en formato .png y la subo como imagen en Archivo/Upload. Se archiva automáticamente en la carpeta de texturas, de donde podré tomarla para aplicarla a un prim. Tras varias pruebas he descubierto que, para que se incruste bien, cuando la guardo en .png debo darle unas medidas cuadradas (en este caso, 512×512): aunque la deforma, es la única manera de que, cuando la aplico como textura a un prim, se vea bien. No es aconsejable que supere los 512 px.

Aplicar imagen como textura

No entiendo por qué la imagen se ha quedado oscura, en comparación con la de la tabla original. Pero creo que para un día de trabajo, es mucho lo que he conseguido. Sobre todo teniendo en cuenta que parece que los novatos debemos aprender solos.

Ya tengo mi tabla periódica.

Tabla periódica

El siguiente paso es volver a enlazar todos los prims, activando primero Ctrl+3 para que se active la posibilidad de seleccionarlos. Es mejor hacerlo poco a poco, por grupos, porque si intentamos seleccionar todos a la vez podemos tener problemas debido al gran número de prims (278 en este caso). Otra ventaja del visor Imprudence: no hay límite para enlazar prims, o al menos permite enlazar más que el visor de Second Life, que tiene un límite de 256.

Guardamos el objeto en el inventario pulsando botón derecho y Tomar. Se nos guarda dentro de la carpeta Objetos, rara vez con un nombre que nos sirva, lo renombro con el botón derecho y lo arrastro hasta una carpeta que he creado expresamente para mi tabla periódica.

Para convertirla en un archivo IAR, voy a la consola y escribo lo siguiente.

save iar NOMBRE APELLIDO tabla_periodica/Tabla_periodica_espanol_v1.0 CONTRASEÑA Tabla_periodica_espanol_v1.0.iar

Lo que va entre el apellido y la contraseña es la ruta de mi carpeta dentro del inventario. Así, se crea un archivo IAR en el que irá la carpeta con el objeto en su interior. Si quisiera hacer un IAR sólo del objeto, tendría que añadir al final «/NOMBRE DEL OBJETO». El último elemento del código es el nombre que quiero darle al archivo cuando se guarde en mi ordenador.

Ya tengo el archivo IAR dentro de la carpeta /bin y puedo contactar con el autor de la tabla original para enviársela.

ACTUALIZACIÓN: Nebadon ha alojado el archivo en su servidor, utilizaré su enlace por el momento

O descargar a través de este enlace de Dropbox