Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по GLScene.doc
Скачиваний:
255
Добавлен:
16.12.2018
Размер:
7.18 Mб
Скачать

Глава 16. GlAtmosphere.

GLAtmosphere – это полусфера, которая нужна для создания эффекта атмосферы вокруг планеты, что собственно, следует из названия. Однако можно приспособить его под отображение, например, силовых полей, но только шарообразной формы. Компонент представляет собой шар с двумя смешанными цветами, внутри находится сфера – “планета”. Создаётся GLAtmosphere в “GLScene Editor”, вкладка “Environment objects”.

основные свойства:

Свойство

Описание

AtmosphereRadius и PlanetRadius

Радиусы атмосферы и планеты, их разница будет толщиной атмосферы, от которой напрямую зависит плотность освещения.

BlendingMode

Режим смешивания: по прозрачности или по цвету.

HightAtmColor

Внешний цвет атмосферы (задавать нужно вручную, выпадающий список не работает).

LowAtmColor

Внутренний цвет, атмосферы (задавать нужно вручную, выпадающий список не работает).

ObjectsSorting

“Сортировка по сортам” определяет, как будут сортироваться объекты (по классам; без сортировки; смешивание просчитывается в конце; то, что сложнее всего; самое близкое).

Оpasity

Степень непрозрачности.

PlaneRadius

Радиус ядра (сферы по центру).

Slices

Количество углов (чем больше углов – тем сильнее GLAtmosphere похож на круг).

Sun

Обязательно необходимо его задать (иначе GLAtmosphere не отобразится). Определяет, относительно какого объекта определять верх и низ. Соответственно если это верх – он будет окрашен в светлый цвет и наоборот.

Плохую демку к компоненту GLAtmosphere можно посмотреть в стандартной папке Demos по адресу Demos\specialsFX\Atmosphere.

Этот компонент преглюченный. Зачастую на этапе проектирования при изменении некоторых параметров сцена просто не перерисовывается, чтобы сцена перерисовалась, нужно кликнуть по форме. Это не единственный глюк, при попытке выбрать (не задать

вручную!) цвет он просто не выбирается, а остаётся предыдущим.

Глава 17. Спецэффекты.

I. Огонь

Огонь моделируется системой частиц – партиклов (particle). Поместите на форму GLFireFXManager, его свойство Cadencer поставсе равным GLCadencer1. У объекта, который вы хотите сделать горящим, выберите свойство Effects. В появившемся окне нажмите кнопку + и добавьте FireFX. У этого эффекта в свойстве Manager выберите GLFireFXManager1. Теперь объект загорелся.

Свойства огня настраиваются в GLFireFXManager:

Свойство

Описание

FireBurst

Скорость горения.

FireCrown

Чем больше этот параметр, тем большие расстояния от объекта будет захватывать огонь.

FereDensity

Чем больше этот параметр, тем четче прорисованы частички огня.

FireDir

Направление, куда сносятся частички огня, как бы огонь сдувается ветром.

FireEvaporation

Если это свойство меньше 1, то партиклы сплющиваются по вертикали, если больше 1, то вытягиваются.

FireRadius

Радиус огня.

InitialDir

Направление огня.

InnerColor

Цвет в центре частичек.

OuterColor

Цвет на краях частичек.

ParticleInterval

Частота появления частиц, чем меньше тем чаще.

ParticleLife

Время жизни партиклов.

ParticleSize

Размер частиц.

Создание огня в режиме runtime:

Объявите переменные

var

FireManager: TGLFireFXManager; FireFX: TGLBFireFX;

Создайте FireManager, нужный для настроек огня

FireManager:= GLFireFXManager.Create(nil);

Настройте FireManager

FireManager.Cadencer := GLCadencer1; FireManager.ParticleInterval := 0.04;

Создайте эффект, добавьте его в список эффектов объекта, например сферы:

FireFX := TGLBFireFX.Create(Sphere1.Effects); Sphere1.Effects.Add(FireFX);

FireFX.Manager := FireManager;

GLFireFXManager не самый скоростной компонент, поэтому не пренебрегайте его излишним использованием.