Widget based Automated Rigging of Bipedal Character with Custom ...

16 downloads 4004 Views 2MB Size Report
and creates the joint based skeletal structure automatically using procedural programming and then followed by creating a complete bipedal rig with custom ...
Widget based Automated Rigging of Bipedal Character with Custom Manipulators Zeeshan Bhatti∗ Asadullah Shah† KICT, International Islamic University Malaysia

Abstract

easiness and believability. Our widget based system will provide a practical solution to the real life problem of character rigging and animation.

In this research paper we present an automated rigging system for a humanoid (biped) character with complete customization and control options according to the need of the character rigger and the animator. The rigging requirements check list has been proposed for each body part by analyzing various live natural human motions and then summarizing them. The system initially provides widgets that represent human skeletal joints, which can be easily manipulated and modified according to the character type and body height. The system takes the widgets positions from the 3D space and creates the joint based skeletal structure automatically using procedural programming and then followed by creating a complete bipedal rig with custom manipulators to satisfy the animators need in a production environment.

1.1

Auto Rigging and Skeleton generation: Most of the work on automated rigging focused on various techniques of extracting the skeleton from a given mesh. Repulsive force fields were used by Liu et al. [Pin-Chou et al. 2003] to find a skeleton where-as Katz and Tal [Katz and Tal 2003] suggested extraction of skeleton as an application through surface partitioning algorithm. The technique used by Wade [Wade 2000] is to approximate the medial surface by finding discontinuities in the distance field, but they use it to construct a skeleton tree. The proposed algorithm by Pantuwong [Pantuwong and Sugimoto 2012] uses high-curvature boundary voxels to search for a set of critical points and skeleton branches near high-curvature areas.

CR Categories: I.3.3 [Computer Graphics]: ThreeDimensional Graphics and Realism—Display Algorithms I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism— Animation;

Template Matching: template fitting and matching techniques for skeletal generation is quite successful and provides and accurate skeletal match to the original mesh. Majority of the work using this technique focusses on human characters for segmenting the mesh according to the human anatomy Moccozet [MOCCOZET et al. 2004]. Anderson [ANDERSON et al. 2000] fit voxel-based volumetric templates to the data. Majority of the research successfully generates the skeleton of any given mesh through various techniques and the use that skeleton for animating the character through motion capture data or procedurally driven motion. The problem concerns the real life production environments where the animator uses the manually rigged character with custom controls and manipulators to create the animation, and thus the auto generated skeleton becomes practically unusable by the animator.

Keywords: Rigging, Biped, Widgets, Procedural Rigging

1

Literature Review

Introduction

The process of animation a virtual character is long and tedious job. Lots of commercial modeling and animation software exits now days, implementing different kinds of skeletons and rigs for animated characters. These software although are very efficient and advance but they dont always satisfy the needs of computer animator and so usually a custom process of endowing an object with a set of controls is done to make it easy to animate. This process is normally termed as rigging. Rigging is a process of taking any character or object and attaching various controllers and manipulators to its structure so that the animator can easily grab them to perform transformations and set key-frames for animation [Cabrera ] [Allen and Murdock ]. The boredom of manually doing this process for each character and object in a project makes the pipeline of character animation more time-consuming, difficult and problematic [Baran and Popovi´c 2007].

2

Overview of the System

The basic architecture of the proposed system is initially based on creating widgets for a bipedal character, then adjusting the widgets according to the character and finally creating the rig automatically based on the position of the widgets. The widgets are basically sphere shapes with curves connecting them to form a bipedal structure. The basic architecture of the proposed scheme is shown in figure 1. There are two stages of the pipeline. In first part the Widgets are created automatically, the user adjusts the position and location of each widget which represents a joint. In the second stage the entire bipedal rig is generated procedurally by the system through a single click of a button as shown in figure 2.

A good character rig is created according to the needs and principle requirements of the characters motions. A biped rig having controls that make sense, be easy to understand with controls placed in accurate location and work in a consistent manner, will immensely help and aid the animator to bring the 3D virtual character to life with ∗ e-mail:[email protected] † e-mail:[email protected]

2.1

Copyright © 2012 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions Dept, ACM Inc., fax +1 (212) 869-0481 or e-mail [email protected]. VRCAI 2012, Singapore, December 2 – 4, 2012. © 2012 ACM 978-1-4503-1825-9/12/0012 $15.00

The Widget Creation

The process of rigging a characters starts with creation of biped widget structure. The rigger has the control to create the widget system of each body part independently or simply for an entire character. Creating an independent individual body part widget is used to create rigs for unorthodox or nonhuman like character. This widget

337

all the different body parts together and thus becomes the origin of their motion.

3.1

Spine Movement Objectives

