URDF Model
Load a URDF model.
See guidance to store paths under ARENA File Store, CDN, or DropBox.
All wire objects have a set of basic attributes {object_id, action, type, persist, data}
. The data
attribute defines the object-specific attributes
URDF Model Attributes
Attribute | Type | Default | Description | Required |
---|---|---|---|---|
object_id | string | A uuid or otherwise unique identifier for this object. | Yes | |
persist | boolean | True |
Persist this object in the database. | Yes |
type | string; Must be: object |
'object' |
AFrame 3D Object | Yes |
action | string; One of: ['create', 'delete', 'update'] |
'create' |
Message action create, update, delete. | Yes |
ttl | number | When applied to an entity, the entity will remove itself from DOM after the specified number of seconds. Update is allowed, which will reset the timer to start from that moment. | No | |
private | boolean | False |
If true, interactions with this object should not be broadcasted to other clients, but rather sent on private topics | No |
program_id | string | The program_id on private program topics that interactions to be directed to, if the private flag is set true. Ignored if private flag is false. | No | |
data | URDF Model data | URDF Model Data | Yes |
URDF Model Data Attributes
Attribute | Type | Default | Description | Required |
---|---|---|---|---|
object_type | string; Must be: urdf-model |
urdf-model |
3D object type. | Yes |
url | string | Use File Store paths under ‘store/users/username’, see CDN and other storage options in the description above. | Yes | |
urlBase | string | Base path for xacro/urdf package includes. This must be an absolute path with no trailing slash, e.g. ‘/store/users/username/robot’ | Yes | |
joints | string | Set joint values (in degrees) in the form ‘JointName1: ValueInDegrees1, JointName2: ValueInDegrees2, …’. | No | |
parent | string | Parent’s object_id. Child objects inherit attributes of their parent, for example scale and translation. | No | |
position | position | 3D object position. | No | |
rotation | rotation | 3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format. | No | |
scale | scale | 3D object scale. | No | |
visible | boolean | True |
Whether object is visible. Property is inherited. | No |
animation | animation | Animate and tween values. | No | |
armarker | armarker | A location marker (such as an AprilTag, a lightAnchor, or an UWB tag), used to anchor scenes, or scene objects, in the real world. | No | |
click-listener | click-listener | Object will listen for mouse events like clicks. | No | |
box-collision-listener | box-collision-listener | Listen for bounding-box collisions with user camera and hands. Must be applied to an object or model with geometric mesh. Collisions are determined by course bounding-box overlaps. | No | |
collision-listener | string | Name of the collision-listener, default can be empty string. Collisions trigger click events. Requires scene-options: physics . |
No | |
blip | blip | When the object is created or deleted, it will animate in/out of the scene instead of appearing/disappearing instantly. Must have a geometric mesh. | No | |
physx-body | physx-body | Turns an entity into a PhysX rigid body. This is the main component for creating physics objects. There are 3 types of rigid bodies: dynamic objects that have physics simulated on them, static objects that cannot move, and kinematic objects that can be moved programmatically but not by simulation. Requires scene-options: physics . |
No | |
physx-material | physx-material | Controls physics properties for individual shapes or rigid bodies. Can be set on an entity with physx-body or on shapes contained within it. Requires scene-options: physics . |
No | |
physx-joint | physx-joint | Creates a PhysX joint between an ancestor rigid body and a target rigid body. Position and rotation of the entity will be used to create the corresponding joint. Requires scene-options: physics . |
No | |
physx-joint-constraint | physx-joint-constraint | Adds a constraint to a physx-joint. Supported joints are D6, Revolute and Prismatic. Can only be used on an entity with the physx-joint component. Requires scene-options: physics . |
No | |
physx-joint-driver | physx-joint-driver | Creates a driver which exerts force to return the joint to the initial position with the given velocity characteristics. Can only be used on an entity with a physx-joint component. Currently only supports D6 joint type. Requires scene-options: physics . |
No | |
physx-force-pushable | physx-force-pushable | Makes a physx-body object pushable by the user. Requires click-listener attribute. Requires scene-options: physics . |
No | |
physx-grabbable | boolean | True |
Makes a physx-body object grabbable by the user’s hands. Requires scene-options: physics . |
No |
goto-landmark | goto-landmark | Teleports user to the landmark with the given name. Requires click-listener attribute. |
No | |
goto-url | goto-url | Load new URL when object is clicked. Requires click-listener attribute. |
No | |
hide-on-enter-ar | boolean; Must be: True |
True |
Hide object when entering AR. Remove component to not hide. | No |
hide-on-enter-vr | boolean; Must be: True |
True |
Hide object when entering VR. Remove component to not hide. | No |
show-on-enter-ar | boolean; Must be: True |
True |
Show object when entering AR. Hidden otherwise. | No |
show-on-enter-vr | boolean; Must be: True |
True |
Show object when entering VR. Hidden otherwise. | No |
landmark | landmark | Define entities as a landmark; Landmarks appears in the landmark list and you can move (teleport) to them; You can define the behavior of the teleport: if you will be at a fixed or random distance, looking at the landmark, fixed offset or if it is constrained by a navmesh (when it exists). | No | |
material-extras | material-extras | Define extra material properties, namely texture encoding, whether to render the material’s color and render order. Requires material attribute. |
No | |
model-container | model-container | Overrides absolute size for a 3D model. The model can be a glTF, glb, obj, or any other supported format. The model will be rescaled to fit to the sizes specified for each axes. | No | |
shadow | shadow | The shadow component enables shadows for an entity and its children. Adding the shadow component alone is not enough to display shadows in your scene. We must have at least one light with castShadow: true enabled. | No | |
sound | sound | The sound component defines the entity as a source of sound or audio. The sound component can be positional and is thus affected by the component’s position. | No | |
submodel-parent | string | '' |
When this object is parented to a hierarchical model, it attaches to a named sub-component of that model instead of the root position. Requires parent attribute. |
No |
textinput | textinput | Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener attribute. |
No | |
remote-render | remote-render | Whether or not an object should be remote rendered [Experimental]. | No | |
video-control | video-control | Adds a video to an entity and controls its playback. | No | |
attribution | attribution | Attribution Component. Saves attribution data in any entity. | No | |
spe-particles | spe-particles | GPU based particle systems in A-Frame. | No | |
look-at | string | The look-at component defines the behavior for an entity to dynamically rotate or face towards another entity or position. Use ‘#my-camera’ to face the user camera, otherwise can take either a vec3 position or a query selector to another entity. | No |