Tuesday, March 31, 2020

FMP: Week 13 Tuesday

On Tuesday I researched a fish to use that fit with the locational theming, which ended up being a transparent dwarfgoby, native to places like Japan and Guam and found stray in Malaysia. I chose this fish as it had colours similar to the original concept, but was also pretty to look at and had a generic, identifiable fish shape.



I moved around some of the items that hadn't yet been modelled in the alpha texture sheet and painted one side of the fish to reduce the space used.

I separated two of the fins so that I could slot them onto the side of the fish model afterwards without it looking flat.
I also simplified the pattern a bit more so that it would be more distinct from a distance.
Resulting fish
I assigned the texture to a plane and cut topology around the base of the fish to capture the silhouette rather than keeping the edges as an alpha. This is because I wanted to be able to shell it and then weld the edges together to make the fish 3d. I made sure to add extra space at the top of the fish texture so that there would be space between the eyes at the top of the mesh, while still having the efficiency of using the fish texture like a trim sheet on each side of the fish.
I kept it lowpoly as it would be small in the level and under the water.
Originally, I wanted to sculpt the fish in zbrush and use the scale noise available within the software, but decided against it when considering my time constraints, how the pandemic has further limited my time and the priority of it against the other things I needed to add to my scene.

Monday, March 30, 2020

FMP: Week 13 Monday

On Monday I moved onto the wind VFX for the foliage in the scene.
I wanted the grass to move slightly differently from one another despite being on the same uv space, so I found this tutorial using world position to pan a normal map across the local area and affect each mesh differently.

I then combined it with what I had learnt from my previous foliage VFX project and used a Global Parameter added to the vertex normals to bend the foliage based on wind direction.

Rustling effect added to the wind direction effect
I also added the proximity sensor I had learnt from my previous project so that the grass would bend when then player got too close:

connected to the above graph using an add node
Update Wind Direction BP graph
Overall Wind Direction BP graph
Proximity Sensor BP graph

Friday, March 27, 2020

FMP: Week 12 Friday

On Friday, I imported everything into UE4 and dressed the scene. I also worked on the shader to try and capture a similar vibe to games like botw, animal crossing and other stylised games with cel shaders/custom shaders etc.

Initially, I tried using this cel shader tutorial, but found that the cell shading was too sharp for what I wanted, which was more in line with the style of animal crossing. I wanted to bring the base colours into the scene more without losing the pbr aspects of the scene, with shadows being blocky like seen in cel shaders, but softer around the edges.

example of animal crossing's shader
Shader that I developed
I changed the shader from the tutorial to use a lerp node instead of an if node, so that I could soften the edges of the shadows while still being able to change the tint, darkness and blend level.
Instance parameters
I then added this shader to the post process input

After this, I decided to add another cell shader specifically for the characters to reach a similar effect to breath of the wild or genshin impact:

This shader was a clone of the last one with these additional nodes to sharpen the shadows and to enable it only on custom depth objects.
shader as seen on the character
Instance parameters
This time, I kept the post process scale at 1.0.

Thursday, March 26, 2020

FMP: Week 12 Thursday

On Thursday, I did the same with the insects, except I added a single CAT Bone just so that the morpher animation could be imported into UE4.

I made morphers of the wings in a flying cycle for both the butterfly and the dragonfly after looking at reference videos of slow mo wing movements from the both of them.
In the end, I reduced the amount of 'wavy' wing flapping from the butterfly and blended i more towards a simple up and down wing motion, as the previous effect based on the reference didn't look quite right in game, and other games like animal crossing didn't have that kind of movement either.

Dragonfly flying cycle
(a little too fast for the gif to capture properly)
Butterfly flying cycle
Morph targets used

Wednesday, March 25, 2020

FMP: Week 12 Wednesday

Over the past couple of weeks and currently, because of the uncertainty of the pandemic that hit the UK and especially after the quarantine was implemented, I have found it harder and harder to focus. I struggled to do full days of work and got incredibly restless at home stuck in my room, as I usually use the action of physically going to labs as a routine and need an environment dedicated to working to fully focus on doing work. On top of this, despite my PC being physically able to run all of the programs I need, 3ds max (but sometimes even other programs like UE4), would crash. For 3ds max, it seems to be linked with any action involving rigging, step building, or animating in any way that causes it to crash repeatedly. Most of the time I would save often so not much would be lost, or 3ds max would save a recovery file, but sometimes it would set me back a fair amount of work each time:

Evidence of some of the recovery files saved while crashing
This, on top of the inability to focus properly in my room for prolonged amounts of time, set me back around a week's worth of work if not more in terms of my schedule which is incredibly frustrating.

Despite this, I still tried to do at least some work every day to try and keep some semblance of being on track:

on Wednesday, I added a CAT tail bone and pelvis to each of the bushes, rigged the entirety of the bush to the tail bone, added a morpher of the leaves swaying and imported them into UE4:

Bones used
Physics settings
I kept the base bone as kinematic so that it would stick the base of the bush to the ground, but the rest of the bush was kept at default, turning off any twist and limiting the angle that the bush can tilt to.


Tuesday, March 24, 2020

