Week 08 Homework

For my diorama, I was inspired by weirdcore and vaporwave aesthetics, the feeling of emptiness and surrealness from the combination of random  objects in an abandoned yet nostalgic environment to create a feeling of alienation as well.

For my skybox, I used an hdri of an abandoned powerplant that was painted with bright pastel colours. I finally understand how to make a custom skybox with any hdri. For the models, I used a combination of stuff I found online and my own.

Because the assignment required both metallic and non metallic materials, I believe it was perfect for the weirdcore/vaporwave aesthetic because of how surreal it made all the objects in the scene appear. I wanted to implement metallic materials on objects that aren’t metallic realistically such as the dented metal on the bed and colourful tiles for the wood frame. I also wanted to mimic organic materials such as snake skin by using a fabric material on the snake model.

For the statue, I was thinking of the past connected to the future hence an antique sculpture made of alien technology to support that feeling of alienation and surrealism. I used both the spacecruiser panels pbr for the whole statue but opted for the albedo and normals of the spaceship panels pbr because I thought the mix made it look much better.

I didn’t quite run into many problems with this assignment as it was fairly straightforward. Though I learned a lot about the pbr workflow than I previously had where I was just following tutorials and not fully understanding what was happening to make those materials possible.



Burlap Stained – https://freepbr.com/materials/burlap-stained-1/
Wrinkled Paper – https://freepbr.com/materials/wrinkled-paper1/
Dented Metal – https://freepbr.com/materials/dented-metal-pbr/
Preschool Tiles -https://freepbr.com/materials/preschool-tile/
Water Worn Reddish Rock – https://freepbr.com/materials/water-worn-reddish-rock-1-pbr-material/
Dusty Cobble – https://freepbr.com/materials/dusty-cobble-pbr/
Wispy Grass Meadow – https://freepbr.com/materials/wispy-grass-meadow/
Space Cruiser Panels – https://freepbr.com/materials/space-cruiser-panels2-pbr/
Spaceship Panels – https://freepbr.com/materials/spaceship-panels/

Snake – https://free3d.com/3d-model/rattlesnake-v04–784635.html
Mushroom – https://free3d.com/3d-model/short-fat-mushroom-v1–152017.html
Statue – https://free3d.com/3d-model/statue-v1–541832.html
Door – https://www.cgtrader.com/free-3d-models/architectural/door/abandoned-wooden-door-low-poly
Bed (Mine)
Tree (Mine)

Final shader art project – Ethan day and Mark Lin

Ethan Day and Mark Lin Shader Final Project Reflection

Motion capture with superpowers

This is a playable third person action game demo

Game play video:https://youtu.be/iX-sbuzr99A

Itch.io page: https://ethanday.itch.io/shader-art-final-2023-mocap-with-superpowers


If at any point the demo is bugging out or seems to be glitching in some way, press R on the keyboard to reset the scene.


WASD to run

Mouse movement to rotate camera

Attacks: (can be performed while running)

Hold left click to perform a combo

Stop holding left click to cut the combo short during one of the 5 moves

Press right click to perform a powerful jump kick

Press right click at any point while holding down the left click combo button to perform a jump kick mid combo

Defensive movements: (stationary)

Hold spacebar to enter defensive posture

Press WASD while holding spacebar to perform a quick dodge in various directions

Left click while holding spacebar to perform a quick jab

Right click while holding spacebar to block

Quick jab while blocking to cancel the animation

Hit X when prompted to perform a cinematic takedown on an enemy and reset the scene afterwards.

List of shaders:

Ethan – Fire effect, lightning shader and VFX, nature ground

Mark – Mud, Water blue, water red

Our final project is to make a game in which players are able to move characters to do different martial art moves and an ability to execute enemies with a series of moves. We begin with using the mocap project that Ethan created in the past. It included the motion capture animation bundle with characters. To make this look great, we want to add some effects to enhance the feeling of powerful moves like punches and kicks. 

