Why my camera rotates around gameobject

So when I try to translate my camera’s position by -60,60,-60 plus gameobjects position


the camera starts to rotate around the target object so rapidly that the terrain gets redrawn only in few frames and the object (Cube) only starts to get drawn when it has fallen enough.

The scene contain terrain, camera and cube with collision detection working properly.
This happens only when I use the translation.
The camera is set to look at the Cube.

transform.Translate(Player.transform.position+vec); transform.LookAt(Player.transform.position);

The Cube itself doesn’t rotate.

EDIT: I don’t know why the Translate won’t work but I got it working by just skipping the Translate and just applying the result directly at the camera’s position property.
Or Translate doesn’t apply its result into position property at all.


//Reference works so that is not the problem
public GameObject Player;
Vector3 vec = new Vector3(-60,60,-90);

void Start () {
	// Update is called once per frame
	void Update () {
	void LateUpdate(){	   transform.Translate(Player.transform.position+vec); 


You are moving the camera AND rotating it (lookAt). Therefore gameObject is allways in different location related to camera. This causes your camera to rotate.

(Vec3(-60,60,-60)+(Vec3(gO.x,gO.y,gO.z))) //this could be done like this
Vec3(-60,60,-60)+ gO