Для начала поместим на форму из вкладки GLScene объекты GLScene и GLSceneViewer. Последний далее будет называться «сценой». Двойной щелчок по первому объекту откроет редактор.
В этом окошке можно будет добавлять разные объекты. Щелкнем правой кнопкой мыши по вкладке Cameras и выберем действие Add Camera. Думаю не нужно объяснять, что мы сделали. Теперь выберем созданную камеру и просмотрим ее свойства.
CameraStyle– Вид камеры. Можно выбирать любой какой вам нужен.
DepthOfView– Глубина вида. Что-то наподобие дальности обзора и глубины прорисовки.
Position– позиция камеры по трем векторам (X, Y, Z)
TargetObject– объект, который будет осматривать камера (если нужен свободный обзор, указывать не нужно!).
Это основные свойства. По ходу статей вы будете узнавать новые.
Итак, мы кинули камеру, а она ничего нам не показывает. Значит пора привязать ее к сцене. Щелкаем по сцене и в свойстве Camera выбираем нашу камеру (GLCamera1). И меняем у GlCamera1 position (x=2, y=2, z=2). Теперь наша камера будет находиться на уголке сцены. Затем добавим кубик, чтобы можно было его просматривать. Щелкнем правой кнопкой по вкладке Scene Object, выберем Add Object – Basic Geometry – Cube. В свойстве Камеры Target Object укажем GLCube1. Итак теперь мы видим куб, но он у нас какой-то черный. Это потому что на наш кубик не падает свет. Решение: добавить источник света. Во вкладке Scene Object выбираем AddObject – LightSource и перемещаем источник света в GLCamera1. Теперь источник света будет двигаться вместе с камерой, что очень удобно. Должно получиться что-то вроде этого -<. А теперь заставим наш кубик вертеться. Для этого добавим на нашу форму еще один компонент – GLCadencer. Этот компонент наподобие постоянного таймера. Привязываем его к сцене, изменив свойство Scene. Нажимаем на него два раза и пишем в его процедуре вот эти строчки
GLCube1.Roll(100*DeltaTime);
GLCube1.Pitch(100*DeltaTime);
GLCube1.Turn(100*DeltaTime);
Теперь объясню, функции Roll, Turn и Pitch используются для кручения-верчения, в скобках указываем значения (100*DeltaTime) DeltaTime – это функция, которая меняет значения по времени. Запускаем проект и о, благодать! Он крутится!!!!
Ну и настал момент, когда мы сожгем этот кубик дотла! Из вкладки GLScenePFX помещаем GLFireFXManager. Указываем наш каденсер в свойстве Cadencer. Затем меняем свойство Effect у GLCube.
Для этого нажмем на три точки (…), перед нами появиться окошко . Нажмем на + и выберем FireFX и укажем manager (GLFireFXManager1). Запускаем проект и видим пламя, но оно вращается вместе с кубиком, как бешеное. Для нормализации :) убираем из каденсера функции pitch и roll. Теперь пламя будет красивей. Но мне не нравится красно-оранжевый огонь! Для того, чтобы поменять его цвета в GLFireFXManager существуют свойства InnerColor и OuterColor. Удачи с проектами! Если нужно продолжение оставляйте комменты.
|