El script XyyyyzText permite visualizar texto dentro de un prim ademas de permitir la creación de un conjunto de prims como un tablero para la visualización de texto multilinea, el script que realmente son cuatro: un script para modificar la forma del objeto donde se visualizan los caracteres, para que se vean 5 caras sobre un mismo lado, un script para controlar la visualización del texto en cada objeto, un script que permite controlar un conjunto de objetos para visualizar gran cantidad de caracteres y un script de ejemplo para controlar el tablero y actualizar el texto visualizado en el tablero.
Se realizo una copia local de los scripts para mantener una versión que pueda ejecutarse en Second Life y una modificada para ejecutarlos en OpenSimulator, como tambien modificar los scripts para su uso dentro de Pulsar en los tableros de texto.
Abra el script y vaya a la linea 15 :
integer linelength = 80;
Cambie 80 por la longitud de caracteres de la linea
Copiar el script de ejemplo que permite actualizar el contenido del tablero con solo escribir el mensaje : XyyyyzText_Example.lslp
Ahora se deden enlazar todos los elementos en un solo objeto
Con la tecla SHIFT presionada vaya dando click en cada celda, finalmente de click en el prim del control del tablero y presiones las teclas Ctrl-L, esto enlaza todos los objetos en uno solo y permite que el control del tablero envíe las cadenas a cada celda.
Uso :
Simplemente escriba algo en el chat y esto aparecerá en el tablero, si se desea cambiar de linea coloque el carácter |
Uso de XyyyyzText en OpenSimulator :
El script utiliza texturas que no se encuentran disponibles en OpenSim, por tal motivo se deben descargar de Second Life y subir a nuestro servidor de OpenSim
Se subieron al servidor con otro script de php, cada imagen devuelve un nuevo UUID por lo cual se debe crear una lista de estos para modificarla en el script
Realizar los mismos pasos que se realizaron para la construccion del tablero en SecondLife
Abra los scripts y haga modificaciones para que OpenSim obligue a su actualización y compilación
Se pueden utilizar programas de terceros para subir las texturas a OpenSim o subirlas, se debe generar la lista de UUIDs a mano
Las texturas estan en formato jp2 el cual es el standard utilizado en Second Life, se necesitan editores que soporten este formato para visualizar las imagenes
Se esta tratando de crear herramientas que permitan de una forma facil y rapida crear texturas que funcionen con este script.
Aunque actualmente se están realizando pruebas de funcionamiento de los scripts al parecer todo esta funcionando muy bien y se procederá a crear tableros basados en este script para la publicación de información tipo texto dentro del mundo virtual. Se deben hacer pruebas de migracion del script a otras regiones, pero eso lo haremos mas adelante.
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.
Probando Scripts para la Visualizacion de Texto
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.
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
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.
En el análisis de herramientas educativas a ser utilizadas dentro de los mundos virtuales, aparece la necesidad de crear un tablero que permita visualizar cualquier texto en el, lo cual permitiría crear carteles con el numero y nombre del salón de clases, avisos de identificación de lugares, tableros de información que puedan ser actualizados fácilmente por los dueños de los mismos, como también puedan ser actualizados remotamente.
Para el desarrollo de esta herramienta nos topamos con algunos problemas que debemos solucionar de la mejor manera posible, facilitando la actualización de contenidos en dichos tableros, como tambien adicionar gran cantidad funciones que permitan utilizar los tableros de texto de forma variada.
hippoTELL - Ejemplo de Tablero Texto
Estos son algunos de los problemas que debemos enfrentar al momento de diseñar los tableros de texto :
En el caso de Second Life :
No ofrece una función que permita crear escribir directamente sobre un Prim (objeto)
No ofrece una función que permita crear dinamicamente texturas con texto e imágenes
No permite el uso de texturas vía web lo que permitiría generar la textura fuera de Second Life y cargarla directamente en el tablero.
Por cada contenido debemos crear una imagen y subirla al simulador lo que cuesta $10 Lindens por imagen
Cada que necesitemos cambiar el contenido del tablero, debemos recurrir a un programa de edición como Paint, Gimp entre otras, para crear el contenido, subirlo al simulador y aplicarlo al tablero.
En el caso de OpenSim :
OpenSim ofrece una función para escribir directamente en los objetos
No tiene costo alguno subir texturas al simulador
Se podrían crear programas que generen la imagen, la suban y apliquen al tablero directamente.
Entre los requisitos basicos del tablero de texto tenemos :
Visualizar información de tipo texto
Posibilidad de crear tableros de varios tamaños
Actualizar fácilmente el tablero desde el mismo simulador sin incurrir en uso de herramientas externas
Entre los requisitos avanzados propuestos inicialmente tenemos :
Posibilidad de actualizar el tablero remotamente
Justificar el contenido dentro del tablero
Cambiar el color del texto en el tablero
Posibilidad de actualizar el tablero cada cierto tiempo con información descargada desde la web
hippoTELL Web-Enabled Noticeboards
Tablero de 180 caracteres que permite la actualización desde el simulador o desde una interface web
Permite controlar el contenido, justificación del texto y color de cada linea http://www.hippo-technologies.co.uk/products/hippotell/index.php
Para permitir el control de versiones de los archivos de los diferentes componentes de la aplicaciones a desarrollo se utilizara subversion ya que se cuenta con un repositorio de código para el almacenamiento de todos los componentes de software del proyecto, esto incluyendo los scripts desarrollados en LSL, los componentes de la aplicacion web, las herramientas de escritorio desarrolladas en Java y .NET
Se esta utilizando Eclipse como ambiente de desarrollo de los diferentes componentes, por este motivo debemos instalar los plugins necesarios para el soporte de subversion.
Requisitos :
Tener el ambiente de desarrollo Eclispe ya instalado
en este caso tenemos el :
Eclipse for PHP Developers
Version: Helios Release
Build id: 20100617-1415 http://eclipse.org/
Instalacion del Plugin :
Ejecutar el Eclipse
Ir al menú Help y la opción Eclipse Marketplace
Seleccionamos el catalogo Eclipse Marketplace
presionamos el botón Next
En Find :
escribimos subversion
Procedemos a instalar :
Subversion - SVN Team Provider
Confirmamos la lista de componentes a instalar
presionamos el botón Next
Aceptamos la licencia y presionamos el botón Next
Reiniciamos el Eclipse
Cuando reiniciamos Eclipse nos pregunta los conectores de subversion a utilizar
Seleccionamos
SVN Kit 1.3.2
JavaHL 1.6.x
Confirmamos la lista de componentes a instalar
presionamos el botón Next
Como se menciono en entradas anteriores, se selecciono el LSL PLus como el editor de desarrollo de los scripts para los objetos dentro de los mundos virtuales de Second Life y OpenSim, este editor es un plugin para el ambiente de desarrollo Eclipse, por tal motivo se debe contar con una versión antes de comenzar la instalación del plugin,
Requisitos :
Tener el ambiente de desarrollo Eclispe ya instalado
en este caso tenemos el :
Eclipse for PHP Developers
Version: Helios Release
Build id: 20100617-1415 http://eclipse.org/