Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+3)

More and more spectators are coming in. And although there’s still room for optimizations, I haven’t noticed a remarkable performance drop even with full stands. It is hard to describe the technical process without being boring, but I’ll try. I may also share the baking utility and shader at some point, if I find time to clean it up and replace the ugly hard-coded parts.

I started by modeling an extremely low-poly spectator in Blender, then creating several different suit textures for it in Substance; colors accurately match the men’s fashion during the 1910s. Women’s clothing from that era is much harder to model, so unfortunately women are only allowed in trousers and fake mustaches for now.


Next I imported the model into Mixamo, rigged it, and exported all sorts of animation clips that spectators might do.


In Unity I wrote a utility script that bakes clips into one sequence, and writes vertex positions and normals into textures. Extra variance is achieved by changing clip order. These textures are then given to the special shader that performs the mesh deforming in GPU.


Spectators may not look particularly handsome by themselves, but their strength is in numbers. Animation sequences and clothing textures can be joined freely in order to get an exponential number of combinations. It would be tedious to do this by hand, so I wrote another script that creates material for each cloth-animation-combination with varying tint and animation speed. Script also supports different models, allowing women, children, monsters or whatever I might model in the future. But that’s not my main priority right now. Here’s the current situation:


Besides this, I hosted test sessions during the last week. Those will be the subject of the next post. So something about the gameplay itself, for a change.

(+1)

wow, specatators crowd looks really good

(+1)

Excellent crowd!