Archivo de la etiqueta: Avatares

Visor BlackDragon, Niran necesita ayuda

Quienes conocen y utilizan el visor Black Dragon se sorprenderán al leer este artículo, pero creo que es importante dar a conocer, a la comunidad de habla castellana, los problemas por los que atraviesa el desarrollo de este visor. Esto sin dejar de lado el hecho que, seguramente, es el mejor visor para la creación de fotos y videos dentro de Second Life, además de otras características únicas que le facilitan la vida a los fotógrafos y videógrafos del mundo virtual.

Sin mas discurso, transcribo a continuación el pedido de ayuda de NiranV en su blog para poder continuar con el desarrollo de este visor: Leer Mas...

Sansar: Rumores, idas, vueltas y drama

Anoche, Ryan Schultz, en su blog, informó que Linden Lab había despedido a otros 43 empleados del staff de Sansar (los que suman a los 30 despedidos a fines del año pasado). Según Ryan, una fuente de su completa confianza le había informado de tal situación, incluyendo una lista de quienes fueron despedidos (la cual no ha dado a conocer) y, como consecuencia de ello, era inminente el cierre de la plataforma.

Esto generó reacciones varias en la comunidad de usuarios de Sansar, algunas de desazón, otras de rechazo, incluyendo ataques hacía Ryan por su artículo y, por último, la aparición de Ebbe Altberg (CEO de Linden Lab) en el servidor Sansar de Discord, quién, en forma escueta se limitó a decir que Sansar no va a ser cerrado pero confirmando los despedidos publicados por Ryan. Leer Mas...

Microsoft retira el soporte para Windows 7

El próximo día 14 de enero de este año, Microsoft retira el soporte para Windows 7, lo cual implica que ya no recibirá actualizaciones de seguridad, haciendo que se vuelva (aún más) vulnerable a cualquier nueva falla de seguridad y virus.

En lo que a nosotros concierne, a tono con esta decisión de MS, Linden Lab ha informado, en su blog oficial que se procederá a remover este sistema operativo de la lista de Requerimientos del Sistema para entrar a la plataforma Second Life. Leer Mas...

High Fidelity, HMD, Sansar, Realidad Virtual

Un tema del que se habla en forma recurrente dentro de Second Life, es su comparación con plataformas de realidad virtual (VR) como sansar (especialmente con ésta, por pertenecer a la misma empresa) o High Fidelity.

Y, dentro de estas charlas, uno de los temas principales que se discute es si estas plataformas de realidad virtual, hoy, son mejor y reemplazan a Second Life. Las respuestas pueden ser variadas y dependiendo de la óptica y gustos de cada usuario pero hay una realidad técnica que pocos han visto en estos años y recién ahora comienza a notarse. Leer Mas...

Regreso de los Apellidos, Marketplace, Eventos y Premium

Días atrás, Linden Lab, en su blog oficial, informó a los usuarios respecto de novedades en:

Veamos cuales son una por una:

Regreso de los Apellidos: Actualización y concurso.

Según la empresa (y digo así, porque este argumento viene tirado de los pelos), a pedido de los usuarios muy pronto, se podrá disponer de la facilidad de poder cambiarse el nombre y/o apellido en Second Life.

La intención es tener esta característica disponible para finales del mes de enero del año próximo y estará disponible solamente para los usuarios Premium, quienes deberán pagar un cargo para poder realizar la operación. Aún no se ha informado cual será ese «pequeño cargo», seguramente se informará en el mismo momento en que se lance esta característica. Leer Mas...

Second Life: Problemas en el mercado en línea

Como para mantenernos divertidos y atentos, hoy los usuarios de Second Life nos despachamos con la noticia de problemas en el mercado en línea (Marketplace), lo cual no sería nada importante sino fuera que algunos de los fallos asustaron a mas de un usuario ya que, al entrar a la página del mercado se encontraron con los datos de otro usuario desconocido. Esto provocó que muchos pensaran que algo malo les había pasado con sus cuentas, su PC o que, definitivamente, la CIA había tomado el control de Internet y se metía abiertamente en nuestras vidas sin nosotros poder hacer mucho al respecto. Leer Mas...

Sansar: Cambios en la dirección de la plataforma y en Linden Lab

Luego de la reunión de Producto de Sansar del pasado 1 de noviembre, la comunidad de usuarios se encuentra algo revolucionada por los cambios que ha de implementar Linden Lab, tanto en la empresa como en Sansar mismo.

