Computational Thinking Cases in ANI 230: 3D Modeling for Animation & Gaming

Joshua Jones
School of Cinema and Interactive Media
DePaul University
jjones@cim.depaul.edu

March 10, 2009

Course Overview

3D modeling consists of two related processes, modeling and texturing. Both are dependent upon the other to help create a finished product that can then be used in a film production or game engine. The modeling process is the foundation for the other. It can be thought of as sculpting in a virtual three dimensional space. 3D modelers must learn to use an extensive set of digital tools to create and then manipulate a system of connected points in space in order to create a three dimensional mesh or skin. The 3D mesh approximates the surface of the object the designer is trying to create, whether that be a character, prop, or environment. Modelers spend a good portion of their time determining what details to include and which to omit as a 3D mesh with too much information can quickly bog down a computer. In order to complete the illusion and to achieve much greater level s of detail, modelers must then create a two dimensional texture that is wrapped around the 3D surface. A texture sample of wood grain for example, could be used to make a simple cube look like a plank of wood, or an elaborate layered texture of a human face could be applied to a detailed sculpt to give a villain a dangerous air. This course covers the introduction of both processes, including how to think about them conceptually as well as effective methods in using the tools to create them.

Computational thinking in 3D Modeling

Because most 3D model are inspired by or have a foundation in the world we are familiar with, there is an inherent complexity in what a 3D modeler is expected to achieve in order to give their models an accepted level of believability. This creates complications both because of the limitations of current computer systems and because of limitations in time during production. Invariably, this contradiction makes problem solving a significant part of the modeling process. Computational thinking can be a powerful and sometimes indispensible tool to help develop innovative solutions.

Concept 1: Modularization in Complex 3D Modeling

Computational Thinking Concepts Explored: Design, Automation, Computation

Case 1: Environment Modeling

The sheer number of individual models that it takes to make a 3D environment a believable lived in space and the arrangement of those models within the space introduces issues that are best solved with computational thinking. When you consider the problem a modeler faces when he is required to create a field of grass, it quickly becomes apparent that modeling each individual blade, texturing it, and placing them in a scene would be a completely inefficient use of time and even then may not result in a usable finished model. Using the computational thinking concept of modularization and automation, a 3D modeler would instead create a single blade of grass which would then be duplicated to fill the required area. The “organic” seeming placement, rotation, scale, and relative color of individual blades can then be achieved either by a simple randomization script or (more often than not) some random clicks of the mouse. This kind of problem which occurs often in environmental modeling can almost always be addressed with this type of thinking process.

Case Description

Students are required to model an interior warehouse environment out of simple polygon primitives. Along with modeling a simple I-beam skeleton, they must create a believable space by modeling three different kinds of inventory and then by arranging them appropriately within the warehouse.

Learning Goal

Students are able to identify visual patterns in a complex environment or object in order to break it into groups of repetitive modular components. They are then able to use automation and randomization to efficiently design a reconstruction of the environment or model in 3D space.

Discussion Questions

Assessment

Students will be required to turn in both 3D models and rendered images of a finished warehouse space.
Both images and model will be evaluated for the student’s ability to:

  • Assemble efficient groups of modular components.
  • Create the illusion of a complex space through the duplication of modular components.
  • Break the patterns of repetition of warehouse inventory with randomization.
  • Concept 2: 2D Filters and Procedural Texturing

    Computational Thinking Concepts Explored: Design, Algorithm, Evaluation

    Case 1: Image Filters in Bitmapped Texturing

    One of the most powerful tools for creating 2D bitmapped textures is an image filter. 3D texture artists and modelers can use these to create textures from brushed metal to rotting wood. They can also be used to alter existing textures to create a stylized look for their piece. Image filters like the ones commonly available in programs like Adobe Photoshop have completely changed the approach an artist can take to creating digital images from one that uses hand-eye coordination and a mouse, to one that uses computational thinking. Instead of hand painting all the detail in a texture, an artist will decide on a filter or a series of filters they believe will produce the effect they are looking for. They will then play with various parameters of the filter to achieve the desired effect. In Photoshop, the number of parameters a filter can have generally varies between 2 and 6, and each parameter can have a range of a single digit whole number to a floating point value that goes to 100. The total possible combinations of all these parameters can easily number in the millions. As there is no way for an artist to know the exact combination of parameters that will create the look they are going for, they must be able to first identify the different patterns within the desired texture. Once patterns have been identified, the artist can then begin layering the filter algorithms and evaluating the massive amount of visual data for the best possible solution. While many seasoned Photoshop professionals will of course have a favorite few filters with set parameters, all of them will be well versed in using them as a kind of exploratory paintbrush.

    Case Description

    Students are required to use a series of Photoshop filters to create a texture that gives the impression of brushed metal complete with dirt, dents, and scratches. When complete, the texture will be applied to a 3D model. Students will first have to look at a photograph of the brushed metal they are trying to reproduce in order to determine what filters might be used to recreate it. Once likely candidates have been chosen, they will then begin applying the filters and adjusting parameters to create the final product.

    Learning Goal

    Students are able to identify visual patterns within a given texture and then experiment with a selection of filter algorithms to recreate or exaggerate the original texture. Students can evaluate the texture at all stages of creation in order to select the next layer of filters and/or filter parameters that will result in a more convincing texture.

    Discussion Questions

    Assessment

    Using filters, students will be required to recreate a realistic texture that is given to them in class. The rendered images will be evaluated for the student’s ability to:

    Case 2: Procedural Texturing

    Procedural texturing is another effective method for creating textures. Procedural texture creation can be thought of as image filters on steroids. In this method, image filters are replaced by an extensive selection of procedures that have a much larger number of alterable parameters with significantly broader range. This of course means that the amount of data being processed is much greater and therefore the artist’s ability to explore is equally greater. In addition to a huge boost in available parameters, procedural textures also introduce the ability for the artist to insert procedures within each other. A fractal procedure, for example, could be inserted into the line width parameter of a grid procedure to create the effect of a wavy grid. This could be the foundation network for an old brick wall in which the bricks no longer lay in nice straight lines. Procedures which stack in this manner in essence allow the artist to create endless combinations of visual algorithms. In a professionally created texture these are referred to as “shading networks” each of which can easily be comprised of hundreds of nested procedures.

    Learning Goal: See section 4.3a

    Case Description

    Students are required to create a brick wall using procedural textures. They will first study a photograph of an existing brick wall and attempt to break it down into its many visual components. Students will then attempt to match various components with different procedures in order to build a shading network that creates a believable image of the original wall.

    Discussion Questions

    Assessment: See section 4.6a