After analyzing the reference images and videos, following set of objectives have been concluded for spine rig. The procedural methodology of generating spine rig is illustrated in figure 4. 1. The controls should have the rotation of hips and shoulders 2. The controls should allow the rotation in all axis i.e. Bend, Side to Side ,and Twist 3. The controls should provide independent motion of shoulders and hips. 4. The spine rig should have the functionality for relocation of pivot.

Figure 1: Overview of the auto rig system.

Figure 4: Process of creating spine rig.

Figure 2: Pipeline of the auto rig system.

The basic spine joint chain is kept independent and not connected to any other body part in order to maintain the isolated body movement.

is placed according to the hierarchy of a human skeletal structure instead of joints or bones as shown in figure 3. The user simply adjusts the widgets according to the size and shape of its biped character. This is the only user interaction part needed in the rigging process. The user needs only to adjust the left side of the rig

3.2

Stretchy Spine

The ability to stretch a joint chain is extremely useful in animation. To make an joint chain we determine the distance between the joints and how far they are from their locator. The spline curve used by spine IK is used to determine the final value of joint scale. The distance between two joints shown in figure 5 in the spine rig is determined by measuring the arc length of the curve at current position Cl divided by its original rest pose length Co . The equation used to calculate the scale factor Sf is Sf =

Figure 3: Widget structure of biped character

(1)

Each joints scale is then set to Sf using procedural expressions.

and the right side will automatically adjust accordingly to maintain the proportion as almost every bipedal character is proportionally same on both sides. Having this auto adjust ability also reduces the effort and time for creating the rig. As the system is dependent on the placement according to the character size and shape, hence it makes it a very robust and practically feasible system. Using this approach the rigger can very easily and efficiently create the professional looking advance rigs which could be easily used to produce high end animation.

3

Cl Co

Figure 5: Process of creating spine rig.

Torso, Head and Neck Rigging

3.3

The development of the system starts from torso or spine. First the reference images were analyzed to determine the range of movements and possible solutions. As the spine determines and illustrates the entire body pose, it is the most crucial part as it holds

Head and Neck

Head and neck are the key body parts in rigging as their relationship with each other expresses the attitude of the character. Looking at the references images following requirements have been set for the head rig.

338

1. Head rig needs to be able to orbit side-to-side and look up and down.

stretch the arm has been developed in previous section, by measuring the distance between the shoulder and wrist joints of the arm, and when the joint chain reaches to its maximum length then start scaling the joints. Using the same methodology for elbow locking but instead this time the joints stick or stretch towards the elbow controller. The simple implementation logic is to measure the distance between the joints and the elbow, and then tell the joints to scale according to that new distance value as shown in figure 7. Then the animator will simply be given a choice to either stretch the arm from wrist or using the elbow. To simulate the twisting of

2. Head rig has to lean and move side-to-side also. 3. Head rig needs to be able to move forward and back 4. The rig should have the feature to compress and extend 5. The movement of head should have the control to be independent of shoulder and body movement.

4

Arms Rigging

The arms are extremely expressive part of the character and play an immensely lucrative role in defining the personality of a character. Hand gestures are always considered a very crucial form of communication in any conversation. It is very important to allow the character to be able to wave their arms freely, illustrate gestures, pick objects and hold them in hands while moving and all sort of natural behavior that a normal human is able to do with their arms. 1. For free form waving and gesturing of arm we will need Forward Kinematics (FK) setup. 2. Inverse Kinematic setup for placing hands on the table or in the ground, or holding on to something, or while sliding the hand along a trajectory.

Figure 7: Elbow Locking and the node structure for the choice function arm joints in our rig, a sub-joint chain system is created between the elbow joint and wrist joint and spline-IK system is used to create the twist function much similar to that of spine rig system as illustrated in figure 8. This system has an independent and isolated functionality from the

3. Providing an Elbow Locking mechanism for the ability to place elbows on table. 4. Shoulder control to facilitate biomechanically correct arm movement. 5. The rotation of the arm should have the ability to be independent from the shoulder and the body. 6. The arm rig should have the ability to stretch.

4.1

Stretchy IK Arm

Creating stretchy arm setup is not as simple as scaling the joints because this will create an abnormal behavior specially when bending the elbow. In order to solve this issue we proposed the technique to first find the actual distance of the arm from shoulder to wrist when the arm is at full length stretch as shown in figure 6. Then when the distance of the controller is increased and is greater than the distance of upArm and lowArm joints then we will increase the length of the joints to create the stretchy effect.

Figure 8: Twistable Elbow implementation rest of the body and so the entire arm rig can easily be deleted or modified without affecting the rest of characters rig in any way.

5

Legs Rigging

Finally the Legs of a character are rigged. The legs primary responsibility is to actually provide the forward or reverse motion caring the body with it. But as a matter of fact they propel more than just locomotion; legs gaits convey the essence of force, pressure and the structure of entire body movement. Following are the summarized requirements for the leg: Figure 6: Default position with the scale not taking affect, because distance c is less than a + b. Start scaling the joints using ik controler (x), now that distance c is equal to or greater than a+b.

