Collaborative Unit_Submission post

SHUT DOWN-The Animation Film:

Personal Works:

The video below summarizes my works in this team, hope you guys like it.

My role in the team:

Story: Initial story design. the final story is made by all the team members.

Rigging: Character rig, robot rig, newspaper rig and teapot rig.

Texturing and shading: Unfolding UVs for characters and scene; Textures for the whole scene (livingroom, kitchen, floor, wall), part of it has been replaced by Wanxuan Liu’s works (livingroom). The toon shader adjustment.

Lighting: The scene lighting (livingroom, kitchen)

VFX: The cloth simulation and water simulation.

Rendering: Rendering for part of the characters and scene.

Sound: small part of the sound in video (Cello & Electronic), most of sounds are made by Wanxuan Liu.

Hyberlinks:

The process:

Week_01: Intro to the unit and projects

Week_02: Collaboration Unit Project Brief

Week_02: Texturing test & Model Rigging

Week_03: Character rigging

Week_04: Texturing

Week_05: Refine Texturing & Improve the scene

Week_06: Lighting &Sim& Refine Texturing

Week_07: Simulation & Rendering

Week_08: Rendering & Simulation

Week_09: Rendering & Project Summary

Other links:

Week_02: Summary

Week_05: Seminar and 1-1 support

Week_09: Rendering & Project Summary

This week we rendered the last few sequences of our animation and finished the editing and compositing. After compositing we disgussed the sound and music. I finally added some cello and electronic sound for our video, while Wanxuan finished most of them.

The final result of our animation will be put in the next post. Here I just make a summary for our project and review some of our works.

Project summary:

Team members and roles:

Zhengzhong Liang: Script writing; Character Modeling (old man & robot); Texturing and Shading (robot); Lighting; Rendering; Compositing.

Ziyin Wang: Script writing; Layout; Animation (all shots)

Wanxuan Liu: Script writing; Storyboard; Character Design; Texturing and Shading (old man, part of livingroom); Lighting; Rendering; Sound and Editing.

Guanze Wu: Script writing; Rigging (old man, robot, props); Texturing and Shading (scene: kitchen & livingroom); Lighting; VFX (cloth & water sim); Rendering.

Yuehui Chen: Character textures refinement.

Script and Storyboard

At first, we decided to make a cel-shading scifi background animation film, but we were not sure what to tell in the story. Therefore, we wrote the script individually and shared our scripts together. After disgussion, we finally chose one of the script and spent some time to refine it.

Here is the initial script:

In a near-future, robot is widely used in people’s daily life. A computer virus explosion lead to a chaotic, which strains the relationship between the oversensitive protagonist and his suspected robot. A misunderstanding drives the protagonist to fight with his suspected robot, and died accidentally in this fighting. The story finally shows that the robot is not affected by the virus at all. 

Then Wanxuan drew the storyboard. We disgussed about the storyboard later and realized that part of the camera in the storyboard need to be adjusted. In order to understand camera movements, we shoot a video as a reference for our layout and camera settings.

Modeling

We evaluated the modeling tasks in this project and decide to model the character and robot by ourselves, and other objects in the room would be collected from website.

The character and robot were modeled by Zhenzhong, other models are searched by Wanxuan and Ziyin. The design and modeling of robot went smoothly. However, we met some problem when we designing the character. Wanxuan finally drew a concept art for the character, which solved this problem.

After that, Zhengzhong quickly modeled the character. He then gave these models to me.

Rigging

I did all the rigging after Zhengzhong sent these models to me. I rigged the character and robot at first, all the rigging is rigged without any script or plugins. After that I realized that we needed a newspaper which can be folded and curved. What’s more, a rigged pot is required in this animation, too. Therefore, I modeled, textured and rigged the newspaper and pot. Unfortunately, the newspaper didn’t work well in the animation. This is totaly my fault.

Texturing

After modeling and texturing, we started to texturing our characters and the scene. We invited Yuehui Chen, who studies character animation in CSM, helping us to do some texture stuff. Wanxuan finished the first version of chracter textures and Zhengzhong finished the robot textures. I did the first version of scene textures. After that part of the furnatures inside the room were replaced by new models. Therefore, I asked Wanxuan to help me finish these parts of textures, while Zhengzhong and I keep refining other textures.

Layout

When we were making textures, Ziyin started build the layout. We were satisfied with part of the camera in the first version of the layout. However, the other part of it still had some problems. THerefore, Ziyin did some research on camera shot and then finished the second version of layout. The second version looks much better and we decided to animate based on this one.

