Definir Interacciones con Avatares

In real life, you interact with objects on a daily basis. In Overte, your avatar can also interact with objects (entities) in the metaverse. There are a number of ways you can define the interactions you have with objects: you can write scripts to change the properties of an entity. You can create entities that are unique to your avatar (we call these "avatar entities"). And don't forget that you can set an entity's behavior and collision properties, so that objects are grabbable, triggerable, or dynamic.

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).

There are two methods you can use to script these interactions. Entities.enterEntity() occurs when the avatar contacts the bounding box, not the model itself. Similarly, Entities.leaveEntity() occurs when the avatar exits the bounding box.

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.

Avatar entities live on the Avatar Mixer, so they are connected to (and move with) your avatar. We've listed the ways you can create avatar entities with some examples:

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

  2. Clone as an avatar entity: When you clone an entity as an avatar entity, you make a copy of the entity and attach it to your avatar. Every copy of that entity will now leave with the avatar when they leave the domain. For example, if you have a coffee shop in your domain, you can set all coffee cups to be cloned as avatar entities. Any user who clones a coffee cup will take the avatar entity with them when they exit the domain. You can keep your domain free of clutter using this property.

  3. Add an avatar entity using a script: You can add an avatar entity using scripts. For example, you can create a script to have a pet (avatar entity) follow you around as you explore Overte.

    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