# Character modeling & texturing
## Goal
- Understand the 3D production pipeline.
- Understand the differences between organic and hard modeling.
- Build your character with 3D modeling in Maya.
___________________
# Production pipeline
Reference: [digital] Modeling Chapter 1 Introduction.
## Stages of production
- 3 Stages: no matter the size of the team or project, you will need a strong production pipeline.
> 
- __Pre-production:__ the pre-production stage is the process of preparing all the elements involved in a production and is the foundation of the project—the blueprint of the entire animation. The story and visual look of a project is developed at this stage, as well as the overall planning of the production.
- __Production:__ the production phase of the project is where final elements of the animation are initially created based on the work developed by the pre-production crew. It is the production crew’s job to stay true to the blueprint in place and to maintain the director’s vision. It’s also where the digital modeler comes into play in most production pipelines.
- __Post-production:__ the post-production is the part of the process that may take the longest due to the refinement of all of the aspects of the final product. Although this is the last step in the production of an animation, it is key to a project’s success. Images get enhanced by compositing, the sound track and dialogue get tighter, and the edit gets tweaked for the most effective presentation of story and pacing. This is the point of the project that can make or break it and should not be taken lightly. It is what the production team loses the most sleep over.
## Video
- [Digital-Tutors video link: 3D production pipeline](https://www.youtube.com/watch?v=UlQVPbC5iJ0)
_____________________
## Pre-production
- Story
- Visual design

- Storyboard


- Animatics
-------------
## Production
- Modeling



- Scene setup



- Texturing

- Rigging


- Animation
- Effects

- Lighting

- Rendering

------------
## Post-production
- Compositing
- Final Delivery
------------
# Character modeling
## Cinematic vs game model
Models built for interactive 3D are primarily polygonal models that use controlled polygon counts to suit gaming engines. Some next-generation game engines already have support for Bezier geometry, and NURBS and Subdivision surfaces may soon follow.

Cinematic model and game model. Image from the book Rigging for Games by Eyal Assaf.
-----------------------------
## Good character design
Reference: Creative character design by Bryan Tillman, 2011, Focal Press
- Archetypes: a hero, a beauty, a bad guy.., or part of yourself
- Character bio: name, age, height, weight, build, nationality...
- Story and target audience: *the character is always in service to the story*
- Shapes: they can tell a story about the character visually.
- Reference
- Aesthetics & Details
- Originality
__________________
## Character design templete
Reference: Creative character design by Bryan Tillman, 2011, Focal Press
1. Gender
2. Race
3. Eye color
4. Hair color
5. Glasses or contact lenses
6. Nationality
7. Skin color
8. Shape of face
9. Distinguishing features
10. Clothes: what/how does he/she wear?
11. Mannerisms
12. Habits
13. Health
14. Hobbies
__________
## Inspiration
- [Oktapodi](https://en.wikipedia.org/wiki/Oktapodi) is a 2007 French computer-animated short film, directed by Julien Bocabeille, François-Xavier Chanioux, Olivier Delabarre, Thierry Marchand, Quentin Marmier, and Emud Mokhberi. Music was composed by Kenny Wood.
- [youtube link](https://www.youtube.com/watch?v=badHUNl2HXU)
- [Webpage / Gallery](http://www.oktapodi.com/gallery/)
- Hyper realistic 3D modelling: [TERUYUKI AND YUKA](http://www.telyuka.com/)
## Reference
[Maya 2016 online Help](http://help.autodesk.com/view/MAYAUL/2016/ENU//)
- Art of Maya [pdf link](http://web.cse.ohio-state.edu/~parent/classes/682/MAYA/art_of_maya.pdf)
## Advanced tutorial
- [Maya: Professor - Poly Model Timelapse by Andrew Silke (36:01)](https://www.youtube.com/watch?v=5u1MnuCp6fM)
- [Maya: Cartoon Head Topology by Andrew Silke (5:12)](https://www.youtube.com/watch?v=trZ2zxpM150)
- [Maya: Cartoon Head Topology - Hack 'n' Slash (10:01)](https://www.youtube.com/watch?v=c2ybQtNlduE)
- [How to Model Lips & Mouth (9:37)](https://www.youtube.com/watch?v=CiBGrpAI1gk)
- [Speed Modeling Anna (Frozen) - In Maya (15:39)](https://www.youtube.com/watch?v=NBrBQbwiDn4)
- [Maya Character Modeling Tutorial - Cartoon Mouse (# 1~4)](https://www.youtube.com/watch?v=2dLMctUGKXw)
- [Modeling a Cartoon Cat in Maya - Part 1](https://www.youtube.com/watch?v=8Weir5-38tA)
- [Polygon & Subdivision Surface Modeling in Maya: The Mouse Embryo](http://www.molecularmovies.com/img/pdf_tutorials/MouseEmbryoModeling.pdf)
_____________
## Review
### Assignment
- [Lab 1](http://2016datt2500.tumblr.com)
- [Lab 2](http://2016datt2500lab2.tumblr.com/)
- [Lab 3](http://2016datt2500lab3.tumblr.com/)
- [Lab 4]((http://2016datt2500lab4.tumblr.com/)
----------------------------
# Lab
## To do list
- Lab practice: Chracter modeling & texturing - a Lego character.
_________________________
## Lab practice A: Hard modeling

 





## What to do:
- Preparation
- Low polygon modeling
- UV texturing
- Shading, lighting, and rendering controls
- Smoothing the polygon
## Important commands and tips:
- Commands:
- Extrude
- Booleans
- Selections
- Deformers
- Tips:
- Spend some time to **analyze and plan** before beginning the modeling processes.
- Well prepared blueprints are important to the modeling processes.
- Switch often to check its position from the side, front, and perspective view.
- Menu / Select tools are useful and efficient.
- Naming: in the outline and layer editor, from time to time spend some time to name them properly. It will help a lot to work on more complex modeling tasks.
- Using Layer editor and Shading options to control its **transparent/opaque views** and **templete/reference/object** view & selection modes.
-------------------------
## Preparation
- Prepare the front and side images of a Lego model.
- Importing blueprints to a front camera and a side camera (View / Image Plane).

- You can adjust the image plane position: using the Image Center X, Y, or Z.
And check out the attributes of the image plane from its attribute editor.

------------------------------
## Low polygon modeling
### Head
- Create from a cylinder polygon object and modify its position and scale. (subdiv: 12)
- From the front view, go to the component face selection mode and drag - select faces and from the menu Select / Shrink to select only top faces or neck faces and apply Edit Mesh / **Extrude**. Click its local / world switch and move & scale and apply Extrude to make the head-top or neck geometry: ***Be careful not to apply several extrude commands at once. It is easy to do so. Use Undo to make sure that you didn't multi-fully applied the same function.***

### Body
- Start from a box. Move & scale it and use its vertices to make the right shape.

- Use Extrude to make the lower body.
### Middle belt piece

- From the side view, let's start a cylinder to make the lower part of belt.
- Create a box for a belt and apply Mesh / **Booleans / Union** to make an unified geometry.
### Leg
- Create a cylinder and go to the side view and locate it.

- In the component mode, select faces as the image below and delete them.

- Select the edge and extrude.

- Select the edge and extrude several times to make the faces of the leg as the image below using the front and side view.


- Apply the **Mesh Tools / Append to Polygon** to create the bottom face of the leg. After this, apply the **Mesh / Fill Hole** to create the closed mesh.

- Now create a box to prepare the Boolean operation. Create a box bigger than the leg we created and from the front view, rotate it as the image plane. Select the leg and the shift select the box and apply Mesh / **Booleans / Difference.**

- This time create a cylinder which is a bit larger than the lower belt part and select the leg and the cylinder and apply Mesh / **Booleans / Difference.**

- Now right leg is done. Before duplicating it, let's clean it. Go to Edit and **Delete by Type / History.**

- In order to use the duplicate special, let's **reset Transformation** to make the manipulator locate in the world center.

- Let's duplicate special. Note that scale X value is -1.

- Great! Now we completed the legs.
- Plus, we can duplicate legs and make them a bit larger and apply Booleans / Difference to the belt to complete the belt.

----------------------------------------------------------------
### Arm
- Let's create a sphere and delete its faces to fit the contour of the image plane.
- Then, extrude the edge three times (choose one edge and apply **Select / Contiguous Edges** to select the entire edge perimeter) to make a base arm mesh. (when you apply the second extrude, increase its Divisions to 4 to make more lines for its deformation later.)

- Now apply **Deform / Lattice** to shape the arm. You can control the grid complexity using S, T, U divisions and its components are the Lattice Point. Using the lattice points, you can control and shape the main geometry.



- Once shaping the arm is done, apply Mesh / Fill Hole to close it.

- You can use the sculpt tool to add more fine controls.

### Hand
- Preparation: let's start from a Polygon Pipe. Transform it and then in the component mode, delete faces to shape it. You can apply Mesh / Fill Hole to close the mesh.
- Once it's done, you can apply lattices not only to an object but also to selected faces to deform. I applied the lattice to inner faces once and to outer faces again.

- When the hand is done, you can extrude the face from the arm to make a wrist. Then apply Booleans / Union to complete.

- Duplication: now delete its history and apply Reset Transformations and apply duplicate it with -1 scale X to complete both arms.


- *Congratulations!* The low polygon modeling is completed. Before starting the UV layout, please delete all histories and work on naming in the outliner and layer editor.

----------------------------------------------
## UV layout & texturing

- You can download a Lego uv texture from [LEGO Universe Wiki is a Fandom Games Community](http://legouniverse.wikia.com/wiki/File:Torsos_NPC_VandaDarkflame_I5.png)
Content is available under CC-BY-SA.
- For this tutorial, [Vanda Darkflame character](http://legouniverse.wikia.com/wiki/Vanda_Darkflame) texture is used.
- [Custom Minifig Textures](http://nexusadventures.wikia.com/wiki/User_blog:Ferfature/Custom_Minifig_Textures)
### Preparation
- Create 5 materials and apply each material to a head, a body, a belt, legs, and arms respectively.
- Link the texture from the color attributes for all materials.
- Work on panel layouts for a comfortable workflow.
### Planar UV mapping
- Let's apply planar uv mapping for each part and move the uv shells to proper parts.
- Then from a camera view, select the face which has a texture from the Lego geometry and apply **Select / Convert Selection / To Edge Perimeter.**

- Move to the UV texture editor and apply UV Edtor / Polygon / Cut UV Edges.

- In the UV texture editor, choose Shell from the component mode, and select & move around to find the cut shell.

- Move the shell and select UV from the component mode and move UVs to map the texture to the UV layout.
- Repeat the same process to the head, body, belt, and legs.

- For the arms, which have more geometry faces, you can select a few faces and use Select / Grow or Shrink and other commands to make the selection processes efficient.


-----------------------------------------------
## Shading, lighting, and rendering
- Let's work on the cinematography. Create lights and soft shadows.
- In the below rendering, one directional and one ambient light were used.
- Make a rendering quality high.
- In the render settings, make the Anti-aliasing quality to the production quality.
- Let's tweak the shading parameters to make it look good.
- You can create an environment such as a ground and a sky too.

- Let's switch to the Maya Vector render.
- Tweak the Fill Options and Edge Options in the render settings.


-------------------------------------------------
## Smoothing
- Let's apply Bevel to the Edge loop to add smoother lines.


- Optionally, you can apply Mesh / Smooth Proxy / Subdiv Proxy.
From the option box, you can create layers which can divide the subdiv surfaces from its low polygon geometry.

- To keep the boundary, you can use Mesh / Smooth Proxy / Crease Tool. When you apply, you need choose edges from the component mode and drag while holding a mouse middle button to decide its intensity.

- Please compare the low poly, its exponential level is one or two in the PolySmoothProxy node.


- ***Congratualtions! It's completed!***
______________________________
## Lego related reference
- [Lego Man 3D Minifig Reference
by Quandtum](http://quandtum.deviantart.com/art/Lego-Man-3D-Minifig-Reference-145171513)
- [Anatomy Of A Lego Minifig](http://wtf.thebizzare.com/offbeat/uncategorized/anatomy-of-a-lego-minifig/)
- [LEGO-Textures: Textures scanned from real LEGO bricks!](https://github.com/rioforce/LEGO-Textures)
- [CgTrader](https://www.cgtrader.com/3d-models/sport-hobby/toy/lego-man-collection-10-characters)
- [LEGO HEAD DECALS](http://fantasticpixcool.com/lego+head+decals)
- [Base Lego Model](https://3docean.net/item/base-lego-model/8762731)
- [Lego Minifig 3D Model](https://www.creativecrash.com/3d-model/lego-minifig-3d-model)
_____________________________
## Lab work to do
- Review & practice based on today's lecture & lab class material.
- Let's prepare project 2 & 3
- Project 2: the completion of project 1
- Project 3: free theme modeling & rendering.
- [Project link](project.html)
____________________________
## Assignment
- By Sunday Nov 13th midnight, please complete your lego modeling (up to what we have worked in the class) and prepare your customized lego texture for the next class (representing you as a lego character) and upload the **rendering image(s)** to the class Tumblr with simple descriptions: **"a09 by your name, date"**.
## Attendance
- From the next week, we will check your attendances so, if you skip the class with a proper reason, don't forget to submit related documentation to Haru or Yifat such as a doctor's note.
-------------------