We first did the basic thing which is to choose what kind of texture we want to do. We decided to do the punches with water and kicks with fire. Then I start to make a water texture in the substance designer while Ethan is trying to figure out how to add the effect when our character is punching. Besides, Ethan came up with an idea of using the arm guard to indicate the element. So I did a bit of modeling for our arm guard. Then he applied the finished water texture on the guard. It doesn’t make any sense if the water arm guard is here all the time. Then Ethan figures out a way to make the guard only appear when using the punches. Meanwhile I’m working on how to make our fighting environment look good. Since everything is going to the material arts aspect, I’m going to make something in the same style as that. Then Ethan gave me a great idea to make a Dojo setting. 

One of the most challenging aspects was creating visual effects based on Unity Shader Graphs from scratch. We created a fire shader and a lightning VFX/shader combination effect. The lightning had to be a VFX and a shader because the lightning had to show up in a certain shape and animate in a certain way, whereas the fire we placed on a 3D object as a material. Even though we used tutorials it was tough to understand the UI and make sure we missed no steps while staying organized. Also, never underestimate the difficulty of dealing with small text when having 2 tabs open that already have small text. 

I searched up some assets online and got our scene set up. To make this look good I added some textures for the road and included two textures me and Ethan created from substance designer, Mud and Nature/grass. I also added many lights to improve our scene views. Ethan is working on the legs and using the texture I changed from water to fire. He figured out how to make guards disappear and reappear depending on what kind of attacking style. Besides, he also added a fire effect on the enemy when he got punched and kicked. To make it cooler, Ethan also made a lighting effect that will appear from the sky to strike the enemy when the player finishes the execution.

I will say there are many challenges we encountered. We first lost some part of our project by trying to use GitHub but we spent some time fixing it. I had some trouble setting up the lighting, then I took some time to learn more about lighting online. Result is I’m able to make the lights in the scene render shadows real time. It took ,e a long time to find the models I needed to set up the scene since the environment is Japanese style and it took me some time to choose the right texture. For Ethan’s part, he struggled a lot with making the effects since his work is mostly coding and shader graphs. He has to figure out many things because there are many things that the tutorial didn’t mention at all.

In summary, we are really happy with what we did for this project. There are a few things we want to add into the sense but it is too hard and is going to take a long time to do it. The reason why it took so long for us to finish is that we want to do something cool.










Textures and models:















Youtube tutorials: 






Mixamo models used: David and Josh

Final Project – Justine

Quick Links:

Final animation on YouTube: https://youtu.be/dIozUA4UrXk

Shader files on GitHub: https://github.com/notjustine/Shader-Art-Final-Project


This final project revisits my very first Unity project from last year, inspired by Jared Pike’s dream pool renderings. The original project was bland to say the least–a default skybox, unbaked lighting, and no materials whatsoever on any of the objects. This time, I am able to use my now better grasp with the Unity engine in combination with what I learned about shaders this semester to revamp the project and make it look more true to the inspiration.

I give this project the working title “Where’s the Exit?” in paying homage to backrooms-type locations or liminal spaces. These kinds of environments are simultaneously alluring yet unsettling, seemingly endless at times, and are definitely the kind of place to wander around and get lost. The exit signs here point to all kinds of directions, yet no actual exit is present. In the end, the animation leads the viewer to the green arrow pointing out the window, where they get consumed by the light, as if to exit the dream.

Creative Decisions


Apart from creating a proper tile material from the walls and floors, I also wanted to create my own realistic water shader since the one I used in the first version of the project was a free stylized water shader from the Unity Asset store. However, these two are standard in any dream pool rendering and I needed at least a third material to make for this project. I decided to make an emissive shader for three neon signs located within the scene.

Dream pools are surreal, sublime, and ethereal. I wanted to capture this feeling through baking the lighting and experimenting with a combination of several post-processing effects (namely bloom, vignette, chromatic aberration and white balance). I aimed for a hazy glow, almost blinding at some points such as when looking at the skybox sun. Creating emissive shaders for the neon signs was definitely a good choice for achieving this feeling and I enjoy the way the bright colours bleed onto the the surrounding tiles with a subtle glow.

Initially, my plan was to just work with the original project file and add to it, but I decided to start from scratch instead. This is because my original use of Unity Probuilder was very messy and there was a lot of z-fighting visible whenever I would add my materials. It would take a long time to reorganize all of the objects to align better, so I might as well have just started anew. In the end, I like the current composition better since it is a more enclosed space yet I can still take advantage of the skybox to cast interesting shadows into the space.

Discoveries and Challenges

