WO2009125389A1 - Method and system for generating animation of 3d characters - Google Patents

Method and system for generating animation of 3d characters Download PDF

Info

Publication number
WO2009125389A1
WO2009125389A1 PCT/IL2009/000359 IL2009000359W WO2009125389A1 WO 2009125389 A1 WO2009125389 A1 WO 2009125389A1 IL 2009000359 W IL2009000359 W IL 2009000359W WO 2009125389 A1 WO2009125389 A1 WO 2009125389A1
Authority
WO
WIPO (PCT)
Prior art keywords
movement
animation
score
limb
component
Prior art date
Application number
PCT/IL2009/000359
Other languages
French (fr)
Inventor
Eyal Efron
Original Assignee
Spiral Frame Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spiral Frame Ltd. filed Critical Spiral Frame Ltd.
Publication of WO2009125389A1 publication Critical patent/WO2009125389A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Definitions

  • the present invention relates to the field of computer generated three dimensional (3D) character animation and in particular, to character manipulation and construction. It additionally relates to the field of movement analysis and notation.
  • Computer generated, 3D character animation is a specialized field of 3D animation, concerned with the animation of 3D characters.
  • a 3D character for this purpose, is any skeleton based model, where a skeleton is defined as an articulated hierarchical structure.
  • Current work concepts for character animation are composed of various methods and tools: direct FK (Forward Kinematics) and IK (Inverse Kinematics) manipulation, charts, dialog boxes, tables, graphs, rig specifications and so on. Most of these tools, however, originated from 3D environments that dealt with architecture and engineering and were developed ad hoc, in order to solve specific needs. Consequently, there is lacking a common, consistent, interaction concept and between various complex tools.
  • a computer-implemented method for generating a 3-D animation of an animated character comprising: applying to one or more components of the animated character a respective first instruction for producing a corresponding first movement; applying to each of said components a respective second instruction for producing respective deviations from the corresponding first movement of each of said components; and superimposing the deviations onto the respective first movements so as to produce a desired movement of each of said components.
  • the invention is based on a movement-derived concept for the display and manipulation of 3D animated characters.
  • the invention uses a movement analysis and notation system called Eshkol-Wachmann Movement Notation (EWMN), created more than 50 years ago in Israel and previously used mainly for choreography and research. When used in such environments, the notation is performed by hand or by using special computer notation processing software.
  • EWMN Eshkol-Wachmann Movement Notation
  • the system has previously been used for the generation of 2D computer animation and in a limited way, applied to 3D static drawings, as well. However, it has not been used to represent dynamic 3D movement of animated characters.
  • the invention also provides a user interface that employs a score that displays an animated character having multiple limbs, in respect of which a respective line of the score serves as a command input for realizing a desired movement or choreography.
  • the desired movement or choreography is symbolized using the EWMN notation.
  • Dynamic filtering Data treatment for storage and cataloging (reuse) These features are used in various environments that are interlinked, work in correlation, but display the data in different ways.
  • the invention defines methods and technologies for constructing and manipulating 3D animated characters. The technology is realized in various application products, each containing unique tools and interfaces.
  • the invention specifies ways for separating movement events and consequence data to definition levels, coarse instruction level (movement instructions) and a fine deviation level (nature of movement).
  • definition levels movement events are defined similarly and are considered as different resolutions of similar phenomena.
  • the fine definition level movement events are specified as deviations from correlating coarse level movement events.
  • the invention deals with structures that are composed of at least one component defined as a limb or axis. It is hierarchical in the sense that one end of a limb is defined as an origin or joint around which the limb pivots, within a sphere and the other end defines the surface of the sphere. To the free end of a limb another limb or limbs may be connected by joints, these limbs will be referred to as “children” and are influenced by the movement of first influencing limb, referred to as "parent”. This hierarchy of parent and children is applied recursively to the whole structural construction.
  • the main events dealt with in this invention are defined by specifying spatial, angular definitions to time related ones.
  • Movement Events are divided into two main families: a state defines an unchanging relation between limbs and a movement defines changes of that relation ending in a new state. Each family is divided into two categories, one dealing with the longitudinal axis of limbs and the other with the direction of the surface of the limb. It is essential to define to which basic category any movement event refers.
  • a polar coordinate system is used to define an angular system of reference (SOR).
  • the center of the system is the joint the limb pivots around.
  • the system is divided into horizontal and vertical deviations from a predefined zero direction.
  • State expressions are formed of three numbers: two express the position (one for horizontal and the other for vertical direction) and the third expresses a rotational state, specified by the amount a limb is turned (rotated) in relation to a predefined zero.
  • Movement expressions, or changes of relations, are achieved by defining a second state for the limb, again containing the three numbers mentioned before
  • Data is configured and stored under three relating categories. One contains unsorted data or performance commands, the second contains sorted data distributed between the two definition levels and the third defines sorting parameters for filtering the first and second categories.
  • the process is dynamic and bidirectional. Sorting is done by applying filters containing sorting parameters to unsorted data. Sorted data may be modified and then overlapped directly to produce unsorted data. Changing the sorting parameters reapplies them to the unsorted data for resorting between the two definition levels, according to the new parameters.
  • Time specifications of sorted material in coarse and fine definition levels as well as dynamic specifications, define numerically the start and end time defining duration (I*).
  • the fine deviation level defines fine category deviations, their description and data format. Each of the fine deviation categories relates, in smaller quantities, to a specific coarse instruction category. The four basic movement categories for the fine deviation level are shown in brackets.
  • the invention defines a method for sorting data between the two definition levels, treating and saving the data separately, then relating it to produce new combinations of unsorted data.
  • Sorting parameters define thresholds by which both angular and time-related specifications are sorted.
  • the threshold for each filter defines a quantity by which unsorted data is distributed to one of the definition levels. If a quantity that is to be sorted is greater then the threshold it will be placed in the coarse instruction level and if smaller it will be placed in the fine deviation level.
  • An extreme example of unsorted data is MOCAP. Its data is composed of numerous discrete key frames, based on sample rates of the order of tens of frames per second. This produces a vast volume of data making it therefore almost impossible to modify this data in a meaningful way. Distributing the data into definition levels makes it accessible and manageable.
  • An automatic separation process starts with conversion of data into detailed spatial states. Filters are used to define sorting parameters of path smoothing in relation to the detailed spatial states. Division into simple elliptical paths defines the coarse instruction level. Relating the detailed spatial states to the simple elliptical paths define the fine deviation level. At this point, sorted data is singular and reversible but can be generalized.
  • the categories in 1 are treated as states when sorted and thus require just duration threshold definitions.
  • the categories in 2 are treated as movements and require both duration and angular threshold definitions.
  • the categories in 3 may be calculated according to the actual movement occurrences created by the break of influence, keeping the initial definitions of state and movement or related to the system of reference.
  • Any quantitative data may be replaced by a random range definition.
  • the sign for random is a dash and when a range is required, the two numbers are shown on both sides of the dash.
  • Random may be used locally in both definition levels however generalizations usually require more random definition then specific numbers. Repeated results of using random factors are not consistent and repeating such a performance is impossible, in some embodiments of the invention different performances are automatically saved and then a desired performance can be recalled.
  • Rules for generalizing movement events, of both definition levels are specified: unifying coarse movement events under a title and specifying the relation of fine definition levels to coarse ones. It is possible to generalize spatial events as well as time-related ones like duration, occurrences, the beginning, the main part and the end of a movement event as well as to finer subdivisions.
  • interfaces are used for display and manipulation in this invention.
  • the two main interface environments are a stage and a tabular score.
  • Other interfaces are a construction area, a 2D drawing area and specifications of automation parameters. All interfaces are connected to a common data source.
  • Movement events are presented in both score and stage. Changes in one of them directly influence the other, through processes of filtering and overlapping within the data source.
  • a time locator shows a specific period along the timeline relating to both stage and score.
  • the stage is a 3D environment projecting a 3D character and its movement events.
  • the stage receives performance commands of unsorted material data. It includes tools for changing zoom, angle and view as well as manipulation tools, rendering options, backgrounds and object display.
  • This environment may be an independent 3D engine or a part of a 3D program.
  • the Stage window displays the character or characters at a specific moment (pose or movement), marked along the timeline. Characters are manipulated with 3D tools (rotation, translation, change of size etc.). Navigating in time is done by moving the time locater or using play controls (run, stop, pause etc.) that affect the characters display on the Stage.
  • the center of a system of reference may be displayed at the joint of a limb or a limb group, oriented as instructed (directed globally or reoriented). Symbols may be displayed (positions, movement, dynamics, relationship, characterizations%) besides a limb to enhance their presence in the Score.
  • Score The score is a table representing the skeletal structure of a character along a timeline.
  • the score uses the sorted material data of coarse and fine definition levels and displays both.
  • a row in the table represents a limb or limb group and all limbs run along a common timeline from left to right.
  • Each cell in such a table represents a component at a specific point in time and contains symbolic representations of movement events.
  • the score is both a representation and editing environment replacing many tools and menus conventionally used.
  • Each symbol is structured of active components that can be edited such that changes made thereto influence the character's movements.
  • the score includes an area containing the names and hierarchy of both limbs and limb groups, presented according to the initial construction, a timeline, a time locator, a table containing cells in which symbolic movement information is placed, a toolbox and a dedicated column containing a detailed definition of the preset position of the character presented on stage. Cells that do not contain relevant transitions, position or relationship information remain empty.
  • the score enables hiding and displaying information by specifying viewing parameters. When multiple characters are used, each is represented thus enabling them to be interrelated. Scores may be displayed in various levels of detail, from a highly detailed deviation level to a one-line display for each character or character group, without losing any information.
  • Primary definitions in the construction area act as default (predefined starting state) for the first state of the manipulation area, including primary hierarchy definitions.
  • the starting state is mandatory but may be changed from the preliminary state defined in the construction area. Any such changes do not affect the construction specifications. If no changes are made to the starting state it remains static and is repeated at the end of the Score. Movement is defined by a following state along the timeline.
  • the default interpolation for the movement is the shortest possible way (direct path).
  • Elliptical bypasses may also be specified by expressing the depth and direction (clockwise or anticlockwise) of the bypass. Duration of a movement is represented by the time interval between the starting and the end states. When an end state is specified, a time locator moves there and the character on the stage changes to the new state.
  • Each part of a movement symbol is an active button that can be moved or changed and in so doing changes the movement.
  • Dynamics of movement, acceleration and deceleration refer to both coarse and fine definition levels of both path and rotation and are treated as an overlapping layer of information that relates to the speed (angular length / duration) of movement events: zero being the default constant speed, plus (+) indicating acceleration and minus (-) indicating deceleration.
  • the expression of acceleration and deceleration uses dedicated symbols and duration lines or dedicated graph areas.
  • the structural hierarchy of a body is predefined during construction.
  • the movement of some limbs affects others when they move in a way that relocates or carries the affected limbs to new coordinates and spatial locations.
  • the hierarchy changes dynamically when actual conditions change the structural influence.
  • the hierarchy starts from the limb that carries the weight of the body and as such is the most influential until conditions change.
  • the frame of reference made of horizontal and vertical coordinates is commonly directed for all limbs, but can be redirected to a new horizontal or spatial coordinate or to a frame of reference directed by another limb or limb group. This reorientation is for convenience of symbolic display only, since it does not affect the way the movement is performed.
  • Relationship tools define relations between a limb and other limbs of the animated character and between limbs and the surrounding environment in a way that overrides and changes geometric spatial coordinates according to the relationship specifications. Relationships refer to the skin (outer surface) of a character instead of to the skeletal axis. Since movements can be applied to animated characters of varying proportions, these two factors may result in different spatial coordinates for different animated characters. The transfer of information to another figure uses a redirecting definition of new spatial coordinates.
  • Four types of relationships are used: contact, contact with weight, opposition and release. Each of these relationships has a dedicated symbol and may refer to the ground, another limb, external object or spatial coordinate. The difference between the two kinds of contact is that once contact with weight is defined, it affects the hierarchy of influence.
  • Opposition defines cases where there is no real contact but facing relationships are important. The distance or change of distance in this case is specified.
  • a relationship sign is numbered, with a matching number in the place it refers to.
  • the release sign is used to terminate all other relationship signs, it receives a similar number to the relationship it terminates.
  • the surface of each limb is divided into vertical and horizontal coordinates similar to the frame of reference or to the way the globe is divided, in order to specify a topographic division of the surface for relationship location specifications.
  • the surface coordinate is expressed by two numbers beside the relationship sign.
  • a duration line for a relationship starts with contact or opposition and ends with a release sign. Relationship symbols are also active buttons and can be moved and modified.
  • Movement events are presented using symbols, mainly in the score but the same symbols are used in other parts of the interface.
  • the tabular shape of the score is treated as a primary symbol, each line representing a component, each row representing a time duration and each cell representing a component in a time duration.
  • the following definitions refer to any limb.
  • States, movements and relationships are all occurrences in time. Their duration is presented by the length between their start and end. A starting state is essential. Movements are presented by a movement symbol at the start, a duration line and an end state. When a state remains unchanged in relation to its parent limb, the end state will be without a movement symbol or a duration line. Relationships (contact with weight, contact and opposition) are presented by unique symbols, horizontal and vertical topographic locations and a duration line terminated by a release.
  • the score also displays thumbnails of positions of characters along a timeline.
  • Start state horizontal direction, vertical direction and surface direction - hi, vl, rl.
  • End state horizontal direction, vertical direction and surface direction - h2, v2, r2.
  • Movement is presented by a duration line. When there is no independent movement the length is presented without the duration line.
  • the influencing limb is identified by the letter i.
  • State and movement are defined here together for position/path and rotational state/rotation, but they can be separated and combined to refer one way to the position/path and another way to the rotational state/rotation.
  • An area is dedicated for defining the structural construction of animated characters. Names of limbs and limb groups are defined, construction data such as the place of each limb within the construction hierarchy, its location in relation to neighboring limbs, its preliminary space coordinates and its length. Also defined are the range of movement of the limb and the way the hierarchy of limbs and limb groups are displayed in the manipulation area.
  • Grouping definitions specify a way of treating the group axis being an imaginary axis between the two end joints of the group. This option is used for manipulating groups in a similar way to the one used for single limbs.
  • a system of reference of a limb is locally related and the limb is considered to be directed to the horizontal and vertical directions of the system.
  • Front direction in this case is determined as the direction to which the zero surface of the limb is directed and the other directions are assigned correspondingly.
  • Zero surface is defined as the side facing the front direction of the general frame of reference, unless the limb is directed exactly forward and then zero surface is defined by the side facing up in the general system of reference.
  • the four positions form an elliptical cone defining the movement range.
  • the construction area is interactive and dynamic, and parameters of the construction may change actively along the manipulation process in the score, including randomization of factors of the primary state of the character, changes in construction and grouping order.
  • the structural construction information for limbs is graphically presented in a table. A limb is presented by a row (similarly to the way it is presented in the score) and definitions are presented by columns.
  • the canvas is a graphic environment for drawing movement traces of limb and limb group extremities on the surface of its movement sphere.
  • the graphic area is formed of two juxtaposed squares, each representing the flattened surface of half a sphere. It contains tools enabling 2D drawing and modifying paths that represent the 3D path drawn by the limbs extremities on the surface of the sphere.
  • a point defines a position or indicates that the limb does not move.
  • a line represents change or movement, which actually represents the timeline. Treatment of the graphic information is done with regular tools of vector line manipulation for drawing, erasing and changing lines.
  • a complex line is divided automatically into simple elliptical line segments representing singular movements.
  • the line is divided by time marks. Symbols may be displayed along the line to marking a relation to their presence in the score.
  • An easy way to change the depth of a bypass is by dragging its center.
  • the line may represent the overlap of direction and characterization. In this case the smoothed line represents the direction and the deviation is represented by another line drawn across it. More than one line may be displayed at the same time to represent more than one limb or limb group.
  • Changes made to graphical information change the data sources and redefine the movement of the character and the information in the Score.
  • the information displayed by this environment may be limited to the relevant data for a specified limb or limbs and a defined time duration. It can also relate to an actual drawing time.
  • Relationship tools are used to automatically specify common tasks without having to detail the exact geometrical coordinates.
  • FIG. 1 shows pictorially a stick figure of a skeletal structure representing an animated character
  • FIGS. 2a to 2e are a series of schematic diagrams showing the construction of a spherical system of reference
  • FIG. 3 is a schematic diagram showing a spherical system of reference attached to various limbs of an animated character
  • FIG. 4 is a schematic diagram showing a spherical system of reference attached to the whole body of an animated character
  • FIG. 5 is a schematic diagram showing how the spherical system of reference is used for topographical mapping of the surfaces of the body's limbs;
  • FIG. 6 is a flowchart detailing the process by which unsorted material is sorted into sorted definition levels
  • FIG. 7a and FIG 7b are flowcharts detailing the processes by which sorted material is combined into performance command;
  • FIG. 8 is a flowchart detailing the process by which generalizations are applied to sorted material
  • FIG. 9 is a flowchart detailing the process by which generalizations are defined automatically by range identification;
  • FIG. 10 is a block diagram detailing how the three environments of the invention relate to a common data source;
  • FIG. 11a to FIG. lie details a series of flow charts showing various interface displays of data types;
  • FIG. 12 is a flow diagram showing how movement specifications relate to various data types;
  • FIG. 13 is a diagram showing the spherical system of reference attached to a limb
  • FIG. 14 is a diagram showing the spherical system of reference attached to an arm of a 3D character
  • FIG. 15 is an illustration displaying a score of the coarse instruction level. Containing symbols for representing and manipulating movement events;
  • FIG. 16 shows a chart displaying the presentation of relations between the fine and the coarse levels
  • FIG. 17 is a chart showing a symbolic construction environment for constructing characters
  • FIGS. 18a and 18b are charts showing a canvas for drawing the traces of the extremities on the surface of the sphere;
  • FIG. 19 is a chart showing categories of movement as displayed in three interface environments and their influence on the data.
  • FIG. 1 shows pictorially a stick figure 1 depicting a skeletal structure representing an animated character as it is presented on the stage showing limbs 2 represented by lines, and joints 3 represented by dots. The respective lengths of the limbs and their default positions are also shown.
  • This basic structure of limb and joint, abstracted to lines and connection points, is valid to the construction of the skeletal structure of all human, animal and imaginary animated characters.
  • FIGS. 2a to 2e are a series of schematic diagrams showing the construction of a spherical system of reference.
  • FIG. 2a depicts a single axis of a limb 4 moving around a joint 5 within a sphere 6.
  • FIG. 2b defines a single vertical axis 7 and a single horizontal plane 8 perpendicular thereto, both acting as the base for the construction of a spherical system of reference with explicit directions.
  • the horizontal plane is divided into intervals defining "units of measurement" (45 degrees in this case), each of which receives a number starting with zero and serve as the horizontal coordinates.
  • units of measurement 45 degrees in this case
  • a vertical plane is constructed on each horizontal coordinate and is also divided into intervals, each of which receives a number starting with zero. All vertical planes inter- sect each other in a common vertical axis of the system 9, which is directed downward and upward off the horizontal plane.
  • FIG. 2e illustrates the allocation of horizontal and vertical positions within the system.
  • FIG. 3 is a schematic diagram showing a spherical system of reference attached to various limbs of an animated character, the manner in which they are centered at the joints and the way they are commonly directed.
  • the selected systems shown in the figure depict the right arm centered at the shoulder joint 10, forearm centered at the elbow joint 11 and hand centered at the root of the hand 12. Also depicted are the left lower leg (only the top hemisphere is shown) centered at the ankle joint 13 and the thigh centered at the knee joint 14.
  • FIG. 4 is a schematic diagram showing a spherical system of reference attached to the whole body of an animated character. Here only the top hemisphere is shown and the joint is assigned to the connection to the surface. This is necessary for general instructions to the whole body (turns, somersaults and so on).
  • FIG. 5 is a schematic diagram showing how the spherical system of reference is used for topographical mapping of the surfaces of the body's limbs. This is done in a predefined zero position (as constructed) and the sphere surrounds the limb itself with its vertical axis coinciding with the axis of the limb. This enables assigning the coordinates of the system of reference as topographical locations on the surface of the limb and keeping them as names of parts of these surfaces.
  • FIG. 6a is a flow chart that details how unsorted 3D material from various sources 15 is translated 16 into local CAST format 17 called performance commands.
  • the sorting process 18 applies threshold sorting parameters for separating smoothed data from its deviations, then divides the smoothed data into distinct occurrences. Movement material is sorted 19 and saved in two levels: a coarse definition level and a fine deviation level.
  • FIG. 7a is a flow chart that details how sorted material is combined 20 into unsorted performance commands 21.
  • FIG. 7b is a flow chart that details how sorted material is combined into unsorted performance commands, when random is used.
  • Random definitions of sorted movement material 22 go through a process of automatic singular occurrence selection 23.
  • Singular sorted material is combined 24 into unsorted performance commands 25.
  • the singular occurrence is saved 26 and an accumulation of occurrences 27 is stored by reactivating the random selection process.
  • FIG. 8 is a flow chart that details how generalizations definitions 28 are applied to movement material 29 for generating the two levels of singular sorted material 30 occurrences.
  • FIG. 9 is a flow chart that details how by identifying ranges of movement occurrences 31 an automatic process of definition generalization 32 is activated.
  • FIG. 10 is a block diagram showing the principal functionality of a system according to an embodiment of the invention having three main environments constituted by a Stage 33, score 34 and Canvas 35, respectively all mutually and interactively coupled to common data source 36.
  • the Stage 33 facilitates the representation of 3D animated characters 37 and includes tools 38 for manipulation of position and movement.
  • the Score 34 displays symbolic, alphanumeric representations and tools 39 in two related windows for manipulation of movement 40 and construction of animated characters 41, respectively.
  • the Canvas 35 includes a drawing area 42 and drawing tools 43 for drawing graphic paths and movement traces of the extremities of limbs and limb groups.
  • FIG. 11a is a flow chart showing an interface of unsorted performance commands 44 displayed as a 3D display of the character performance on stage 45.
  • FIG. lib is a flow chart showing an interface of the two levels of sorted material 46 displayed in a score display 47.
  • FIG. lib is a flow chart showing an interface of the two levels of generalizations 48 displayed in definition tables 49.
  • FIG. 12 is a flow diagram showing how movement specifications relate to three data types and their influence on the performance of an animated character.
  • Movement specifications contain generalizations that are used to detail and tag rules that are applied to deviations and instructions, stored in a generalization tagging area of the data source and local definitions that are separated into deviations and movement levels, both containing quantitative data of precise definitions and random ranges.
  • Deviations relate to instructions and both are stored sorted material. After instructions and deviations are separated, they need to go through two processes before becoming a performance command. The first fixes a precise instance of data for random ranges and the second relates the deviations to the instructions. Precise definitions of both instructions and deviations are combined and result in occurrences which repeat consistently each time. For random information, which recurs differently, all versions are recorded so as to enable the user to return to a desired instance, each containing precise information. For each instance of precise information, both deviations and instructions are combined to produce performance commands.
  • FIG. 13 is a diagram showing the spherical system of reference attached to a limb appearing on the stage.
  • a sphere is presented at the origin of the active limb, limb group or animated character, displaying explicit directions.
  • the sphere displays a dot at the center of the sphere 50 representing the joint or origin of the limb and the limb's direction 51 within the sphere.
  • Six lines extending radially outward from the center represent the six main spatial directions: up and down, front marked by an arrow 52 and the other horizontal directions: back, right and left.
  • a horizontal plane 53 is shown superimposed on these directions and the two vertical planes 54 orthogonal to each other.
  • FIG. 14 shows the spherical system of reference as shown in FIG. 13 attached to an arm of a 3D character showing both the direction of the arm and of the system.
  • FIG. 15 shows a score 50 using symbols for representing manipulation of characters or component limbs.
  • Column 55 shows the names and the spatial hierarchy of limbs and limb groups. In this example some of the limbs are hidden, and only the relevant information for the current movements is displayed.
  • the table of limbs and time 56 contain symbolic representations of starting positions and symbols for depicting a movement procedure and containing symbols of positions, movement, contact, release and others.
  • a time slider 57 tracks time and shows the current time. The position of the character at the current time 58 is displayed on stage to within 1 degree angular resolution. Pictures of the character's positions 59 are displayed along the score.
  • FIG. 16 shows a chart displaying symbolically the relation between the fine and the coarse levels of movement events and the four basic movement categories, thereby demonstrating the way instructions and deviations are represented within the time frame of the Score.
  • Four coarse movement categories are shown - position, rotational state, rotation and path, below each of which the relevant deviations are displayed.
  • In both of the coarse instruction levels of the two state categories 60 there is no duration line and the start state remains unchanged in relation to its parent at the end of the movement event.
  • both of the coarse instruction levels of the movement categories 61 there is a duration line 62 and a movement symbol 63, so that the start state changes in relation to its parent showing a different state at the end of the movement event.
  • the duration line represents the initial coarse movement and the gap in the line represents the pause.
  • the duration line represents the deviation and the gap in the line represents the initial movement event.
  • FIG. 17 is a chart showing an interface for specifying the structure characters using symbolic notation.
  • names are assigned to limbs, limb groups and IK (Inverse Kinematics) grouping for the default manner for defining the imaginary axis of limb groups.
  • the next group of four columns 66 contains constructional information for each limb.
  • Parent hierarchy 67 defines the way one limb influences, and is influenced by, the movement of the other limbs.
  • the initial limb is represented by index 0 and progressively higher numbers are assigned to limbs connected thereto such that the larger the number, the more remote is the limb from the initial limb.
  • Joint location 68 defines to what part of a limb the next one in the hierarchy is connected: D is the default and is the distal or farthest part of the limb; P is for proximal or closest part of the limb, to its parent.
  • Primary position 69 expresses the initial direction of each limb.
  • Length 70 expresses how long each limb is.
  • the next group of eight columns 71 contains the limitations of movement ranges of limbs. The first two columns express the amount each limb can turn around itself. The next four columns express spatial coordinates through which an elliptical path of movement defines the limitations of the joints movements.
  • FIGS. 18a and 18b are charts showing a canvas for drawing traces of limb extremities on the surface of the sphere.
  • the canvas is a rectangular 72 and flattened version of the sphere and is constructed of two squares, representing the left and right hemispheres respectively.
  • the bottom border 73 represents all the downward coordinates and the top border 74 represents all the upward coordinates.
  • Vertical coordinates 75 are marked at the bottom and horizontal ones 76 on the left.
  • a line 77 representing movement traces on the surface of the sphere starts at the triangle 78, exiting and entering the canvas until it ends at the semicircle 79. This path is divided into simple paths as part of the sorting process and displays time divisions along it in order to coordinate it with the timeline.
  • FIG. 18b shows the relation between coarse instruction level, displayed by the line 77 shown also in FIG. 18a and fine deviation level displayed by the thin line zigzagging across it.
  • FIG. 19 is a chart showing movement categories as displayed in three interface environments and their influence on the data: Score A, Stage B and Canvas C, and their influence on the data source D.
  • the canvas in this example, displays the start position with a dot and the end position with a semicircle.
  • a position 80 is indicated in the score A as numbers representing a position by horizontal and vertical directions one above the other, topped by a rotational state.
  • a movement 81 is indicated in the Score A as a movement sign followed by a duration line and ending with a position (the rotation is not displayed in this example).
  • movement is represented by a start position and a line or curve originating from it ending with an end position.
  • Stage C movement is shown as a 3D limb directed in space and then moved with time to a new direction.
  • a movement of more than one limb in which the influenced limb does not change its relation to the influencing limb 82 is indicated in the score A with a movement symbol in the influencing limb and as just an end position in the influenced limb.
  • canvas B it is shown as a starting position, a line or curve originating from it and an end position for the influencing limb and a starting position and end position for the influenced limb without a connecting line.
  • Such a movement is shown as one 3D (influencing) limb directed in space and then moved with time to a new direction, and a 3D (influencing) limb directed in space and then moved in space by the influencing limb to a new position without changing its relation to the influencing limb.
  • Simultaneous movement in which the influenced limb moves and changes its relation to the influencing limb 83 is indicated in the score A as a movement symbol in the influencing limb and as a movement symbol in the influenced limb.
  • canvas B such a movement is shown as a starting position, a line or curve originating from it and an end position for the influencing limb and another starting position, a line or curve originating from it and an end position for the influenced limb.
  • Such a movement is shown as one 3D (influencing) limb directed in space and then moved with time to a new direction and a 3D (influenced) limb directed and then moved in space by the influencing limb to a new position.
  • This limb also moves and changes its relation to the influencing limb.
  • a fixation is a movement of more than one limb in which the influenced limb remains directed to the same coordinate in space and yet moves and changes its relation to the influencing limb: in other words it is uninfluenced 84.
  • Such movement is indicated in the Score A with a movement symbol in the influencing limb and a fixation symbol (f) in the influenced limb.
  • such a movement is shown as a starting position, a line or curve originating from it and an end position for the influencing limb and just a starting position for the influenced limb.
  • stage C such a movement is shown as one 3D (influencing) limb directed in space and then moved with time to a new direction and a 3D (fixed) limb directed in space, and is not moved by the influencing limb.
  • This fixed limb remains directed to its original spatial position so it actually moves in relation to the influencing limb.
  • the movement will be modified to enable the relationship 85 and is indicated in the score A as a movement symbol before the relationship symbol (following a topography sign) and another movement symbol after the relationship symbol.
  • such a movement is shown as a starting position, a line or curve originating from it and ending at a second position for the first movement and a second line or curve originating from the end position of the previous line and ending at an end position.
  • On stage C such a movement is shown as one 3D limb directed in space and then moved with time to a new direction dictated by the relationship sign and then further moved to the final direction.
  • a system includes a processor coupled to a memory that stores data representative of an animated character and instructions applying for generating movements of components thereof.
  • An interface is coupled to the processor for applying to one or more components of the animated character a respective first instruction for producing a corresponding first movement and for applying to each of said components a respective second instruction for producing respective deviations from the corresponding first movement of each of the components.
  • the processor is responsive to the first instruction and the second instruction for superimposing the deviations on to the respective first movements so as to produce a desired movement of each of the components.
  • a display device is coupled to the processor for displaying data indicative of the first instruction, the second instruction and the movement of the components. It will also be understood that the system according to the invention may be a suitably programmed computer.
  • the invention contemplates a computer program being readable by a computer for executing the method of the invention.
  • the invention further contemplates a machine-readable memory tangibly embodying a program of instructions executable by the machine for executing the method of the invention.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