Lighting

We then started to lighting the scene. Zhengzhong, Wanxuan and I finished the scene lighting. I did the first version of the lighting, while Zhengzhong, Wanxuan refined part of it. Me and Zhengzhong also figured out how to make the proper AOVs for toon shading. After that we rendered the scene and test the rendered layers inside After Effect.

Animation

Ziyin did all the animations by himself, which can be considered as a huge work. He did neary 40 shots of animations. He was quite strict with himself and even remade part of the animations. Thanks for his works, our characters starts moving and the scene becomes much more interesting.

Rendering, VFX and Compositing

In the next few weeks we started to render animations, while Ziyin kept animating other unfinished animations. Me and Wanxuan rendered animation layers, while Zhengzhong dealed with the compositing. Since some of the shots requires water simulation and cloth simulation, I used Houdini simulated these visual effects. I then send these files to Zhengzhong so that he could make layers for the effect and the scene.

Sound and Editng

Unfortunately we didn’t have time to ask sound art students to help use make sounds and music. Therefore, we decided to finnish this part by ourselves. Wanxuan finished the editing of the whole animation and the sound. The time was so limited that we only have chance to make the first version of animation. Though part of the animations can be improved into another level, the final result was still satisfied to us.

Reflections:

As a student who used to learn industry design, it is my first time to collaborate with other students to make an animation short film, which is a great experience to me. Since the time is quite limited, we don’t have enough time to refine some of the details inside this animation. I am quite happy with the result, but I think we can do it better if we have more time. Also, I learned a lot in this project. For example, how to solve new problems, how to keep the project rolling and how to overcome difficulties. It is quite struggling in part of the process but we finally achieved what we want. Also, I realize that my rigging and simulation is still not good enough. I need to spend more time to learn these things and improve my skills in the future.

Week_08: Rendering & Simulation

This week we still focusing on rendering and compositing.

What I did this week is almost the same as the one that I did last week. I finished the other part of the simulation and rendered other animations.

When I did the simulation for the dream sequence, I realized that the character’s eyebrows still have some problems. I used wrap deformer to rig the character’s eyebrow. It works well when the character is in initial size. However, it becomes a little bit weird when I scaled the character. Frankly, that is a stupid mistake. Since there is no time left to adjust the rig, I told ziyin to scale the character back to the initial size to prevent the BUG happening. Although the wrap deformer can make the rigging process faster, it still has limitations. Next time I will turn to use skeleton to rig the eyebrow, which can be much safer.

What the simulation that zhengzhong wants is the water pouring out of the pot and collide with the water inside the tea cup. He wants the waterline keeps rising, which can show how dangerous the character’s circumstances is. Therefore, I used flip solver in Houdini to simulate that scene. What I did is to create two flip sources: one is for the ground water sim, the other is for the pouring water sim. Both of these sources collide with each other.

My computer is not good enough for high-res water simulation, so the detail is not quite satisfying. What’s more, there is one problem: The camera goes through the water in part of that sequence. Ziyin said that the camera should not be changed. Therefore, I have to use some tricks to deal with this problem.

What I did is to simulate the water twice: one is the water coming from the pot, the other one is the whole simulation with water collision and interaction. Then I used the switch node to switch between these two caches.

When the camera moves, I switch to the pot water cache(without collision) to prevent the water from crossing the camera. After that I cached out the whole sim to another alembic file, which is the final version.

The final version of the sim:

Reflection: After using flip solver for several times, I realize that flip solver is not quite suitable for small space simulation, for the collision of particles often has small issues. If I want a better result, the substeps must be added, which will make the sim much slower. I will do some research on that, trying to figure out a better way to prevent these small problems. Also, I will do some research on how to improve the details of water sim.

Week_07: Simulation & Rendering

This week our team focus on rendering and compositing. Ziyin will finish other animations, while I and wanxuan focus on rendering. Zhengzhong is responsible for the compositing.

Since the reference project still has some problem, I fixed most of the bugs in the first 18 scenes, which took plenty of time and energy. We then reorganized the method of referencing assets to make sure these bugs won’t exist again. The scenes files become more stable after the bug fixed so that we can rendering and layer these scenes smoothly.

Zhengzhong told me that the quality of 2d water textures (animated) in some of the robot’s close-ups is not good enough. Therefore, I used houdini to make some liquid simulation to replace those textures. Although the position of pot and cup in each scene is quite different, I just need to replace the alembic files on the top of the simulation web and recache these files because of the node work flow inside Houdini.

