Cold Storm UT3 Unreal Tournament 3 UT2004 UT2K4 Unreal Tournament 2004 Тукей UT99 UT Classic Unreal Tournament Unreal tournament 99 Unreal Tournament Classic Unreal Engine 3 Unreal Engine 2 Unreal Engine 1 UDK UDK2009 UDK2010 UDK2011 Unreal Editor Уроки UDK на русском Скачать evil god Unreal Legends
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: DragonFlyPilot  
Форум » Cold Storm работы » Остальное » Работа над Движком (Ход работы Драгонфлая над созданием движка)
Работа над Движком
DragonFlyPilotДата: Понедельник, 03.01.2011, 18:19 | Сообщение # 1
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Итак, работа кипит.

Написание собственного двига без использования DirectX, OpenGL и др. довольно сложное и интересное занятие. Главное, что есть полный доступ ко всему, что творишь. Можно сделать графические эффекты любой сложности. Правда, все нужно оптимизировать по максимуму, ведь GPU не загружена.

Уже сделано:
1) Собственно, есть полноценное ядро, использующее массивы данных и текстуры. Уже можно создавать карты=) Правда, нужно писать редактор.
2) Из эффектов, есть работающий Alpha-Blending (оптимизированный!) или прозрачность. Я убрал все деления и серьезно ускорил расчет. Результат:

Прикрепления: 1019757.jpg (38.1 Kb)
 
DragonFlyPilotДата: Понедельник, 03.01.2011, 18:30 | Сообщение # 2
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
И High-tex рисунок (на прошлом была текстура 100x100:

(здесь текстура 1000x1000)

Текстуры расчитываются по формулам (Прозрачность - с помощью синуса, цвета - близость к точкам) Возможна загрузки картинки (ядро есть, а функции - нет=)

Добавлено (03.01.2011, 18:30)
---------------------------------------------
Рано сказал=( Aplha - сложная штука.

Прикрепления: 0855682.jpg (28.7 Kb)
 
DragonFlyPilotДата: Понедельник, 03.01.2011, 18:36 | Сообщение # 3
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Пример использования:


Кто выстрелил из ракетницы?

Прикрепления: 9110871.jpg (23.9 Kb)
 
FelixДата: Понедельник, 03.01.2011, 18:49 | Сообщение # 4
Cold storm leader
Сообщений: 116
Награды: 2
Репутация: 12
Статус: Offline
Ппц, круто! Скачать дашь когда комнату сделаешь?
 
DragonFlyPilotДата: Понедельник, 03.01.2011, 21:54 | Сообщение # 5
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Тестовая версия (нет оптимизации отрисовки и границ, поэтому оооочень медленно, но это можно ускорить=)

Предупреждаю, что [ESC] - клавиша, отвечающая за рисование. Если хочешь именно выйти - жми ее. Не рисуется - жми ESC.
Управление - стрелками, движение - мышкой.

Добавлено (03.01.2011, 21:54)
---------------------------------------------
Почему я не использую OpenGL:

1) Я не знаю OpenGL=)
2) Способ построения в моем двиге уже КАРДИНАЛЬНО отличается от любого другого.
Пример:
Камера тут не точка с направлением, а группа точек. Одна из них - центр обзора, еще 3 вектора - координаты плоскости, через которую ты смотришь!!! Да, да, их можно менять и уже реализовать что-то вроде зеркала или даже преломления=) Еще 1 вектор - нормаль вращения (охрененная штука), ведь на самом деле ты вращаешся вокруг вертикальной линии, а не горизонтально. Достаточно изменить ее (например модель упала) и ты уже не будешь вращаться по вертикали, поверь. Это те не КС, тут реал=) Еще есть 2 точки - вектора направления движения. Когда ты нажимаешь стрелочки, ты движешься не вперед-назад-влево-вправо, а вдоль этих векторов! И я могут изменить их направления=)
3) У меня НЕТ МАТРИЦ! НЕТ ВООБЩЕ! НИКАКИХ. Ни матриц вращения, ни матриц проэкции, ни матриц движения! Однако, я могу двигаться и вращаться=) Здесь нет даже FOV, ZOOM и вообще в расчетах точек не использовалось НИ ОДНОГО синуса, косинуса, тангенса. Точки, которыми ты задаешь видимую плоскость, можно исказить как хочешь!
4) В тестовой версии все нарисовано не треугольниками, а прямоугольниками=) Когда Felix написал "... когда комнату сделаешь?" я за 1 минуту изменил способ построения с треугольников, на *квадраты! Аналогично, я могу поменять его на круги или гиперболы=) Такого не может ни DirectX, ни OpenGL. Они рисуют только треугольники.
5) Возможна реализация не только плоскостей. Можно рисовать и поверхности, но это гораздо медленнее.

