Blender’s Collection Instances can be used to to efficiently move objects around the scene while avoiding issues with modifiers and constraints. Paddy Gaunt illustrates this with his animated bulldozer scene – download included!
After making the little bulldozer animation on Blender Artists a few weeks ago and watching and commenting on Jennifer Abbott’s post here on BlenderNation, I decided to provide more information about my technique.
Blender’s Collection Instances are a very much overlooked feature. I often see demos and explanations online where an enormous amount of work, vertices and computer processing could have been saved if the contributor had used instances.
There are some good explanations on BlenderNation – search “collection instance” where Saqib Hussain and 25games show some some ways of using instances. However I thought it would be a good idea to write some instructions for using Blender’s Collection Instances in places where it’s really difficult to move objects around the scene because of the way some of the modifiers and constraints work.
If you download the bulldozer_0_start.blend file I used for the previous video you will find that moving the location of the parent object ‘Bulldozer’ will scramble the position of the tracks. The only exception is moving along the Y axis which, fortuitously, makes the tracks slide around the curve ‘BezierCircle’ used to define their shape.
To fix this problem you need to move the ‘Link’ and ‘BezierCircle’ object from being children of the ‘Bulldozer’ object. Then put them into a new collection, create instances of that collection, then add those instances back as children of the ‘Bulldozer’.
- Right click on the ‘Link’ object then Parent > Clear Parent and do the same for the ‘BezierCircle’.
- In the Outliner Editor right click on the ‘Scene Collection’ and create a new collection, renaming it to ‘track_prototype’. Drag and drop the ‘Link’ and ‘BezierCircle’ object into the new collection.
- Make sure the timeline is set to the start frame then, on the ‘Link’ object, delete the ‘Follow Path’ constraint from the Object Constraint Properties tab in the Properties Editor, delete the mirror modifier and toggle the Curve modifier so it doesn’t show in Edit Mode.
- Make sure that the two object origins are at the World Origin. If they’re not you can do this in Object Mode by first using Object > Snap > Cursor to World Origin then Object > Set Origin > Origin to 3D Corsor.
- In Edit Mode for the ‘BezierCircle’ object move all the vertices so they are on the X = 0 plane. You can do that easily in the side panel, Item tab by setting the median X value to 0.0. You might find you have to move the ‘Link’ object origin back to the word origin after editing the ‘BezierCircle’ but then, in Edit Mode, move all the vertices so the median location is also at the world origin. Check that it works as expected by changing the Y Location of the ‘Link’ object in the Object Properties tab.
- In the Outliner Editor, right click on the ‘track_prototype’ collection then choose Collection to Scene. Rename the two instances ‘track_instance_right’ and ‘track_instance_left’. Make the two instances into children of the ‘Bulldozer’ object then change their X Location in the Object Properties tab so they line up with the wheels.
You can then animate the Y location of the ‘Link’ object in the protype collection and un-tick it in the outliner so it doesn’t show in the scene. Animate the ‘Bulldozer’ object as well and you will find that the instances follow it around in an orderly manner. There is a video showing this process:
And an equivalent video showing how to create an armature to animate a caterpillar track here (this is harder to do, but better in several ways):
If you’re just starting to learn the intricacies of Blender and some of the instructions or videos seem overwhelming then you might like my book.