 |
Home | Changes | Index | Search | Go
Wonderland Capabilities
When developers create new cell types, they can add "capabilities." A capability is a function that can accessed programmatically by scripts. Some system-wide capabilities can be applied to any object. For example, the "proximity" capability can be applied to any object so that you can programmatically determine when an avatar is within a specified proximity of that object and the "physics" capability can be applied to any object such that it obeys specified rules of physics.
Other capabilities are more specific and only apply to certain cell types. For example, a phone object might have a set of capabilities related to dialing and answering phone calls.
Examples of general capabilities
- audio controls
- play, stop, change volume of recorded audio
- change attenuation radius
- option for sound to be personal or shared
- secure audio area (capability associated with a cone of silence)
- start/stop/pause animation
- trigger action (define and register event listeners for events)
- get duration
- either absolute (audio is 32.5 seconds)
- or relative - do action B for duration of action A
- control motion
- programmatically (5 steps forward, circle of radius N, up 2 meters, etc.)
- manually specify path (perhaps by moving avatar?)
- act on named parts of a model (eg, all doors in a building)
- hide/show object
- move object
- if an object is movable, it can be acted upon in any number of ways to move it
- Actions like kick, throw, toss in the air, and poke would amount to applying varying degrees of force to an object along with a direction to apply the force
- There would need to be a corresponding avatar action/animation for each of these
- control/manipulate object
- pick up object
- perhaps related to inventory - can this object be place in an inventory
- carry
- physics behaviors
- turn physics on/off
- assigning mass, collision behavior, etc
- make objects penetrable/inpenetrable (so objects/sound can or can't pass through them)
- proximity detection
- detect when avatar is in range of object
- change proximity distance
- duplicate object
- inspect object
- details how an object was created, by whom, etc
- assign metadata
- for accessibility purposes (eg, textual descriptions)
- get audio/textual description
- would require textual metadata
- synthesize textual descriptions
- use textual descriptions on mobile device for alternate, text-based UI
- display content in HUD
- plain text
- HTML-formatted content
- launch web browser with specified URL
- avatar capabilities
- move to object
- manipulate user's avatar in various ways (eg, presenting, dancing, teleport, etc.)
Examples of Specific Capabilities
These capabilities would be defined by a module developer and may or may not be applicable to objects other than the ones they are associated with in the module.
- Sittable
- an object, such as a chair, can be made sittable
- Open
- would apply to doors and other objects that can swing open
- Orbit
- an object, like a planet, would have another object that it can be made to orbit around
|