Link Search Menu Expand Document

cube

Cube (=Box) Geometry (deprecated); Supported for Legacy reasons; Please use Box in new scenes

This is the schema for Cube (deprecated; don’t use), the properties of wire object type cube.

All wire objects have a set of basic attributes {object_id, action, type, persist, data}. The data attribute defines the object-specific attributes

Cube (deprecated; don’t use) Properties

Attribute Type Default Description Required
object_type string; Must be: cube cube 3D object type. Yes
depth number 1 depth Yes
height number 1 height Yes
segmentsDepth integer 1 segments depth No
segmentsHeight integer 1 segments height No
segmentsWidth integer 1 segments width No
width number 1 width Yes

Entity Properties

Attribute Type Default Description Required
parent string   Parent’s object_id. Child objects inherit attributes of their parent, for example scale and translation. No
position Position   3D object position. Yes
rotation Rotation   3D object rotation in quaternion representation; Right-handed coordinate system. Euler degrees are deprecated in wire message format. Yes
scale Scale   3D object scale. No
visible boolean True Whether object is visible. Property is inherited. No

Common Properties

Attribute Type Default Description Required
animation Animation   Animate and tween values. More properties at A-Frame Animation component. Easing properties are detailed at easings.net. 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 ClickListener   Object will listen for mouse events like clicks. No
box-collision-listener BoxCollisionListener   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
dynamic-body object ~~~~ DEPRECATED: data.dynamic-body is deprecated, use data.physx-body instead. No
static-body object ~~~~ DEPRECATED: data.static-body is deprecated, use data.physx-body instead. No
physx-body PhysxBody   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 PhysxMaterial   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 PhysxJoint   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 PhysxJointConstraint   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 PhysxJointDriver   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 PhysxForcePushable   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 GotoLandmark   Teleports user to the landmark with the given name. Requires click-listener attribute. No
goto-url GotoUrl   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
impulse object ~~~~ DEPRECATED: data.impulse is deprecated, use data.physx-force-pushable instead. 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 MaterialExtras   Define extra material properties, namely texture encoding, whether to render the material’s color and render order. Requires material attribute. More properties at THREE.js Material. No
model-container ModelContainer   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. More properties at A-Frame Sound. 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
url string   Use File Store paths under ‘store/users/username’, see CDN and other storage options in the description above. No
remote-render RemoteRender   Whether or not an object should be remote rendered [Experimental]. No
video-control VideoControl   Adds a video to an entity and controls its playback. No
attribution Attribution   Attribution Component. Saves attribution data in any entity. No
spe-particles SpeParticles   GPU based particle systems in A-Frame. More properties at A-Frame SPE Particles component. 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

Geometry Properties

Attribute Type Default Description Required
buffer boolean True Transform geometry into a BufferGeometry to reduce memory usage at the cost of being harder to manipulate (geometries only: box, circle, cone, …). No
color string ~~~~ DEPRECATED: data.color is deprecated for primitive geometry, use data.material.color instead. No
jitsi-video JitsiVideo   Apply a jitsi video source to the geometry. No
material Material   The material properties of the object’s surface. More properties at A-Frame Material. No
multisrc Multisrc   Define multiple visual sources applied to an object. Requires material attribute. No
screenshareable boolean True Whether or not a user can screenshare on an object. No
skipCache boolean False Disable retrieving the shared geometry object from the cache. (geometries only: box, circle, cone, …). No