Por lo pronto, respecto de Sansar, Linden Lab ha informado que dejarán de hacer hincapié en determinadas características técnicas tendientes a mejorar el funcionamiento visual de avatares y construcciones y se concentrarán mas en promover los eventos en vivo como eje principal de captación de usuarios para dicha plataforma. Esto es, se hace un alto en todo aquellos que se estaba trabajando para que el usuario pudiera mejorar la personalización de su avatar o la construcción de objetos y «mundos» (regiones en SL) con herramientas externas para dedicarse a promover (ser) mas una plataforma de eventos en línea. Leer Mas...

Second Life: Novedades y avances de proyectos

Es hora de ponernos al día con la información de los distintos proyectos que lleva adelante Linden Lab en su plataforma virtual Second Life. Si bien muchos de estos proyectos pueden ser transparentes al usuario y no deberíamos siquiera darnos cuenta de su implementación, son importantes para mejorar el funcionamiento de la plataforma y, otros proyectos si nos puede interesar (y mucho) en que fase se encuentran y cuando se preeve podrán ser aplicados en Second Life.

Apellidos:

Quizás este proyecto sea uno de los mas esperados por la comunidad de usuarios. A la fecha poco ha cambiado sobre lo que se sabe sobre su implementación y se puede consultar en Este Artículo. Aunque es necesario mencionar los puntos principales de esta característica que ya está siendo denominada «Cambio de Nombre», ya que no solo apunta al regreso de los apellidos sino que va mas lejos y, como se puede ver en el artículo referido, apunta a permitir que los usuarios puedan cambiar el nombre de su cuenta. Leer Mas...

Second Life: Problema de comunicación entre scripts

La semana pasada el grid se vió afectado por un problema en la ejecución de scripts, específicamente cuando un objeto rezea otro y se establece una comunicación entre ambos (parent-child). Este problema, surgido luego de la actualización habitual de martes y miércoles, debió ser revertido por Linden Lab, de manera apurada, el pasado fin de semana (viernes y sábado) tuvo que reiniciar el grid para revertir los cambios y aplicar correcciones para solucionar el problema suscitado.

Ayer, en su blog oficial, Linden Lab emitió un comunicado explicando dicho problema, el cual se transcribe (traducido) a continuación:

Comunicaciones entre scripts  principal/secundario

Como parte de nuestros esfuerzos continuos para mejorar el rendimiento de los sctripts, recientemente realizamos cambios en cómo se programan los mismos y se entregan los eventos. Desafortunadamente, encontramos que esos cambios causaron la ruptura de algunos scripts ampliamente utilizados, lo que llevó a la reversión del estado del grid el sábado pasado. (Aparentemente tuvimos mala suerte en que hubiera poca cantidad de esos scripts en las regiones Release Candidate la semana anterior). Ahora hemos realizado mejoras adicionales que deberían evitar la mayoría de esos problemas, pero incluso con esas soluciones habrá algunos cambios en el tiempo y el orden de cómo se ejecutan los scripts. En general, esos cambios mejorarán el rendimiento, pero hay algunas mejores prácticas de secuencias de comandos que el usuario debería utilizar. Esto le ayudará a evitar depender de un orden o sincronización particular de entrega de eventos y ejecución de script.

Una causa común de problemas es la comunicación entre objetos inmediatamente después de que uno crea el otro. Cuando un objeto rezea a otro objeto en el mundo usando llRezObject o llRezAtRoot, los dos objetos con frecuencia necesitan comunicarse, ya sea a través de llamadas a llRegionSayTo o llGiveInventory. El objeto principal recibe un evento object_rez() cuando se ha creado el nuevo objeto, pero nunca es seguro asumir que los scripts en el nuevo objeto han tenido la oportunidad de ejecutarse cuando se entrega el evento object_rez. Esto significa que el nuevo objeto puede no haber inicializado su evento listen() o haber llamado llAllowInventoryDrop, por lo que cualquier intento de enviarle mensajes o inventario podría fallar. El objeto principal no debe comenzar a enviar mensajes ni a hacer un inventario del evento object_rez(), ni siquiera debe esperar un tiempo después de ese evento. En cambio, el objeto padre (rezzer) y el objeto hijo (rezzee) deben realizar una comunicación previa para confirmar que ambos lados están listos para cualquier transferencia.

La secuencia para este proceso es:

El objeto padre registra un evento de escucha usando llListen en un canal.
El objeto padre llama a llRezObject y pasa ese número de canal al nuevo objeto en start_param.
El objeto hijo crea un evento de escucha usando llListen en su controlador on_rez en el canal pasado como start_param.
El objeto hijo realiza cualquier otra configuración requerida para estar listo para cualquier comunicación que necesite con el objeto padre.
El objeto hijo envía un mensaje «listo» usando llRegionSayTo() en el canal asignado al objeto padre.
El objeto padre transfiere inventario o envía comandos de configuración a través de llRegionSayTo al objeto niño.
El objeto padre envía un mensaje de «hecho» al objeto hijo y ahora puede cerrar el canal de comunicaciones.
El objeto hijo recibe el mensaje «hecho» y ahora puede desmontar cualquier configuración que haya hecho para habilitar la configuración (como llamar a llAllowInventoryDrop( FALSE ) ).

Puedes ver el código de ejemplo de comunicación entre objetos padre e hijo a continuación.

Vale la pena señalar que este patrón de comunicación siempre ha sido la mejor manera de escribir tus scripts. Incluso sin los cambios en el planificador, el orden de cuándo se ejecutan los scripts en el nuevo objeto y cuándo se entregó el evento object_rez al rezzer no fue determinista. Parece cierto que hacer que el planificador sea más rápido ha hecho que esta condición de secuencia  sea algo menos predecible, pero hacer que todos los scripts se ejecuten con menos sobrecarga de programación vale la pena que el pedido sea un poco menos predecible, especialmente porque no estaba asegurado antes de todos modos. ¡Esperamos que estos nuevos cambios ayuden al mundo de todos a funcionar un poco más tranquilo! Para compartir tus pensamientos sobre esto, utiliza esta publicación del foro (En inglés).

Rezzer.lsl //////////////////////// // Rezzer script. // Rez' an object from inventory, establishes a communication channel and // gives the rezzed object inventory. // (Rezea un objeto desde su inventario (pestaña Contenido), establece un canal de comunicaciones y // entrega del inventario del objeto rezeado.) integer COM_CHANNEL=-17974594; // chat channel used to coordinate between rezzer and rezzee string REZZEE_NAME="Rezzee"; string CMD_REZZEE_READY = "REZZEE_READY"; string CMD_REZZER_DONE = "REZZER_DONE"; key rezzee_key; default { //... touch_start(integer count) { state configure_child; } //... } // rez and configure a child state configure_child { state_entry() { // where to rez vector position = llGetPos() + <0.0, 0.0, 1.0>; // establish rezzer's listen on the command channel llListen( COM_CHANNEL, "", "", "" ); // rez the object from inventory. Note that we are passing the // communication channel as the rez parameter. llRezObject(REZZEE_NAME, position, ZERO_VECTOR, ZERO_ROTATION, COM_CHANNEL); } object_rez(key id) { // the object has been rezzed in world. It may not have successfully // established its communication yet or done anything that it needs to // in order to be ready for config. Don't do anything till we get the signal rezzee_key = id; } listen(integer channel, string name, key id, string message) { if (message == CMD_REZZEE_READY) { // the rezzee has told us that they are ready to be configured. // we can sanity check id == rezzee_id, but in this trivial case that is // not necessary. integer count = llGetInventoryNumber(INVENTORY_NOTECARD); // give all note cards in our inventory to the rezzee (we could // do scripts, objects, or animations here too) while(count) { string name = llGetInventoryName(INVENTORY_NOTECARD, --count); llGiveInventory(id, name); } // And now tell the rezzee that we have finished giving it everything. llRegionSayTo(id, COM_CHANNEL, CMD_REZZER_DONE); // And we can leave configure child mode. state default; } } } Leer Mas...

Second Life Blogger Network

El pasado 26 de Setiembre Linden Lab anunció en su blog oficial el lanzamiento de la Red de bloggers Second Life. Este proyecto busca integrar a los bloggers particulares a la estructura de difusión de Second Life extendiendo, de esta manera, el alcance de la publicidad sobre esta plataforma.

Quienes deseen participar en esta red deben completar un formulario y respetar las normas y el tipo de contenidos establecidos por la empresa para ser aceptados en el proyecto. A su vez, ser participe de esta red no implica asociación ni relación contractual alguna con la empresa y el blogger acepta que la empresa pueda utilizar el contenido de su blog para difusión y publicidad. Tampoco implica que el contenido de su blog será necesariamente utilizado por Linden Lab, ya que la empresa se dedicará a revisar diariamente el contenido de cada blog inscripto y seleccionará lo que considere apto para su difusión y publicidad. Leer Mas...