Applications

Editor: Mike Potel

Seri Rama: Converting a Shadow Play Puppet to Street Fighter Dahlan Bin Abdul Ghani Universiti Kuala Lumpur

T

raditional Malaysian theater arts have been developing and flourishing for centuries in the form of shadow plays. In these plays, puppeteers hold up 2D puppets behind a screen, and a light source casts shadows on the screen. Puppeteers bring the puppets to life with skillful manipulation and varied vocalizations, entrancing the audience. Figure 1 shows such a puppet portraying Seri Rama, a Malaysian version of a character from the Ramayana and Mahabharata, two Hindu epics. Unfortunately, this art form’s popularity is decreasing, perhaps owing partly to newer technology and entertainment, such as video games. To try to interest young people in traditional theater arts, Tsai-Yen Li and Shu-Wei Hsu digitized traditional Chinese shadow plays, in which lanterns project puppets’ shadows onto a white screen.1 Following their example, my colleagues and I have incorporated Seri Rama into the popular Street Fighter video game. In Street Fighter, fighters from around the world, each with a unique fighting style, compete.

Methodology Even in this lavish 3D game world, the fighting scene is on a single axis on which the players always face each other. This limits the number of possible actions, constraining players to attack each other from only the front or the back. This makes the game more manageable and easier to learn. To create Seri Rama, we followed the methodology comprising conceptualization, early prototyping, and further refinement. The conceptualization process includes gameplay, avatars, and character traits such as strength, pain, and emotions. Early prototyping is essential for placing Seri Rama among the existing Street Fighter characters. 8

January/February 2012

Character Traits Each Street Fighter character has specific characteristics setting it apart from the others and reflecting the country it represents. Figure 2 shows some of the characters; the selected ones are Ryu and Ken, two popular characters. A good character is believable and memorable. We want Seri Rama to be as easily recognized by Street Fighter players as Ryu and Ken are. So, we needed to give Seri Rama emotional and physical characteristics that enhance his appearance. To do this, we incorporated elements such as size, texture, color, and lighting, which are essential in developing a strong warrior characterization.

3D Modeling To develop a 3D prototype of Seri Rama, we used Maya 3D animation software. Existing rendering methods, such as depth of field, shadow mapping, and polygon shaders, are slow and time-consuming. However, the shadows are important because they help players perceive the scene’s 3D aspects. Traditional puppets are generally viewed on a flat or 2D surface. So, we used a 2D polygonal hash table to replace the puppet geometry with polygons for quick intersection tests. A key component to virtually any graphical game, 2D or 3D, is a collision detection system for game objects. To model Seri Rama, we used polygons, NURBS (nonuniform rational basis splines), and subdivision surfaces. To model a character in 3D, accurate modeling and programming are essential, especially when dealing with the number of polygons needed for Street Fighter. Polygons are a widely used model owing to their relative stability and functionality. They help visualize a bridge between NURBS and subdivisions. NURBS accurately represent both standard geometric objects—such as lines, circles, ellipses, and

Published by the IEEE Computer Society

0272-1716/12/$31.00 © 2012 IEEE

Figure 2. Street Fighter characters represent fighters from around the world, with the selected ones being the popular characters Ryu and Ken. (Source: Capcom; used with permission.)

Figure 1. A shadow puppet of Seri Rama, a Malaysian version of a character in the Ramayana and Mahabharata, two famous Hindu epics. Because shadow puppetry’s popularity is decreasing, we created a version of Seri Rama for the Street Fighter video game.

spheres—and free-form geometric objects—such as cars or human bodies. The NURBS we used for Seri Rama provided a continuous geometric representation so that the character’s surface appears much smoother when we apply textures or colors. These functions can be manipulated like polygons, NURBS, or other 3D functions, to model humanlike elements such as hands, faces, and other multitopological constructs. Subdivision resembles a combination of both NURBS and polygons, but it’s actually a smooth mesh. Modeling the 3D Seri Rama was complex owing to its various organic and nonorganic shapes (see Figure 3). So, we used Maya 3D to trace and remodel those shapes using a vector representation. The original 2D puppet image is a bitmap. Therefore, we vectorized the bitmap image to maintain the outline in order to create the 3D model puppet in Maya animation software and remodel those shapes.

Lighting We used Maya’s lighting features to control the effect of the light source on the rendering of Seri

Figure 3. The Seri Rama 3D model was complex to model, owing partly to its various organic and nonorganic shapes.

Rama. We wanted to highlight a sphere between some objects in the model to analyze how changing the light’s intensity would affect the scene’s overall composition. We explored the effects of different-colored lighting in the 3D environment during the lighting setup. We used a ray of white light for the color effect and to counter having a black silhouette. Figure 4 shows that when the light hits a white object, the same light ray is reflected. When we viewed the 3D character in black mode—that is, when the object absorbed all the light—nothing was reflected. IEEE Computer Graphics and Applications

9

Applications

