Abstract:
A system and method for creating a virtual reality is defined. The virtual reality is efficiently constructed by providing a framework, or paradigm, in which the various aspects of the virtual world may be separately constructed, and then brought together at runtime to create the desired virtual reality. The framework includes views, which are windows into a virtual world, virtual worlds which are complete 3D models of the virtual reality, and modular components which are beings (or entities or creatures) that populate the virtual world. The components have both a graphical (visual) model and a behavioral model. The graphical model and behavioral model are independent software modules that may be reused with other components. Included with the modules are attributes, rules, and other parameters that may be used to affect the basic visual appearance and behavior of a component. Components may inherit from other components. The graphical model of a component is constructed from a hierarchy of parts.
Abstract:
A method and apparatus for selecting objects in a virtual world through the use of inner and outer selection ranges. Inner selection ranges define the distance from an object an avatar must be to trigger a selection event to initiate interaction with the object. Outer selection ranges define the distance from an object an avatar may travel before triggering a de-selection event to the object which terminates interaction with the object. The method and apparatus is defined for implementation in virtual objects or virtual world frameworks.
Abstract:
A system and method for directing the improvisational behavior of a computer-controlled character which enables the character to reflect personality, mood, and other life-like qualities. The method includes the step of storing in the system a set of possible behaviors for the character and state data representative of a current state of the character. The possible behaviors include both physical and verbal behaviors. The current state includes the character's current mood, directing state, activity state, and location in a virtual world. The method also includes the step of identifying from the set of possible behaviors a subset of feasible behaviors for the character in the current state. Each of the feasible behaviors is evaluated to determine a respective desirability rating of the feasible behavior in the current state. The method further includes the step of selecting a behavior to be executed by the character from the subset of feasible behaviors. The behavior to be executed is selected in dependence upon its desirability rating.
Abstract:
A simulation of a real environment is constructed from a series of recorded frames that each contain an image of the real environment and each have data recording the associated position and orientation within the real environment. The series of image frames is first grouped into frame groups so that each frame group includes only recorded frames that have closely spaced associated positions. Logical links are then created between neighboring frame groups, where the logical links are indicative of navigation paths permitted during simulation between positions associated with the frame groups thus linked. The environment is then simulated by displaying a recorded frame belonging to a current frame group. In response to an input specifying a desired movement within the simulation, a recorded frame from a neighboring frame group of the current frame group is displayed instead.
Abstract:
A method and apparatus for accelerating animation in a video graphics system is accomplished by storing drawing operations for a first scene in a bus master buffer. The first scene is to be drawn to a first frame. A frame flip operation is then stored in the bus master buffer at a location subsequent to the drawing operations for the first scene such that when accessed by a graphics processor, the frame flip will be performed after the drawing operations for the first scene have completed. Drawing calculations for a second scene to be drawn to a second frame are performed, and the resulting drawing operations are stored in the bus master buffer at a location subsequent to the page flip operation. The graphics processor is signaled, and the graphics processor fetches and executes the commands in the bus master buffer sequentially such that the drawing operations to the first frame are performed first, followed by the frame flip operation and finally the drawing operations to the second frame.
Abstract:
A method for producing an animation sequence on a graphic display driven by a computer, including defining an object that includes a geometrical description of an animated character and characteristics of social behavior of the character and animating an image of the character responsive to the characteristics. The character is programmed with a predetermined response, such as a rule governing motion of the character, to a sensitivity condition occurring externally to the object. The geometrical description of the object includes a geometrical skeleton characterized by a hierarchy of sub-objects connected by joints, the rule governing motion defines motions of the joints.
Abstract:
When retrieving documents over a network, such as the Internet, the font size imposed by default or by a style sheet is sometimes not the right size for comfortable viewing by a user. A database of font size changes made by a user to particular documents is maintained and used to infer a font size preference for a document. A document is displayed using a recorded preference. If no preference is found for a document, a check is made to determine if a preference has been specified for a different document related to that document by having a common portion of a network address. That is, if a preference had been specified for one chapter of a document having a particular network address, a preference would be inferred for other chapters of the document based on a common portion of a hierarchical address.
Abstract:
An avatar acting in a shared virtual space is changed in a manner nearly resembling that in a real space. A client PC, along with another client PC, is connected to a shared server through the Internet to receive data about the shared virtual space constituted by a VRML file from the shared server and displays the received data on a CRT monitor. A virtual life object (called an avatar), the alter ego of a user, is changed based on a growth parameter that changes according to occurrence of an event. A hard disk holding a growth parameter control table stores growth parameters updated by an event caused by an operation performed on own client apparatus or another client apparatus or an event caused by passing of predetermined time. The update growth parameter is also transferred to another client PC through the shared server.
Abstract:
A method and apparatus for interactively controlling and coordinating the limb movements of computer-generated articulated characters with an arbitrary number of joints. On-line computational methods are used for animating limb movements of articulated characters by solving associated forward and inverse kinematics problems in real time subject to multiple goals and constraints. The methods provide computer animated characters with fully interactive goal-directed behaviors, such as bipedal walking, through simultaneous satisfaction of position, alignment, posture, balance, obstacle avoidance, and joint limitation constraints. Goal-based motion primitives, called synergies, coordinate sets of joint movements which separately attempt to satisfy each of the above constraints. The present methods adapt character movements on-line to accommodate uneven terrain, body modifications, or changes in the environment by automatically transforming and producing joint rotations relative to the instantaneous point of contact of the body with the world. Libraries of pre-configured goal-directed behaviors, such as reaching, sitting, walking, jumping, etc., can be constructed and used to animate a wide variety of characters.