I wanted to share some screenies from the project im working on since early summer this year … It’s a Dynamic Random Character Spawner Class coded completely in Blueprints.
The basic idea behind it is to have a playable character that can “switch” its appearance depending on a “random seed” (a number between 0 and 999.999.999).
The player can “slip into” (possess) any of this “Randomians” and can play any of them … run arround on a map, interact with objects, etc…
The 3D-modell(s) are in a LowPoly artstyle (dont judge the modells too hard… its all WIP ) … and I made everything from scratch in **Blender 2.8
The characters have a statemachine to control their animations, which I have all made using **Mixamo **(I found a nice workflow to import animations from Mixamo to Blender, edit it as actions in Blender, then export it into UE4)
This is the Character BP:
OnBeginPlay() it instances materials for all the clothing types the figures can wear (Dress, Pants, Skirt, Jacket, Shoes…) puts some random tinting on it and scales the X, Y and Z of the character for some variance and diversity
The body and the cloth parts are all animated using the same Anim Blueprint over it all, this way I have some sort of “layered 3d model”, that I can easily manipulate at runtime.
Here are some more screenshots from a test scene I made with a little “Testcrowd” of over 200 characters:
Framerate with 200+ characters is average (about 20 fps on a 1060) - I must definitly work on some LOD and optimizations here… maybe find a way to “bake” meshes …
Next steps I plan to improve everything is making more detailed 3D-models (but keep the lowpoly style!) and textures and after it put some AI into the guys, so that they actually can walk arround and do funny stuff… interact with each other… etc…
I also plan to code it in C++ for easier readability and maybe some performance boost.
I think of using it in a Simulation Sandbox style of game or Village Simulation … like “Bannished” or “The Guild” … Lets see!
What do you guys think?? I need some input please!
Have a nice day,