*Квадраты - ведь если вы видели двиг, там прямоугольники. Как же так? Все просто. Область, через которую мы смотрим - тоже квадрат! А не прямоугольник, подобный экрану. Достаточно сделать область видимости, пропорциональной экрану, и картинка станет нормальной=) Пример:

Прикрепления: 9766811.jpg (35.0 Kb)


Сообщение отредактировал DragonFlyPilot - Понедельник, 03.01.2011, 22:35
 
DragonFlyPilotДата: Понедельник, 03.01.2011, 22:37 | Сообщение # 6
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Вид со стороны (AlphaBlending в действии)

Версия файла, с правильным отображением размеров.
Прикрепления: 1819540.jpg (28.3 Kb) · Win3D.exe (16.0 Kb)
 
PsymoNДата: Вторник, 11.01.2011, 11:50 | Сообщение # 7
Exeperienced
Сообщений: 20
Награды: 1
Репутация: 3
Статус: Offline
ох нифига себе...
а как ты будешь лепить сложные обьекты?
как например модели людей, техники..

Добавлено (11.01.2011, 11:50)
---------------------------------------------
ох нифига себе...
а как ты будешь лепить сложные обьекты?
как например модели людей, техники..

 
FelixДата: Вторник, 11.01.2011, 17:03 | Сообщение # 8
Cold storm leader
Сообщений: 116
Награды: 2
Репутация: 12
Статус: Offline
скeлeтaл мeш систeму ввeдёт в движок и будут и люди и н.ё.х...
 
DragonFlyPilotДата: Суббота, 15.01.2011, 21:57 | Сообщение # 9
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Простите, что долго не появлялся. Университет у меня, надо пособирать зачеты, ад кончиться 19 января, так что до этого срока я тут вряд-ли появлюсь.

Quote (PsymoN)
а как ты будешь лепить сложные обьекты?

Уже можно создавать объекты любой сложности и количества полигонов. После того, как я закончу с универом:
1) Оптимизирую по максиму внутренний цикл, убрав все умножения (с делениями я тогда уже разобрался)
2) Проведу текстурную оптимизацию
3) Добавлю, наконец, границы рисования.

Только после этого целесообразно разбираться с периферией ядра, а именно оболочка для редактора, конвертеры в Mesh-формат (100% будет собственный формат, также надо создавать формат карты)

Quote (Felix)
скeлeтaл мeш систeму ввeдёт в движок и будут и люди и н.ё.х...

На последующих этапах можно будет все=)

*А сейчас я не занимаюсь двигом, а рисую чертежи=) Потом будет эссе по культурологии, вообщем, работы много на всех фронтах=)

Добавлено (15.01.2011, 19:21)
---------------------------------------------
Сегодня весь день занимался оптимизацией. Пришел к выводу, что нужно переписать много кода=(

Добавлено (15.01.2011, 21:57)
---------------------------------------------
Свежая версия:
Управление - только мышкой=)

Двигая ей, перемещаетесь по аналогии со стрелочками.

А, если зажать правую кнопку, то осуществите вращение.