a predefined texture that can be mapped to the polygons during animation. To apply the texture to Seri Rama’s surface model, we unwrapped Seri Rama’s 3D model and applied a texture template or UV grid to the unwrapped map. This let the animator preview the UV map of the model (see Figure 5). In addition, we used a game development kit, which comprises a set of C++ wrapper classes for writing Windows games.

Animation

Figure 4. The 3D model of Seri Rama, using a light source to form shadows.

UV map

(p = x,y,z)

(p = u,v)

The character’s skeleton consists of a series of bones and joints that are linked together and rotate in relation to each other. This helps Seri Rama move realistically. The bones must be linked to the skin. To do this, we first built the complete skin, inserted the bones, and linked them. We selected points on the skin’s surface and assigned them each an appropriate degree of movement along with the bone. For example, the skin of Seri Rama’s arm would move along with the upper and lower arm bones. When we inserted the bones into the arms without taking this into account, arm movement created a “rubber hose” effect at the elbow and seemed unrealistic. We used keyframing to animate Seri Rama to achieve attack and defense modes suitable to a shadow puppet version of a warrior. In particular, we patterned Seri Rama’s movements on the basis of Malaysian martial-arts techniques.

Controlling Seri Rama

Figure 5. Texture application in the UV space to create a 3D effect. Game development kits that process functions using traditional rendering techniques (specularity, ray tracing reflections, and refractions) can’t typically be processed fast enough for a game engine. So, we had to map textures using C++ texture mapping. There are also times when you might want to use mapped textures in an actual rendering animation system in real time. C++ does this through traditional UV texture mapping and Blender’s Open GL Shading Language (www.blender.org).

Texture We used Adobe Photoshop to design and edit the texture of an actual shadow play puppet at the correct resolution to map it to the 3D model. We used texture mapping because the body parts are modeled as simple 2D polygon meshes and have 10

January/February 2012

On the Playstation 3, players manipulate Street Fighter characters using the game’s six-axis controller. So, we mapped Seri Rama’s actions to the controller buttons. For example, pressing on the circle and square buttons make Seri Rama kick and punch, respectively. Holding down the circle button and pressing the up button twice causes Seri Rama to perform a “combo turning kick.” Players can also activate Seri Rama’s special powers, such as spewing fire from his legs while kicking or creating a strong wind. Players can customize Seri Rama’s configuration to suit their tastes. For example, they can choose from a variety of weapons, fighting backgrounds, and special-power options.

Results A survey of people who tried out our Seri Rama produced useful feedback. Many of the respondents found the 3D Seri Rama comparable to the traditional figure. They also agreed that Seri Rama was a good fit with Street Fighter. We crafted Seri Rama’s outline to accurately mimic that of the

original puppet; the respondents were equally divided as to whether they liked this feature. Many respondents were impressed with the shadow and contrast effects, which we also tried to make similar to traditional shadow plays. Some respondents suggested we should enhance the fade-in effect as Seri Rama enters the scene and the fade-out effect as the character exits the scene, similarly to how Street Fighter normally works. Finally, most respondents gave the animation an average review. They felt the limbs weren’t flexible enough. Several respondents added that Seri Rama’s 3D model arms didn’t seem to swing freely in a circular movement, like traditional puppets. We plan to make Seri Rama’s limbs and neck move more freely. This would make certain movements more realistic—for example, Seri Rama could swing his hands while running.

Seri Rama looks appealing in the 3D environment, he must have his own fighting style, movement, and emotions, and an effective story line to interest players around the world.

W

Dahlan Bin Abdul Ghani is a PhD student in animation at the University of Kuala Lumpur’s Institute of Information Technology and Creative Multimedia. Contact him at [email protected].

e hope the Street Fighter version of Seri Rama will renew interest in Malaysia’s culture and draw more visitors to traditional shadow plays. Our efforts in modeling, texturing, and animating Seri Rama show much promise. However, we need to perform further R&D. Even though

Acknowledgments I thank my wife Norashikin Rosli, Fauzi Naeim, Kim De Silva, my PhD supervisor Mohd Sidin, and friends from Universiti Malaya and Universiti Kuala Lumpur for helping me throughout this research.

Reference 1. T.-Y. Li and S.-W. Hsu, “An Authoring Tool for Generating Shadow Play Animations with Motion Planning Techniques,” Int’l J. Innovative Computing, Information, and Control, vol. 3, no. 6B, 2007, pp. 1601–1612.

Contact department editor Mike Potel at potel@wildcrest. com.

Showcase Your Multimedia Content on Computing Now! IEEE Computer Graphics and Applications seeks computer graphics-related multimedia content (videos, animations, simulations, podcasts, and so on) to feature on its Computing Now page, www.computer.org/portal/web/ computingnow/cga. If you’re interested, contact us at [email protected]. All content will be reviewed for relevance and quality.

IEEE Computer Graphics and Applications

11

Seri Rama: converting a shadow play puppet to Street Fighter.

Shadow puppet plays, a traditional Malaysian theater art, is slowly losing its appeal to adolescents, who prefer computer games. To help reverse this ...
8MB Sizes 3 Downloads 5 Views