In a computer-implemented method for generating a 3-D animation of an animated character respective first and second instructions are applied to one or more components of the animated character for producing a corresponding first movement and a corresponding deviation therefrom. The respective deviations are superimposed on to the respective first movements so as to produce a desired movement of each of the components.

Description

Method and system for generating animation of 3D characters
FIELD OF THE INVENTION
The present invention relates to the field of computer generated three dimensional (3D) character animation and in particular, to character manipulation and construction. It additionally relates to the field of movement analysis and notation.
BACKGROUND OF THE INVENTION
Computer generated, 3D character animation is a specialized field of 3D animation, concerned with the animation of 3D characters. A 3D character, for this purpose, is any skeleton based model, where a skeleton is defined as an articulated hierarchical structure. Current work concepts for character animation are composed of various methods and tools: direct FK (Forward Kinematics) and IK (Inverse Kinematics) manipulation, charts, dialog boxes, tables, graphs, rig specifications and so on. Most of these tools, however, originated from 3D environments that dealt with architecture and engineering and were developed ad hoc, in order to solve specific needs. Consequently, there is lacking a common, consistent, interaction concept and between various complex tools.
SUMMARY OF THE INVENTION
It is therefore of the present invention to provide a unified, movement-derived, all-inclusive solution, tailored specifically for the task of 3-D character animation.
To this end there is provided in accordance with an aspect of the invention a computer-implemented method for generating a 3-D animation of an animated character, the method comprising: applying to one or more components of the animated character a respective first instruction for producing a corresponding first movement; applying to each of said components a respective second instruction for producing respective deviations from the corresponding first movement of each of said components; and superimposing the deviations onto the respective first movements so as to produce a desired movement of each of said components.
The invention is based on a movement-derived concept for the display and manipulation of 3D animated characters. The invention uses a movement analysis and notation system called Eshkol-Wachmann Movement Notation (EWMN), created more than 50 years ago in Israel and previously used mainly for choreography and research. When used in such environments, the notation is performed by hand or by using special computer notation processing software. The system has previously been used for the generation of 2D computer animation and in a limited way, applied to 3D static drawings, as well. However, it has not been used to represent dynamic 3D movement of animated characters. The invention also provides a user interface that employs a score that displays an animated character having multiple limbs, in respect of which a respective line of the score serves as a command input for realizing a desired movement or choreography. In one embodiment, the desired movement or choreography is symbolized using the EWMN notation. Such an approach offers the following benefits:
• Separation of movement events into coarse and fine levels.
• Overall, integrated solution to character animation movement.
• New method for character construction.
• Drawing movement traces of limb extremities on a flat surface. • Unequivocal system of reference.
• Coherent score
• Innovative random, generalization and automation methods
• MOCAP (motion capture) sorting
• Dynamic filtering • Data treatment for storage and cataloging (reuse) These features are used in various environments that are interlinked, work in correlation, but display the data in different ways. The invention defines methods and technologies for constructing and manipulating 3D animated characters. The technology is realized in various application products, each containing unique tools and interfaces.
Definition levels
The invention specifies ways for separating movement events and consequence data to definition levels, coarse instruction level (movement instructions) and a fine deviation level (nature of movement). In both definition levels movement events are defined similarly and are considered as different resolutions of similar phenomena. The fine definition level movement events are specified as deviations from correlating coarse level movement events.
Basic structure of components
The invention deals with structures that are composed of at least one component defined as a limb or axis. It is hierarchical in the sense that one end of a limb is defined as an origin or joint around which the limb pivots, within a sphere and the other end defines the surface of the sphere. To the free end of a limb another limb or limbs may be connected by joints, these limbs will be referred to as "children" and are influenced by the movement of first influencing limb, referred to as "parent". This hierarchy of parent and children is applied recursively to the whole structural construction.
Movement events
The main events dealt with in this invention are defined by specifying spatial, angular definitions to time related ones.
Angular division into basic movement categories
Movement Events are divided into two main families: a state defines an unchanging relation between limbs and a movement defines changes of that relation ending in a new state. Each family is divided into two categories, one dealing with the longitudinal axis of limbs and the other with the direction of the surface of the limb. It is essential to define to which basic category any movement event refers.
Figure imgf000006_0001
Time Definitions
Defining how movement events are distributed in time by defining the beginning, and end of movement events, the duration (calculated by their difference) and the relation to spatial specifications for defining speed and dynamics.
System of reference
In order to relate movement categories to a 3D environment, a polar coordinate system is used to define an angular system of reference (SOR). The center of the system is the joint the limb pivots around. Using a specified angular magnitude, the system is divided into horizontal and vertical deviations from a predefined zero direction.
State expressions are formed of three numbers: two express the position (one for horizontal and the other for vertical direction) and the third expresses a rotational state, specified by the amount a limb is turned (rotated) in relation to a predefined zero.
Movement expressions, or changes of relations, are achieved by defining a second state for the limb, again containing the three numbers mentioned before
(horizontal, vertical and rotational state), and have the system interpolate the path and rotation. The default interpolation is the shortest angular path and the shortest rotation between the first and the second states. An elliptical bypass to this shortest way is done by defining numerically the angular depth and the direction (which side of the shortest way) of the bypass. Relations between data categories
Data is configured and stored under three relating categories. One contains unsorted data or performance commands, the second contains sorted data distributed between the two definition levels and the third defines sorting parameters for filtering the first and second categories. The process is dynamic and bidirectional. Sorting is done by applying filters containing sorting parameters to unsorted data. Sorted data may be modified and then overlapped directly to produce unsorted data. Changing the sorting parameters reapplies them to the unsorted data for resorting between the two definition levels, according to the new parameters. Time specifications of sorted material in coarse and fine definition levels as well as dynamic specifications, define numerically the start and end time defining duration (I*).
Coarse instruction level
Uses the four basic movement categories, their description and data format:
Figure imgf000007_0001
Fine deviation level in relation to the coarse instruction level
The fine deviation level defines fine category deviations, their description and data format. Each of the fine deviation categories relates, in smaller quantities, to a specific coarse instruction category. The four basic movement categories for the fine deviation level are shown in brackets.
Figure imgf000008_0001
Sorting of definition levels
The invention defines a method for sorting data between the two definition levels, treating and saving the data separately, then relating it to produce new combinations of unsorted data.
Sorting parameters define thresholds by which both angular and time-related specifications are sorted. The threshold for each filter defines a quantity by which unsorted data is distributed to one of the definition levels. If a quantity that is to be sorted is greater then the threshold it will be placed in the coarse instruction level and if smaller it will be placed in the fine deviation level.
Figure imgf000009_0001
Treating motion capture (MOCAP)
An extreme example of unsorted data is MOCAP. Its data is composed of numerous discrete key frames, based on sample rates of the order of tens of frames per second. This produces a vast volume of data making it therefore almost impossible to modify this data in a meaningful way. Distributing the data into definition levels makes it accessible and manageable. An automatic separation process starts with conversion of data into detailed spatial states. Filters are used to define sorting parameters of path smoothing in relation to the detailed spatial states. Division into simple elliptical paths defines the coarse instruction level. Relating the detailed spatial states to the simple elliptical paths define the fine deviation level. At this point, sorted data is singular and reversible but can be generalized.
Movement event combinations
Four combinations are possible for the four basic movement categories. Here they are presented for the coarse instruction level with the associated fine deviation level categories.
Figure imgf000010_0001
Influence specifications of movement events
It is essential to specify whether an angular change has occurred in a joint when a limb changes its relation to the system of reference or was it changed just as the result of the influence of movement of hierarchical parent limbs. In order to do this, each movement event has to be assigned a movement category and then distributed between the two definition levels. Hence movement is defined as an angular change (path or rotation) of a limb in relation to its parent (influencing) limb and state is defined when no such change occurs (position or rotational state). The following definitions specify whether a limb relates to its hierarchical parent limbs as movement or state.
1. No independent movement (state). a) No movement in the parent limb - the limb remains in the original position and rotational state. b) The limb is moved by the parent limb to a new position and/or rotational state. 2. Independent movement (movement). a) No movement in the parent limb - the limb moves in relation to its parent limb and ends up in a new position and/or rotational state. b) The limb is moved by the parent limb to a new position and/or rotational state, in addition to moving in relation to its parent limb. 3. Fixation defines that the parent influence is broken leaving the limb related to the system of reference(state or movement). a) The limb keeps its original position despite movement of the parent limbs. The movement is defined as one contradicting the combined influence of parent limbs. b) The limb moves in relation to the system of reference independently, without being influenced by its parent limbs.
The categories in 1 are treated as states when sorted and thus require just duration threshold definitions. The categories in 2 are treated as movements and require both duration and angular threshold definitions. The categories in 3 may be calculated according to the actual movement occurrences created by the break of influence, keeping the initial definitions of state and movement or related to the system of reference.
Use of random Any quantitative data may be replaced by a random range definition. The sign for random is a dash and when a range is required, the two numbers are shown on both sides of the dash.
Random may be used locally in both definition levels however generalizations usually require more random definition then specific numbers. Repeated results of using random factors are not consistent and repeating such a performance is impossible, in some embodiments of the invention different performances are automatically saved and then a desired performance can be recalled.
Generalizations
Rules for generalizing movement events, of both definition levels are specified: unifying coarse movement events under a title and specifying the relation of fine definition levels to coarse ones. It is possible to generalize spatial events as well as time-related ones like duration, occurrences, the beginning, the main part and the end of a movement event as well as to finer subdivisions.
The ability to separate and generalize relationships between definition levels, enables overlapping them in various ways. From an accumulation of generalizations of characteristics of numerous limbs it is possible to define full body general behavioral patterns for characters. Behavioral patterns are applied to coarse level instructions and may be transferred to other characters as well. So, for example, similar coarse level instructions may be given to a group of characters but performed with different nuances by each character following different behavioral patterns defined by fine level deviations. The definition and application of generalizations follow rules similar to the ones used in singular movement event specifications. The generalization method is also applied to movement events that create or influence event chains in other limbs or limb groups as well as later events. Features such as overriding hierarchy, repetition, symmetry, sliding and so on, as well as common actions like jump, step, curve (spine shape) are predefined and appear simply as shortcut symbols in the Score. This option is also applied to user-defined shortcuts.
Generalization of fine deviation level - related to the coarse instruction level:
Figure imgf000012_0001
Figure imgf000013_0001
Interface realization
Several interfaces are used for display and manipulation in this invention. The two main interface environments are a stage and a tabular score. Other interfaces are a construction area, a 2D drawing area and specifications of automation parameters. All interfaces are connected to a common data source.
Movement events are presented in both score and stage. Changes in one of them directly influence the other, through processes of filtering and overlapping within the data source.
A time locator shows a specific period along the timeline relating to both stage and score.
Stage
The stage is a 3D environment projecting a 3D character and its movement events. The stage receives performance commands of unsorted material data. It includes tools for changing zoom, angle and view as well as manipulation tools, rendering options, backgrounds and object display. This environment may be an independent 3D engine or a part of a 3D program. The Stage window displays the character or characters at a specific moment (pose or movement), marked along the timeline. Characters are manipulated with 3D tools (rotation, translation, change of size etc.). Navigating in time is done by moving the time locater or using play controls (run, stop, pause etc.) that affect the characters display on the Stage. The center of a system of reference may be displayed at the joint of a limb or a limb group, oriented as instructed (directed globally or reoriented). Symbols may be displayed (positions, movement, dynamics, relationship, characterizations...) besides a limb to enhance their presence in the Score.
Score The score is a table representing the skeletal structure of a character along a timeline. The score uses the sorted material data of coarse and fine definition levels and displays both.
A row in the table represents a limb or limb group and all limbs run along a common timeline from left to right. Each cell in such a table represents a component at a specific point in time and contains symbolic representations of movement events. The score is both a representation and editing environment replacing many tools and menus conventionally used. Each symbol is structured of active components that can be edited such that changes made thereto influence the character's movements.
The score includes an area containing the names and hierarchy of both limbs and limb groups, presented according to the initial construction, a timeline, a time locator, a table containing cells in which symbolic movement information is placed, a toolbox and a dedicated column containing a detailed definition of the preset position of the character presented on stage. Cells that do not contain relevant transitions, position or relationship information remain empty. The score enables hiding and displaying information by specifying viewing parameters. When multiple characters are used, each is represented thus enabling them to be interrelated. Scores may be displayed in various levels of detail, from a highly detailed deviation level to a one-line display for each character or character group, without losing any information.
Usage of the score
Primary definitions in the construction area act as default (predefined starting state) for the first state of the manipulation area, including primary hierarchy definitions. The starting state is mandatory but may be changed from the preliminary state defined in the construction area. Any such changes do not affect the construction specifications. If no changes are made to the starting state it remains static and is repeated at the end of the Score. Movement is defined by a following state along the timeline. The default interpolation for the movement is the shortest possible way (direct path). Elliptical bypasses may also be specified by expressing the depth and direction (clockwise or anticlockwise) of the bypass. Duration of a movement is represented by the time interval between the starting and the end states. When an end state is specified, a time locator moves there and the character on the stage changes to the new state.
Each part of a movement symbol (arrowhead, duration line and position sign) is an active button that can be moved or changed and in so doing changes the movement.
Dynamics
Dynamics of movement, acceleration and deceleration, refer to both coarse and fine definition levels of both path and rotation and are treated as an overlapping layer of information that relates to the speed (angular length / duration) of movement events: zero being the default constant speed, plus (+) indicating acceleration and minus (-) indicating deceleration. The expression of acceleration and deceleration uses dedicated symbols and duration lines or dedicated graph areas.
Hierarchy orientation
The structural hierarchy of a body is predefined during construction. The movement of some limbs affects others when they move in a way that relocates or carries the affected limbs to new coordinates and spatial locations. The hierarchy changes dynamically when actual conditions change the structural influence. The hierarchy starts from the limb that carries the weight of the body and as such is the most influential until conditions change.
Orientation of the system of reference
The frame of reference made of horizontal and vertical coordinates is commonly directed for all limbs, but can be redirected to a new horizontal or spatial coordinate or to a frame of reference directed by another limb or limb group. This reorientation is for convenience of symbolic display only, since it does not affect the way the movement is performed.
Relationship tools
Relationship tools define relations between a limb and other limbs of the animated character and between limbs and the surrounding environment in a way that overrides and changes geometric spatial coordinates according to the relationship specifications. Relationships refer to the skin (outer surface) of a character instead of to the skeletal axis. Since movements can be applied to animated characters of varying proportions, these two factors may result in different spatial coordinates for different animated characters. The transfer of information to another figure uses a redirecting definition of new spatial coordinates. Four types of relationships are used: contact, contact with weight, opposition and release. Each of these relationships has a dedicated symbol and may refer to the ground, another limb, external object or spatial coordinate. The difference between the two kinds of contact is that once contact with weight is defined, it affects the hierarchy of influence. Opposition defines cases where there is no real contact but facing relationships are important. The distance or change of distance in this case is specified. A relationship sign is numbered, with a matching number in the place it refers to. The release sign is used to terminate all other relationship signs, it receives a similar number to the relationship it terminates. The surface of each limb is divided into vertical and horizontal coordinates similar to the frame of reference or to the way the globe is divided, in order to specify a topographic division of the surface for relationship location specifications. The surface coordinate is expressed by two numbers beside the relationship sign. A duration line for a relationship starts with contact or opposition and ends with a release sign. Relationship symbols are also active buttons and can be moved and modified.
Symbols
Movement events are presented using symbols, mainly in the score but the same symbols are used in other parts of the interface.
The tabular shape of the score is treated as a primary symbol, each line representing a component, each row representing a time duration and each cell representing a component in a time duration. The following definitions refer to any limb.
Basic symbols
Figure imgf000016_0001
Figure imgf000017_0001
Figure imgf000018_0001
Within cells three areas are assigned for coarse level information: the top for rotations and rotational sides, the middle for spatial information of both position and movement and the bottom for relationship specifications. Two areas are assigned for fine level information: the top for rotations and rotational sides and the bottom for spatial information of both position and movement.
States, movements and relationships are all occurrences in time. Their duration is presented by the length between their start and end. A starting state is essential. Movements are presented by a movement symbol at the start, a duration line and an end state. When a state remains unchanged in relation to its parent limb, the end state will be without a movement symbol or a duration line. Relationships (contact with weight, contact and opposition) are presented by unique symbols, horizontal and vertical topographic locations and a duration line terminated by a release.
The score also displays thumbnails of positions of characters along a timeline.
Score presentation of influence categories
In the score environment the influence categories are presented graphically. Start state: horizontal direction, vertical direction and surface direction - hi, vl, rl. End state: horizontal direction, vertical direction and surface direction - h2, v2, r2.
Movement is presented by a duration line. When there is no independent movement the length is presented without the duration line.
In the following examples the influencing limb is identified by the letter i. State and movement are defined here together for position/path and rotational state/rotation, but they can be separated and combined to refer one way to the position/path and another way to the rotational state/rotation.
1. No independent movement:
Figure imgf000019_0001
2. Independent movement.
No change in parent limb - limb changes The limb is dragged by the parent limb its angular relation to its parent limb and changes its relation to it. rl - r2 rl - r2 vl - v2 vl - v2 hi - h2 hi - h2 irl ir2 irl ir2 ivl iv2 ivl - iv2 ihl ih2 ihl - ih2 3. The parent influence is actively broken.
Keeps its original state despite changes in the parent limbs or moves in relation to the system of reference interdependently, without being influenced by its parent limbs.
Figure imgf000020_0001
Structural construction of limbs
An area is dedicated for defining the structural construction of animated characters. Names of limbs and limb groups are defined, construction data such as the place of each limb within the construction hierarchy, its location in relation to neighboring limbs, its preliminary space coordinates and its length. Also defined are the range of movement of the limb and the way the hierarchy of limbs and limb groups are displayed in the manipulation area.
Grouping definitions specify a way of treating the group axis being an imaginary axis between the two end joints of the group. This option is used for manipulating groups in a similar way to the one used for single limbs.
For movement range definitions a system of reference of a limb is locally related and the limb is considered to be directed to the horizontal and vertical directions of the system. Front direction in this case is determined as the direction to which the zero surface of the limb is directed and the other directions are assigned correspondingly. Zero surface is defined as the side facing the front direction of the general frame of reference, unless the limb is directed exactly forward and then zero surface is defined by the side facing up in the general system of reference. The four positions form an elliptical cone defining the movement range. The construction area is interactive and dynamic, and parameters of the construction may change actively along the manipulation process in the score, including randomization of factors of the primary state of the character, changes in construction and grouping order. The structural construction information for limbs is graphically presented in a table. A limb is presented by a row (similarly to the way it is presented in the score) and definitions are presented by columns.
Construction categories
Figure imgf000021_0001
Figure imgf000022_0001
Canvas
The canvas is a graphic environment for drawing movement traces of limb and limb group extremities on the surface of its movement sphere. The graphic area is formed of two juxtaposed squares, each representing the flattened surface of half a sphere. It contains tools enabling 2D drawing and modifying paths that represent the 3D path drawn by the limbs extremities on the surface of the sphere.
A point defines a position or indicates that the limb does not move. A line represents change or movement, which actually represents the timeline. Treatment of the graphic information is done with regular tools of vector line manipulation for drawing, erasing and changing lines. A complex line is divided automatically into simple elliptical line segments representing singular movements. The line is divided by time marks. Symbols may be displayed along the line to marking a relation to their presence in the score. An easy way to change the depth of a bypass is by dragging its center. The line may represent the overlap of direction and characterization. In this case the smoothed line represents the direction and the deviation is represented by another line drawn across it. More than one line may be displayed at the same time to represent more than one limb or limb group.
Changes made to graphical information change the data sources and redefine the movement of the character and the information in the Score. If desired, the information displayed by this environment may be limited to the relevant data for a specified limb or limbs and a defined time duration. It can also relate to an actual drawing time.
Automation
Various kinds of automation are achieved in accordance with different embodiments of the invention. For example: • Relationship tools are used to automatically specify common tasks without having to detail the exact geometrical coordinates.
• Automation (including random factor specifications) of assigning rules of relationship between movement definition levels. • Automatic detection of special paths (horizontal, vertical etc.).
• Automatic detection of common generalizations.
• Automatic recognition of repeated patterns for generalization definitions.
• Automatic hiding of unused Score parts.
BRIEF DESCRIPTION OF THE DRAWINGS In order to understand the invention and to see how it may be carried out in practice, embodiments will now be described, by way of non-limiting example only, with reference to the accompanying drawings, in which:
FIG. 1 shows pictorially a stick figure of a skeletal structure representing an animated character; FIGS. 2a to 2e are a series of schematic diagrams showing the construction of a spherical system of reference;
FIG. 3 is a schematic diagram showing a spherical system of reference attached to various limbs of an animated character;
FIG. 4 is a schematic diagram showing a spherical system of reference attached to the whole body of an animated character;
FIG. 5 is a schematic diagram showing how the spherical system of reference is used for topographical mapping of the surfaces of the body's limbs;
FIG. 6 is a flowchart detailing the process by which unsorted material is sorted into sorted definition levels; FIG. 7a and FIG 7b are flowcharts detailing the processes by which sorted material is combined into performance command;
FIG. 8 is a flowchart detailing the process by which generalizations are applied to sorted material;
FIG. 9 is a flowchart detailing the process by which generalizations are defined automatically by range identification; FIG. 10 is a block diagram detailing how the three environments of the invention relate to a common data source;
FIG. 11a to FIG. lie details a series of flow charts showing various interface displays of data types; FIG. 12 is a flow diagram showing how movement specifications relate to various data types;
FIG. 13 is a diagram showing the spherical system of reference attached to a limb;
FIG. 14 is a diagram showing the spherical system of reference attached to an arm of a 3D character;
FIG. 15 is an illustration displaying a score of the coarse instruction level. Containing symbols for representing and manipulating movement events;
FIG. 16 shows a chart displaying the presentation of relations between the fine and the coarse levels; FIG. 17 is a chart showing a symbolic construction environment for constructing characters;
FIGS. 18a and 18b are charts showing a canvas for drawing the traces of the extremities on the surface of the sphere;
FIG. 19 is a chart showing categories of movement as displayed in three interface environments and their influence on the data.
DETAILED DESCRIPTION OF EMBODIMENTS
FIG. 1 shows pictorially a stick figure 1 depicting a skeletal structure representing an animated character as it is presented on the stage showing limbs 2 represented by lines, and joints 3 represented by dots. The respective lengths of the limbs and their default positions are also shown. This basic structure of limb and joint, abstracted to lines and connection points, is valid to the construction of the skeletal structure of all human, animal and imaginary animated characters.
FIGS. 2a to 2e are a series of schematic diagrams showing the construction of a spherical system of reference. FIG. 2a depicts a single axis of a limb 4 moving around a joint 5 within a sphere 6. FIG. 2b defines a single vertical axis 7 and a single horizontal plane 8 perpendicular thereto, both acting as the base for the construction of a spherical system of reference with explicit directions. In FIG. 2c the horizontal plane is divided into intervals defining "units of measurement" (45 degrees in this case), each of which receives a number starting with zero and serve as the horizontal coordinates. In FIG. 2d a vertical plane is constructed on each horizontal coordinate and is also divided into intervals, each of which receives a number starting with zero. All vertical planes inter- sect each other in a common vertical axis of the system 9, which is directed downward and upward off the horizontal plane. FIG. 2e illustrates the allocation of horizontal and vertical positions within the system.
FIG. 3 is a schematic diagram showing a spherical system of reference attached to various limbs of an animated character, the manner in which they are centered at the joints and the way they are commonly directed. The selected systems shown in the figure depict the right arm centered at the shoulder joint 10, forearm centered at the elbow joint 11 and hand centered at the root of the hand 12. Also depicted are the left lower leg (only the top hemisphere is shown) centered at the ankle joint 13 and the thigh centered at the knee joint 14. FIG. 4 is a schematic diagram showing a spherical system of reference attached to the whole body of an animated character. Here only the top hemisphere is shown and the joint is assigned to the connection to the surface. This is necessary for general instructions to the whole body (turns, somersaults and so on).
FIG. 5 is a schematic diagram showing how the spherical system of reference is used for topographical mapping of the surfaces of the body's limbs. This is done in a predefined zero position (as constructed) and the sphere surrounds the limb itself with its vertical axis coinciding with the axis of the limb. This enables assigning the coordinates of the system of reference as topographical locations on the surface of the limb and keeping them as names of parts of these surfaces. FIG. 6a is a flow chart that details how unsorted 3D material from various sources 15 is translated 16 into local CAST format 17 called performance commands. The sorting process 18 applies threshold sorting parameters for separating smoothed data from its deviations, then divides the smoothed data into distinct occurrences. Movement material is sorted 19 and saved in two levels: a coarse definition level and a fine deviation level.
FIG. 7a is a flow chart that details how sorted material is combined 20 into unsorted performance commands 21. FIG. 7b is a flow chart that details how sorted material is combined into unsorted performance commands, when random is used. Random definitions of sorted movement material 22 go through a process of automatic singular occurrence selection 23. Singular sorted material is combined 24 into unsorted performance commands 25. The singular occurrence is saved 26 and an accumulation of occurrences 27 is stored by reactivating the random selection process.
FIG. 8 is a flow chart that details how generalizations definitions 28 are applied to movement material 29 for generating the two levels of singular sorted material 30 occurrences. FIG. 9 is a flow chart that details how by identifying ranges of movement occurrences 31 an automatic process of definition generalization 32 is activated.
FIG. 10 is a block diagram showing the principal functionality of a system according to an embodiment of the invention having three main environments constituted by a Stage 33, score 34 and Canvas 35, respectively all mutually and interactively coupled to common data source 36. The Stage 33 facilitates the representation of 3D animated characters 37 and includes tools 38 for manipulation of position and movement. The Score 34 displays symbolic, alphanumeric representations and tools 39 in two related windows for manipulation of movement 40 and construction of animated characters 41, respectively. The Canvas 35 includes a drawing area 42 and drawing tools 43 for drawing graphic paths and movement traces of the extremities of limbs and limb groups.
FIG. 11a is a flow chart showing an interface of unsorted performance commands 44 displayed as a 3D display of the character performance on stage 45.
FIG. lib is a flow chart showing an interface of the two levels of sorted material 46 displayed in a score display 47.
FIG. lib is a flow chart showing an interface of the two levels of generalizations 48 displayed in definition tables 49.
FIG. 12 is a flow diagram showing how movement specifications relate to three data types and their influence on the performance of an animated character. Movement specifications contain generalizations that are used to detail and tag rules that are applied to deviations and instructions, stored in a generalization tagging area of the data source and local definitions that are separated into deviations and movement levels, both containing quantitative data of precise definitions and random ranges. Deviations relate to instructions and both are stored sorted material. After instructions and deviations are separated, they need to go through two processes before becoming a performance command. The first fixes a precise instance of data for random ranges and the second relates the deviations to the instructions. Precise definitions of both instructions and deviations are combined and result in occurrences which repeat consistently each time. For random information, which recurs differently, all versions are recorded so as to enable the user to return to a desired instance, each containing precise information. For each instance of precise information, both deviations and instructions are combined to produce performance commands.
FIG. 13 is a diagram showing the spherical system of reference attached to a limb appearing on the stage. A sphere is presented at the origin of the active limb, limb group or animated character, displaying explicit directions. The sphere displays a dot at the center of the sphere 50 representing the joint or origin of the limb and the limb's direction 51 within the sphere. Six lines extending radially outward from the center represent the six main spatial directions: up and down, front marked by an arrow 52 and the other horizontal directions: back, right and left. A horizontal plane 53 is shown superimposed on these directions and the two vertical planes 54 orthogonal to each other. FIG. 14 shows the spherical system of reference as shown in FIG. 13 attached to an arm of a 3D character showing both the direction of the arm and of the system.
FIG. 15 shows a score 50 using symbols for representing manipulation of characters or component limbs. Column 55 shows the names and the spatial hierarchy of limbs and limb groups. In this example some of the limbs are hidden, and only the relevant information for the current movements is displayed. The table of limbs and time 56 contain symbolic representations of starting positions and symbols for depicting a movement procedure and containing symbols of positions, movement, contact, release and others. A time slider 57 tracks time and shows the current time. The position of the character at the current time 58 is displayed on stage to within 1 degree angular resolution. Pictures of the character's positions 59 are displayed along the score.
FIG. 16 shows a chart displaying symbolically the relation between the fine and the coarse levels of movement events and the four basic movement categories, thereby demonstrating the way instructions and deviations are represented within the time frame of the Score. Four coarse movement categories are shown - position, rotational state, rotation and path, below each of which the relevant deviations are displayed. In both of the coarse instruction levels of the two state categories 60 there is no duration line and the start state remains unchanged in relation to its parent at the end of the movement event. In both of the coarse instruction levels of the movement categories 61 there is a duration line 62 and a movement symbol 63, so that the start state changes in relation to its parent showing a different state at the end of the movement event. In the two pause categories 64 of the fine deviation level the duration line represents the initial coarse movement and the gap in the line represents the pause. In all other deviation categories the duration line represents the deviation and the gap in the line represents the initial movement event.
FIG. 17 is a chart showing an interface for specifying the structure characters using symbolic notation. In the first three columns 65 of the chart, names are assigned to limbs, limb groups and IK (Inverse Kinematics) grouping for the default manner for defining the imaginary axis of limb groups. The next group of four columns 66 contains constructional information for each limb. Parent hierarchy 67 defines the way one limb influences, and is influenced by, the movement of the other limbs. The initial limb is represented by index 0 and progressively higher numbers are assigned to limbs connected thereto such that the larger the number, the more remote is the limb from the initial limb. Joint location 68 defines to what part of a limb the next one in the hierarchy is connected: D is the default and is the distal or farthest part of the limb; P is for proximal or closest part of the limb, to its parent. Primary position 69 expresses the initial direction of each limb. Length 70 expresses how long each limb is. The next group of eight columns 71 contains the limitations of movement ranges of limbs. The first two columns express the amount each limb can turn around itself. The next four columns express spatial coordinates through which an elliptical path of movement defines the limitations of the joints movements.
FIGS. 18a and 18b are charts showing a canvas for drawing traces of limb extremities on the surface of the sphere. The canvas is a rectangular 72 and flattened version of the sphere and is constructed of two squares, representing the left and right hemispheres respectively. The bottom border 73 represents all the downward coordinates and the top border 74 represents all the upward coordinates. Vertical coordinates 75 are marked at the bottom and horizontal ones 76 on the left. A line 77 representing movement traces on the surface of the sphere starts at the triangle 78, exiting and entering the canvas until it ends at the semicircle 79. This path is divided into simple paths as part of the sorting process and displays time divisions along it in order to coordinate it with the timeline.
FIG. 18b shows the relation between coarse instruction level, displayed by the line 77 shown also in FIG. 18a and fine deviation level displayed by the thin line zigzagging across it.
FIG. 19 is a chart showing movement categories as displayed in three interface environments and their influence on the data: Score A, Stage B and Canvas C, and their influence on the data source D. The canvas, in this example, displays the start position with a dot and the end position with a semicircle. A position 80 is indicated in the score A as numbers representing a position by horizontal and vertical directions one above the other, topped by a rotational state. In canvas B, only the start position is presented and on the stage C it is shown as a 3D limb directed in space. A movement 81 is indicated in the Score A as a movement sign followed by a duration line and ending with a position (the rotation is not displayed in this example). In canvas B, movement is represented by a start position and a line or curve originating from it ending with an end position. On Stage C movement is shown as a 3D limb directed in space and then moved with time to a new direction. A movement of more than one limb in which the influenced limb does not change its relation to the influencing limb 82 is indicated in the score A with a movement symbol in the influencing limb and as just an end position in the influenced limb. In canvas B it is shown as a starting position, a line or curve originating from it and an end position for the influencing limb and a starting position and end position for the influenced limb without a connecting line. On Stage C, such a movement is shown as one 3D (influencing) limb directed in space and then moved with time to a new direction, and a 3D (influencing) limb directed in space and then moved in space by the influencing limb to a new position without changing its relation to the influencing limb. Simultaneous movement in which the influenced limb moves and changes its relation to the influencing limb 83 is indicated in the score A as a movement symbol in the influencing limb and as a movement symbol in the influenced limb. In canvas B such a movement is shown as a starting position, a line or curve originating from it and an end position for the influencing limb and another starting position, a line or curve originating from it and an end position for the influenced limb. On stage C, such a movement is shown as one 3D (influencing) limb directed in space and then moved with time to a new direction and a 3D (influenced) limb directed and then moved in space by the influencing limb to a new position. This limb also moves and changes its relation to the influencing limb. A fixation is a movement of more than one limb in which the influenced limb remains directed to the same coordinate in space and yet moves and changes its relation to the influencing limb: in other words it is uninfluenced 84. Such movement is indicated in the Score A with a movement symbol in the influencing limb and a fixation symbol (f) in the influenced limb. In canvas B, such a movement is shown as a starting position, a line or curve originating from it and an end position for the influencing limb and just a starting position for the influenced limb. On stage C, such a movement is shown as one 3D (influencing) limb directed in space and then moved with time to a new direction and a 3D (fixed) limb directed in space, and is not moved by the influencing limb. This fixed limb remains directed to its original spatial position so it actually moves in relation to the influencing limb. When a relationship is involved, the movement will be modified to enable the relationship 85 and is indicated in the score A as a movement symbol before the relationship symbol (following a topography sign) and another movement symbol after the relationship symbol. In canvas B such a movement is shown as a starting position, a line or curve originating from it and ending at a second position for the first movement and a second line or curve originating from the end position of the previous line and ending at an end position. On stage C such a movement is shown as one 3D limb directed in space and then moved with time to a new direction dictated by the relationship sign and then further moved to the final direction.
A system according to the invention includes a processor coupled to a memory that stores data representative of an animated character and instructions applying for generating movements of components thereof. An interface is coupled to the processor for applying to one or more components of the animated character a respective first instruction for producing a corresponding first movement and for applying to each of said components a respective second instruction for producing respective deviations from the corresponding first movement of each of the components. The processor is responsive to the first instruction and the second instruction for superimposing the deviations on to the respective first movements so as to produce a desired movement of each of the components. A display device is coupled to the processor for displaying data indicative of the first instruction, the second instruction and the movement of the components. It will also be understood that the system according to the invention may be a suitably programmed computer. Likewise, the invention contemplates a computer program being readable by a computer for executing the method of the invention. The invention further contemplates a machine-readable memory tangibly embodying a program of instructions executable by the machine for executing the method of the invention.

