Тема: ChopperHead
Показать сообщение отдельно
Старый 25.05.2009, 16:51   #103
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: ChopperHead

Сообщение от Amatsu Посмотреть сообщение
EvilChaotic, ты говорил еще в самом начале, когда тебе писали про глюки при наложении плейна на низкие участки меша террейна, что это возможно из-за того, что ты "перекрутил анизотропку". Так вот, мне интересно, что за библиотека у тебя была, в которой была возможность включать анизотропную фильтрацию. И если она у тебя используется до сих пор, попробуй ее заменить на анизотропку от Михаила в fastextension. Имхо должно пошустрее работать.

По поводу скайбокса, прикрути его к камере не только по осям X и Z, но и по Y. Это избавит тебя от глюка с искажением текстур на скайбоксе при наборе высоты (а то на большой высоте, даже не вылетая за крышку скайбокса, уже видно что вокруг тебя коробка, а не небо).

Затем, поставь скайбоксу порядок рендера побольше, например
EntityOrder skybox,99
Таким образом он у тебя будет рендериться позади всей сцены, то есть всегда будет находиться на заднем плане. В этом случае дальность прорисовки местности у тебя будет ограничена не квадратом скайбокса, а радиусом обзора камеры. После этого можешь уменьшить сам скайбокс до размеров допустим 5:5:5, чтобы блитц лишний раз не обсчитывал координаты такого большого меша.

Попробуй использовать туман не стандартный блитцевский, а из библиотек Михаила. Он на порядок качественнее и работает сферически, а не в плоскости, как стандартный.

Затем, ракеты и трассеры над скайбоксом, я так понял - шаблоны, с которых ты потом копируешь игровые снаряды при стрельбе командой CopyEntity? Не надо их прятать так высоко. Загружай их в центре уровня и юзай HideEntity. При копировании тебе даже не нужно будет писать ShowEntity каждой скопированной модельке, параметр хайда при копировании не сохраняется.

По поводу деревьев, сделай замену мешей спрайтами за пределами определенной дистанции от камеры и наоборот. Дома у тебя и так низкополигональные и редко встречаются, не думаю что они могут тормозить даже на слабых машинах.

По поводу пострендера, если у тебя используется в цикле больше одной команды RenderPostprocess, оставь только одну, а фильтры перечисляй через Or. Я это на всякий случай говорю, а то у меня так было, вызывало некоторые тормоза и даже глюки на некоторых видюхах.

И последнее, сделай ограничение на набор высоты. Я тебе уже писал один из вариантов, как сделать ограничение на вылет за пределы карты в горизонтальной плоскости - прикладывать силу, возвращающую вертолет в зону террейна. Так вот, сделай такую же силу, действующую на вертолет, при достижении им определенной высоты. То есть допустим при наборе высоты выше 1000 метров сила начнет постепенно увеличиваться с нуля до тех пор, пока вертолет не перестанет карабкаться вверх. Если у тебя передвижение вертолета сделано через стандартные команды блитца, то прикладывай к нему эту силу через команду TranslateEntity.
Старый анизотроп был функциями DX7. Ка только появился Fast я тутже переставил на него. Если хочешь покажу как сделан старый. Кстати Плейн я опустил нижу. Не ребит?Кстати хорошие новости Наш программер написал бесконечный терраин ))))

Насчет скайкуба я незнал что так круто работает EntityOrder, поставил как написанно выше, и сделал транслит скайкуба по Y.

Насчет ракет спрятанных высоко в небе:
Так и есть. Оттуда копируются пули и ракеты ))
Я пытался максимально оптимизировать создание пули и ракет не применяя функцию ShowEntity и только что узнал что при копировании пуля автоматом Show о_О.

По поводу деревьев - У меня даже нету функции апдейта деревьев т.к. я думал что 1000 деревьев апдейтить будет медленнее чем нагрузить видио карту ими.

Я смотрел пример тумана в Fast Ext там он инициализируется блитцевскими командами но при этом в цикле стоят две команды FogMode 1, FogDensity 0.02 это Mode переставляют стандарт на Fast Ext?

Пост процессы рендериться так:
If PostProcessingGlowAllowed And PostProcessingCntrAllowed And PostProcessingBlurAllowed Then
    	  CustomPostprocessGlow GlowAlpha, GlowDarkPasses, GlowBlurPasses, GlowBlurRadius, GlowQuality, GlowColorRed, GlowColorGreen, GlowColorBlue, GlowAlphaTexture
		  CustomPostprocessContrast ContrastAlpha, ContrastMethod, ContrastColorRed, ContrastColorGreen, ContrastColorBlue, ContrastAlphaTexture
		  CustomPostprocessBlurZoom BlurCenterX, BlurCenterY, (BlurZoomFactor*Pinalty#)+50, BlurAlpha*Pinalty/2, BlurPasses, BlurQuality, BlurColorRed, BlurColorGreen, BlurColorBlue, BlurAlphaTexture
          RenderPostprocess FE_GLOW Or FE_Contrast Or  FE_BlurZoom
     Else 
          If PostProcessingGlowAllowed Then
               CustomPostprocessGlow GlowAlpha, GlowDarkPasses, GlowBlurPasses, GlowBlurRadius, GlowQuality, GlowColorRed, GlowColorGreen, GlowColorBlue, GlowAlphaTexture
               RenderPostprocess FE_GLOW
          EndIf 
          If PostProcessingCntrAllowed Then
               CustomPostprocessContrast ContrastAlpha, ContrastMethod, ContrastColorRed, ContrastColorGreen, ContrastColorBlue, ContrastAlphaTexture
               RenderPostprocess FE_Contrast
          EndIf  
          If PostProcessingBlurAllowed Then
			  CustomPostprocessBlurZoom BlurCenterX, BlurCenterY, (BlurZoomFactor*Pinalty#)+50, BlurAlpha*Pinalty/2, BlurPasses, BlurQuality, BlurColorRed, BlurColorGreen, BlurColorBlue, BlurAlphaTexture
	 		  RenderPostprocess FE_BlurZoom
          EndIf  
     EndIf
Спасибо ))) Кое что узнал. Насчет скайкуба идея отличная.
__________________

EvilChaotic About

Последний раз редактировалось EvilChaotic, 25.05.2009 в 17:37.
(Offline)
 
Ответить с цитированием