OBJ Model
Loads a 3D model and material using a Wavefront (.OBJ) file and a .MTL file.
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
OBJ 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 | integer | 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 | |
data | OBJ Model data | OBJ Model Data | Yes |
OBJ Model Data Attributes
Attribute | Type | Default | Description | Required |
---|---|---|---|---|
object_type | string; Must be: obj-model |
obj-model |
3D object type. | Yes |
obj | string | Url pointing to a .OBJ file. Use File Store paths under ‘store/users/username’, see CDN and other storage options in the description above. | Yes | |
mtl | string | Url pointing to a .MTL file. Optional if you wish to use the material component instead. | 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. | 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 | |
static-body | static-body | A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions. | No | |
dynamic-body | dynamic-body | A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled. | No | |
goto-landmark | goto-landmark | Teleports user to the landmark with the given name. Requires click-listener. | No | |
goto-url | goto-url | Load new URL when object is clicked. Requires click-listener. | 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 | impulse | Apply an impulse to an object to set it in motion. This happens in conjunction with an event. Requires click-listener and physics. | 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. | 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 | |
textinput | textinput | Opens an HTML prompt when clicked. Sends text input as an event on MQTT. Requires click-listener. | No | |
url | string | Use File Store paths under ‘store/users/username’, see CDN and other storage options in the description above. | 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 | |
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 |
jitsi-video | jitsi-video | Apply a jitsi video source to the geometry. | No | |
material | material | The material properties of the object’s surface. | No | |
multisrc | multisrc | Define multiple visual sources applied to an object. | 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 |