You can do this by simply setting the CoordinateFrame of the Camera to the part's CFrame.
the CameraType would have to be Scriptable and the CameraSubject will have to be that part.
1 | local cam = workspace.CurrentCamera |
2 | local reference = workspace.Part |
4 | cam.CameraType = 'Scriptable' |
5 | cam.CameraSubject = reference |
8 | cam.CoordinateFrame = reference.CFrame |
This would theoretically match every angle of the part with the Camera. But just be sure, let's use the CFrame operator that takes in two arguments, one as the Vector3 origin, and the second as the Vector3 lookat.
1 | local cam = workspace.CurrentCamera |
2 | local reference = workspace.Part |
4 | cam.CameraType = 'Scriptable' |
5 | cam.CameraSubject = reference |
8 | cam.CoordinateFrame = CFrame.new((reference.CFrame * CFrame.new( 0 , 5 , 5 )).p,reference.CFrame.p) |