Показать сообщение отдельно
Старый 20.09.2012, 14:18   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: управление персонажем.

Как-то так:

public class RotateOnce : MonoBehaviour
{
    
bool _rotating = false;

    
void Update()
    {
        if (!
_rotating && Input.GetKeyDown(KeyCode.D))
        {
            
StartCoroutine(RotateOnce());
        }
    }

    
IEnumerator RotateOnce()
    {
        
_rotating = true;

        var 
oldRotation = transform.rotation;
        var 
newRotation = transform.rotation * Quaternion.Euler(0, 90, 0);

        var 
t = 0f;

        while (
t < 1)
        {
            
transform.rotation = Quaternion.Slerp(oldRotation, newRotation, t);
            yield return 
null;
            
t += Time.deltaTime;
        }

        
transform.rotation = newRotation;

        
_rotating = false;
    }
} 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Okay (22.09.2012)