Definir Interacciones con Avatares

En la vida real, interactúas con objetos a diario. En Vircadia, tu avatar también puede interactuar con objetos (entidades) en el metaverso. Hay varias maneras de definir las interacciones que tienes con los objetos: puedes escribir scripts para cambiar las propiedades de una entidad. Puedes crear entidades que sean exclusivas de tu avatar (las llamamos "entidades de avatar") . Y no olvides que puedes establecer el comportamiento de una entidad y las propiedades de colisión, de modo que los objetos sean manipulables, activables o dinámicos.

En Esta Página:

Controlar las Interacciones con las Entidades mediante Scripts

Cuando tu avatar entra en contacto con una entidad, puedes controlar sus interacciones con la entidad usando scripts simples.

Una interacción entre un avatar y una entidad ocurre cuando el avatar entra en contacto con el cuadro delimitador de una entidad (boundy box). El cuadro delimitador (o límites) es el marco que se encuentra alrededor del exterior de la entidad. En el caso de un cubo, los límites (bounds) son del tamaño y la forma exactos de la entidad. Sin embargo, en el caso de objetos más complejos, los límites pueden ser más grandes que el modelo de malla real (mesh model).

Hay dos métodos que puedes utilizar para programar estas interacciones. Entities.enterEntity() ocurre cuando el avatar entra en contacto con el cuadro delimitador, no con el modelo en sí. De manera similar, Entities.leaveEntity() ocurre cuando el avatar sale del cuadro delimitador.

Tutorial: Añade una Caja para Cambiar su Color

El siguiente ejemplo te guía a través del proceso de crear una entidad simple y programar una interacción entre la entidad y tu avatar. Cuando tu avatar entre en contacto con la caja, la caja cambiará de color. Cuando tu avatar se aleje, la caja volverá a su color original.

  1. Crear una entidad de cubo.

  2. La siguiente secuencia de comandos cambia el color del cubo a medida que te acercas (amarillo) o te alejas (rosa) de su cuadro delimitador.

    (function(){
        this.enterEntity = function(entityID) {
            Entities.editEntity(entityID, {
                color: { red: 255, green: 64, blue: 64 },
            });
        };
        this.leaveEntity = function(entityID) {
            Entities.editEntity(entityID, { 
                color: { red: 255, green: 190, blue: 20}
            });
        };
    });
    
  3. En la aplicación Create, haz click sobre "Properties" y desplázate hacia abajo hasta la configuración del "Script". Ingresa la ruta y nombre de archivo a interactions-example.js que creaste anteriormente. Presiona "Enter".

Un rango completo de parámetros de entidad se pueden controlar con estas funciones. Las entidades se pueden usar como sensores invisibles o expandirse para cubrir un edificio completo con las funciones ejecutándose mientras estás adentro, y detenerse cuando sales.

Crear Entidades de Avatar

Tu avatar también interactuará con entidades de avatar. Las entidades de avatar son entidades que se adjuntan a tu avatar y, a diferencia de las entidades de dominio, viajan con tu avatar cuando va a otros dominios. Los ejemplos de entidades de avatar incluyen dispositivos portátiles como gafas o sombreros.

Las entidades Avatar viven en el Avatar Mixer (mezclador de avatares), para que estén conectados a (y se muevan con) tu avatar. Hemos enumerado las formas en que puedes crear entidades de avatar con algunos ejemplos:

  1. Crear un equipable: Todos los equipables (wearable) son entidades de avatar.

  2. Clonar como una entidad de avatar: Cuando clonas una entidad como entidad avatar, haces una copia de la entidad y la adjuntas a tu avatar. Cada copia de esa entidad se irá ahora con el avatar cuando abandones el dominio. Por ejemplo, si tienes una cafetería en tu dominio, puedes configurar todas las tazas de café para que se clonen como entidades avatar. Cualquier usuario que clone una taza de café se llevará la entidad de avatar cuando salga del dominio.

  3. Agregar una entidad de avatar usando un script: Puedes agregar una entidad de avatar usando scripts. Por ejemplo, puedes crear un script para que una mascota (entidad avatar) te siga mientras exploras Vircadia.

    Este script de ejemplo agrega un cubo como entidad de avatar a tu dominio.

    var entityID = Entities.addEntity({
        type: "Box",
        position: Vec3.sum(MyAvatar.position, Quat.getFront(MyAvatar.orientation))},
        "avatar");
    

Ver también