I think the biggest challenge out of the three materials was the water shader. It made me realize the many characteristics or layers that go into making water actually look and behave like water. This goes from making the water a different colour at the bottom versus near the top, to creating surface ripples with a scrolling normal map and smoothness, to displacing the vertices of the plane to visually ripple like water, to displacing the light underneath the shader to appear as refractions, and many more.

There are additional layers that I did not get into such as foam, caustics, and reflection. I tried playing around with reflection probes to see if I could get some cool reflections on the surface of the water such as from the neon signs and the light that bounce of the walls. However, I couldn’t get it to work the way I intended since it ended up making everything in the scene shiny, regardless of layers and culling masks. This is perhaps something to tackle and figure out for the future.

In addition, I made a couple of interesting discoveries while experimenting with the neon signs. First, I found out that you can use a .png with a transparent background as a base map of an object–this is how I made the neon signs without having to actually model a 3D object in the desired shapes. However, I also learned that the emissive shader only emits light front-wise (even if I set the render face as both front and back), so I had to make a workaround and also have a second emissive material to cast light behind the signs.

Tile Material made in Adobe Substance Designer.


Water Shader made with Unity Shader Graph. References: Making a Water Shader in Unity with URP! (Tutorial)3D Stylized Water with Refraction and Foam Shader Graph – Unity Tutorial


Neon Sign Shader made with Unity Shader Graph. Reference: Glowy Emission Filling effect Shader Graph – Unity Tutorial


Environment made with Unity Probuilder. Skybox is from Poly Haven: Quarry 01 (Pure Sky)


Final Scene



Final Agalia Christofi

agalia-christofi-stain-glass agalia-christofi-sketchfab agalia-christofi-wood ref flames



I made some shaders for a game project that I have been working on. The basic concept is the setting is for an alchemist’s library. So, it requires some classic designs like candles, fancy library textures, potions and magical effects. Everything had a very purplish and neon look to it to push the magical feel. I really wanted to make the still environment come to life a bit more naturally before I had the character animations and lighting effects. A huge inspiration for me was Inscryption. That game has plenty of interactive moments with the environment while staying very minimalist visually. The shaders really allowed me to keep things pretty low poly while maximizing detail. For example, I had initially modeled the candle flames and I was able to replace them with a single plane and a shader.

Most of the shaders were made in substance and designed to easily have plenty of iterations, meaning small adjustments to create new patterns. This allowed me to make a diversity of assets for one thing such as ceilings or windows. The method I set up was to create a base mask by combining a bunch of shape nodes, then copying and creating changes based on that. Those patterns were then plugged into the same node setup to create the maps. I was able to do this for the ceilings, windows and walls. Moreover, it allowed the materials to be consistent with one another.  Specifically with the tiling for the windows, the patterns were set up to be multiplied to create new iterations. One, pattern could turn into four usable ones. Essentially, I would have a base x pattern then layer the adjustable one on top.

The biggest issues I had were with the URP, baking, lighting and shadows was so awful for me for some reason. I could not get my lights to appear no matter how hard I tried for the interior. Moreover, the textures and assets from maya were not exporting properly. I couldn’t even unpack them. So, I had to make due and replace some things with temporary materials. Also, my flame shader had a small box and didn’t display opacity how I expected the png to so, I had to manually adjust its sizing.

Using shaders, especially with substance designer was an extremely eye-opening experience that I found super enjoyable. Despite being restricted to nodes, I felt as though it was super relaxing and intuitive. I can’t wait to take it a step further and work in substance painter. All of these programs were surprisingly similar to one another as well.


Here are the tutorials I watched:







Final Project – Nintendo Room. Magdalena Szlapczynski

“Nintendo Room”

Youtube Link to Video showing the scene: https://youtu.be/5AKuhmOyVG4

My main motivation and inspiration for this final project was to try to include as much as Nintendo theme assets as possible. The shaders, models, and animations. For all downloaded assets for Nintendo, I changed them around to fit in for the scene creatively and changed them to my liking.