Claims

CLAIMS:
1. A computer-implemented method for generating a 3-D animation of an animated character, the method comprising: applying to one or more components of the animated character a respective first instruction for producing a corresponding first movement; applying to each of said components a respective second instruction for producing respective deviations from the corresponding first movement of each of said components; and superimposing the deviations on to the respective first movements so as to produce a desired movement of each of said components.
2. The method according to claim 1, wherein the instructions are applied using an interface.
3. The method according to claim 2, wherein: the interface includes a score that shows a plurality of symbols along a respective time line associated with at least one component, each symbol having a duration that spans between an initial animation state and a final animation state of the component at different points of time along the time line, each symbol having a first pictogram depicting a manner in which the respective component moves between the initial animation state and the final animation state and a first pictogram depicting the initial animation state; and applying respective first and second instructions to each of said components includes changing the score in order to alter at least one information level in a data file associated with said score.
4. The method according to claim 3, wherein the score further displays a schematic representation showing at least one component of an animated character.
5. The method according to claim 3 or 4, including running an initial score in order to generate the initial animation state.
6. The method according to claim 2, wherein: the interface includes a path representing a transition between two animation states on said timeline; and applying respective first and second instructions to each of said components includes altering the path between said two animation states.
7. The method according to claim 6, wherein altering the path between said two animation states is achieved by drawing at least part of said path.
5 8. The method according to any one of claims 1 to 7, including simulating the animation in order to generate the initial animation state.
9. The method according to claim 8, wherein simulating the animation includes applying desired motion to a model having sensors attached to at least one component thereof so as to map motion of the at least one component.
10 10. The method according to any one of claims 1 to 9, wherein the information includes information that allows definition of an animation state, a transition between two animation states and a rotation of the component.
11. The method according to any one of claims 10, wherein the second instruction relates to a spatial or angular deviation of the component that is less than a respective
15 predetermined threshold.
12. The method according to any one of claims 10, wherein first instruction relates to a spatial or angular deviation of the component that exceeds a respective predetermined threshold.
13. The method according to claim 11 or 12, including storing data according to 20 first, second and third related categories wherein: the first category relates to unsorted data or performance commands; the second category relates to sorted data distributed between two definition levels; and the third category defines sorting parameters for filtering the first and second 25 categories including filtering between fine information and coarse information relating to movement of the component depending on a duration of the movement or a duration of an interruption or reversal during intermittent movement.
14. A computer-implemented method for refining movement of animated characters, the method comprising: processing a coarse 3-D animation sequence to generate a score depicting for different components of at least one animated character a respective time line showing 5 different animation states and transitions associated with the respective component; displaying the score; manipulating the respective animation states and transitions of at least one of said components by altering the score; and running the score to produce a refined 3-D animation sequence.
10 15. The method according to claim 14, wherein displaying the score includes displaying a plurality of symbols along a respective time line associated with at least one component, each symbol having a duration that spans between an initial animation state and a final animation state of the component at different points of time along the time line, each symbol having a first pictogram depicting a manner in which the
15 respective component moves between the initial animation state and the final animation state and a first pictogram depicting the initial animation state.
16. The method according to claim 15, wherein displaying the score further includes displaying a schematic representation showing at least one component of an animated character.
20 17. The method according to any of claims 14 to 16, wherein the coarse 3-D animation is generated by running an initial score.
18. A computer-implemented system for generating a 3-D animation of an animated character, the system comprising: an interface for applying to one or more components of the animated character a 25 respective first instruction for producing a corresponding first movement and for applying to each of said components a respective second instruction for producing respective deviations from the corresponding first movement of each of said components; a processor coupled to the interface and responsive to the first instruction and 30 the second instruction for superimposing the deviations on to the respective first movements so as to produce a desired movement of each of said components; and a display device coupled to the processor for displaying data indicative of the first instruction, the second instruction and the movement of said components.
19. The system according to claim 18, wherein the interface includes a score that shows a plurality of symbols along a respective time line associated with at least one 5 component, each symbol having a duration that spans between an initial animation state and a final animation state of the component at different points of time along the time line, each symbol having a first pictogram depicting a manner in which the respective component moves between the initial animation state and the final animation state and a first pictogram depicting the initial animation state.
10 20. The system according to claim 18 or 19, wherein the interface is adapted to alter a path between two animation states on said timeline.
21. The system according to claim 20, wherein interface is configured for drawing at least part of said path.
22. The system according to any one of claims 18 to 21, including a memory 15 coupled to the processor for storing data according to first, second and third related categories wherein: the first category relates to unsorted data or performance commands; the second category relates to sorted data distributed between two definition levels; and
20 the third category defines sorting parameters for filtering the first and second categories including filtering between fine information and coarse information relating to movement of the component depending on a duration of the movement or a duration of an interruption or reversal during intermittent movement.
23. A computer program comprising computer program code means for performing 25 the method according to any of claims 1 to 18 when said program is run on a computer.
24. A computer program as claimed in claim 23 embodied on a computer readable medium.
PCT/IL2009/000359 2008-04-06 2009-04-05 Method and system for generating animation of 3d characters WO2009125389A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL190629A IL190629A0 (en) 2008-04-06 2008-04-06 Method and system for generating animation of 3d characters
IL190629 2008-04-06

