Unit Volume Actor
El Unit Volume Actor es uno de los componentes más importantes dentro del plugin. Representa visual y funcionalmente una unidad de propiedad, permitiendo mostrar datos, realizar selecciones y aplicar filtros según las propiedades de las unidades.
Identificadores únicos y por promoción
Para vincular los datos del actor con la información proveniente de una base de datos, se utilizan identificadores que pueden ser globales o locales a la promoción. Estos identificadores pueden asignarse manualmente o a través del panel de desarrollador, cargándolos directamente en el actor seleccionado.
Propiedad | Descripción |
---|---|
UnitVolumeID | Identificador local a la promoción, utilizado para acceder a la información de una unidad específica |
UnitVolumeKeycode | Identificador global de IdealTwin, empleado para obtener información de las unidades en un contexto más amplio |
Se puede tener un identificador u otro en el Unit ya que en la busqueda se compruba los dos valores. Si no se encuentra coincidencia con los datos, el volumen quedará inutilizable.
Visualización de los volúmenes
La representación visual de los volúmenes permite identificar la ubicación de las unidades en la estructura 3D, proporcionando además una referencia visual del estado de disponibilidad de las unidades. Para facilitar su reconocimiento, se utilizan cambios de color que reflejan el estado de cada unidad.

Configuración visual
Es posible personalizar la representación visual de las unidades utilizando un asset de configuración. Este asset se emplea al asignar los materiales y determinar cómo se utilizará el material, como por ejemplo, cuando el UnitVolume
es seleccionado desde el gestor o para cambiar su color según la disponibilidad.
Los materiales y colores pueden modificarse en los assets de configuración, siempre y cuando se haga referencia en el código a las variables especificadas.
Para crear un asset de configuración hay que crear un nuevo
DataAsset
usando la claseUnitVolumeConfig
. Para poder setearlo individualmente en elUnitVolumeActor
o ponerlo de manera global en la parte de los settings.
Selección de las unidades en el nivel
La representación visual incluye la capacidad de seleccionar unidades individualmente. A partir de esta selección, se pueden gestionar datos o realizar diferentes acciones con la información recopilada.
Esta funcionalidad está gestionada por el UnitVolumeManager
, que centraliza la lógica de selección para que múltiples paneles o actores puedan acceder a esta información y ejecutar nuevas acciones.
Además se puede llamar directamente a la implementacion que hace un linetrace que busca colisiones con los UnitVolume o obtener lo usando el cursor.

Configuración del TraceChannel
En el proyecto, debe configurarse un TraceChannel exclusivo para la detección de los volúmenes. Esto permite que los rayos (traces) interactúen únicamente con los elementos asociados a los UnitVolumes
, evitando interferencias con otros objetos en la escena. En caso de necesitar una configuración diferente, el canal puede personalizarse para permitir interacciones específicas

Filtrado de las unidades
Las unidades pueden ser visualizadas u ocultadas en el mapa según las reglas definidas en los filtros. El UnitVolumeManager incluye un FilterManager, que es responsable de registrar los filtros y actualizar la visibilidad de las unidades según los resultados del filtrado.
Estas funcionalidades por lo general se suelen usar para la parte de UI en lo panel y hacer cambios de los valores. Sin embargo los filtros puede ser tambien configurados de manera externa y dejarlos fijados.

Aunque esta es una forma de agregar los filtros, es preferible hacerlo desde la interfaz de usuario utilizando la clase específica, para que estos valores sean administrados automáticamente por componentes dinámicos.
Asignación de mapas interiores
Como funcionalidad adicional, se ha integrado una opción para realizar transiciones entre niveles utilizando la variable LinkerMap
. Esto permite pasar de un entorno exterior a un mapa interior, comúnmente utilizado para representar espacios como casas modelo. Esta transición se configura directamente en cada UnitVolume.

Esta funcionalidad está integrada dentro de los paneles para hacer transiciones entre los mapas. Si se quiere usar para otras implementaciones con obtener la varible y cargar el mapa de manera tradicional.