ВЫХОД на кнопку ECS.

Программа НЕ использует полноэкранный режим! Это Pop-up окно, растянутое на весь экран. Двиг до конца не оптимизирован, но уже виден физический барьер в скорости работы процессора. Нужна супер-оптимизация внутренней части движка=( Кол-во FPS неприемлимое и слишком низкое, несмотря на примененные правила отсечения.

 
DragonFlyPilotДата: Суббота, 15.01.2011, 22:26 | Сообщение # 10
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Самое интересное, что правильное Alpha-смешивание производиться в порядке приближения к камере, а быстрая отрисовка - в порядке удаления от камеры. И что мне делать, пока не понятно. Недостаток смешивания можно увидеть в новой версии движка.
Прикрепления: 5591791.exe (32.0 Kb)
 
DragonFlyPilotДата: Пятница, 21.01.2011, 13:12 | Сообщение # 11
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Так, я тут прикинул, какая будет производительность, если понавешать всего 2-3 эффекта, а не over9000, как хочется, а также FPS, который выдает моя прога на мощном ноуте. Вообщем, буду тянуть 2 проекта: на DirectX и на своей отрисовке. Я сегодня увидел, что одна из моих брошенный версий на DirectX все-таки работает, затестите, пожалуйста!!! У кого с ней проблемы и какие (название ошибки и ее описалово)

[F1] - на весь экран
[F4] - выход
[TAB] - респаунд
[WASD] - ...
[SPACE] - ...

Играем за кубик=) Там еще бот есть, но он какой-то хренью занимается, прыгая и вращаясь на карте...

Что-то еще есть, но я забыл, т.к. долго не работал над этим проектом.

Добавлено (21.01.2011, 13:12)
---------------------------------------------
К сожалению, от прозрачности придется отказаться. Она черезвычайно сильно тормозит и без того медленные процессы расчета. Сегодня буду вводить освещение=)

Прикрепления: Engine2.rar (148.5 Kb)


Сообщение отредактировал DragonFlyPilot - Пятница, 21.01.2011, 13:00
 
DragonFlyPilotДата: Пятница, 21.01.2011, 18:58 | Сообщение # 12
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Новая, более оптимизированная версия рукописного движка. FPS удовлетворительный, затестите!
P.S. Это далеко не предел процессора. Отрисовку можно заметно увеличить, если расчеты вести в целочисленном формате. Хорошим вариантом ускорения также является многопоточность.

При расчетах в целочисленном формате, качество картинки серьезно падает, но и скорость серьезно возрастет, ведь вместо работы с FPU, мы работаем с регистрами CPU.

Как не странно, более новая версия весит еще меньше - 18кб, а DirectX версия - 32кб happy

Добавлено (21.01.2011, 18:58)
---------------------------------------------
Управление для движка:
[ESC] - ВЫЙТИ, если в программе
или продолжить, если не в другой программе
[Mouse1] - вращаться
[Mouse] - двигаться
[Enter] - рисовать положение точек в пространстве (две 2D - проекции, поверх 3D)

Лучше всего запустить с параметрами:
+ Использовать разрешение экрана 640x480
+ Отключить композицию рабочего стола
+ Отключить визуальное оформление
+ Отключить масштабирование

Примечание:
Программа не использует видеокарту, ограничение на FPS = 100
Средняя загрузка процессора - 15% (на 4-ядерном)

Сообщение отредактировал DragonFlyPilot - Суббота, 22.01.2011, 01:52
 
PsymoNДата: Пятница, 21.01.2011, 18:58 | Сообщение # 13
Exeperienced
Сообщений: 20
Награды: 1
Репутация: 3
Статус: Offline
затестил)
первый вирубил видяху в нокаут, Атишка.
второй +100500!
 
