В общем давно собирался написать статью о написании не очень сложной RPG на GLScene. В качества ориентира были выбраны Heroes 3 или Disciples. Механика будет упрощена и многие моменты опущены, дабы не усложнять статью и дать возможность читателю внести , что то своё. Я не стану выкладывать всё в одной статье , а разобью её на несколько дабы не сваливать всё в кучу. И так наша цель , простая РПГ на GLScene. Что желательно приготовить ? Вообще в принципе т.к. это первая часть, что GLScene и Delphi\Lazarus будет достаточно, однако для дальнейшие работы хорошо бы иметь навыки работы с графическими редакторами вроде GIMP или PhotoShop, а так же иметь модели\спрайты персонажей и GUI ну или художника который это нарисует. Часть 1. Создаём мирИ так в это статье мы создадим локацию для нашей игры, а так же подготовим всё дл
...
Читать дальше »
Категория: Статьи |
Просмотров: 1064 |
Добавил: De:Light |
Дата: 24.04.2011
|
|
Эта статья о использование мыши и камеры , а именно об управлении камерой с помощью мыши в GLScene. Изложенное ниже можно с успехом использовать с стратегиях или редакторах. Как вращать камеру (или что другое) возле объекта?
В событие viewer Mouse Move пишем if ssLeft in Shift then GLCam.MoveAroundTarget(my-y, mx-x); mx:=x; my:=y; Т.е. при зажатой левой кнопки мыши камера будет вращаться возле цели , разуметься цель предварительно указана. Как приблизить\отдалить камеру по правой кнопке? В событие viewer Mouse Move пишем if ssRight in Shift then GLCam.AdjustDistanceToTarget(Power(1.05,my-y)); Тут у нас при зажатой правой кнопки и движении мыши мы приближаем или отдаляем камеру. Как плавно приближать колёсиком мыши? В событие Form Mouse Wheel пишем if wheeldelta > 0 then GLCam.AdjustDistanceToTarget(0.98
...
Читать дальше »
Категория: Статьи |
Просмотров: 1556 |
Добавил: De:Light |
Дата: 10.04.2011
|
|
Давненько я нечего не писал, вот решил это исправит) И так сегодня речь пойдёт о анимированных спрайтах в GLScene. Я специально вынес за рамки статьи про спрайты ибо они заслуживают отдельного внимания. Что бы статья была как можно понятнее я опишу как можно создать свой анимированный спрайт в Дизайн тайме, сделать все это в ран тайме не составит труда. Для начала у объекта GLMaterialLibrary1 в свойстве Materials в редакторе материалов добавим новый метриал (Add New) в его свойствах Material.Texture.Image открываем окно выбора изображения. Выбираем файл с кадрами анимации В свойствах того же материала Material.Texture.Disabled указываем false. *в моем случае это изображение формата BMP Вот пример Добавляем в сцену анимированный спрайт GLAnimatedSprite1 В свойстве MaterialLibrary выбираю GLMaterialLibrary1 В MaterialLibrary.Materials выбир
...
Читать дальше »
Категория: Статьи |
Просмотров: 741 |
Добавил: De:Light |
Дата: 03.04.2011
|
|
Сегодня мы поговорим о спрайтах. В Сцене есть 2 вида спрайтов: TGLHUDSrite и TGLSprite. TGLHUDSrite ( Heads-Up Display) Это спрайты предназначенные для отображения поверх всех объектов сцены (если такое возможно). Они похожи на простые картинки с той лишь разницей что участвуют в иерархии , а значит могут быть перекрыты другим объектом. С помощью них в играх чаще всего отображают: Здоровье/Жизни Время Способности Прицел Карта, план или радар Всевозможные меню Для примера мы сделаем свой прицел. И так создаем новый проект, размещаем пару объектов и сам TGLHUDSrite. Пример моей иерархии Работать с ними очень просто, вот пример кода по загрузке и расположении по центру экрана GLHUDSprite1.Material.Texture.Disabled:=false; GLHUDSprite1.Material.Texture.Image.LoadFromFile('target.jpg'); GLHUDSprite1.Position.X:=GLScene
...
Читать дальше »
Категория: Статьи |
Просмотров: 908 |
Добавил: De:Light |
Дата: 18.03.2011
|
|
Всегда охота подарить дорогому человеку уникальный подарок, а как говориться "Лучший подарок тот который сделал сам". Задача: Сделать интерактивную открытку с элементами 3д и слайд шоу. Писать все будем с помощью графической библиотеки GLScene для Delphi/Lazarus/Borland C++, так же желательно подобрать картинки для спрайтов в единой цветовой палитре. Шаг 1. Расставляем объекты. В проекте использоваться 3 спрайта. В первый мы загружаем фон , в второй рамку, а поверх неё уже фотографию. При использовании такой иерархии у нас не будет проблем с перекрытием.
...
Читать дальше »
Категория: Статьи |
Просмотров: 625 |
Добавил: De:Light |
Дата: 08.03.2011
|
|
Для разнообразия решил выложить урок по photoshop ,а именно по созданию бэкграунда (background) сайта или блога. На идею натолкнули решения на страницах blizzard . Каждый стремиться сделать свой блог ли сайт уникальным, но помимо контента важно и как выглядит блог или сайт.
В этой статье я расскажу, как сделать фон за 4 простых шага или в 5 минут.
Шаг 1.
Нарезам исходные картинки и группируем их на нашем фон.
Шаг 2.
Наносим эффекты (коррекция- фото фильтр- темно синий) плотность на уровне 30%.
Шаг 3.
Создаём новый слой и на нём наносим градиент по краю и полу прозрачный градиент более яркого цвета (прозрачность 60% ) на месте контента блога.
...
Читать дальше »
Категория: Статьи |
Просмотров: 623 |
Добавил: De:Light |
Дата: 03.03.2011
|
|
Давно я не писал , навалилось много дел , но т.к. разгребся скину статейку. Поговорим о Сценовскей Канве (GLCanvas). В каталоге демок есть демка, она показывает ,что сценавский канвас в много раз круче стандартного канваса Делфи. Зачем канва в 3д ?Мол 2д гры спрайтами делать можно. Это может реально помочь с GUI , нарисовать рамку обводки или геометрическую фигуру , да и в 2д игре в комбинации с спрайтами будет не кисло смотреться. Для канваса нам нужен TGLDirectOpenGL (Add object-> Direct OpenGL) а именно событие OnRender. · InvertYAxis – меняет направление оси Y. По умолчанию ось X направлена слева направо, ось Y направлена сверху вниз; · PenColor – это свойство задает цвет рисования; · PenAlpha – это свойство меняет прозрачность рисования, меняется от 0 до 1; · PenWidth – тол
...
Читать дальше »
Категория: Статьи |
Просмотров: 1001 |
Добавил: De:Light |
Дата: 27.02.2011
|
|
Вообще Cadencer это один из главных компонентов сцены, без него не видать вам динамической сцены. По сути это своего рода таймер участвующий в рендере картинки каждый такт. В ран тайме его можно создат так : Cadencer:= TGLCadencer.Create(fForm);\\Создали на нужной форме Cadencer.Scene:=Scene; \\ Указали сцену TGLCadencer(Cadencer).OnProgress:=CadencerProgress;\\ Указили свое свойство для onProgress
...
Читать дальше »
Категория: Статьи |
Просмотров: 1595 |
Добавил: De:Light |
Дата: 13.02.2011
|
|
После того как мы создали кубик хорошо бы возле него полетать. Приведенный ниже метод годиться только для свободного полета. Очистите у камеры свойство TargetObject, чтобы мы могли сами управлять направлением взгляда камеры. Подключите модуль GLKeyboard для работы с клавиатурой. Событие OnProgress канденсатора приведите к такому виду для перемещения камеры при нажатии клавиш на клавиатуре: //Движение вперед по клавишам ‘ц’ и’ w’ if (IsKeyDown('ц') OR IsKeyDown('w')) then GLCamera1.Move(2* deltaTime); //Движение назад по клавишам ‘ы’ и ‘s’ if (IsKeyDown('ы') OR IsKeyDown('s')) then GLCamera1.Move(-2* deltaTime); //Поворот влево по клавишам ‘ф’ и’ a’ if (IsKeyDown('ф') OR IsKeyDown('a')) then GLCamera1.slide(-2* deltaTime); //Поворот вправо по клавишам ‘в’ и ‘d’ if (IsKeyDown('в') OR IsKeyDown('d')) then GLCamera1.slide(2* deltaTime); //Движение вверх по клавишам ‘u’ и ‘г’ if (IsKeyDown('u')) OR IsKeyDown(‘г’) then GLCamera1.Lift(0.01); //Движение вни
...
Читать дальше »
Категория: Статьи |
Просмотров: 1343 |
Добавил: De:Light |
Дата: 06.02.2011
|
|
Ниже описано будет построение куба, как я писал ранее работа с GLScene не слишком сложная, по этому я покажу 2 способа. Первый способ чисто для ознакомления , а второй уже может иметь место на практике. Позже я постараюсь описать , самый наиболее простой и легкий способ создания вообще всех 3д объектов в Сцене. №1
Поместим на форму два объекта: GLScene и GLSceneViewer. GLScene – инспектор объектов нашей сцены. GLSceneViewer – окно в котором отображается наша сцена. Если хотите, то можете поменять цвет GlSceneViewer1 в его свойствах поставив Buffer.BackgroundColor=clWhite Двойным щелчком левой кнопки мыши на GLScene1 входим в инспектор объектов и создадим простой объект Cube (Scene objects => Add object => Basic geometry => Cube ).
Категория: Статьи |
Просмотров: 1175 |
Добавил: De:Light |
Дата: 27.01.2011
|
|
|