Publications (1)

Publication Number Publication Date
WO2009125389A1 true WO2009125389A1 (en) 2009-10-15

Family

ID=40897317

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2009/000359 WO2009125389A1 (en) 2008-04-06 2009-04-05 Method and system for generating animation of 3d characters

Country Status (2)

Country Link
IL (1) IL190629A0 (en)
WO (1) WO2009125389A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112233208A (en) * 2019-06-28 2021-01-15 百度在线网络技术(北京)有限公司 Robot state processing method and device, computing equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115053A (en) * 1994-08-02 2000-09-05 New York University Computer animation method and system for synthesizing human-like gestures and actions
US6552729B1 (en) * 1999-01-08 2003-04-22 California Institute Of Technology Automatic generation of animation of synthetic characters
EP1443463A1 (en) * 2001-10-29 2004-08-04 Sharp Kabushiki Kaisha Cellular terminal, method for creating animation on cellular terminal, and animation creation system
WO2006113787A2 (en) * 2005-04-19 2006-10-26 Digitalfish, Inc. Techniques and workflows for computer graphics animation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115053A (en) * 1994-08-02 2000-09-05 New York University Computer animation method and system for synthesizing human-like gestures and actions
US6552729B1 (en) * 1999-01-08 2003-04-22 California Institute Of Technology Automatic generation of animation of synthetic characters
EP1443463A1 (en) * 2001-10-29 2004-08-04 Sharp Kabushiki Kaisha Cellular terminal, method for creating animation on cellular terminal, and animation creation system
WO2006113787A2 (en) * 2005-04-19 2006-10-26 Digitalfish, Inc. Techniques and workflows for computer graphics animation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CALVERT T ET AL: "Applications of Computers to Dance", IEEE COMPUTER GRAPHICS AND APPLICATIONS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 25, no. 2, 1 March 2005 (2005-03-01), pages 6 - 12, XP011127807, ISSN: 0272-1716 *
XIAOJIE SHEN ET AL: "Mocap data editing via movement notations", COMPUTER AIDED DESIGN AND COMPUTER GRAPHICS, 2005. NINTH INTERNATIONAL CONFERENCE ON HONG KONG, CHINA 07-10 DEC. 2005, PISCATAWAY, NJ, USA,IEEE, 7 December 2005 (2005-12-07), pages 463 - 468, XP010900958, ISBN: 978-0-7695-2473-3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112233208A (en) * 2019-06-28 2021-01-15 百度在线网络技术(北京)有限公司 Robot state processing method and device, computing equipment and storage medium
CN112233208B (en) * 2019-06-28 2023-07-25 百度在线网络技术(北京)有限公司 Robot state processing method, apparatus, computing device and storage medium

