Главная » Статьи

В общем давно собирался написать статью о написании не очень сложной RPG на GLScene.
В качества ориентира были выбраны Heroes 3 или Disciples. Механика будет упрощена и многие моменты опущены,
 дабы не усложнять статью и дать возможность читателю внести , что то своё.
Я не стану выкладывать всё в одной статье , а разобью её на несколько дабы не сваливать всё в кучу.
И так наша цель , простая РПГ на GLScene.

Что желательно приготовить ?
Вообще в принципе т.к. это первая часть, что GLScene и Delphi\Lazarus будет достаточно, однако для дальнейшие работы хорошо бы иметь навыки работы с графическими редакторами вроде GIMP или PhotoShop, а так же иметь модели\спрайты персонажей и GUI ну или художника который это нарисует.

Часть 1. Создаём мир

И так в это статье мы создадим локацию для нашей игры, а так же подготовим всё дл ... Читать дальше »
Категория: Статьи | Просмотров: 1064 | Добавил: De:Light | Дата: 24.04.2011 | Комментарии (0)

Эта статья о использование мыши и камеры , а именно об управлении камерой с помощью мыши в 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 | Комментарии (0)

Давненько я нечего не писал, вот решил это исправит)
И так сегодня речь пойдёт о анимированных спрайтах в GLScene. Я специально вынес за рамки статьи про спрайты ибо они заслуживают отдельного внимания.
Что бы статья была как можно понятнее я опишу как можно создать свой анимированный спрайт в Дизайн тайме, сделать все это в ран тайме не составит труда.
Для начала у объекта GLMaterialLibrary1 в свойстве Materials в редакторе материалов
добавим новый метриал (Add New) в его свойствах   Material.Texture.Image открываем окно выбора изображения. Выбираем файл с кадрами анимации
В свойствах того же материала Material.Texture.Disabled указываем false.
*в моем случае это изображение формата BMP
 Вот пример

Добавляем в сцену анимированный спрайт GLAnimatedSprite1
  В свойстве MaterialLibrary выбираю GLMaterialLibrary1
 В   MaterialLibrary.Materials выбир ... Читать дальше »
Категория: Статьи | Просмотров: 741 | Добавил: De:Light | Дата: 03.04.2011 | Комментарии (0)

Сегодня мы поговорим о спрайтах.
В Сцене есть 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 | Комментарии (0)

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

Задача:
Сделать интерактивную открытку с элементами 3д и слайд шоу.
Писать все будем с помощью графической библиотеки GLScene для Delphi/Lazarus/Borland C++, так же желательно подобрать картинки для спрайтов в единой цветовой палитре.

Шаг 1. Расставляем объекты.

фото хостинг
В проекте использоваться 3 спрайта. В первый мы загружаем фон , в второй рамку, а поверх неё уже фотографию. При использовании такой иерархии у нас не будет проблем с перекрытием.

... Читать дальше »

Категория: Статьи | Просмотров: 625 | Добавил: De:Light | Дата: 08.03.2011 | Комментарии (2)

Для разнообразия решил выложить урок по photoshop ,а именно по созданию бэкграунда (background) сайта или блога. На идею натолкнули решения на страницах blizzard .
Каждый стремиться сделать свой блог ли сайт уникальным, но помимо контента важно и как выглядит блог или сайт. В этой статье я расскажу, как сделать фон за 4 простых шага или в 5 минут.



Шаг 1.
Нарезам исходные картинки и группируем их на нашем фон.
 

Шаг 2.
Наносим эффекты (коррекция- фото фильтр- темно синий) плотность на уровне 30%.

Шаг 3.
Создаём новый слой и на нём наносим градиент по краю и полу прозрачный градиент более яркого цвета (прозрачность 60% ) на месте контента блога.
... Читать дальше »
Категория: Статьи | Просмотров: 623 | Добавил: De:Light | Дата: 03.03.2011 | Комментарии (0)

Давно я не писал , навалилось много дел , но т.к. разгребся скину статейку.
Поговорим о Сценовскей Канве (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 | Комментарии (0)

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

В ран тайме его можно создат так :
   Cadencer:= TGLCadencer.Create(fForm);\\Создали на нужной форме
   Cadencer.Scene:=Scene; \\ Указали сцену
   TGLCadencer(Cadencer).OnProgress:=CadencerProgress;\\ Указили свое свойство для onProgress

... Читать дальше »
Категория: Статьи | Просмотров: 1595 | Добавил: De:Light | Дата: 13.02.2011 | Комментарии (0)

После того как мы создали кубик хорошо бы возле него полетать. Приведенный ниже метод годиться только для свободного полета. Очистите у камеры свойство 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 | Комментарии (0)

Ниже описано будет построение куба, как я писал ранее работа с 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 | Комментарии (0)

« 1 2 3 »
Вы вошли как: Гость
13:10
Вы вошли как: Гость
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Категории
Новости [11]
Статьи [23]
GLscene,Web Design,IT,etc...
Счетчик

Онлайн всего: 1
Гостей: 1
Пользователей: 0