@Deathgar

Как заставить камеру двигаться в сторону взора?

Как заставить камеру двигаться в сторону взора?
Пробовал от точки к точке, но при переходе от одной точке к другой, он начинает летать по непонятной траектории.
Использовал LookAt, чтобы камеру наводить на точку.

using UnityEngine;
using System.Collections;

public class camera : MonoBehaviour {

	public GameObject point;
	public GameObject point2;
	public float speed;
	public bool touch;
	Vector3 vec;
	Vector3 moveDirection;
	void Start () {
		touch = false;
		vec = point.transform.position;
		transform.LookAt (vec);
	

	
	}
	
	// Update is called once per frame
	void FixedUpdate () {

		if (!touch) {
			transform.Translate (Vector3.Normalize (vec - transform.position) * Time.deltaTime * speed);
			//transform.LookAt (vec);
			Debug.Log (touch);
		} else {
			Debug.Log(touch);
			//transform.Translate (Vector3.Normalize (vec - transform.position) * Time.deltaTime * speed);
			transform.Rotate(new Vector3(0,-0.8f,0)* Time.deltaTime * speed);
			if(Mathf.Abs(transform.rotation.y) > 0.6 && Mathf.Abs(transform.rotation.y) < 0.7)
			{
				touch = false;
				vec = point2.transform.position;
				transform.LookAt (vec);
			}
		//	Debug.Log("rot : " + transform.rotation.x);
		//	Debug.Log("rot : " + transform.rotation.y);
			//Debug.Log("rot : " + transform.rotation.z);
		//	Debug.Log("loc : " + transform.localRotation);

			/*transform.LookAt (vec);
			Debug.Log("dw");
			touch = false;
			vec = point2.transform.position;*/

		}


	}

	void OnTriggerEnter(Collider camer)
	{
		touch = true;
		//Debug.Log("dwad");
	}

}

В данном коде, я лечу к первой точке, после столкновения коллайдеров, камера останавливается, поворачивается и переключается на положение второй точки, но летит не прямо, как к певрой точке, а по дуге...
  • Вопрос задан
  • 237 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы