Здравствуйте, есть проблема с возвращением камеры в оригинальное положение через определённый период времени. Скрипт поворота камеры вокруг объекта:
Код
using UnityEngine; using System.Collections;
public class TouchLook : MonoBehaviour { public Joystick Joystick; private Vector3 Player; public GameObject PlayerTransform; public GameObject Camera; public float sensitivityX = 10.0f; public bool invertX = false;
запомни ее начальное положение через transform.position и возвращай в это положение либо кватернион запомни и через Slerp для плавного возврата http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
/// ГЛАВНАЯ КАМЕРА /// Описание: /// Камера следит за игроком. /// Местоположение камеры фиксированое и изменять его нельзя /// Но возможно вращение по оси Х при зажатии колесика мыши. /// При этом после того как колесико будет отпущено, камера /// вернется в свое изначально местоположение /// public class GeneralCamera : MonoBehaviour {
public GameObject Target; //цель камеры public float MaxDistance;//максимальная дистанция public float MinDistance;//минимальная дистанция приближения камеры public float Height;//высота расположения камеры относительно модели public float XSpeed = 250;//скоро поворота public float YSpeed = 120;// public bool CameraRotation;//возможно ли изменения позиции камеры public float HeightDamping = 2f;//высота торможения public float RotationDamping = 3f;//скорость торможения при вращении
///метод отвечающий за установку камеры на стартовую позицию public void StartCameraPosition() { localTrans.position = new Vector3(Target.transform.position.x, Target.transform.position.y - Height, Target.transform.position.z - MaxDistance);