Nathan Koch

Procedural Systems: Week 5

Friday, July 6th 2018

Sketch 1: Building up vertices in Unity

Inspired by a tutorial by Catlike Coding, I created a set of vertices programmatically, in the shape of a grid. In order to display them in Unity, I instantiated a "point" prefab at each vertex.

Week 5 1

Sketch 2: Building a 2D mesh in Unity

Taking the first sketch a bit further, I dynamically created triangles across the entire grid, forming an actual Unity mesh.

Week 5 2

Sketch 3: Randomness and meshes

In this sketch, each vertex is being displaced randomly on the Z axis. I was interested to see if the grid mesh would "hold together" with all of these points jumping around. I also implemented normals, tangents, and UV coordinates in order to properly display a set of texture maps, including normal and albedo.

Week 5 3

Sketch 4: Perlin noise mesh deformation

I applied Perlin noise to the z-cood of each point in the grid, driven by a mix of x-coord and Time.time, which made an interesting folding animation.

Week 5 4

Sketch 5: Deform a Unity cube with a Sine function

I applied Mathf.Sin deformations to each vertex, in the direction corresponding to its normal. I'm still new to working directly with the Mesh object in Unity, and I couldn't visualize whether this would "buldge" more like you'd see in a 3D content creation tool like Cinema 4D, or break apart.

Week 5 5

Sketch 6: Break apart a Unity sphere by cumulatively adding Perlin noise

Unlike some implementations of noise, Unity's is solely positive, from 0-1. Although using Perlin noise here added some smoothness, the result was that the size of the sphere kept increasing.

Week 5 6

Week 5 code

Code for this week's Procedural Systems sketches is available on GitHub