Quote (Povstalez)
Quote (robertono) 
 Есть камера. Есть поворот по оси Х. Сейчас там стоит параметр - 0. Нужно что бы камера плавно повернулась по этой оси до 90 градусов.Как бы сначало разгон, поворот на одной скорости,плавная остановка поворота. Ну а вкратце: плавный поворот камеры. Думаю кому нибудь пригодится... 
 Сделал, правда криво. 
 Но ускарение и торможение работает: 
 Code 
 using UnityEngine; 
 using System.Collections; 
 public class CameraRot : MonoBehaviour { 
 // Use this for initialization 
 void Start () { 
 } 
 // Update is called once per frame 
 void Update () { 
 if(transform.rotation.x >= 0 && transform.rotation.x <= 30) 
 transform.RotateAroundLocal(new Vector3(90,0,0),90*Time.deltaTime * 0.001f); 
 if(transform.rotation.x >= 30 && transform.rotation.x <= 60) 
 transform.RotateAroundLocal(new Vector3(90,0,0),90*Time.deltaTime * 0.005f); 
 if(transform.rotation.x >= 60 && transform.rotation.x <= 90) 
 transform.RotateAroundLocal(new Vector3(90,0,0),90*Time.deltaTime * 0.001f); 
 else 
 { 
 transform.RotateAroundLocal(new Vector3(90,0,0),90*Time.deltaTime * 0.001f); 
 } 
 } 
 }
  
 Зачем делать если криво? 
 Тебя попросили сделать твин. 
 Ты привязался к 90 градусам, а если завтра будет 45?а если 20? А послезавтра я скажу что мне надо иметь возможно вращать каждые N секунд, а в другом случае каждые пол секунды? 
 Далее - ты написал это все в апдейт - зачем? У тебя что каждую милисекунду будет вращать камеру / вхолостую делаться проверки? 
 Создается метод с циклом и все. Согласись удобнее обратиться к методу поворота задав любой трансформ, любой угол и любое время поворота ? 
 Вот функция. 
 Code
    public IEnumerator rotateSmooth(Transform obRotate, Vector3 endRot, float timer){    
            Quaternion newDirection; 
     newDirection = new Quaternion (); 
     newDirection = Quaternion.Euler (endRot.x, endRot.y, endRot.z); 
            float t = 0.0f; 
     while (t < 1.0f) {    
      t += Time.deltaTime * (1.0f / timer); 
            obRotate.rotation = Quaternion.Lerp (obRotate.rotation, newDirection, t); 
          yield return 0; 
         } 
    } 
 
  
 Все. Вызывается так - StartCoroutine(rotateSmooth(transform,new Vector3(90,0,0),0.5f)); 
 Вуаля - плавный поворот на 90 по иксу за пол секунды. Любой угол и время указываем и вращаем.