1. Almost 99% of time the character feet will need to be planted on the ground and the feet will drive the motion of entire leg. Therefore Inverse Kinematics system will be used.

4.2

2. At certain unforeseen times the character needs to let the legs flow freely of example when falling, rolling over on a chair, swinging, etc. so forward kinematics is also implemented.

Elbow Locking and Twisting

The ability to lock characters elbow in certain situations is extremely necessary in animation. Since a working mechanism to

3. To get that feeling of weight and pressure on character a foot pivot and foot rolling system is required.

339

The rigging system for the leg is actually quite simple and the methodology used is same and that of in the Arm rig. Hence no detail analysis will be given again for the leg rig. The grouping system allows for easy foot roll, ankle roll, toe lift and ball lift functionality. The rotate attribute of the group can then be connected to the custom attributes added to the Leg controller for easy selection and manipulation of the foot.

6

The working algorithm has also been discussed to implement the various rig types along with detail illustrations of the rigging process.

References A LLEN , E., AND M URDOCK , K. Body Language: Advance 3D Character Rigging. Cybex, Wiley Publishing.

Results

ANDERSON, D., FRANKEL, J. L., MARKS, J., AGARWALA, A. AND BEARDSLEY, P., HODGINS, J., LEIGH, D. AND RYALL, K., SUL-LIVAN, E., AND YEDIDIA, J. S. 2000. Tangible interaction + graphical interpretation: a newapproach to 3d modeling. In Proceedings of ACM SIGGRAPH 2000, 393–402.

The auto rigging system for biped character has been tested by creating multiple rigs for various types of characters. The functionality and the dependability of the rig is extremely efficient. Finally the algorithms and procedures were compiled to create a full working plugin system for MAYA software. The figure 9 shows the final rig created by the system.

AUJAY, G., H E´ TROY, F., L AZARUS , F., AND D EPRAZ , C. 2007. Harmonic skeleton for realistic character animation. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics symposium on Computer animation, Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, SCA ’07, 151–160. BARAN , I., AND P OPOVI C´ , J. 2007. Automatic rigging and animation of 3d characters. ACM Trans. Graph. 26, 3 (July). C ABRERA , C. An Essential introduction to Maya Character riggign. Elsevire, Focal Press. K ATZ , S., AND TAL , A. 2003. Hierarchical mesh decomposition using fuzzy clustering and cuts. ACM Trans. Graph. 22, 3 (July), 954–961. MOCCOZET, L., DELLAS, F., MAGNENAT-THALMANN, N., BI-ASOTTI, S., MORTARA, M., FALCIDIENO, B., MIN, P., , AND VELTKAMP, R. 2004. Animatable human body model recon- struction from 3d scan data using templates. CapTech Workshop on Modelling and Motion Capture Techniques for Virtual Environments, 73–79.

Figure 9: Final procedurally generated Biped rig with custom manipulators

6.1

PANTUWONG , N., AND S UGIMOTO , M. 2011. A fully automatic rigging algorithm for 3d character animation. In SIGGRAPH Asia 2011 Posters, ACM, New York, NY, USA, SA ’11, 30:1– 30:1.

Exclusions

The system currently is dependent on widget creation and its manipulation according to the character, and then generating the skeleton according to the placement of widgets. The system however does not generate the skeleton automatically from the given mesh as proposed by Pantuwong.N [Pantuwong and Sugimoto 2012] [Pantuwong and Sugimoto 2011] , Baran. I [Baran and Popovi´c 2007] and Aujay.G. [Aujay et al. 2007]. Secondly the Skinning - process of attaching the underlying Skeleton with the given mesh as discussed by Baran. I [Baran and Popovi´c 2007] is also not covered in the paper, both these processes will be addressed as a future work.

6.2

PANTUWONG , N., AND S UGIMOTO , M. 2012. Skeleton growing: an algorithm to extract a curve skeleton from a pseudonormal vector field. The Visual Computer, 1–14. P IN -C HOU , L., F U -C HE , W., WAN -C HUN , M., RUNG -H UEI , L., AND M ING , O. 2003. Automatic animation skeleton using repulsive force field. Pacific Conference on Computer Graphics and Application 11th, 409–413. WADE , L. 2000. Automated generation of control skeletons for use in animation. Master’s thesis.

Auxiliary Material

The pseudo-code of algorithms and GUI snapshots is provided as a auxiliary material available with the electronic version of this paper.

7

Conclusion and Future Work

In this paper we discussed generating a template based skeleton using widgets and then creating a fully functional automated bipedal rig with manipulators according to the basic principles and requirements of a standard bipedal rig. There are lots of resources available on internet regarding the biped rig yet none of them are concise and meet the need of an animator, moreover, none of the standard rigging requirements has been reported so far in literature on the same.

340