FMP: Week 12 Tuesday

On Tuesday I constructed the foliage in 3ds max by applying the texture to planes and using the preserve UV checkbox to move the topology as close to the textures as possible.

constructing the foliage and insects
I bent many of the alphas to make them visible from all angles, but avoided doing so for some of them, like the long grass which was crossed over anyway, and the short grass which I intend to have always facing the viewer.
I added lilypads to the items texture sheet, as it was going to be entirely opaque and there wasn't enough room on the foliage sheet.

Monday, March 23, 2020

FMP: Week 12 Monday

After completing the texturing for the normal map, I moved onto texturing the flat alphas in photoshop:


Once again, I researched the wildlife in and surrounding borneo while also taking into consideration the colours from the original concept. For the dragonfly, I found the Chersonesia rahria butterfly and the Common Blue Jewel dragonfly. I also added long grass, short grass, mist/fog to be used on the waterfall, a lilypad flower, pollen stems, the inner stalk of the hydrangea flower and the green stalk for the elephant leaf plant. I separated the wings from the dragonfly because they needed to be attached further towards the top of the body and it would save texture space to only have one set of them.

once finished, I added the alpha mask to the alpha channel and saved as a 32bit targa.

Friday, March 20, 2020

FMP: Week 11 Friday

On Friday I imported the textures into substance painter and changed the shader to one that included alpha masks. I added opacity to the list of channels.


I mostly used a combination of AO generators and curvature generators with a bit of handpainting using a soft round brush to paint the foliage. For the stains in the bottom corner, I used different alpha brushes such as scratches hard, stain splat paper and stain spread. I then used a blur filter and a histogram scan filter to simplify the noise down to stronger shapes. I subtracted height from the light brown wood with intention of them being exposed wood stains from chipped paint, while the dark brown wood was added height so that it would be more of a paint splatter. I used the wood_pattern_01 grayscale mask to create the fibers in the wood with both colour and height information.

Thursday, March 19, 2020

FMP: Week 11 Thursday

On Thursday, I created the fern leaves and baked everything to a texture map in marmoset.

I used the orb cracks brush to create a crease along the leaves.
Kangaroo paw fern reference
Throughout the process of making the foliage, I also learnt how to use the Zmodeler tool to move verts and loops individually to keep edges sharp and neat, which I used to move around areas that weren't quite bevelled evenly across the edge.

baked normal map in marmoset
In the alphas, I cloned the bush and tree middle section two more times for colour variation in the texturing phase, and left extra space at the bottom to add flat alphas later.

Wednesday, March 18, 2020

FMP: Week 11 Wednesday

On Wednesday, I sculpted the branch and the hibiscus parts:

Branch
Hibiscus petals
Hibiscus stem end

Hibiscus reference

Tuesday, March 17, 2020

FMP: Week 11 Tuesday

On Tuesday, I continued with the foliage sculpts following the previous post's methods:

Single Leaf
Double Leaf for variety
Triple leaf, the positioning was changed a little bit later.
Bush and Tree top
Bush and Tree middle
I wanted to create leaf foliage similar to the ones seen in this tutorial, as I liked how fluffy the bushes looked, so I based the leaf formation off of the UV layout seen here.

Monday, March 16, 2020

FMP: Week 11 Monday

On week 11 I began working on the foliage vfx, firstly by following the workflow that this tutorial mentioned, which meant sculpting and baking the foliage.

On Monday, I first began by creating the masks I would import into zbrush:

Originally, I had included the grass in these masks, but later decided to skip them and have them be flat,
as adding normal maps to them felt like too unnecessary detail.
I then impoted them into zbrush as alphas and pressed the 'make 3D' button. This made them fairly jagged around the edges, and unnecessarily thick, so I flattened them and created polygroups by the 'Group Front' option. After this, I masked off and deleted the side I didn't need. Wherever I wanted to keep an edge, I masked off and created a new polygroup so that I could crease by polygroups. Now that I had a simple plane, I used the 'Panel Loops' option in EdgeLoop to create some thickness with a slight bevel. This created new edges with different polygroups in the areas I wanted to keep the edges sharp, which meant that after creasing by polygroup I could subdivide on smooth to get rid of any jagged edges I didn't want without losing the form.

The first piece of foliage I sculpted was the elephant leaf plant head
For the elephant leaf, I used a combination of dam standard, the orbs cracks brush and pinch depending on how soft I wanted the effect to be for the creases. I strategically placed the creases to be bolder than the original reference image, with less creases as I didn't want it to be too detailed. A the end of the sculpt I also added some clay polish to further increase the stylisation.

I chose elephant leaves because I've been loosely themeing
the location off of borneo and surrounding areas

Friday, March 13, 2020

FMP: Week 10 Friday

On Friday, I created 2 vertex blend materials for the top material and the side materials of the terrain:

Resulting textures
(Top material)
I simply lerped the materials and assigned them a vertex colour
(Side material)
Vertex painting RGB view
After this, I temporarily went back to the water to model and texture some ripple planes using the rime method, which is to have a donuts plane or half of that unwrapped into a square/rectangle with a panning foam texture:

Resulting texture
Material
Instance 2
Instance 1