Method and system for scripting interactive animated actors
First Claim
1. A method for rendering at least one animated actor, comprising the steps of:
- defining a first action for at least one animated actor;
defining a second action for the at least one animated actor;
selecting at least one of the first action and the second action via a user input; and
rendering the at least one animated as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the first action is modifiable as a function of the second action when the first and second actions are both being executed.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for the creation of real-time, behavior-based animated actors. The system provides tools to create actors that respond to users and to each other in real-time, with personalities and moods consistent with the author'"'"'s goals and intentions. The system includes two subsystems. The first subsystem is an Animation Engine that uses procedural techniques to enable authors to create layered, continuous, non-repetitive motions and smooth transitions between them. The second subsystem is a Behavior Engine that enables authors to create sophisticated rules governing how actors communicate, change, and make decisions. The combined system provides an integrated set of tools for authoring the “minds” and “bodies” of interactive actors. The system uses an english-style scripting language so that creative experts who are not primarily programmers can create powerful interactive applications. The system allows authors of various abilities to create remarkably lifelike, responsively animated character interactions that can be run over networks in real time.
175 Citations
40 Claims
-
1. A method for rendering at least one animated actor, comprising the steps of:
-
defining a first action for at least one animated actor;
defining a second action for the at least one animated actor;
selecting at least one of the first action and the second action via a user input; and
rendering the at least one animated as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the first action is modifiable as a function of the second action when the first and second actions are both being executed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
including at least one of the first action and the second action into at least one script, the at least one script including at least one of a further action and a secondary script, wherein the at least one animated actor is rendered as a further function of the at least one script.
-
-
3. The method according to claim 1, further comprising the steps of:
-
grouping at least one first script and at least one second script into a first script group; and
grouping at least one third script into a second script group, wherein each script in the first script group and second script group includes at least one of a predetermined action and a predetermined secondary script.
-
-
4. The method according to claim 3, further comprising the step of:
when a further script in one of the first script group and the second script group is selected, continuing an operation of another script of the other one of the first script group and the second script group in which the further script was not selected.
-
5. The method according to claim 1, wherein the at least one animated actor includes a set of personal characteristics, wherein the at least one animated actor is surrounded by a rendered environment, the rendered environment having a set of environment characteristics, the method further comprising the steps of:
-
defining a decision rule, the decision rule making a selection from a set of predetermined data corresponding to at least one of the set of personal characteristics and the set of environment characteristics; and
rendering the animated actor as a further function of the selection.
-
-
6. The method according to claim 1, further comprising the steps of:
-
defining a decision rule for selecting one of a set of predetermined data which corresponds to a set of possible actions; and
rendering the animated actor as a further function of the selection.
-
-
7. The method according to claim 1, wherein the at least one animated actor includes a set of geometric shapes connected by rotating joints.
-
8. The method according to claim 7, wherein each one of the first action and the second action is defined by a set of time-varying degrees of freedom.
-
9. The system according to claim 1, wherein the user input is provided via a user interface.
-
10. A method for rendering at least one animated actor, comprising the steps of:
-
defining a first action for at least one animated actor;
defining a second action for the at least one animated actor, selecting at least one of the first action and the second action via a user input; and
rendering the at least one animated as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the at least one animated actor includes a first portion and a second portion, wherein the first portion includes a first movement of the first portion and a second movement of the second portion, wherein the second action includes a third movement of the first portion, and wherein the second action is layered on top of the first action by transitioning from the first movement of the first portion of the at least one animated actor to the third movement of the first portion without a necessity to return to an original position of the first movement.
-
-
11. A method for rendering at least one animated actor, comprising the steps of:
-
defining a first action for at least one animated actor;
defining a second action for the at least one animated actor;
selecting at least one of the first action and the second action via a user input; and
rendering the at least one animated as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the at least one animated actor is rendered as a further function of a coherent noise.
-
-
12. A method for rendering at least one animated actor, comprising the steps of:
-
defining a first action for at least one animated actor;
defining a second action for the at least one animated actor;
selecting at least one of the first action and the second action via a user input;
rendering the at least one animated actor as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action;
grouping at least one first script and at least one second script into a first script group;
grouping at least one third script into a second script group, wherein each script in the first script group and the second script group includes at least one predetermined action; and
when a further script in one of the first script group and the second script group is selected, terminating an operation of another script of the first script group and the second script group in which the further script was selected.
-
-
13. A method for rendering at least one animated actor, comprising the steps of:
-
defining a first action for at least one animated actor;
defining a second action for the at least one animated actor;
selecting at least one of the first action and the second action via a user input;
rendering the at least one animated actor as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action;
grouping the first action and at least one further first action into a first action group, each action of the first action group competing with another action of the first action group to determine which one of the competing actions in the first action group is performed before the other one of the competing actions; and
grouping the second action and at least one further second action into a second action group, each action of the second action group competing with another action of the second action group to determine which one of the competing actions in the second action group is performed before the other one of the competing actions. - View Dependent Claims (14, 15)
further rendering the at least one animated actor as a function of one of the first action and the at least one first further action by transitioning from the first action to the at least one first further action.
-
-
16. A method for rendering at least one animated actor, comprising the steps of:
-
defining a first action for at least one animated actor;
defining a second action for the at least one animated actor;
selecting at least one of the first action and the second action via a user input;
rendering the at least one animated actor as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action;
providing a user with a visual list, the visual list containing a set of selections corresponding to a set of action;
receiving a user input for selecting one of the set of actions; and
further rendering the at least one animated actor as a function of the selected one of the set of actions.
-
-
17. A system for rendering at least one animated actor, comprising:
-
an output device;
a processing device executing;
a first instruction defining a first action for at least one animated actor, and a second instruction defining a second action for at least one animated actor, and an input device receiving a user input for selecting at least one of the first action and the second action, the processing device rendering the at least one animated actor via the output device as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the processor is capable of modifying the first action as a function of the second action when the first and second actions are both being executed. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
a storage device storing the at least one of the first action and the second action into at least one script, the at least one script including at least one of a further action and a secondary script, wherein the processing device renders the at least one animated actor as a further function of the-at least one script.
-
-
19. The system according to claim 17, further comprising:
-
a storage device storing at least one first script and at least one second script into a first script group and at least one third script into a second script group, wherein each script in the first script group and second script group includes at least one of a predetermined action and a predetermined secondary script.
-
-
20. The system according to claim 19, wherein, when a further script in one of the first script group and the second script group is selected, the processing device continues an operation of another script of the other one of the first script group and the second script group in which the further script was not selected.
-
21. The system according to claim 17, wherein the at least one animated actor includes a set of personal characteristics, wherein the at least one animated actor is surrounded by a rendered environment, the rendered environment having a set of environment characteristics, the system further comprising:
a storage device storing a decision rule, the decision rule making a selection from a set of predetermined data corresponding to at least one of the set of personal characteristics and the set of environment characteristics, wherein the processing device renders the animated actor as a further function of the selection.
-
22. The system according to claim 17, further comprising:
a storage device storing a decision rule for selecting one of a set of predetermined data which corresponds to a set of possible actions, wherein the processing device renders the animated actor as a further function of the selection.
-
23. The system according to claim 17, wherein the at least one animated actor includes a set of geometric shapes connected by rotating joints.
-
24. The system according to claim 17, wherein each one of the first action and the second action is defined by a set of time-varying degrees of freedom.
-
25. The system according to claim 17, further comprising:
a communications apparatus connecting the processing device to at least one further processing device which renders a further animated actor.
-
26. The system according to claim 25, wherein the communications apparatus includes at least one of a modem, a local area network, a wide area network, an Intranet, and an Internet communication system.
-
27. The system according to claim 25, wherein the processing device executes instructions utilizing a UNIX operating system.
-
28. The system according to claim 25, wherein the processing device and the at least one further processing device communicate via a blackboard.
-
29. The system according to claim 17, wherein the user device receives the user input that is provided via a user interface.
-
30. A system for rendering at least one animated actor, comprising:
-
an output device;
a processing device executing;
a first instruction defining a first action for at least one animated actor, and a second instruction defining a second action for at least one animated actor; and
an input device receiving a user input for selecting at least one of the first action and the second action, the processing device rendering the at least one animated actor via the output device as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the at least one animated actor includes a first portion and a second portion, wherein the first portion includes a first movement of the first portion and a second movement of the second portion, wherein the second action includes a third movement of the first portion, and wherein the second action is layered on top of the first action by transitioning from the first movement of the first portion of the at least one animated actor to the third movement of the first portion without a necessity to return to an original position of the first movement.
-
-
31. A system for rendering at least one animated actor, comprising:
-
an output device;
a processing device executing;
a first instruction defining a first action for at least one animated actor, and a second instruction defining a second action for at least one animated actor; and
an input device receiving a user input for selecting at least one of the first action and the second action, the processing device rendering the at least one animated actor via the output device as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the processing device renders the at least one animator actor as a further function of a coherent noise.
-
-
32. A system for rendering at least one animated actor, comprising:
-
an output device;
a processing device executing;
a first instruction defining a first action for at least one animated actor, and a second instruction defining a second action for at least one animated actor, an input device receiving a user input for selecting at least one of the first action and the second action, the processing device rendering the at least one animated actor via the output device as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action; and
a storage device storing at least one first script and at least one second script into a first script group, and at least one third script into a second script group, wherein each script in the first script group and the second script group includes at least one predetermined action, and wherein, when a further script in one of the first script group and the second script group is selected, the processing device terminates an operation of another script of the first script group and the second script group in which the further script was selected.
-
-
33. A system for rendering at least one animated actor, comprising:
-
an output device;
a processing device executing;
a first instruction defining a first action for at least one animated actor, and a second instruction defining a second action for at least one animated actor;
an input device receiving a user input for selecting at least one of the first action and the second action, the processing device rendering the at least one animated actor via the output device as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action; and
a storage device storing the first action and at least one further first action into a first action group, each action of the first action group competing with another action of the first action group to determine which one of the competing actions in the first action group is performed before the other one of the competing actions, the storage device further storing the second action and at least one further second action into a second action group, each action of the second action group competing with another action of the second action group to determine which one of the competing actions in the second action group is performed before the other one of the competing actions. - View Dependent Claims (34, 35)
-
-
36. A system for rendering at least one animated actor, comprising:
-
an output device;
a processing device executing;
a first instruction defining a first action for at least one animated actor, and a second instruction defining a second action for at least one animated actor; and
an input device receiving a user input for selecting at least one of the first action and the second action, the processing device rendering the at least one animated actor via the output device as a function of the user input, in real time, by layering at least one of the first action and the second action on top of the other one of the first action and the second action, wherein the processing device provides a user with a visual list, the visual list including a set of selections which correspond to a set of actions, wherein the input device receives the user input for selecting one of the set of actions, and wherein the processing device further renders the at least one animated character as a function of the selected one of the set of actions.
-
-
37. A method for rendering at least one animated actor, comprising the steps of:
-
providing a library of predetermined actions for executing a first action;
providing at least one script which includes at least one of a second action and a secondary script;
via a user interface, visually providing a set of selections corresponding to at least one of the library of predetermined actions and the at least one script;
selecting, via a user input, at least one member of the set of selections that is visually provided on the user interface; and
rendering the at least one animated actor, in real time, as a function of the at least one selected member of the set of selections. - View Dependent Claims (38, 39, 40)
wherein, before the at least one selected member of the set of selections is selected, the at least one animated actor is rendered to perform an initial action, and wherein, after the at least one selected member of the set of selections is selected, at least one of the first action and the at least one script is layered relative to the initial action to render the at least one animated actor. -
40. The method according to claim 37, wherein the at least one selected member includes at least two selected members, wherein the at least one animated actor is rendered by layering actions corresponding to the at least two members on top of one other, and wherein at least one of the actions corresponding to the at least two selected members is capable of being modified based on another one of the actions corresponding to the at least two selected members when the corresponding actions are both being executed.
-
Specification