Показать сообщение отдельно
Старый 13.01.2011, 00:22   #3
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 426
Написано 71 полезных сообщений
(для 104 пользователей)
Сообщение Ответ: C# Быстрый поворот/перемещение множества объектов

Вот так?

GameObject[] cube;
Transform[] cubet;
	
void Start()
{
   cube = new GameObject[5000];
   ...
   cubet = new Transform[5000];
   for(int i=0;i<cube.Length;i++){
       ...  
       cubet[i]=cube[i].transform;
   }	
}


void Update()
{
    float tdt=Time.deltaTime;
    for(int i=0;i<cube.Length;i++){
        cubet[i].Translate(transform.forward * tdt*5);
        cubet[i].Rotate(Vector3.up*tdt*Random.Range(-50, 50));
    }
}
Сделал, но прирост всего 3-5 FPS, это ничтожно мало
Может при перемещении кубика, автоматический рассчитываются коллизии или еще чего, поэтому так тормозит?!
Может как-то еще можно?

Вот тут
http://unity3d.com/support/documenta...imization.html
Пишут про Vector3 массивы, говорят очень быстрые,как их использовать вместе с GameObject? Будет ли прирост?
(Offline)
 
Ответить с цитированием