Thursday, December 4, 2025

Slime Player Character

Overview:

I created a slime player character. The mesh itself is a regular sphere that acts like a slime using the material applied to it. The character also has animated eyes and VFX for jumps and movement.



 

















Base color

The base color is made by lerping to colors based on the z value of the local position of the pixels. The Fresnel adds a rim to simulate subsurface scattering. I have a panning texture to create bubbles in the slime and a normal map to add some texture to the slime body.


Vertex offset



























The distance to nearest surface gives the slime the main structure and interactions. The visualization above shows that surfaces near the ground/environment are white and pixels get darker as far as you go from a surface

Shape: 







































The shape/offset of the slime is not uniform, the material gets the forward vector of the character and the dot product between that and the pixel's direction. That value is used to determine the alpha using the formula below. The alpha is used to lerp between a front spread value and a back spread value. 




























Animated Faces:



The face is animated using a sprite sheet. The Blueprint passes an index value using a Material Parameter Collection. The eyes are also animated using timelines in the blueprint

VFX:







































The VFX spawn when the character lands or when the character moves. When the particles land on a surface, they spawn a decal to simulate a splash. The trail is created through a similar method where the spawning particles are invisible

No comments:

Post a Comment

Slime Player Character

Overview: I created a slime player character. The mesh itself is a regular sphere that acts like a slime using the material applied to it. T...