For the modified assets, I used sprite sheets ripped from the Nintendo games that are provided online and edited them in Photoshop to create unique masks and patterns for fabric within the room scene. For a animation component I used a “Mewtwo” Pokemon model and created my own animation within Maya using the model and rig downloaded. I modified its texture using Unity’s shading system to give it a more pink tint and make it glossy like a figurine. There is also a secondary Pokemon model used, “Pikachu”, and I gave it a plush-texture over its original texture that it had, and I made the design decision to make it appear slumped/leaned on the ground, making it different than its shiny figurine counterpart Mewtwo within the scene. I was treating this project as very experimental, figuring out ways to creatively modify all the materials used make them fit well with what the scene was trying to portray. The main view of the scene is meant to be through the window on the outside.

The assets that I created within Adobe Substance designer are the brick textures, the wooden floor texture, and the fabric textures. The brick texture was modified to be yellow and red-brown, the fabric texture was modified for the curtains, carpet, cushion, tablecloth, and the pikachu plush. The rest are made in Unity and the lights are using a post-processing package by Unity, and only several assets have been downloaded from online including the wooden table texture, the cork texture, and sprayed wall texture. The sprayed wall texture was used to make a popcorn-ceiling, the cork texture was for the cork holders for the drinks, the wooden table and chair texture was downloaded as well.

The scene was created within Maya first, half of the assets I modelled myself, including the chair, table, photoframe, tablecloth. The rest I downloaded from online. I also made the Mewtwo animation within Maya.

Backstory: As a bonus, the way I tried to design the room was to make it seem as if there were two individuals in this room that left their TV on, as it glitches and flips between the Wii U screen and the static screen as if it were broken. There are two glossy Wii remotes placed on each other, and two unfinished tea cups on the table. The main assets that give away the story are the two chairs messily together next to the table, one fell over entirely, and the other having a misplaced cushion. In a way, I tried to imagine a sort of rivalry or disagreement happened between two individuals, leaving a dark room and the “? block” night lights and the Wii u left on without a care of wasting electricity. I still wanted the room to look neat or cozy in a way, as it may relate to many that video games are a sort of comfort or relaxing activity.

1 2 3 4 5 6 7 8

Final project

This assignment is made with a blender, a 3d model software which can carve shapes, paint surfaces, and apply materials to 3d shapes. This assignment includes generated materials by google maps and materials from the website that I downloaded.

2023-03-30-2 2023-03-30-12023-03-30 2023-03-30-3 2023-03-30-4


Demo One

The demo includes the city of Montreal, which is generated by an add-on inside the blender called “Blender GIS”, it is an excellent tool for me to search and scrape information without going to Chrome and connecting to the server manually. However, the city models could be better for generating. Especially the top of the tower was not in a sharp shape it looked just like rectangular; plus, the height of the buildings was not accurate enough; I needed to adjust them again and again. Plus, I watched another tutorial on how to make a city easily: I make the materials glossy with mirror reflection. To make this looks more realistic without worrying about downloading too many materials. It just needed to add a skyscraper picture with clear windows, place it onto the UV editor, and adjust building blocks to building photographs. The final result is not as pretty as I think compared to the tutorial.

Demo Two

Although using Blender GIS as an add-on could be better, I switched from Montreal to Toronto due to denser skyscrapers and buildings. The result could have been more promising than the previous one too. Thus, I decide to change to another method.

The final project

Here is the final project, which I spent a lot of time polishing, even though it didn’t look perfect.
This one is the texture of the cloud of the city.



This one is the city’s environment.


This is the material of the roof of the buildings, which was created by google maps


The texture of the building was applied from the texture website, and here is the final result.

Here is the result being rendered.






Final Project – Tara B

Itch.io Link | Youtube Video

For this final project I wanted to gather all of the shaders that I had created and reimagine them in different ways. My inspiration for the space itself was to combine the layout of level 2 of AGO in Toronto, the picture wall room and the hallway from MoNa in Hobart, Australia and level 2 of 100 McCaul Street at OCAD U. I wanted to add interactivity and use the 3D space of unity to my advantage when I was recreating and updating these shaders I already had.

I first thought about and mapped out the interactivity I wanted to try in the gallery and idea room ideas I had to do something cool in. I then gathered all the shaders I had created and assigned interaction and room to them. I ran into a few issues with having to convert my book of shader’ shader’s into Shadertoy in order to then run them through a converter I found on github to get them in unity hlsl. There was a lot of trial and error but I managed to get most of my shaders in without too much difficultly, unfortunately my 2d animation pattern shader’s colours are not the same but I liked the white bloom it had when interacting with my post processing effects so I didn’t fix it.

