I haven’t found a thread about doing really large animations so I’m hoping we can discuss them here.
I just finished one project that had a working tire building factory. I have been doing this for several years with Blender but this was the first one I have done in UE4. I don’t know if this is the best way of doing this because this is the first thing I have done. I’m hoping we can solve these problems and share a good workflow here.
Here’s few screenshots from the layout. Unfortunately I cannot show the whole layout because of my client.
Here you can see a tire building machine that spawns a tire on the conveyor where the red arrow is. The conveyor movement was built using this tutorial: https://youtu.be/aqRUe7pm4Ok. I have a separate actor blueprint for x and y movement. I have a collision box in every crossing that changed the tag of the actor. I found this to be easiest way to change direction that I could think of.
Here you see a robot that pics up a tire, puts it in the box for painting and back on the conveyor. I had to build a waiting line system for this. The robot has a rig that was animated in Blender and the tire is attached to a bone socket. The way this works is that the collision box changes the tires tag so it stops in front of the robot and also launches the robot’s animation. The robot does it’s animation and changes the visibility of the conveyor tire and the socket tire accordingly.
After the robot you can see several conveyor junctions. There is a collision box that assigns a different tag number for each tire so that they turn at the right junction.
Here is a high storage with a robot that starts working after it has two tires waiting for it.
Here are some press machines just to show you how big the whole layout is.
Here is the single high storage robot unit. It has a line system that activates it when it has two tires waiting. It delivers the tires to the storage and takes two out. I made this by having the robot destroy the tires that are waiting and it had fixed tires that turned visible. Then it moves to the storage, turns two tires visible and the fixed tires invisible. This repeats as it takes two tires out and at the end it spawns two new tires.
Here is the animation layout. It has 3 different moves that are repeated to create the whole animation.
Here’s how I made the array that creates the storage. I made separate functions for each ForLoop element so I can randomize stacks, rows and lines separately if needed. Then the last function creates several objects on the loop index. I don’t know if this is the correct or best way to do this, but it was the only way I could figure out to do it.
Pros of animation in Blueprints:
I can Blueprint the functionality of a robot and have it fire off automatically. This way I can just copy them around and they will all work. In Blender I had to animate each object in a timeline and then change the starting point manually (I didn’t use Blenders own game engine).
Cons of animation in Blueprints:
Recording the animation in Matinee is just painful. You need to calculate where the object will be in a certain time and then adjust the camera to the location because you can’t review it in Matinee. I hope this will change in Sequencer. I made the animations fire off with Matinee event track. If I would have done the whole thing with simulation so that everything fires off by logic, it would be a nightmare to record with Matinee.
Also this isn’t the correct way of doing this large animation. When I had spawned about 30 tires to the conveyors, they started to work incorrectly. So what is the cheapest way of doing animation? Should I just make rigged animations in Blender and then fire them off in a correct spot, or is a follow spline solution better? Animating everything in Matinee is just not the correct solution.
I really need help with this so I can create a good workflow for these kind of animations.