This is amazing! Please tell us, What programs where used to create these amazing animations?
I am continuing development on WorldKit as a solo endeavor now. Progress is a bit slower as I've had to take a more moderate approach to development hours. I took a short break following the failure of the commercial launch, and now I have started up again, but I've gone from 90 hour work weeks to around 40 or 50 hour work weeks. See my longer reply on the future of WorldKit here: https://www.youtube.com/watch?v=CAYgW5JfCQw&lc=UgxtXVCCULAyzrzAwvp4AaABAg.8swLeUjv7Fb8swt1875FAT I am hard at work with research and code, and am not quite ready to start the next fund-raising campaign to open-source, so I've been quiet for a while. I hope to have a video out on the new features in the next few weeks.
Someone please create open source world creator already in C/C++.
I started working with UE4 while I was at University. Originally, I was training to become an environment artist, but I found that a lot of the time I was getting bored creating the assets and lost a lot of my passion for the trade.
One of my University projects at the time required a concept for a game with a powerful message, and I decided to make a slice of a game based around cancer, and how the disease can affect someone’s mental well-being. To do that, I needed to learn some UE4.
I did a lot of research, mostly reading and experimenting, and fell in love with blueprint. To test myself, I created a basic Pong game. I then merged Pong with an audio visualizer that allowed players to plug their own music into the game to affect the field. I called it ‘Technoball’.
After that, I started uploading tutorials on YouTube on the subjects that I felt lacked learning materials and doing freelance work on the side.
About Destructible Meshes
In UE4, any mesh can be placed into the world as a destructible mesh. When you make a mesh destructible, a calculation based on a Voronoi diagram is used to determine how to split the object.
A Voronoi diagram is a plane that is divided into regions based on the distance to the points in a specific part of that plane. So, we tell the object how many pieces we want our mesh to split into, and the mesh then assigns “points” on its surface, the vertices and edges of the object are then split based on which point is closest or equidistant.
This splits the mesh into multiple separate meshes, and the vertices on the outermost edges are then combined towards the center of the original object giving the illusion that the object had an “inside” all along.
Working on Fractures
There’s a handy option called a “seed”. The seed is a numerical value that will assign a set of points to your object. By changing the value of the seed, you’ll have a different set of points to work with for the fracture.
You can also change the number of cells you split the object into for more variety and decide how much force needs to be applied to the object before it breaks, and then how far the damage will spread. For example, a vase should spread damage easier than a brick wall. Once you fracture the mesh it will have predictable cells, so if you place two spheres for example, and break them both, they will have the same number and shape of cells available, but how they move will be determined by how hard the object is hit, from which direction, etc.
Below you can see the same mesh being split into 20 cells, and 4 cells for comparison:
Using Other Programs for Simulations & Export
Other programs can be definitely used for the simulations! UE4 has a handy option to “import fbx chunks” if you want to manually model the shape of your cells.
But if you make a simulation in Houdini or a similar program, after export in UE4 it becomes a skeletal mesh and it will essentially just play an animation of your simulation. For cutscenes or pre-determined fractures, this approach is fantastic as you’ll have full control over the simulation before importing it to UE4.
A more complex destructible would take some more planning and a better understanding of how objects are put together. For example, a concrete wall will be reinforced with steel, and the object can be destroyed only partially. This is where modular kits are handy, as you can decide to have certain pieces of an object be destructible while others can’t be damaged.
This also goes hand in hand with the customization available with the damage system inside UE4, as you can tell a larger object like a house to ignore the weight of a man running into it, but to respond to the weight of a car! This is handled by the physics systems in the engine. Any item with physics enabled can have an assigned a custom “weight” value to in order to determine how it interacts with other physics enabled objects.
You can see in this image how by using custom collision channels you can tell the blue “support” to totally ignore the destructible mesh:
Drawbacks of the Destructible Meshes
One of the main drawbacks is the predictability of the cells the mesh turns into. Although with modular objects you can use different angles and scales to give the illusion of variety, a keen-eyed player will spot that the cells are similar across identical meshes. Although you can, of course, have different variations of the same mesh ready to deal with this.
In run time, like any mesh, they’re only as costly as you make them. When the cells are generated, they will create new polygons using the vertex data from the original object. Obviously, the more vertices the object has, the more additional polygons will be created. Ensuring good topology and an optimized original mesh will ensure the cells don’t generate a hefty number of additional polygons.
Similarly, you have the option to make the cells disappear over time so that they’re no longer a part of the scene. You can see this in lots of titles where debris will flash and vanish or will slide into the floor never to be seen again!
Studying the Topic
There are lots of resources on YouTube that cover the topic, and the UE4 documentation and forums are always a fantastic place to have discussions about destructible meshes and how they can be used
The only problem a user might find with books and documentation, however, is that technology is changing rapidly, so finding written instruction on the newest techniques can often be difficult.
Luckily though the dev community is always expanding, and networking is encouraged. I’d say if you have questions about something, pop into a forum or a discord server and ask! Most of the time you’ll be greeted by people who are more than happy to shed light on your topic.
Dean Ashford, Technical Artist
Interview conducted by Kirill Tokarev
The fastest solution for professional video editing, audio editing, and disc authoring. Now with even more innovative creativity tools like advanced motion tracking, world-class video stabilization, and dynamic storyboarding that deliver incredible results faster than ever.