I initally had the TV’s in the centre of the 4 rooms at the start but it left the rooms very empty, it looked quite cool but it didn’t bring that emotion that I felt walking around the space in person so I filled the rooms with screens and made some of the walls have the shader as well. I did not expect the weird transparency/multiply overlay effect but rather than looking into how to fix it, I leaned into it further and overlapped a lot of the screens to enhance that effect.

I had the idea to have a stained glass window when I first created that extra shader by accident and while I was creating that room I had just the one purple and yellow shatter with a black frame. I got the idea to change the shatter colour for some variety and then decided to try putting different shaders for the glass and the frames. I really liked the effect so I decided to leave it instead of going back to the original idea.

For the 2D Pattern shader, I wanted to have floating rectangle objects that you could walk around and interact with. The random rotation when clicking on the rectangles was something I hadn’t thought about doing before and it was quite easy to set up, it looks really cool and I enjoy playing around with it.

I had plans for the circle shader that is on the floor. I wanted the player position to effect where the origin of the circle pattern originated from. I had the C# Side of the script ready to go and working great but I couldn’t figure out how to access the specific line in my HLSL Shader to realtime update the origin. I tried to expose the parameter but it just was not working how I wanted it to. I know it would work in shader graph but I couldn’t figure out how to take my hsb and circle shape into shader graph so I just left it alone.


My displacement shader is probably my favourite shader and the most difficult one to figure out. I tried doing it in HLSL and looked at heaps of different tutorials to try to get it to look like the sketch.js. It just wasn’t working how I expected so I gave it a rest for a few days. I tried shader graph which was a lot more successful and once I figured out the orientation that the plane needed to be in order to see the displacement, I then tried a lot of different functions to get the displacement to where it is. At first I was trying to recreate the original shader but once I started to experiment with functions I went off into another direction with it.


The rectangle shapes animation shader was one of my most interesting experiments. I had to figure out how to separate the layers from my original shader and convert them into 3D without destroying the core idea. I think the effect I ended up with is really cool, I was inspired by optical illusions so I wanted the entire shader to come together if you stood parallel to the rectangles but as you moved past that room they would split and you could walk around the individual layers.

For the room in the back with the 4 spheres, I was inspired by a similar display at AGO that projected film onto them. I knew this would be the perfect way to showcase the MV project and I created a soundscape that lights up with the shader that matches with the song. It isn’t perfect but I think it has a really cool effect when you discover this room.

I really enjoyed using substance painter and substance designer so I added some of my favourite textured objects into the gallery and did a bit of lighting and animation with them just to give them a bit of life. I also wanted more exploration and strangeness with the MoNa picture wall. Each picture is different and leads (or doesn’t lead) to different spaces each with different materials, shaders, weird physics and sounds. I really like where I ended up with the rooms in the end.

screenshot-16 screenshot-17

d04fc54cc1e04a0e22d7e246705e4e5c c3ddb45bae213882257b87882fe72456


Final Project-Zhihan Zhang

Video Link of this project: https://youtu.be/4WHOA5U7OSA

FInal Scene

My final project was very different from what I had planned, although it did stem from my preconceptions. It takes me about 2-3 days continuing workings to create this scene, and another 2 days for final refinements and adjustments. I do like this vibe and atmosphere.

At the beginning, this scene was planned to be settled on the ground as a tiny natural-styled  house in the forest, so when I made the draft scene, the first floor was surrounded by the wall instead of the  tree trunks. And I also created the rock/stone shaders for surrounding the pool/spring.

Rock/Stone Shader
Rock/Stone Shader
Process 2
Process 3

When I searched for the suitable models on TurboSquid, it is hard to find the carved wall to support the second floor. And I tried to insert the shader directly on my drafted squared walls, they looked very rigid and breathless. Therefore I found a trunk-like model, duplicate it with various scales, and made them as the new supportive structures. At this point my basic shapes and plans were clear, I started working on the shaders. Most of my shaders are about trees, grass, rocks that are nature-related stuffs. The cobblestone shader and the trunk shader use the same logic. I created two parts of the objects, and using blend to appropriately combine them together as final shaders, such as cobblestone with the branches, barks with the tiny grass.

