ECARules4ALL aims at defining a Unity plugin for enabling end-users without programming experience to modify the behavior of an XR experience through Event-Condition Action rules (ECA) in natural language. Rules define the behavior of each virtual object in the environment in isolation and its interaction with other objects. Once equipped with components supporting the runtime specification of behavior rules, the resulting XR environments represent experiences templates that the end-users can configure for adapting them to their purposes.
We have three different types of users in the proposed solution:
- Template Builders (TB), which represent users with good skills in both 3D modeling and game programming. They are proficient with Unity 3D, and they can build complex XR environments.
- End User Developers (EUDev), which represent users without skills in 3D modeling and game programming, but having an average familiarity with computer use (e.g., proficient in using standard office programs) and with XR environments (e.g., they played 3D videogames or have VR/AR experience as users). They require creating XR contents for their business or leisure (e.g., for touristic promotion, content advertisement, etc.), but they cannot build an entire environment on their own. Besides, they usually have a limited budget for creating the content or, even if they have the budget, they need to modify the content by themselves (e.g., they update the XR content frequently).
- Users, which represent the final consumer of the XR contents, either created by professionals or by EUDevs.
EUDevs start from pre-defined XR environments, which they will configure and adapt to their needs. Such environments, prepared by experts, represent a solution adaptable to different settings by configuring the behavior and adding content in pre-defined points. They are templates, which EUDevs can tailor to their needs. For instance, a TB creates can create a template for a virtual shop like the one we distribute in this catalogue, and different EUDevs can adapt it to their shop, e.g., one selling shoes and one selling t-shirts, and how different managers may configure a template representing a virtual museum for showcasing different artworks.
For creating a usable configuration mechanism, EUDevs need a language for specifying the XR environment behavior they can understand and manipulate. This point is the core of the ECARules4All project. We will define the following building blocks for supporting them:
- A compact, simplified, yet complete library of the objects that one can manipulate inside an XR environment. For each object category, we define a set of high-level actions they support.
- A way for specifying the interaction among these objects, resulting in the definition of the XR environment behavior. We propose to support it through rules, readable and understandable as natural language sentences.
- A user interface for entering the rules while immersed in the environment.
Combining the building blocks, a EUDev configures the behavior of the XR environment defining the rules that govern its operation. The rules we propose trigger when a change in the environment happens, executing a list of actions as a reaction. So, the rules have the following structure:
then <action 1>, <action 2>, … , <action n>
The general scheme contains all the elements of an Event-Condition-Action rule. The when clause contains the definition of the event. The if precedes a predicate representing the optional condition, while the then part is the list of actions representing the reaction to the event. The possible actions derive from the object taxonomy and refer to one instance performing some manipulation. A sample rule is the following:
when the character customer interacts with the clothing sweater
if the video advertisement is stopped
then the video advertisement plays
the light environmental turns off
The rule specifies a simple reaction to the action of the user in the environment, identified as the character customer. Once s/he selects the sweater, if a particular video content called advertisement is stopped, then the environment starts it and turns off a light, called environmental. Character, video, clothing, and light are all objects defined in our taxonomy, defining the actions we use in the sample rule.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme through the XR4ALL project with grant agreement No 825545.