Показать сообщение отдельно
Старый 09.09.2007, 14:40   #6
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Увеличиваем производительность игры или как убить лишние коллизии. Советы новичкам.

Почему у меня никогда коллизии не тормозят ?
Может вы стратегию коллизий неправильно определяете ?
правило 1
Избегайте коллизии сфера-полигон
правило 2
Если вы используете сфера-полигон, то оптимизируйте ее:
полигональная модель должна содержать вменяемое число полигонов, если не позволяет графика, используйте так называемую "коллижн-модель" специально сделаную низкополигональную сетку, совпадающую с вашим объектом, с установленной альфой в ноль, и назначайте коллизию на нее.
правило 3
всегда удаляйте ненужные больше вам объекты: как пули, осколки. и тд.
правило 4
не вызывайте многократно функцию EntityCollided, а делайте конструкции типа:
entity=EntityCollided(en,x)
If entity
....
Endif
правило 5
Экономте код, вызывайте функции ТОЛЬКО когда это необходимо.
Например, ваш враг уже умер, зачем проверять его на попадание пули ?
Используйте типы для сущностей, и флаги состояния, который распределяют ЧТО в данный момент делать с тем или иным элементом.
__________________
(Offline)
 
Ответить с цитированием