Показать сообщение отдельно
Старый 13.01.2011, 03:44   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: C# Быстрый поворот/перемещение множества объектов

Вот еще способ добиться лучшего результата:
private float lastDelta = 0;
    private 
bool secondFrame = false;

    
void Update()
    {
        
secondFrame = !secondFrame;
        
float newDelta = Time.deltaTime;
        if (
Input.GetKeyDown(KeyCode.Escape)) Application.Quit();

        
calls++;
        
float tdt = lastDelta + newDelta;

        
Vector3 tra = thisTransform.forward * tdt * 5;
        
Vector3 up = Vector3.up;
        if (
secondFrame)
        {
            for (
int i = 0; i < cube.Length/2; i++)
            {
                
cubet[i].Translate(tra);
                
cubet[i].rotation *= Quaternion.AngleAxis(tdt*Random.Range(-50, 50), up);
             }
        }
        else
        {
            for (
int i = cube.Length / 2; i < cube.Length; i++)
            {
                
cubet[i].Translate(tra);
                
cubet[i].rotation *= Quaternion.AngleAxis(tdt * Random.Range(-50, 50), up);
            }
        }
        
lastDelta = newDelta;
    } 
(Offline)
 
Ответить с цитированием