I know that a BodyGyro can be used to make something face something else based on the CFrame, but I have also heard that it can be used to move parts along a pre-planned path. Are both of these true?
I suggest looking at the Wiki before hand, should you not already have do so, this is copied directly off of the Wiki:
The BodyGyro object acts like a real gyroscope, it attempts to keep a fixed orientation of its parent relative to the BodyGyro's cframe. You can change the cframe to look at a certain spot, stop a brick from rotating, or track a player or object.
It seems from this you can make an object look at parts, however moving it doesn't seem relevant to BodyGyro, yet I may be wrong.
This is also from the Wiki, it seems to be the way (ie is the way) to make a part 'look' at or 'face' another part:
1 | local part 1 = game.Workspace.Part 1 -- The part that will turn to face Part2 |
2 | local part 2 = game.Workspace.Part 2 |
3 | part 1. BodyGyro.cframe = CFrame.new(part 1. Position, part 2. Position) - part 1. Position |
I realize if you have already looked at the Wiki this answer is fairly irrelevant to you, in which case, my apologies.