For the final project, Lin Yue and I create an explorable scene, players can navigate and enjoy the scene free of their will, like an open-world game scene. Our scene contains a snowy mountain terrain, a furnished wooden house and a sci-fi spaceship. Our main goal is to use Substance Designer to create realistic textures for use on these models. We got the idea from the movie “Arrival” and used World Creator, Cinema 4D and other software to help create the project. I became familiar with the operation of Substance Designer during the production process and found it to be a very useful and efficient material creation software. and I find the advantages and disadvantages of Unity, and I will try to use Substance Designer to work with other engines to find the most effective way to work.
In Substance 3D Designer I intended to make a stone ground. I used a cracked stone ground as a base, and to make it look more complex and realistic, I mixed a dirt ground with the stone ground and used Levels to control the intensity of their mixture. The final result is a rock material with moss and a rough surface. I also used Season Filter to add a bit of water to the material to make it look like the rocky ground after a rain.
I built and placed a few objects randomly in Unity, mainly for the purpose of trying out how to use PBR materials. I tried to tweak the parameters to create a metallic material and added a normal map to give the metal surface a bumpy feel. Then I found a wood floor texture on the internet and tried to apply it to the floor, and adjusted the Map to make the texture not overstretch. I also tried to make a transparent material, but it did not look like a glass material. I think Unity’s PBR material is quite realistic. I will continue to explore the differences in other materials.
Creating 3D objects and making them move in P5.js was attempted in my midterm project, but the course gave me a better understanding of some of the concepts. For example, in the second experiment, I tried to use bump mapping to change the surface of the object, which is related to the exposure, the lightness and darkness of the image, and I also used the same image on a sphere in C4D to understand this concept better.
This is a collaborative work with Yue Lin. Our shader uses 3D objects and I learned a lot about how 3D shaders work in P5.js in this week’s study. To emphasize the emotions in different relationships, the shaders are varied and preferably interactive with the viewer. The two main organs are the hand (touch) and the ear (sound), and we simulate these two sensations through the interaction of the mouse and the microphone. The object size changes with the microphone volume level and the mouse movement. Switching the scene to another object while rotating the object is a common scene switching method I used to use when creating 3D animations, and I use it here as well. We shifted the noise texture coordinates to make the geometry surface appear noisy and set the colour of the object in the frag file. This is something I have not experienced before with P5.js.
We explored any feasible shaders and features together, I was mainly responsible for the colour and texture change part, and Yue Lin was mainly responsible for the interaction and organizing the programming language. I am still trying to add more shaders to p5, and we will try to add more content to enrich the visual experience if feasible.
Based on the color theory on Notion and combined with the knowledge in Pattern, I use rotate2D to rotate the grid pattern. I think the pattern formed between the grids is nice. I change the color by adding function and u_time.
In this assignment, I learned how to make basic shapes and use layers to form the graphics into a bull. I also gradually became familiar with the application of functions. Having finally understood how the fract function works, I’m still learning how to write rotations into it.
When trying to make Gradient #1, I used multiple colours and used “smoothStep” to set a range, which made my image split. The whole image looked abstract.
When writing Gradient #2, I used polar coordinates to map the position of the hues in the HSB space.
I feel like I can do a lot of interesting motion effects by adding time, but it’s not the same as I feel when I make animation in other software because programming makes animation more random and often makes unexpected works.
I spent a long time reading The Book of Shaders repeatedly and combining the examples in class, while some of the features are understood, there is still a lot to learn. I find it very challenging to work in this medium and it takes a lot of time for me to try.