Source&DOP&Cache networks

We rendered nearly 15-18 shots in this week. The time is still limited but we are pretty sure that all the rendering and compositing tasks can be finished before the deadline. In the next week we will fininsh all the things that we left. We cannot wait to see the final version of our animation.

Week_06: Lighting &Sim& Refine Texturing

This week our team start lighting the scene and keep refining our textures. At the same time zhengzhong trying to find a proper way to layer our rendering scene and preparing for the further compositing works.

I did the first version of lighting and then refined the lighting with zhengzhong and wanxuan in this week. During the process of lighting we meet several kinds of problems. For example, the weird noise in the image and improper shadow range. We finally overcame these problems and found a proper way to light the scene. Also we found the correct way to export multi-layer exr files with Z depth data, edges data and color data, which can make the compositing much more easier.

We also changed several of textures in our scene. Unfortunately, the scene has a lot of BUGs because of the improper use of referencing project and the file transfer between different maya versions, which took us plenty of time to fix them. It makes me realize the importance of file specification. A improper or wrong file specification can be a nightmare.

I made a cloth simulation loop for the curtain in our scene with Houdini this week and export an alembic file to maya to render it. What I want is a moving curtain with a wind blowing it. The movement of the curtain must be natural. I used a expression with random and sine function to drive the wind, which can provide a better result. Finally I turned the cache into a loop so that the length of that cache can be expanded in a short time.

I am not quite familiar with vellum solver so I took sometime to figure out how to use it. I think the final result is ok.

Reflection: It is a quite frustrated week to me because we have to fix tones of problems that we left in last few weeks and fortunately we finally finished it. Next week we will start rendering and compositing. There is still a lot of things to do so we must speed up our process in the next few weeks.

Week_05: Refine Texturing & Improve the scene

This week I still focusing on the textures and models of our scene.

I did a further research on the color key in our scene and find some useful references:

Firstly, I remade the floor texture this week because the old texture, which is made based on real textures, has less useful details and the color is not good enough for the scene. Therefore, I used Substance Designer to make a simple wooden floor texture. The details in this texture is simplified, which looks more like a cartoon style floor. It seems that the color of it needs to be adjusted, which will be finished next week.

I also find a better water pot reference for our scene, which has a more colorful and untraditional outward. I modeled the pot, textured it and did a simple rig.

Since our character need to break something inside the kitchen, I added some bottles and plates into our scene. The color of these bottles still need to be adjusted and I will finish it next week.

In next week we will start to add lights into the scene and keep refining our textures, shaders and models. We will test the environment and process to figure out a proper method for our further rendering works.

Week_05: Seminar and 1-1 support

This week I discussed our project with classmates in other teams. We talked about the purpose of our project and our schedule, and finally focus on discussing about the technical topics. We exchanged several ideas with other classmates. I also saw the development of their projects and their recent achievement.

I discussed with Yaozhang, who is recently making some cinematic compositing works in his team. He shared us with his ideas of the whole project and the things that he is focusing on. I think his project is quite interesting because he has a great chance to combine real life shooting and his software techniques together to develop something quite cinematic and realistic, which is quite challenging and practical. We also talked about the technical problems in both of our project and some personal experience of software usage.

I also have a chat with other classmates and learned their working pipeline and what software they are using in their project, which gave me a lot of inspirations. I also realize that each team works pretty well and has clear schedules for the project. I saw their passion to the project, which motivated me to work harder. There is still several weeks for us to develop our project, I’ ll work harder and try to acheieve a better result after this discussion.

Week_04: Texturing

This week I focus on the textures of our scene and start to test rendering. Wanxuan did the setting of our models so I can texture these models based on her scene.

Since our main scenes are a livingroom and a kitchen, I firstly did a research on Pinterest to find some color reference for our scene. I then find some reference like these:

After compared with different kinds of references, I finally decided to color the kitchen with white, black and light warm green, which can keep a balance between realistic style and cartoon style. The livingroom is designed to be colored with blue, orange and warm brown, which increases the contrast of image.

I made textures in Substance Painter, which is a handy software for me. I mostly focus on texturing the corners of each object and adding some lines and drops to simulate some kind of hand drawing effects. I also added some fake light and shadows on textures to make it looks more three dimentional.

After making textures I turned to maya to add shaders to models and adjust their light and shadows. Here is the initial effect of two scenes:

The kitchen looks complicated enough but its wooden floor may need to be replaced by some other kind of floor like ceramic floor or something else. The livingroom has a lot of things, but it still looks empty, we are trying to change the settings and adding models to fix this.

One of the most struggling things in this process is the UVs. There are tones of UVs to be unfolded. What’s more, the models of the scene has a lot of problems like bad topology, overlapping points and faces, which added some difficulties to unfolding UVs. Anyway, the problem has been solved manually, which took me a lot of time.

The next step is polishing our textures and keep testing rendering. Also, I think the livingroom seems a little bit empty and we will add more models to fix this problem in next week.

Week_03: Character rigging

This week Zhenzhong made the character model based on Wanxuan’s sketch and I focusing on character rigging. After I received the model, I finished the character rig by myself.

Rig review

The character rig is a full handmade rig, which takes me several days to finish. It is a full character rig which covers both body rig and the facial rig. The main body is an ik/fk system which covers ik and fk spine with a basic squash & stretch system, and ik/fk system for limbs. I also made a 360 degree foot controler so that animator can make tiptoe or heel animation much easier. It is pity that I don’t have time to make the squash & stretch system for character’s limbs, which can give animator the opportunity to do some cartoon style animation.

360 degree foot controler

The character rig also has facial system, which covers eyebrow controlers, cheek controlers, jaw controlers, lip controlers and ik/fk eye controlers. I used a blended mode of skeleton based and blendshape based rig system to finish this character rig. Honestly, building the structure of this rig doesn’t takes much time. Instead, painting skin weight and making blendshapes take most of the time because both of them determines the flexibility of this rig.

Facial system
Rig test for fun

After I finished the rig I also take some time to check the bugs in this system. I adjust the blendshapes, the skin weight for serval times, which takes a lot of time to finish. The rig also has problem when the main controler scaled. I then find out that the problem comes from the squash and stretch spine system because of the wrong data that transfered within the node editor. I adjust several nodes and fixed the problem.

I also tried to add some sub controlers to the clothes to avoid the crossing between models. However the sub controlers’ shape doesn’t scale when I scale the whole model. I used serveral methods to fix this problem but failed. I will do a further research on this to try to solve this bug. What’s more, I think the cheek control can be improved to be more flexible, but I may not have time to develop it deeper because I need to focus on texturing in further process, which is also a tough work.

Next week Ziyin may start to make the layout and animation. Therefore, me and Zhenzhong will then focusing on texturing and rendering. We will try several techniques to achieve the rendering result that we want in maya. I think we can finish all the textures before the animation finished so that we may save a lot of time for rendering and lighting.

Week_02: Texturing test & Model Rigging

Rigging:

This week I rigged our robot model and the newspaper, which can be used for layout and animation.

Robot

The robot has ik&fk arms and global Ctrl, which is suitable to animate different kind of animations. A space switching attribute is created to allow the arm to follow the world space or the robot itself. I also create SDK groups to let animator make robot’s fingers grab animations by using attributes, which is much faster than animating with finger controlers.

I asked my teammate to test this rig and it works correctly. Recently the elbow is a weighted skin, which may be replaced by a rigid elbow component later.

Newspaper

I also did a newspaper rig, which can be folded and open. Each corner of the newspaper can be bended individually and a single page can be turned by using ik controls on it, which fits the requirement of our animation. I also create two controlers on both sides of the newspaper so that animator can animate a folding animation by adding constains to the controler and character’s ik arm controler. However, this rig is still not flexible enough since the skin weight has some little problems. I will keep testing it to make sure it can be used safely in our project.

The rig can still be improved basing on the requirements of animators. I may update this rig in the next week.

The next step is to model and rig our character. We will need to rig a full body character, which has body controls and face control so that it can fit the requirement of performance animation.

Texture test:

I also did a texturing test this week for our project to make sure the graphic result can be achieved in later process. We did some research first and finally decided to render some kind of style like this:

We want to represent the feeling of the lines, spot and the light in reference.This reference is made by using 3D and hand drawing, but it can still be achieved totally in 3D by editing models can textures.

I changed the texture of coffee maker in substance painter to test the result. The final render is made in arnold:

I used some nodes in arnold lights and rough masks to simulate the light in reference, which is quite closed. The spots on textures can be achieved easily in SP by using some masks. Recent problem is that the shadow is still quite “3D” and the graphic is not flat enough. I will make a new test next week to test more textures and try to achieve a better result.