Also Published As

Publication number Publication date
IL190629A0 (en) 2009-02-11

Similar Documents

Publication Publication Date Title
US11543933B2 (en) Manipulating virtual environment using non-instrumented physical object
Weichel et al. SPATA: Spatio-tangible tools for fabrication-aware design
Follmer et al. KidCAD: digitally remixing toys through tangible tools
Cook et al. A survey of sketch-based 3-D modeling techniques
Xu et al. A solid model based virtual hairy brush
Alvarado et al. Resolving ambiguities to create a natural computer-based sketching environment
Twigg-Smith et al. Tools, Tricks, and Hacks: Exploring Novel Digital Fabrication Workflows on# PlotterTwitter
CN100429676C (en) Interactive controlling method for selecting 3-D image body reconstructive partial body
Kim et al. EventHurdle: supporting designers' exploratory interaction prototyping with gesture-based sensors
TW202347098A (en) System and method of pervasive 3d graphical user interface and corresponding readable medium
JPH0793527A (en) Object-oriented graphic input and display system
Kopp et al. Imitation games with an artificial agent: From mimicking to understanding shape-related iconic gestures
Melendez Drawing from the Model: Fundamentals of Digital Drawing, 3D Modeling, and Visual Programming in Architectural Design
CN102999321A (en) Writing brush electronic paintbrush setting device and writing brush electronic paintbrush
Baker et al. Human factors in virtual environments for the visual analysis of scientific data
Johnson Computational Making with Twoville
Xu et al. Virtual hairy brush for painterly rendering
WO2009125389A1 (en) Method and system for generating animation of 3d characters
Jeon et al. A sketch interface to empower novices to create 3D animations
Schkolne et al. Surface drawing.
JP3559913B2 (en) Three-dimensional shape model deformation method and apparatus
Johnson et al. Blocks in, blocks out: A language for 3D models
Drewes Movengine—developing a movement language for 3d visualization and composition of dance
Quevedo-Fernández et al. idAnimate: a general-Purpose animation sketching tool for Multi-Touch devices
Schkolne Making digital shapes by hand

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09730502

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09730502

Country of ref document: EP

Kind code of ref document: A1