Contrasting World's scheme for Behaviors and others

This document is part of a collection of VRML2.0 history at
This document provides a rough comparisom between the paper on Behaviors available at and the latest version I have of other papers.

Obviously, I'm biased !

Mitra, 9 October 95.

<Flame>: Please put URL's and email addresses on your papers - it makes it possible to cite them! </Flame>

Virtual Reality Behavior System (VRBS). A Behavior Language Protocol for VRML.

by David Nadeau, John Moreland of SDSC, no date or URL on paper.

VRBS is very close to our behavior scheme, I believe both were developed independantly. They are close enough that several good ideas from VRBS that we had missed have been incorporated, especially seperating out Loading a script, from Running it, event handling, and obtaining world and machine information.

Sony's Virtual Society project

Sony's VS project have published a number of papers on behaviors. These papers are very close to my work, and I will be making some changes to my papers to reflect their recent comments and move towards consensus. I've addressed this paper in three parts - firstly a brief Overview of the main structural difference, then detailed comments on the papers to help you see where I am having problems with them - and where you've convinced me - and finally and most importantly a section of recommendations which I hope we can use to move towards a common proposal. The next step could be drafting of such a proposal, together, or we could have one more round of editing our papers. I plan on posting a edited version by the time you get this, but since I'm travelling until the 21st this may not be possible.


To handle Behaviors Sony has 3 nodes
  1. A script node that allows a procedure to be included inline, rather than referred to by URL.
  2. An EventHandler node that is attached to a shape node or separator, and monitors events on that node (and potentially its children).
  3. An Attributes node which controls which events are valid on the node following it
By contrast, my papers also have 3 nodes.
  1. a Behavior node, equivalent to the script node, except it is automatically run, in the case where it is just a pointer to a URL its equivalent to a EventHandler, but with some behavior run on loading the World. In the case of it containing the code, its equivalent to a Script node and a EventHandler.
  2. a Sensor node, which can watch for things like the camera entering an area, there is no equivalent to the Region Sensor in Sony's work. The pick sensor should probably be incorporated into the Separator, in Sony's case a PickSensor is implicitly incorporated in every object that doesn't turn it off with an Attributes node.
  3. a Trigger node, similar to the EventHandler, in that it can be used to link an event to a behavior.

Detailed response to Comments [7]

Detailed comments on Extensions [6]

Detailed comments on Sony's Obect Oriented perspective [8]


  1. Merge the Trigger from my propsal and the EventHandler from Sony's. I'd like to see the following goals (which I don't believe are possible with the current EventHandler).
  2. Merge my Behavior node and Sony's Script node, I think Sony's way of doing this is better, although I want to look through my paper and figure out what functionality I need from it. The key conceptual leap to make here, is that the "function" field of the EventHandler is equivalent to sending a message in my scheme, i.e. in both cases we are invoking one of a set of functions in a single program. Some things we need to address are:
  3. Extract other usefull things from my proposals, that are not explicitly handled in Sony's and vica-versa.

Virtual Society: Extending the WWW to support a Multi-user Interactive Shared 3D Environment

Yasuaki Honda, Kouichi Matsuda, Jun Rekimoto, Rodger Lea of Sony

This paper has a lot of similarities to our work as well, especially to VRML+ [3], and to our networked protocol [4]

In conclusion, these approaches are similar enought that they could probably be combined into a single proposal that was acceptable to both.


  1. Interface proposal
    Adds an interface to VRML1.1 style separators.
  2. Sensors, Connectors and Triggers proposal
    Adds sensors to detect events like collisions and picking, connectors to tie fields together, and triggers to trigger an event from a field change.
  3. VRML+
    World's Inc's VRML+ protocol, for Avatar Motion, Description and Text communication
    Mitra, Kyle Hayes, Jeff Close, Alan Steremberg
  4. Networked Behavior protocol
    A proposal for extending the Behavior API over the network.
    No longer available
  5. VRML Architecture Group meeting notes, 23 Aug 95
    Detailed summary of the VAG meeting
    No longer available
  6. Sony's extensions to the VRML 1.0 standard(V 1.2)
    Kouichi Matsuda, Yasuaki Honda,
    <Flame> This paper doesn't have a URL printed on it so I'm not sure where the latest version is, try looking in, or look in the parent directory for the latest version.</Flame>
  7. Comments on Interface Proposal and sensor/trigger proposal
    Kouichi Matsuda, Yasuaki Honda, Rodger Lea, {matsuda, honda, roger}
    Sony Computer Science Laboratory Inc and Central Research Center
  8. Sony's approach to behavior and scripting aspects of VRML: an Object-Oriented perspective
    Kouichi Matsuda, Yasuaki Honda, Rodger Lea, {matsuda, honda, roger}
    Sony Computer Science Laboratory Inc and Central Research Center
  9. VRML Behaviors - an API
    Adding behaviors to VRML - an API between scripts and the VRML
  10. Shared State
    A simple first cut at sharing state across the network