Pulsar Project : Visualizar Texto en un Prim
Visualizar Texto dentro de objeto (también llamado Prim) dentro de un mundo virtual como Second Life parecería fácil, desafortunadamente no existen funciones que permitan escribir directamente texto sobre un objeto y no existe forma de cargar una textura generada dinamicamente con el contenido texto, tampoco existe una forma de generar la imagen de forma externa y cargarla directamente dentro del objeto; por este motivo mucho del contenido encontrado dentro de los mundos virtuales son imágenes con el texto a visualizar que son generadas con editores de imagen y que son subidas al simulador de Second Life por $10 Lindens cada una, pero afortunadamente existe una forma de visualizar texto dentro de un objeto en Second Life.
Algunas Formas :
- Un letra por Objeto :
Crear una textura (imagen de 512x512 pixeles) con los caracteres del abacedario a utilizar en la fuente a utilizar, se pueden crear una textura mas grande si el conjunto de letras es muy extenso o varias texturas con diferentes conjuntos de letras, como también se pueden crear texturas por cada fuente a utilizar aunque se recomienda utilizar fuentes donde los caracteres tengan las mismas dimensiones ya que todos aparecerán dentro de objetos del mismo tamaño que conforma el mensaje a utilizar. Luego se debe crear un script que asigne a cada objeto la letra que se quiere visualizar, calculado su posición dentro de la textura y aplicarla al objeto. Lo malo de esta estrategia es que para mostrar el mensaje "Hola Mundo" se necesitarían diez objetos para la construcción del visor, así que si queremos un tablero de 180 caracteres debemos tener 180 objetos lo cual es una gran cantidad debido a que este recurso es limitado y degrada el desempeño del servidor del mundo virtual. - Una Letra por Lado del Objeto :
Esta estrategia permite colocar varias letras dentro del mismo objeto, esto se logra tomando el objeto cubo que tiene seis caras (en cada cara se puede colocar una textura diferente) y aplanando este, para que por un lado se puedan ver hasta cinco texturas, esto se logra deformando el cubo con las herramientas de edición, una vez que tenemos el cubo podemos colocar un carácter en cada cara, logrando tener un máximo de cinco caracteres por cada objeto, de esta manera podemos colocar el mensaje "Hola Mundo" utilizando dos objetos lo que reduce en una quinta parte el uso de prims y se reduce a una textura con el conjunto de caracteres a visualizar. - Varias Letras por Lado del Objeto :
Otra estrategia a utilizar es colocar dos caracteres por cada cara del objeto, en este caso podríamos obtener diez caracteres y nueva mente reducimos a la mitad el consumo de objetos para la visualización de texto, aunque aumenta el numero de texturas a utilizar ya que debemos crear todas las posibles combinaciones de dos letras lo cual nos demanda una gran cantidad de texturas pero reduciendo el numero de objetos a utilizar. Esta ultima estrategia es la mas usada en la visualización de texto dentro de objetos de SecondLife y de cual existen varios scripts.
Scripts Disponibles en Second Life :
- XyText
Script que permite visualizar hasta 6 caracteres en un prim.
http://lslwiki.net/lslwiki/wakka.php?wakka=XyText - XyText 1.5
Permite visualizar 10 caracteres en un prim, usa 66 texturas
http://wiki.secondlife.com/wiki/XyText - XyText-UTF8
Permite el uso de caracteres unicode
http://wiki.secondlife.com/wiki/XyText-UTF8 - ZZText
Permite visualizar 10 caracteres en un prim, usa 35 texturas
Se puede crear texturas propias con caracteres especiales
Mas rápida y eficiente que otras versiones
http://wiki.secondlife.com/wiki/ZZText - XyzzyText
Permite visualizar 10 caracteres en un prim, usa 66 texturas
Se deben nombrar cada celda con nombres especificos
Versión mas Eficiente que XyText
http://wiki.secondlife.com/wiki/XyzzyText - XyzzyText-UTF8
Permite el uso de caracteres unicode
http://wiki.secondlife.com/wiki/XyText-UTF8 - XyyyyzText
Permite visualizar 10 caracteres en un prim, usa 66 texturas
No se necesitan renombrar las celdas, enlace automático, multilinea
Versión mas Eficiente que XyText
http://wiki.secondlife.com/wiki/XyyyyzText
Existen gran cantidad de soluciones para este problema, algunas utilizan mas recursos como prims y scripts lo que puede causar que el rendimiento del simulador se vea afectado (LAG), mientras otras versiones utilizan mas recursos como texturas que no afectan el funcionamiento del simulador pero afectan al cliente, el cual debe descargar gran cantidad de texturas para poder visualizar la información, otro problema adicional es la necesidad de crear nuevas texturas de acuerdo al conjunto de caracteres que se necesitan y aunque los scripts con soporte de UTF mejoran el uso de caracteres especiales, se deben crear las texturas necesarias para su visualización.
Se tomo la decisión de probar XyyyyzText para la creacion basica de los tableros de texto mas adelante se explorara con mas detalle la creación dinámica de texto utilizando otras herramientas.