Tree/bark with grass Shader
One of the Water Shader
One of the Water Shader
CobbleStone Shader
CobbleStone Shader

Then I started to looking for a better background skybox for better visual effect. But the skyboxes of sky, clouds and nature did not achieve my expectation, until I tried this under sea skybox. It was not the same with my plan but the deep and quiet vibes were so attractive. Especially, the comparatively dark scene could work well with the warm lights in the structure. So I moved the project plan from above ground to under ground and applied some shaders on different models.


Finally, I added the water shader. With the help from professor, I generate three different but similar water shaders for generating flowing animated water through the Unity shader. I added the sine functions to the time of shaders to make the water displaced back and forward. Moreover, I mistakenly created a vertical giant plane. It did not show in the project but it covered part of the environment light. Thus the comparison between the structure lamps’ lights and the ocean background is clearer and deeper with better atmosphere. So I kept it. At the end, I added the background music and a capsule with camera as the player’s perspective, so that I could manipulate the capsule and explore in this tiny scene.

Process 5. Compared
With Process 6





Making this project is my second time to use Unity. I learned a lot from the substance designer and gradually understood the mechanism and functions of the substance shaders. Before this class I was very confused about how to understand, make and apply shaders in Unity, since it  was one of my challenges in my previous courses.  And I also be more familiar with functions in Unity. One of my biggest challenges is about the animation of the water. The settings of the unity shader in my file is a little bit different and make the main window blank. With the help from professor, I adjusted some of the parameters and then it worked. I did want to make the centre water flow in Normal but it is too hard to achieve this effect, so I had to give up and only animate on the surface flowing effect. Though it is the first try on generating my shaders in SD and creating my own scene in Unity, I’m proud of my final project and enjoy the deep-sea atmosphere. I hope in the future I could try to create the new SD shaders without the help from tutorials link.

And thanks for so many help and replies from professor!

Final project

For this project, orginally I want to create a forest fantasy environment in unity. This idea is inspired by the Legend of Zelda Korkiri forest, Avatar the Legend of Korra the spirit world, and a previous project I did for Low-Poly design. However, while keeping the concept, I want to recreate the work I’ve done with shaders and some of the models. The story of the low-poly included spirits, I only added minimum spirits before, so I would like to add more.

But, I decided to do a little snippet of a scene. I had to change my concept up due to scope!

The new concept is still a Korkiri forest vibe, especially with the particle effects. But I mixed in a wind waker effect with an island and the music! I wanted to create a magical feeling to it, but also a relaxing feeling to the scene.

Since I created all the 3D models, I got to see how they interact with shaders, I think that is an important part when creating environment scenes. Extruding is not something I should do as it stretches out the material, so add or expanding and boolen objects together makes it look better!

I also added an offset  * time to create the flow of the water! that was confusing since all the tutorials and information used the default unity shader instead of URP. i had to reference _base instead of _MainTex.


Fianl video: https://youtu.be/lvd7a_ebeAU

here is some progress

2 5 8 10






I learned how to do some textures by doing the tutorials, but substance designer was more complex than I thought. It was a great challenge, and I enjoyed it. Following some of the tutorials, the high level of detail ones like the bark took so long to do, even if I skipped a step, I messed up the final version.

For the bark one, I wanted to create a fantasy bark that’s purple, instead, I created some alien feeling. It was because I added moss that was too blue, instead of changing it in substance designer, I just changed the base layer tint in Unity.

The brick shader was interesting to create, I also loosely followed the tutorial with my own vision in mind. Creating the small details texture of the brick was interesting and viewing how the gradient affects different places.

The sand was also fun, the tutorial was pretty short but it added insight into grainy textures, and the best uses of directional warps.

For the flowers, I really didn’t want to create super high detailed petals. I wanted the contrast between a cartoonish flower and realistic bark. The petals approached it with a brush stroke stylization. i want to explore more  models with this shader/textures.

I think I prefer creating stylized or cartoonish effects, and I want to continue using substance designers to create some anime effects. I really enjoyed the water I made. Adding colour to anything always confuses me, until I followed more tutorials.


Materials and tutorials Used






Bamboo Wood PBR Material

Wispy Grass Meadow 1 PBR Material