I understand how to make a single object follow a path animation, using Add Object Constraint, then Follow Path (and specifying a path). But I can't figure out how to make a Collection follow one. Is this supported? If it isn't, what would be the best approach to having a set of objects follow a path? I'm trying to make a truck (comprised of many separate objects) travel along a road specified by a bezier curve. I'm using Blender 2.8.
1 Answer
If your collection is essentially a group of objects that form an entity like a truck, then i would suggest to use an Empty and parent all the objects under the collection to it. With that empty you can then build the follow path animation.
Using the empty also allows to have the objects in the collection keep their location relative to each other, which can be helpful in case you want to animate parts of the truck along the path.
For this you would need to do the following:
- Add an empty to your scene and position it to where you want the origin of your truck to be.
- Select all objects of the collection by RMB on the collection and Select Objects.
- Add the empty to the selection by holding Shift when you select it, making it the active object.
- Press Ctrl+P to bring up the Set Parent To menu and choose the first option, Object.
- You can then if the empty is not already in the same collection, drag it in there in the Outliner, which will result in all objects in that collection being put inside the empty. The empty, different then the collection though can be animated, as it has a location, rotation, scale and origin.
From here on you can proceed with your plans using the empty to affect the entire collection of objects representing your truck.
Instead of a constraint, you can also select both the empty and then the path to follow as active/last selected object.
Pressing Ctrl+P Set Parent To followed by the Follow Path option, which will be available if the active selection is a curve/path object.
Update: Instead of the mentioned Empty in the solution, a simple object can of course be used as well. It may be needed to hide or reduce the mesh to a minimum of 1 vertex, but the functionality the Empty was chosen for would be achieved as well. Based on the comment by grb2020, this seems to be a solution specifically of use for Apple developers due to restrictions with the export/conversion or lack of such for the Empty. Thus i'm gonna call it placeholder.
Happy Blending
-
$\begingroup$ Interesting - so I did end up trying an Empty - I very much appreciate your confirmation that I took the right approach, and your additional details around it. One qualification I found though - for my narrow purposes - when I then exported a .dae file that included the Empty, I couldn't convert it into a .scn file in Apple's Xcode. This is completely irrelevant for most people - but if you are an Apple developer, it's apparently a gotcha... So what I did instead is I used a mesh instead of an empty (a cube, arbitrarily), and then just hid its visibility within the meshes I do wish to display. $\endgroup$– grb2020Jun 17, 2020 at 21:12
-
$\begingroup$ Nice workaround, i have sadly no clue about the Apple's Xcode, so i wouldn't know. That said, i wonder if the mesh object you use does need to have more then 1 vertex, maybe 1 face, as i can't test it. Just thought it may be possible to reduce the ghost(hidden) data you use from the mesh. $\endgroup$– XylvierJun 17, 2020 at 21:48