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

Вот так:
GameObject[] cube;
Transform[] cubet;
Transform thisTransform;	
void Start()
{
   cube = new GameObject[5000];
   ...
   cubet = new Transform[5000];
   thisTransform = transform;
   for(int i=0;i<cube.Length;i++){
       ...  
       cubet[i]=cube[i].transform;
   }	
}


void Update()
{
    Vector3 translation= thisTransform.forward * tdt*5;
    float tdt=Time.deltaTime;
    for(int i=0;i<cube.Length;i++){
        cubet[i].Translate(translation);
        cubet[i].Rotate(Vector3.up*tdt*Random.Range(-50, 50));
    }
}
Если у тебя Pro версия Unity, то посмотри в профайлер, какая операция больше времени жрет. Update или отрисовка.
(Offline)
 
Ответить с цитированием