Week 9 Homework

For this homework, I chose to create a photo-realistic materials in Substance Designer. Following UIW 3D Animation and Game Design’s video (https://www.youtube.com/watch?v=sZhcQMwRNxY), I made a sci-fi panel and distressed it.

After learning, I found that it was very easy to make a NEW realistic material, but it was a very complicated process to make details and old material for a NEW material. Sometimes we can simply give it a texture, but more often we have to look at the details of the material in life to imitate the texture. In this way, we can give a texture from the real world to a model that does not exist in reality.

In the tutorial, the author starts with a simple graph and complicates it with basic Nodes such as Transformation, Symmetry and etc. Beyond the basics, he used Tile Sampler, Edge Detect and etc to give Grayscale’s graphics some random variations, and blend with some of the grayscale textures from Substance Designer’s texture library. Thats how the details come out. After obtaining a basic Grayscale image, he made three different layers based on this basic image, and then assigned different colors to each layers, so that each of them has its own hue.


These nodes look complicated, but actually I can understand how it is done. The tutorial explains clearly what to do in each step, which gives me a good understanding of how to use Substance Designer to create materials.

Week8 Homework

I choose to create a winter theme for this homework. I found assets from textures.com which is free to use.

I only used default 3d models from Unity itself and focused on PBR materials exploration. I created realistic stone road, ice brick and ground plane. But for the last two, I tried to add emission to create more interesting materials. I messed up the order of the textures, and exchanged Albedo texture to Emission texture, in this order, I got such an interesting material. Same ideas as the next one.


PBR materials are so realistic and I’m interesting on playing them. Also I explored the environment HDR texture and applied some to try, then finally, following my theme, I chose this snow winter view.

PBR & HDR from: https://www.textures.com/library

Midterm assignment

Link to our animation: Here


Group member: Doris GAO, Aimee CHEN

This is group project with Aimee Chen. We developed and edited the shader which based on our previrous weekly assignment. We wanted to create a shader animation with color changes, so in a nutshell, we animated the shader based on the Color Harmony theme from weekly homework 4. First of all, based on films of John Whitney, we wanted to have some connections between each shader animations, instead of being separate. So we choose the connection between colors and applied different shapes to make the animation interesting.

For this project, although we are building on the weekly homework four, we are integrating what we have already learned. By combining those knowledge, we came up with the pattern we wanted. For example, I defined specific color set, instead of being static, I used “i+=1” to control the color’s changing rule, so that the color blocks can move or switch with a specific frequency.  In addition, for example, I used professor’s noise example to create the color beat or create waves. There are the two methods I used most often to create these shaders, however, there are several more useful ones, such as distance(), mix(),mod(),floor(), trigonometric functions and so on. While the project was still going on, we had honor to communicate with Professor Jeremy, and learned to use “if statement” to set conditions for parameters. For example, in our last animation, we used “if (u_time)” to control the time and sequence of animation playback. After the good part, it’s time to face the hard. For instance, when using Fragment coordinate, there were some texture errors. But after changing to texture coordinate with the help from Jeremy, the problems were well solved.

Overall, our final product wasn’t that far from what we expected, and the color set we picked out of Photoshop were just suit. In this project, I finished the shaders in the Book of Editor, and improved it after discussion with Aimee. We went thourgh from simgle animation changing at the beginning, to a more complex later. This animation also reflects my growth on one hand. Thanks to the samples and lectures provided by the professor, I learned so many new functions. It was interesting to combine the new functions with the old knowledge or adjust the parameters.

Week 3 Homework

| Gradient#1 & #2 video


| Gradient 1 code                                              | Gradient 2 code

The results are similar to my thoughts. The difficult thing is from Gradient 1. When I try to draw those ractangles, I cannot place them in right thoughts. I learnt to draw different shapes (rectangles, circles, lines….) and how to make layer for shapes. I leanrt randomness as well but I didn’t use in my homework. Combining previous learnt trigonometric functions and other knowledge, I did those.

For the Gradient 1, firstly, I drew different boxes and circle, and some of them are determined by mouse position, so that they can interacte with mouse. Then on main function, I layered every shapes and drew them on top of one anthoer. In the begining, I use mix() to mix color, in this way, if there were only few shapes, they are easy to control, but I want to add more, so by referencing 05-Layers_1, I learnt how to layer shapes.

For the Gradient 2, firstly, I drew the backgound and the two lines. Then I divided and rotated the spaces on canvas, and layered the shapes. Finally, draw them in a interactivable (by mouse & time) color.  In the begining, I edited code from book and try different outcomes, then I combine the knowledge I just learnt, the shapes were well organized by layer.


Week 2 Homework

Gradient#1  Gradient#2   code

By testing many funcions from the book, I got many results, but I prefer to show those two. I’m focusing on interactive shaders. For both, it can interact with mouse and update by time. When I interact with those gradients, they appear unexpected image.

I learnt how to mix color by mix() function, use mouse cordinate to interact, distance based hue, animate over time, and give color chanel a new value…

(those two are gif files, if they don’t work, please click links above)