Mid Term Assignment

[ What a Mirror 🪞💫 ]

MidTerm_Final  /  MidTerm_Code

photos&video_01  /  photos&video_02


Danny Rozin’s mirror had a lot of distortion in it. So that’s where I got my first start. I thought about how it would be if it was a distorted effect and had a colourful effect, so I followed my initial idea. However, the mirror was already distorted and added the colour, so it could no longer be called a mirror. That’s too many effects on it. So I selected to add an achromatic effect as much as possible. However, contrary to my expectation, the achromatic colour created a weighty atmosphere. I changed the point light to the end of the mouse cursor, and the ambient light completed a project that looked atmospheric and not gloomy.

In addition, a small square in the lower-left corner was added so that the square could recognize the movement of light. Furthermore, one side of the square automatically changes colour even if the mouse is close to the square’s side, making it comfortable for viewers. And also added a regular mirror to the bottom in case people lost their focus and couldn’t enjoy the distorted mirror properly.


This whole process changed through the experience of my roommate and me. After the first coding, there was no light and no square. My friend told me that it was too simple but tedious. So I tried several things, and I’m satisfied with the result. It was my first time doing a proper project with p5.js. I thought it was a challenging and insufficient result, but I feel good that I completed it with a cute project in my way. 🌞

WEEK8 Homework

[ PBR Material ]

This assignment was beneficial. I think I enjoyed it the most. In addition to Unity’s technology, I found many sites that collect 3D assets. I also knew that the free set was not wrong in quality. I tried mapping using a glossy gold metal texture that I clicked download after looking around the sites—another one is made of matte wood. PBR materials show ‘real material.’ I could make what I saw in the advertisement if there was only proper lighting and camera work knowledge. There are many components that I don’t know. Also, errors still occur during work, and it isn’t easy to complete one task without reference.



Nevertheless, the more I work on Unity, the more interested in 3D work. PBR mapping seems to be an interesting topic because the expression is realistic enough to feel the material and texture even if you don’t touch it.

*I found some pretty good asset sites for this assignment, and I’ll leave them on my blog. I hope it helps everyone.



02. cgbookcase.com


03. textures.com


WEEK7 Homework

[ 3D ]

3D_week7  /  https://github.com/hyoji-c/ShaderArt/blob/main/week7.mov

I made two figures as an assignment. I wrote the code by myself without any reference. So I’m satisfied with it, even if it’s short-code. At first, I stuttered a little, but I was confident with this box and sphere. As a professor said, I drew a simple 3D figure using push() and pop(). frameCount() added to my example because it looked cool while researching. 😎 



[ Bump Mapping ]


I tried to bump mapping with the most popular motif pattern these days. It looks like a white rose with a thorn, and I like it anyway. The bump mapping code was harder to understand than I thought, so I got help from the professor code. It went through trial and error several times while I was coding. If there is the next opportunity, I feel I have to look at this code again from the beginning. 🧐




WEEK3 Homework

Gradient 01


Looking at the square, I naturally thought of Mondrian’s work. In his paintings, squares of all shapes are gathered, but they are harmonized monotonously. Inspired by that, I kept the square and changed it to different colours. Use several colours with mix( ) to give a gradient effect to create a soft image.


Pattern 02


The motif pattern, which is a popular pattern these days, comes to mind by arranging a circle in a square. Patterned using mod( ). It’s like a magic eye that makes you fall in love the more you look at the shapes and the different colours in each cell. Originally, I set the circle to a small size. However, I changed it because I thought the larger circle would fit the patterned forms better than the small dots.


WEEK2 Homework

Gradient 01


I made a gradation that mixed yellow and sky blue and redirected the X-axis to the Y-axis. It was exciting that the function value and direction axis I heard in school math class was needed to code the shader.


Gradient 02


I was trying to create a new pattern by changing numbers and codes based on the example. I set the range, and the input value of ‘u_mouse’ was added to make a scene where the curtain seemed to open and close. I chose a vivid colour so that the before and after the mouse touch was remarkably reversed. I was not used to the code yet, so I had difficulty with errors.

gradient02-1 gradient02-2 gradient02-3

You can see the video of Gradient 02

Final Project

[ Documentation ]


[ Before the Project & Idea ☄️ ]

Google Photo Drive inspired me. To be specific, it is a picture of the night sky in the drive. I’ve had a lot of personal difficulties since last year. I have stayed at home since the COVID-19 situation. What gloomy days! As a result, the day and night changed, and I stayed awake almost only at night. All I could do at home was go out on the balcony and look at the sky. Rather than how someone talks about my feelings, I think listening to my favourite music alone and looking at the night sky is the greatest pleasure. Anyway, a month ago, I began cleaning up the drive to delete the picture due to the cell phone capacity. Looking at the photos I took, there were many photos of the night sky. The most noticeable image was the bright and round moon in the night sky. It was a picture of the night sky that contained such little of my joyful moments. Inspired by the sparkling things seen in the night sky around the moon, I made my universe.


[ Shaders and Code 👩🏻‍💻 ]

I used Unity and Visual Studio for this project. 

The entire background, the universe, was downloaded from Unity’s Shared Asset and used to complete the meteorites’ shape, material, and lighting with a shader graph. In addition, I created the movements of the meteorites through C# coding.

First, let’s talk about Shader Graph. Each meteorite is designed through Shader Graph. The two colour functions, three float functions and one node are used for each meteorite. In this way, I added five features to create a design map. (BaseColour, CellDensity, CellColour, CellSpeed, Lumino) The time and speed functions were adjusted to create a more dramatic effect as the meteorite rotates to create a sparkling effect. The strength value on the X and Y axes was decreased by adding a colour node to add a softer feeling.

shader_process01   /  shader_process02   /   shader_process03

The most challenging point of this project was to focus on how to express ‘revolution.’ So coding was essential. I didn’t mean to make all the planets, but I used the astrophysical formulas because I had to calculate the orbital period to make a proper revolution. Newton’s formula for the law of universal gravitation is applied to the code to express gravity. The rest of the meteorites were coded to orbit based on the central meteorite.

Gravity Code   /   GravityCode_result


 Orbit Code   /   OrbitCode_result


[ Code ZIP 🪨 ]


[ Process 🤞🏻  ]

I attached a video of the process to the final version.

process04   /   process05   /   process06

 Final Design of Meteorites


[ After the Project 🙆🏻‍♀️  ]

While working on the final project, I remembered the first moment of this course. I was pretty confident because I had experience in Unity programs before. However, shader art through coding was the first time, and it took a lot of effort. The more complicated the achievements were, the more my knowledge accumulated, and I was able to gain confidence through the challenge. I’m not a person that closes to coding. As a designer, I was familiar with Adobe tools. While I getting tired of 2D work, I took this course accidentally. I felt fascinated to learn a new genre(shader art) as a designer. I have worked on various projects during the semester, but I know that I still lack much knowledge about Shader. So, I had a desire to dig into this genre. 🤟🏻

Thank for watching my project 🌌