DragonFlyPilotДата: Суббота, 22.01.2011, 04:27 | Сообщение # 14
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Итак, прямо сейчас я написал функцию для вывода текста! Ха-ха? Я написал ее вручную, без использования сторонних функций вывода и обработки битмапа из файла! Об ее возможностях можно прочесть в readme файле.

База для вывода спрайтов на экран подготовлена! Уже можно и нужно рисовать пользовательское меню, иконки оружия и т.д.

Felix, мне уже НУЖЕН пиздатый шрифт! И картинки для меню!

Версия с текстовой индикацией FPS:

Сообщение отредактировал DragonFlyPilot - Воскресенье, 23.01.2011, 22:04
 
DragonFlyPilotДата: Суббота, 22.01.2011, 04:28 | Сообщение # 15
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Очень сладкий скриншот nyam Надеюсь, не надо обьяснять, что я ввел в движок happy

Но, сегодня ночью, я замахнулся на тени. Жду FPS, равный 2 или 3 lol

Прикрепления: 5251153.jpg (74.3 Kb)
 
PsymoNДата: Воскресенье, 23.01.2011, 14:11 | Сообщение # 16
Exeperienced
Сообщений: 20
Награды: 1
Репутация: 3
Статус: Offline
у меня загруз проца 30% когда я в кубе нахожусь, вышел, 10-15)
фпс = в кубе 24-27, подальше от него = скачет в овер 200)
ждем версию с тенями)
 
DragonFlyPilotДата: Воскресенье, 23.01.2011, 18:41 | Сообщение # 17
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Еще вчера должен был выложить версию с динамическим освещением. Но после того, как я написовал источник света, возникла совсем непонятная проблема с отображением треугольников. Сейчас ищу причину...

Добавлено (23.01.2011, 17:40)
---------------------------------------------
+Еще надо оптимизировать и скоро буду переходить на другой тип обработки проецирования

Версия с тенями будет, но после того, как я решу все проблемы

Добавлено (23.01.2011, 18:41)
---------------------------------------------
Столько трудов было вложено... Но сейчас был придумал алгоритм, превосходящий данный в разы. Надо все стирать и писать заново. Зато будет возможен тайлинг и еще несколько приятных фишек=) И ошибки теперь не будет выдавать программа. И подсчет можно целочисленным сделать!

 
DragonFlyPilotДата: Воскресенье, 23.01.2011, 19:07 | Сообщение # 18
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Последняя версия двига в другой теме ( с динамическим освещением и без теней)

Начинаю писать новый=)

Сообщение отредактировал DragonFlyPilot - Воскресенье, 23.01.2011, 22:05
 
FelixДата: Понедельник, 24.01.2011, 15:05 | Сообщение # 19
Cold storm leader
Сообщений: 116
Награды: 2
Репутация: 12
Статус: Offline
ты тaм eщe выложи дирeкт3д вeрсию.
2 ссыли- 1 нa вин 3д, другaя нa дирeкт3д.
 
DragonFlyPilotДата: Пятница, 25.03.2011, 09:26 | Сообщение # 20
Masterful
Сообщений: 24
Награды: 0
Репутация: 6
Статус: Offline
Вообщем, я наконец-то нашел норм мануал, который 4 месяца! просто пылился в папке с SDK версией Директа. Впроцем, пока я изучал другие, я прилично набрался различного опыта и уже готов к более серъезной работе. Ничго обещать пока не могу, но постараюсь продолжить работу над новым DirectX Engine=)
 
Форум » Cold Storm работы » Остальное » Работа над Движком (Ход работы Драгонфлая над созданием движка)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Cold Storm UT3 Unreal Tournament 3 UT2004 UT2K4 Unreal Tournament 2004 Тукей UT99 UT Classic Unreal Tournament Unreal tournament 99 Unreal Tournament Classic Unreal Engine 3 Unreal Engine 2 Unreal Engine 1 UDK UDK2009 UDK2010 UDK2011 Unreal Editor Уроки UDK на русском Скачать evil god Unreal Legends
Copyright ColdStorm © 2010-2024