Wednesday, October 16, 2019

Week 2 and 3.1 - Tweeks and more features

Just as a notice to myself, I will update this post at a later day, since it is way to late right now, but I want to get this out of the way.

1 - All Water Things
I spent the beginning of the week finishing and organizing my water master material. This is, how it looks overall.

Water Master Material
I added quite a few features to improve the overall looks of it, as well as some more interactive things. For example I added the option to add foam both on the wave peaks, as well as based on distance fields. I'll go more into detail about those at a later point.

I also tied the Sun Reflections to the Directional Light Source in the Level by approximating a sun location based on the inverted forward vector, so when updating it's rotation and updating the default sky, the reflections on the water match the sun position. So now a day/night cycle would be possible.

Sun Position Approximation
Sunset/ Sunrise
Midday Sun

Additionally I made a Caustics Material Function. I simply used an inverted Voronoi Noise Texture and then offset them slightly to create a chromatic abberation effect. I also found out, that Blend_Darken gives a really nice effect, compared to just adding the panner outputs.

MF_Caustics
 To further add to the interactive part I now also added a particle effect, by checking vertical velocity, when objects overlap with the water surface and then creating the particle system at the point of impact, also offsetting it slightly based on the object's horizontal velocity. I created the water droplet textures in Substance Designer.

Particle_Material

Water Surface Blueprint


Here is an overview of some of the interactive features, including particle splash and caustics.



2 - Grass
Originally I had planned to have a look at Pivot Painter to create some better foliage interaction and visuals. Due to time constraints I ended up not doing it and postponing it to a later project. I kept the grass shader fairly simple, however I decided to create my own wind material functions since I didn't really like the look of Unreal's SimpleGrassWind. I am still not a hundred percent happy with the outcome and might tweek it later, but I believe I achieved a more organic feel.


Wind Function Overview

 I ended up layering multiple sine curves moving across world space, which is very similar to how the Gerstner Waves work, but simplified, and used a panning noise texture to further break it up. That way however, I can define multiple wind directions, rotate them and add a bit of variation to the foliage instances.


Sine Waves
I furthermore also included Player and Object interaction in the function, just for convenience. For Objects I simply use distance field gradients and for the player the distance between Player and World Position multiplied by a sphere mask.

Interaction
So this is how it ended up looking:

Custom Grass Wind Function
Grass Distance Field Interaction


3 - Random Things
Aside from these things, I build a quick master material for any other objects, trying to keep it quite flexible to reduce the amount of individual materials I need. It includes features, like Vertex Painting, individual UVs or adding moss/snow.

Master Material
 I also made some textures in Substance Designer, but now I am not quite sure anymore, if I need to use all of them, if I like the look of them or if they work for my environment in general.

Moss, Rock Cliff, Sand Materials


I also did some quick sculpts of rocks and textured them in Substance Painter.

Rocks
Both the material textures, as well as the rock textures ( 1 for 2 rocks ) are 512 by 512 px.


4 - Environment
After avoiding to start the environment I finally went ahead with it and started working on it. I decided to go for a rocky beach/bay. Since there is not much yet, here an overview of the current progress. 


No comments:

Post a Comment