After the development of the object model, the views with more detailed object models, which include the views, are developed. The model with the motion adjustment view and the query view is given in Figure 17.10.
Figure 17.10: Detailed object model with views
Views are identified to accommodate key groupings of tasks and to embody key relationships between objects such that each view performs tasks leading to a specific outcome. For this system, seven views are identified: Query View, Scene Graph View, Motion Adjustment View, Timeline View, Retarget Motion View, Motion Mapping View, and Model Metadata View.
The query view, shown in Figure 17.11, is an integral part of the system. Through this view, the user is able to interact with the database in order to get required models and motions. Within the query view there are two views: one for model query and the other for motion query.
Figure 17.11: Query view
The Query GUI: This interface is the starting point of all animation reuse processes. This GUI contains an ActiveX object Web Browser that invokes the default web browser of the system with the installed VRML browser, such as Cosmo Player or MS VRML viewer. The interface also displays a ranked list of query results. Users can query for models or motions by specifying one or more of the metadata requirements. The search for the animation objects is automatically converted to an SQL-like statement to retrieve the best matching objects from the database. Retrieved objects are shown as a list. By clicking on an object the user selects it and can view it in the browser. Figure 17.13 (a) depicts the selection of a rolling motion after the search. Once the user finds an object of his/her liking s/he can INSERT (for models) or USE (for motion) it in the scene graph. For instance, Insert operation on an animation scene will be carried out using the pseudo-code listed in Figure 17.13 (b).
The motions and models inserted from the query view are displayed in the scene graph view (Figure 17.12). From the scene graph view, the properties of the motions and models can be viewed and changed using other views. VRML text can also be generated through this view.
Figure 17.12: Scene Graph View
The Scene Graph GUI: The scene graph can be activated directly by selecting a new file from the menu or via the query GUI upon INSERTing or Using animation objects. The scene graph is the anchoring point of reuse. All operations other than USE and INSERT are carried out, directly or indirectly, via this interface. Depending on the object and type of interaction with this interface, different views will pop up; these views cater to the various modification requirements. Users can DELETE or EXTRACT models and DISREGARD or GET motions from the scene graph. These interactions will lead to the generation of the respective operation command. The user can also explicitly tell the VRML Text Generator to generate the VRML Text using this interface. Figure 17.14 (a) shows this window in detail and Figure 17.14 (b) lists the pseudo-code of generate the VRML text from the scene graph.
The model metadata view, Figure 17.15, provides users with the capability to change the properties of the models. The changes can be previewed in a browser before they are applied.
Model Metadata GUI: This GUI is activated when the user double clicks on a model icon in the scene graph. It generates the EDIT operation of the spatial operation set. Users can modify the spatial properties, size, orientation, and position of the models using this. Figure 17.16 shows this window in detail. For the example given, the EDIT statement generated after making the modifications and accepting them will be similar to the following: EDIT Dog_Wagging POSITION (0, 0, 0) SIZE (1, 1, 1) ORIENTATION (0, 0, 0, 0) OF Scene
One or more of POSITION, , and ORIENTATION options will be used depending on the parameters changed by the user. Changes made by the user will then be reflected in the VRML file. Users can preview the changes in the browser. Figure 17.17 also shows the VRML Text GUI which pops up when the generate VRML button is clicked. This GUI shows the VRML text that is generated for the scene.
Figure 17.13: Query (motion) GUI and pseudo-code for inserting an object from the database into the scene graph
Figure 17.14: The scene graph GUI and the pseudo-code to convert the scene to file
Figure 17.15: Model metadata view
Figure 17.16: Model metadata GUI
Similar to the model metadata view, the motion adjustment view allows users to alter the temporal properties of the motion, i.e., the duration and the speed. This view is shown in Figure 17.17.
Figure 17.17: Motion Adjustment View
Motion Adjustment GUI: Similar to the Model Metadata GUI, this window is activated when the user double clicks on the motion icons. As the name suggests, this GUI caters to the operations in the Motion Adjustment operation set. This GUI supports the CROP, DUPLICATE, and CHANGE SPEED operations. One or more SQL-like statements will be generated depending on the parameters to which changes have been made. These statements will modify the timing values associated with a motion in the VRML file. A detailed view of this interface can be seen in Figure 17.18. The statements generated for this example will be:
Figure 17.18: Motion adjustment GUI
CHANGE SPEED green_ball.rolling BY 2
DUPLICATE green_ball.rolling BY 2
The retarget motion view, Figure 17.19, facilitates the retargeting of a motion to another scenario, in terms of position and/or model. The effect of the retargeting can be previewed in a browser before they are applied.
Figure 17.19: Retarget Motion View
For interactive using inverse kinematics for motion retargeting, it is necessary to develop GUI with visualization of 3D models and the animation, including the original and resulting motion sequences. Using GUI the user can specify the articulated figure and new position/orientation for which the motion is retargeted. There are three major components of this GUI, visualization window, scene graph, and control panel. One example is shown in Figure 17.20 (a), where we retarget the kicking motion to the ball. From the control panel, the model's (ball) position can be specified and used as the new target of the end effecter of the front left leg. The 3D model and animation are displayed in the visualization window, being able to be viewed from different viewpoint and zooming factors. In this way, users can intuitively adjust the motion sequences for reuse purpose. Once the result is satisfactory, it will be recorded and stored in database. In Figure 17.20 (b), the pseudo-code is listed for motion mapping.
Figure 17.20: Motion retargeting GUI and pseudo-code for motion mapping in VRML
Using the motion mapping view, Figure 17.21, the interpolators of one model-motion combination can be mapped to another combination of model and motion. The mapping can also be auto assigned.
Figure 17.21: Motion mapping view
Motion Mapping GUI: This GUI is activated when a motion is used on a model other than the original model. Using this interface the interpolator nodes of one model can be linked to that of the other model. A sample Motion Mapping GUI is shown in Figure 17.22. The pseudo-code for motion mapping is similar to Figure 17.20(b). The USE statement generated after using and mapping the motion will be similar to the following.
Figure 17.22: Motion mapping GUI
Use wiping To Scene_Maggie_on_Bed_with_dog_ball.Maggie
Map Barmaid.r_shoulderXOI.OrientationInterpolator To