Новости Форум Каталог файлов Каталог статей Вики Активность пользователей Каталог моделей
Добро пожаловать на сайт посвященной игр серии В тылу врага! Здесь Вы сможете найти самые свежие файлы и интересные новости, завести себе новых друзей, общаясь на форуме портала, а также можете помочь нам в развитии сайта.
Последние обновленные темы
Самые популярные темы
Самые активные пользователи
Новые участники
romaroma [9999]
Ghosteron [2989]
TonaTor [1949]
XemorDio [1702]
kiprioT [28.03.2024]
juliocasellas32 [28.03.2024]
partizanen [28.03.2024]
Suko [26.03.2024]
igoryu-ninpo [24.03.2024]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум » Общее » Различные программы » Разработки от TonaTor (Разные мелкие программы)
Разработки от TonaTor
07.07.2021 в 07:26
#151
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
В SOEdit Version Next (v0.5m8) введена поддержка модов (тестовый режим).

https://imgur.com/7BkcdVa

20.07.2021 в 12:18
#152
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
А разработка новой версии всё продолжается.

В 0.5m8 введена проверка правильности сборки модели.
Если модель собрана неверно, то это может приводить к её нестабильности.
SOEdit Version Next 0.5m8 теперь об этом будет говорить.

https://imgur.com/e9rnC51

06.08.2021 в 13:06
#153
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
LODView.
Как же редко во "В Тулу Врага" используются лоды...

Лоды - это упрощённые версии нормальной, "высокополигональной" модели.
Лоды отрисовываются на значительном удалении от камеры.
Это позволяет увеличивать производительность игры, не теряя при этом в качестве графики.

Ещё со времён ВТВ-2, в игру включены MiP-Map и LOD технологии.

Первая - отвечает за использование масштабированных текстур (DDS).
Это позволяет снизить нагрузку на видеокарту (при выборке данных для текстурирования готовой геометрии).

Вторая - отвечает за использование масштабированной геометрии.
Это позволяет снизить нагрузку на процессор (при создании геометрии сцены).

В условиях плохого распараллеливания рендера геометрии сцены,
- LOD`ы являются хорошей мерой оптимизации.
Но по какой-то причине (а именно - Лень), используются во "В Тылу Врага" крайне редко...

Очень долго в SOEdit`е небыло нормальной поддержки лодов.
Хоть и сама конструкция лодов может быть эзотерической...
В прочем, обо всём по порядку.

Нормальная конструкция лодов выглядит так:
https://imgur.com/BjE55T9


1 - Это основной мэш кости;
2 - Это первый лод, который будет замещать основной мэш.

Но мододелы - это "мододелы".
А это значит, что можно рассчитывать даже на такие эзотерические конструкции, как эта:
https://imgur.com/LaxEGGz


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

https://imgur.com/0ZFwb9t


Теперь, SOEdit (версии v0.5m9) научился читать и записывать лоды и иные суб-мэши.
В дереве программы они обозначены как отдельные кости с урезанными правами редактирования.

Это позволило улучшить поддержку тех моделей, авторы которых позаботились об оптимизации.

08.08.2021 в 08:06
#154
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Очередная попытка починить анимацию.

Сложность устройства файлов анимации, в совокупности с множеством багов и недоработок SOEdit`а - практически не оставляют SOEdit`у шансов на нормальное взаимодействие с множеством файлов анимации...



Мне удалось частично починить работу с "оптимизированными" кадрами.
Но...
У меня вряд ли получится починить мэшевую анимацию.

Перепозиционирование вертексов внутри мэша, перезапись развёрток, сбор и хранение целой пачки "попутных" данных.
Архитектура SOEdit`а на это не рассчитана...

Однако, есть смысл копать скелетную анимацию ВТВ-2.
Устройство блоков "Frm2" из ВТВ-2 - концептуально близко к "Frmn" из ВТВ-1...
Технически, упрощённую работу с современными анимациями всё же можно организовать.

17.08.2021 в 15:53
#155
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Тэкс...

FRM2



Управление анимацией надо ещё немного доделать.
Конвертирование левосторонних кватернионов работает через ж...
Про внутримэшевую анимацию пака что можно даже и не думать...

28.08.2021 в 11:03
#156
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
А моё субботнее утро начинается не с кофе...

Ещё на днях я доделал работу анимации FRM2. Но не суть.

Сегодня удалось починить режимы отображения моделей.

Для 2D-окнон, отныне, существует 2 режима:
1) Сетка
https://imgur.com/OWUpjZK


2) Затенённый объём
https://imgur.com/09HDl6U


Эти режимы уже были готовы. Но кода, связывающего их с кнопками - не было.

Другое дело - это 3D-окно.
И код, и менюшку - пришлось делать заново.
Но по игогу, для 3D-окна теперь есть 3 режима:
1) Затенённый (базовый, по умолчанию):
https://imgur.com/CnKlPBq

(В нём действуют освещения всех типов.)

2) Текстурированный:
https://imgur.com/kmONUiX

(Эффекты освещённости - отключены.)

3) Сетка:
https://imgur.com/H8CZu4r

(Полигональная сетка - как есть. Но на грани сетки все равно наносится текстура.)

Только пришлось переделать управление камерой.
Новое управление:
ЛКМ - левая кнопка мыши.
ЦКМ - центральная кнопка мыши (колесо).
ПКМ - правая кнопка мыши.

1) Если зажать ЦКМ и CONTROL, при отпущенных ЛКМ и ПКМ:
Курсором мыши будет зуммироваться модель.

2) Если зажать ЦКМ без CONTROL, при отпущенных ЛКМ и ПКМ:
Курсором мыши будет перемецаться камера.

3) Если зажать ЛКМ, при отпущенных ПКМ и ЦКМ, то
3.1) При зажатом CONTROL будет меняться ориентирование камеры;
3.2) При отпущенном CONTROL будет меняться ориентирование модели.

4) Любое нажатие ПКМ включает меню.

31.08.2021 в 16:00
#157
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
https://imgur.com/s5cFstD


Смотрю я на это дело (коллизия WoT`овских танков), и думаю:
- Хмм... Полигоны WoT`овской коллизии окрашены в разные цвета.
...
Цвета обозначают уровни бронирования...

И тут я вспомнил устройство бронирования во "В тылу врага".
Всем известно, что бронирование в ВТВ задаётся путём указания толщин сторон волюмов:
{volume "body1" <- имя волюма
{thickness 19 0.6 <- общая толщина + погрешность (подразумеваемая в дальнейшем)
{front 15 0.6} <- толщина передней поверхности волюма
{rear 8 0.6} <- толщина задней поверхности волюма
{left 15 0.6} <- толщина левой поверхности волюма
{right 15 0.6} <- толщина правой поверхности волюма
{top 10 0.6} <- толщина верхней поверхности волюма
{bottom 7 0.6} <- толщина нижней поверхности волюма
}
{Density 1.0} <- коэф. плотности (качества) брони. По умолчанию равен 1.
}

А каким это собственно образом игра понимает, где и какая у волюма сторона?

- Я открыл модуль загрузки волюм-файлов, и мне на глаза сразу бросился блок "SIDE".
И вот этот блок в волюм-файле:
https://imgur.com/qom2nRA


- Любому будет понятно, что это Ж-ж-ж здесь неспроста...
Цифры от 1 до 6 - это наши стороны.

Интерпретировать эти данные оказалось весьма просто.
Режим "Shaded" в 2D-окнах был переделан в "Printed".
Т.ж, пришлось доработать цветовой и реестровый модули.
(Новая версия программы будет оповещать о старой версии реестра.)

Ну так вот:
https://imgur.com/e4pFFhG


Полигоны выделенного волюма теперь окрашиваются в цвета своих сторон.
По умолчанию задано следующее сопоставление сторон и цветов:
1) Перед - Красный;
2) Зад - Оранжевый;
3) Лево - Светло-фиолетовый;
4) Право - Тёмно-бирюзовый;
5) Верх - Голубой;
6) Низ - Розовый.

Таким образом, новая версия SOEdit становится первой программой, которая позволяет просматривать стороны волюмов;
Позволяя таким образом проверять их на "вшивость".

Ведь не секрет, что наш любимый 3D Max`овский плагин для экспорта моделей в игру - это косое, глючное поделие, на работу которого - мы повлиять не можем.
Отныне, в копилку его проблем можно смело занести ещё одну: абсолютно невменяемое определение сторон волюма.

Вот пример нормального распределения сторон волюма (то башни какого-то Шермана):
https://imgur.com/vEoS77y

(Для корректного отображения, матрица базиса должна быть инверсной)

А вот пример упоротого распределения сторон волюма (то башни какого-то Т-28):
https://imgur.com/SB1dxY4


А теперь, перейдём к интересному:

Шёл 2021й год.
Дополнение "CtA - Gates of Hell: Ostfront".
По сути - игра, для покупки которой требуется купить ещё одну игру...

Вы ещё не забыли о сопоставлении сторон волюмов с их условными цветами..?
А теперь смотрим на качество контроля коллизии моделей:

https://imgur.com/a7AiKYI


https://imgur.com/fQgareg


https://imgur.com/hLxBAcm


Историчность воплоти lol

По сути, разработчики GoH`а - это точно такие же рукожопы как и мы - мододелы.
И их инструменты аналогичны нашим.
А оно и не удивительно. Ведь некоторые разработчики - это и есть бывшие мододелы...

А DMS как было плевать на качество своего плагина, так и до сих пор плевать.

01.09.2021 в 10:58
#158
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Подготовка траков из WoT к настройке через мультискрипт:

Для быстрой и ненапряжной подготовки траков из Wot` нужно:
1) Взять траки с нормальной развёрткой:
https://imgur.com/VPCh5Qb


2) Добавить модификатор "упрощение" на выделенном объекте:
https://imgur.com/MsZ2kza


3) Упростить планарно так, чтобы на нижних скатах траков (цифра 2) не было лишних вертексов.
https://imgur.com/UfmU2s0


4) Упрощённые траки нужно экспортировать в ABC-файл. (Не в FBX. Он ломает развёртку).
5) Импортировать ABC`шный файл с траками в 3D Max, и натянуть текстуры:
https://imgur.com/oc1pwAH


6) Скалировать траки на 3950 процентов.
7) Конвертировать траки в "Poly":
https://imgur.com/FtofjbD


8) Выделить весь трак как элемент:
https://imgur.com/olcAOHY


9) Выполнить ретриангуляцию:
https://imgur.com/cAtfNc4


(При необходимости, нужно самостоятельно поправлять отдельные группы вертексов)

Далее, встаём на лыжню мультискрипта и вперёд!

08.09.2021 в 12:51
#159
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Т.к. экспортирующий плагин не может адекватно настраивать стороны коллизии, то настраивать их придётся вручную.

Для ручной настройки коллизии требуется выполнить ряд действий:
1) Конвертировать объект в "Poly"
https://imgur.com/xLY4G31


2) Установить тип выбора как "Polygon"
https://imgur.com/1v0xjLv


3) Опуститься до "Material IDs"
https://imgur.com/uZpxutq


4) В поле "Set ID" указать сторону, к которой относится полигон.
Пояснение:
1 - Front (Перед) "Красный";
2 - Top (Верх) "Голубой";
3 - Left (Лево) "Светло-фиолетовый";
4 - Right (Право) "Тёмно-бирюзовый";
5 - Rear (Зад) "Оранжевый";
6 - Bottom (Низ) "Розовый".

Для удобства распознавания сторон, у Man232 я заимствовал идею мульти-материалов.
И сделал файл материалов, который окрашивает волюм в т.ж. цвета, что и SOEdit.
Вот этот файл:
https://disk.yandex.ru/d/K2asuZG_qaRbew
https://www.mediafire.com/file....ile

Для его подключения нужно:

1) Переместить в папку:
C:\Users\[Ваше имя пользователя]\Documents\3dsMax\materiallibraries

2) Открыть редактор материалов:
https://imgur.com/wH2xtmQ


3) Если файл материалов не загрузился автоматически,
то через ПКМ нужно открыть библиотеку с материалом.
https://imgur.com/T34tz8A


4) Кликнуть по нему 2 раза. Появится материал, который можно будет применять к объектам.
https://imgur.com/KwnNUZL


5) Выбрав материал (1), выбрать объект коллизии (2) и применить материал к объекту (3).
https://imgur.com/z3Mw9r5


При этом, в "Material IDs" будет отображаться сторона выбранных полигонов:
https://imgur.com/A4kA7HS


А "в живую" это выглядит как-то как:
https://imgur.com/jRkGEsp


Таки дела...

UPD.
Man232 сделал очень полезный плагин для контроля сторон волюма.
Мододелам-моделлерам рекомендую.


https://mow-portal.ru/load/raznoe/check_volume_side/10-1-0-4240

11.09.2021 в 04:46
#160
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Зная, что файлы иконок можно делать и быстрее, продолжаю делать "по своему".


30.09.2021 в 13:04
#161
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Работаю над функциями копирования и вставки.

https://imgur.com/Dr7M0Rh


UPD:

Пока делал новые функции - вышел из себя.

https://imgur.com/nbtQ6MF


https://imgur.com/hVrthMh


Потом конечно в себя пришел.
Замечательно прогулялся...

Добавлена возможность копирования/вставки/вырезания костей (в нескольких режимах)
Активированы кнопки копировать/вставить/вырезать (на главной панели инструментов)
Кнопка "Копировать" - копирует всю ветвь выделенной кости в буфер обмена windows.
Кнопка "Вставить" - вставляет костную структуру из буфера обмена windows, после выделенного элемента.
Кнопка "Вырезать" - копирует всю ветвь выделенной кости в буфер обмена windows и удаляет выделенную кость со всем её содержимым.

Реализовать всё это дело оказалось достаточно сложно .

01.10.2021 в 23:55
#162
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Добавлена пара новых режимов отображения: "без текстур" и "сетка без текстур".

https://imgur.com/PAD4bYA


https://imgur.com/uDgLpBD

04.10.2021 в 15:41
#163
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Тема анимации получает своё развитие.
Теперь, SOEdit умеет создавать простые скелетные анимации.
Этот инструментарий ещё развивать и развивать, но первая анимация уже готова!


06.10.2021 в 11:57
#164
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Ох е*ись оно всё в три погибели.

https://imgur.com/iIp4FJv


Сложность разработки растёт экспоненциально.

Не много ли я на одного себя то беру?

07.10.2021 в 16:00
#165
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
https://imgur.com/OIe36Uj


Да, это шаротанк.
Да, мэши теперь можно раскрашивать в разные цвета.

https://imgur.com/xCmbQ6d


Почти как в 3D MAX`се!

09.10.2021 в 17:54
#166
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Хм. Из этого может получиться неплохой просмотр коллизии.

https://imgur.com/v2XOGkc


Кажется я знаю, чем займусь этой ночью) 000005

UPD. Несколько потных секунд спустя...

Задачу я кажется немного переоценил.
Самая малость посредственного кода и вуаля!
Просмотр коллизии прямо в 3D-окне.

https://imgur.com/kD19qho

11.10.2021 в 12:00
#167
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Добавлена возможность редактирования списка анимации.

https://imgur.com/JaQqhFX


Как же здорово удалось сделать этот гибридный режим. Не зря в рендерер полез :)
Тот редкий случай, когда кайфую от проделанной работы.

13.10.2021 в 15:44
#168
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Начал модифицировать систему редактирования анимации.
Это будет долгая и сложная работа.

https://imgur.com/fOLQBhi

14.10.2021 в 16:20
#169
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Общие алгоритмы линейной вставки и удаления.

https://imgur.com/iyCLDRr


https://imgur.com/gSOw27U

21.10.2021 в 19:23
#170
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
SOEdit может открывать SUBM-блочную ландшафтную геометрию, но читать её текстуры ещё не умеет.

https://imgur.com/tzwkx1l

28.10.2021 в 17:33
#171
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Продолжаю доработку окна редактирования анимации:
https://imgur.com/0KstERA


Но и об окне редактирования костей не забываю:
https://imgur.com/L35DZME


P.S.
Ну это уже какой-то ад.
Кол-во элементов начинает зашкаливать.

01.11.2021 в 14:48
#172
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Два дня времени; Миллион убитых нервных клеток - и новая камера готова.



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

Камерой стало разительно удобней пользоваться,
Но кто-ж знал, что её настройка - это так запарно...

05.11.2021 в 16:28
#173
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Вот и как бы я исправлял косяк с этой моделью, если бы у меня не было самодельного редактора PLY-файлов.



А ведь когда-то уже существовала такая штука, как "PlyFix"...

12.11.2021 в 16:23
#174
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Сделал более корректное и наглядное позиционирование освещения:


Ай! Как же я заканался с этой лампочкой!

Добавил возможность подшивки новых лодов:
https://imgur.com/htaobJF


Пару слов про лоды:
1) Лодом можно сделать любую кость с мэшем;
2) Если кость является лодом - нельзя убирать с неё мэш;
3) OFF можно ставить только на главный лод (если он не является суб-лодом) (в ручном режиме);
4) Суб-лодом можно сделать только новую кость, добавленную в начало парента-генерального лода (соблюдая очередь);
5) С кости не может быть снят лод, если есть саб-лоды.

P.S.
Всё больше и больше мне кажется, что всё сделано как-то по дурацки...
Абсурд погоняет маразмом...
Абсурден и не согласован не только интерфейс, но и весь программный код.
Каждая строка кода написана бездумно и не к месту.
А количество Функций, которые нужно реализовать, больше чем у меня есть свободного времени.
По моему, я сдохну раньше, чем доделаю эту хрень..

16.11.2021 в 17:41
#175
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Так блин.

Меня задолбало раз от раза переписывать код окна редактирования анимации в SOEdit.

Решил немного отвлечься и вытащить из пыльного ящика старую идею про уровни отображения (Лоды, Мипы).
Потыкал 10 минут в клавиатуру. И вот, что из этого вышло:


19.11.2021 в 20:40
#176
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Вот чем бы другим не занимался, а лишь бы SOEdit не делать.


Добавил: открытие меню в списке компонентов на двойное нажатие ЛКМ по элементу в нём.
Добавил: возможность переименовывать компоненты через кнопку в списке компонентов.
Исправил: баг неверного автовыбора предшествующего компонента с частично совпадающим названием в списке компонентов.

Пост с "Easy structure maker for MoW".
https://mow-portal.ru/forum/30-189-6118-16-1600091659

Приложение к релизу новой версии:


20.11.2021 в 16:30
#177
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
SOEdit - штука сложная, новую версию разрабатывать придётся долго.
Выкладывать новую версию в каталоге пока не буду.
Ещё много чего не сделано, а что-то работает неправильно.
Анимация вообще недоделана.

https://imgur.com/usYM55J


Но так или иначе, вот тестовый билд:
https://disk.yandex.ru/d/FWSDLGXy1h78rw

21.11.2021 в 10:21
#178
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
А моё воскресное утро начинается не с кофе.
Только вчера выложил тестовый билд. А уже сегодня начал разработку нового.
И первое, что я добавил - это фоновую сетку в 3D-окне (в качестве отключаемой опции).

Вот как было:
https://imgur.com/Y6dYAUY


И вот как стало:

https://imgur.com/piy5vgd


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

25.11.2021 в 15:41
#179
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Нарипал более сотни моделей из Steel Division-2. Не одними же бумажными танками из WoT довольствоваться?)
Теперь мои вечера максимально полны рутины...


01.12.2021 в 14:08
#180
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
В очередной раз переделал освещение в SOEdit.

Прожекторный тип освещения работал достаточно криво,
Ландшафт он почти не освещал, да и с настройкой его вектора я ещё не разобрался.
С освещением моделей тоже были проблемы.

Проблему решил радикально - прожекторный тип освещения был переделан в глобальный.
На больших объектах освещение стало работать более естественно.



Ну и пока я болею, начал прорабатывать концепт программы для полуавтоматического, пакетного создания иконок:
https://imgur.com/NoC93G6


Даже толковых тех.требований к ней ещё нет, а название "easy icon maker" так и просится))

05.12.2021 в 21:40
#181
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Смотрю я на рендерер SOEdit`а и печалюсь.
Какое же это убожество...

Начал гуглить, и нашёл вот такую вот красоту:)



Добавить спекулярку хочется. Ну ОЧЕНЬ ХОЧЕТСЯ!! Аж слюнки текут 43
А не получается ;..(
Проблемы с инициализацией контекста устройства.
OpenGL - очень капризная штука.
Чтобы инициализировать контекст версии 3.3, нужно через [ЦЕНЗУРА] инициализировать временный контекст 1.1.
Visual Studio, Windows...
Фреймворки через одно место кое-как зацепил. Без них нельзя.
Тот ещё гемор. У всех ж ведь свои IDE.
Запарило...

Но графона очень ведь хочется. ;(

11.12.2021 в 14:00
#182
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Эх. Очень жалко отправлять хорошие идеи в топку...
Как бы я ни старался, а перевести рендерер на новую версию OpenGL никак не удаётся.
Я перепробовал несколько вариантов реализации и целую пачку фреймворков, но увы.
Часть фреймворков подключить оказалось вообще невозможно.

Ценой потери огромного кол-ва времени на изучение материала, удалось создать нужный мне контекст рендера.
Но ни сам процесс рендера, ни процесс вывода результата на монитор - организовать не удалось...
https://imgur.com/4fsEtEE


Просто мёртвый чёрный экран.
Вероятно, что к этому старому хламу просто невозможно подшить новую версию OpenGL`я.
По крайней мере, моих сил для этого недостаточно.

Дизмораль - всё что я испытываю по этому поводу.

Надо, надо, надо...
Столько "надо" накопилось за последние месяцы.
Надо:
1) Сделать открывалку карт для Ш2;
2) Сделать фокусировку камеры на выделенном компоненте;
3) Сделать окно настроек программы (готово);
4) Сделать защиту от повреждённых файлов;
5) Сделать просмотр уровня лодов;
6) Сделать возможность конвертирования модели в OBJ или подобный формат;
7) Переделать блок записи авторских прав модели (готово);
8) Переделать окно настройки коллизии;
9) Доделать окно редактирования анимации.
И т.д. и т.д. и т.д. и т.д...

Да вот только на реализацию всех этих "надо" есть лишь один энтузиаст-полусамоучка.
Ни моих опыта и знаний, ни моих времени и сил - не хватит, чтобы довести эту программу до вменяемого состояния.
Зато. Проблем и недоработок в этой программе хватает, чтобы довести меня до апатии.

В общем и целом, SOEdit - бесперспективен.
Улучшенную технологическую базу к нему не пошить;
Исправить его проблемы без переписывания всего исходного кода - невозможно (т.к. наглухо испорчена сама архитектура, скелет программы).

Так ведь и мало того, что эту помойку невозможно привести к вменяемому тех. состоянию,
так ещё и недавно, ко мне в руки попали файлы от следующей версии движка игры - GEM 3.
И что я там обнаружил?
- Правильно!
- Полную несовместимость с большей частью своей алгоритмической базы!

Теперь я прекрасно понимаю Brian A. Kay - автора оригинальной программы.
Тратить гору времени на кривой, бесперспективный, никому не нужный хлам - это глупо.
Эта программа никогда не будет нормальным 3D-редактором.

По сути, реальных предназначений у SOEdit`а весьма мало:
1) Ознакомление с устройством модели (для обычного пользователя);
2) Тренировка программерских способностей (для меня);
3) Разворовывание исходного кода для создания более полезных проектов (а такие люди вообще есть?).

Вкладывать во что-то гору сил и времени,
но не получать никакого результата - дизморалит.
А ведь мне ещё в 2019 говорили, что всё нужно переписывать с нуля...

Что могу резюмировать по этому поводу:
Энтузиазм - это неплохое топливо для старта;
Ярко горит, да вот только сгорает относительно быстро.
Ведь на голом энтузиазме, как на квадратных колёсах - далеко не уедешь...
Тут нужен опыт и хорошие знания технологий.

Ну а пока я возьму небольшую паузу в разработке.
Высплюсь хоть...

19.12.2021 в 20:07
#183
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
За последнюю неделю мне удалось уменьшить срок своей жизни ещё на семь дней.
Однако, об иных достижениях говорить сложно, в частности из-за того, что их практически нет.
Разве что, обнаружил ещё целый ряд неприятных багов, которые придётся исправлять...
А куда нахрен денусь? Не бросать же начатое...

Увы, но по всей видимости придётся делать вторую очередь рендера для объектов со сложной для тестирования глубиной отрисовки полигонов.
Ибо при динамическом изменении настроек Depth-тестировщика ломается весь буфер глубины :((

https://imgur.com/GSRBEUW


https://imgur.com/LHOwtIu

24.12.2021 в 08:13
#184
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Ну а пока количество багов становится критическим, а я окончательно перестал что-либо успевать;
Была добавлена поддержка цветовых данных, зашитых непосредственно в вертексы (размером 52 байта EPLY-типа).

В этой модели, прозрачность стекла "зашита" внутрь самого мэша. Как это сделано - в душе не знаю.

https://imgur.com/LEslg5v


https://imgur.com/dtp9nrF


Изучил вопрос неправильного тестирования глубины сцены.
Оказалось, что не я один такой лох. На каком-то этапе, все OpenGL-разработчики испытывают эту проблему.
И тут - голь на выдумку хитра.
Каждый изворачивается как может.

Крутые методы решения этой проблемы мне не светят.
С шейдерами - я облажался, предварительная сортировка полигонов - невозможна в силу того,
что модель - это целый набор мэшей, нанизанных на скелет свободной ротации и масштабирования.

Буду думать...

26.12.2021 в 17:01
#185
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Мда.

Борис Уразбаев поставил новый рекорд кол-ва полигонов на одну модель.
2 349 814 полигонов для Bergepanther`а.

SOEdit с бОООльшИИИм трудом отобразил эту модель в 2 fps. И это на моём то железе...
(К чести SOEdit`а - я вообще не ожидал, что он сможет отобразить что-то подобное. А ведь ядро этой программы разрабатывалось ещё для первой ВТВ)

Отобразить то он её смог, но меня резко не устроил fps.
Моей первой рефлекторной реакцией было подключение технологии многопотока.
Меня всегда это спасало, но тут поджидал облом:



Конечно. Цикл рендера стал выполняться быстрее. Fps вырос в 3 раза.
Но контекст рендера не вывез такую похабную асинхронность, а идей по нормальной реализации у меня нет.
(Ведь в программирование 3D-графики я влез сравнительно недавно).

И конечно, у нормальных моделей и fps будет нормальный.
Но возможности текущего рендерера уже на пределе. И это грустный факт.

А вообще, по хорошему - кол-во полигонов для новых моделей техники не должно превышать 20000.
Хотя, раньше, стандартом считалось около 10000:

https://imgur.com/5zjI45Z


Мододелы конечно фигачат и по 30-60 тысяч - и всё работает.
Часто встречаются модели на 100-150 тыс. И даже с ними нет проблем.

https://imgur.com/jSNr9II


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

А я в очередной раз на дизморали.
Перспективы у программы всё хуже и хуже...

27.12.2021 в 10:47
#186
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Тестирование и отладка - это повод меланхолично думать о чём-то вечном, бесконечном и человечном...
Ведь ты никогда не знаешь, где и как ты найдёшь баг, который убьёт твою программку.
Любая программа работает так, как она создана, а не так, как ты хотел её создать.



Эх... Как же надоело мне в режиме отладки, тараканом бегать по программным адресам.

10.01.2022 в 15:44
#187
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Порой, всего несколько строчек кода способны улучшить впечатление от программы.



Некоторые модели фризили при перемещении курсора во время воспроизведении анимации.
Небольшая отсечка кода помогла это исправить.

21.01.2022 в 12:37
#188
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Двигаясь с солидной неторопливостью, продолжается разработка сойки.

Пришлось заняться созданием скучных функций.
Они настолько скучные, что можно заскучать даже читая этот пост.

Первая функция - вывод номера строки с нераспознанной или сбойной командой из mdl-файла:
https://imgur.com/Lnk47cx


Вторая функция - соблюдение копирайтов модели.
Старые версии SOEdit не умели соблюдать копирайты. Да и мне копирайты не очень интересны.
Но для проформы - такая функция нужна.
Чисто для того, чтобы я имел возможность послать вонючих копирастов куда подальше.

" - Что? Кто-переделал вашу дурацкую модель с помощью SOEdit и упоминание о вас стёрлось из mdl-файла?
А ко мне то какие вопросы? Со своей стороны я позаботился о соблюдении копирайтов. Так что кыш от меня, Супостат!"

Все копирайты содержатся в начале mdl-файла в блоке комментариев.
SOEdit устроен так, что он просто скипает комменты, даже не читая их.
Пришлось доработать основу основ, а именно - SDL парсер.
И вот, сойка уже может читать первые комменты.
https://imgur.com/wrznDEk

Однако. Сама по себе эта вторая функция готова примерно на 10-15%.

22.01.2022 в 17:33
#189
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Спустя некоторое время после 21 января, а именно 22 января, сделал окно с некоторыми "глобальными" настройками и сведениями.

https://imgur.com/gHcjfl2


Но его ещё надо подшить к парсерному, реестровому и рендерящему модулям.

23.01.2022 в 16:26
#190
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
И так.
На что я просрал потратил свои выходные:
1) Доделал простенький парсер копирастских данных.
(Если кто-то отходит от стандартного формата записи таких данных - то извините. Я не буду делать программу специально под вас.)
2) Сделал возможность включать/выключать отображение некоторых волюмов и лампы-индикатора глобального освещения.
https://imgur.com/oEQvsgX

3) Сделал возможность менять Fov. (По умолчанию он равен 45.)
Вот только будьте осторожны. Не вырвите себе глаза после его изменения.

Fov 20:
https://imgur.com/E3a9JSP


Fov 120:
https://imgur.com/wqWFhjC


В прочем...
Почти все результаты моего "выходного рукоблудия" запечатлены на этом видео:


*Не финальная, но тестовая версия кода.

Надеюсь, что моя мигрень стоила всего этого...

29.01.2022 в 07:59
#191
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Выходные. Бронхит.
Не сплю.

Рендер сцены исходя из анализа вертексного расположения так и остался на уровне концепций...
Но, мне удалось доделать первую версию второй очереди рендера.
Это немного сгладило проблему неверной работы Depth-тестировщика.
Хоть и не исключило её полностью...



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

И вот спустя 2 месяца выкладываю новый билд.
https://imgur.com/8sdlClx


Ссылка:
https://disk.yandex.ru/d/RP4Ghfs9CoMVBQ

Сама программа как всегда находится в папке "Release".
Работает только с распакованными ресурсами.
Пути к ним устанавливаются в: "Главное меню" -> "Файл" -> "Преференции":

https://imgur.com/GEWJX8K


В состав новой версии программы входят: 99% багов, 1% обманутых ожиданий.

Этот билд не может похвастаться стабильностью.
Моих сил не хватает на вылавливание всех багов по памяти.

Программа достаточно сложная и делается "в одного", основываясь на методах ущербного обратного инжинеринга.
Программа забагованна и недоработана вдоль и поперёк.
Никаких гарантий её работоспособности нет и даже не подразумевается!

12.02.2022 в 12:06
#192
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Потихоньку разрабатываю новые версии SOEdit и MoW PLY Tweaker (бывий Editor).

Как это часто бывает, допустил, а теперь и нашел небольшую ошибку в коде.
Из-за неё, в некоторых PLY-файлах могли отсутствовать текстурные координаты (UVs).
Но странно даже не это. Я - рукожоп, с этим определились.

Странно то, что игровому движку пофиг на отсутствие этих координат.
Он просто фигачит всё по нулям. И ему нормально. Не выдаёт ни единой ошибки!


16.02.2022 в 17:08
#193
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
В этом посте: https://mow-portal.ru/forum/30-189-6635-16-1615735329 я когда-то писал,
что при изменении геометрии PLY-файла, спекулярные текстуры в MTL`ах придётся отключать.

Причиной тому является то, что при перезаписи PLY-файла с помощью движка игры, ломаются запечённые нормали в самой геометрии.

Допустим. Если взять вот такой танк:

https://imgur.com/YyZR30h


Изменить геометрию его корпуса как на этом видео:



То запечённые нормали геометрии превратятся вот в это:

https://imgur.com/eGm9HcM


Я не умею перезапекать по своему.
Но в очередном обновлении программы для частичного редактирования файлов, этой проблеме нашёл частичное решение.

Об обновлении:
Т.к. программа "MoW PLY Editor" является лишь частичным редактором, и выполняет лишь тонкую настройку,
то было бы правильно переименовать её в "MoW PLY Tweaker", что собственно и было сделано.

https://imgur.com/o1ine4r


Помимо исправления нескольких мелких багов, программа получила и несколько новых функций:
1) Извлечение нормалей в отдельный файл. И перезапись нормалей на те, что в извлечённом файле;
2) Копирование нормалей в Бамп-область;
3) Отображение количества текстурных развёрток.

По итогу, если сначала извлечь нормали, потом пропустить PLY`шку через игровой движок, а после этого перезаписать нормали на ранее извлечённые, то получается неплохой результат:

https://imgur.com/PWvuEcc


Вот только есть пара нюансов:
1) Перезаписанные таким образом нормали, уже не будут выдавать полностью качественную картинку, т.к. углы расположения полигонов изменятся, а реакция нормалей на освещение - нет.
Хотя... Учитывая, что у многих моделей нормали либо сломаны, либо созданы по разным алгоритмам.
То модели, обработанные моим способом будут иметь невысокую степень страдания.

2) Сомнительная синхронизация данных по количеству вертексов.
После прогонки тестового PLY-файла через игровой движок, мой тестовый PLY-файл потерял один вертекс.
Потеря даже одного вертекса ведёт к рассинхронизации с таблицей извлечённых нормалей.

И по итогу, функция перезаписи нормалей - априори не может работать полностью стабильно и корректно. Хоть в целом и может выполнять свою задачу.

Но есть ещё кое-что, что я лишь косвенно затронул:
Функция копирования нормалей в Бамп-область.

Недавно, Man232 предложил вариант расшифровки бамп-области.
Получилось следующее: 9 чисел типа "float", задающих вектор полигона,
и как мне кажется, ещё один "float" несущий в себе коэффициент от -1 до 1.

Первое, что я сделал - это взял обычную стандартную модель с бампами:

https://imgur.com/movgjVL


И линейно интерпретировал бамповые вектора как нормали.
Картина в SOEdit получилась дюже странная:

https://imgur.com/YXfyBp9


Не знаю, каким именно образом этот бамп влияет на освещённость в игре.

https://imgur.com/nBZd6ED

https://imgur.com/2ZU7d1o


Возможно, что тот последний "float" - это некий коэффициент инверсии освещенности.
Но что я вижу точно - это частое отсутствие сглаживания:

https://imgur.com/irvu6jB


Вряд ли алгоритм бампинга геометрии построен на алгоритме создания нормалей.
Или он очень сильно извращён...

Но очень часто так бывает, что в модели нет этой бамп-области. А без неё и бамп-текстуры не работают.
Поэтому и была сделана костыльная функция, превращающая нормали в бампы.
Что на данный момент выглядит так:

Модель с обычными бампами:

https://imgur.com/5PbXrnu


Модель с бампом из нормалей:

https://imgur.com/YMyZ2s8


Хотя, по хорошему, с коэффициентом бы надо ещё поэкспериментировать...

И ещё, на закуску - пилю очередную скучную, но необходимую функцию для SOEdit.
А именно - возможность включать/выключать отображение отдельных компонентов модели:



Хех..
Модуль кода, отвечающий за обработку действий внутри дерева компонентов - нынче уж совсем напоминает сатанинские письмена...

21.02.2022 в 09:22
#194
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Очередная доработка рендера.
Устранён пересвет геометрии коллизии.

Было:
https://imgur.com/K67oS4f


Стало:
https://imgur.com/7yoXoM3


Но на больших полигонах коллизии может появляться пересвет.
Вот облом...

https://imgur.com/ohjovkU

27.02.2022 в 11:37
#195
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Изменил конфигурацию окон в SOEdit на, как мне кажется, более логичную.

https://imgur.com/NjCTEuc

01.03.2022 в 11:27
#196
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Ещё в стародавние времена, когда я только познакомился с SOEdit`ом, мне не понравились артефакты на выдаваемой им картинке.
Проблем у этой программы было много, сильно больше чем сейчас...
А опыта у меня было сильно меньше.
И не удивительно, что будучи полусамоучкой, не сталкивавшимся с программированием 3D-графики, я не смог исправить даже часть из них.

Но глядя на выдаваемую SOEdit`ом картинку, долгое время мне приходилось испытывать моральные страдания.
Но всему рано или поздно придёт конец...

Уже более двух недель я по чуть-чуть доделываю рендер.
И если раньше, рендерер мог неправильно конфигурировать OpenGL на некоторых мэшах,
то сейчас конфигуратор переделан и часть его параметров была изменена.
Для режима альфа-тестирования был пересчитан коэффициент реагирования и введён дополнительный контроль форматов материалов.
А заодно было введено коэффициентирование освещённости цвета геометрии сцены.
Переводя на человеческий язык - часть артефактов исчезла, а картинка стала ярче, но только там, где это надо.

Повышая ставки, переходя от слов, к скриншотам:

Было:
https://imgur.com/28pyfMH


Стало:
https://imgur.com/hyBd8us


Было:
https://imgur.com/2AaMLEX


Стало:
https://imgur.com/EP0yDzR


Было:
https://imgur.com/J5oPAEf


Стало:
https://imgur.com/rwwXjCU


*Ещё можно заметить, что программа вновь переводится на буржуйский язык.
Скоро программу можно будет компилировать на русском или английском языке. (А возможно, что появится ещё и французский.)

03.03.2022 в 15:39
#197
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Добавил режим, при котором коллизионная модель принудительно рендерится как сетка.
Закончил перевод программы на английский язык.

https://imgur.com/9Ck9zNZ


https://imgur.com/xQbzgjy


Но с переводом программы на другие языки могут возникнуть проблемы по двум основным причинам:
1) "Visual Studio MFC" - это не "Builder/RAD Studio" от "Embarcadero";
И принцип работы с компонентами здесь гораздо более сложный.

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

Остаётся только проводить тесты...

https://imgur.com/13uJ4yM

04.03.2022 в 14:42
#198
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Ещё одно сравнение старого и нового рендера:

Было:
https://imgur.com/T6KDroA


Стало:
https://imgur.com/xRNbeKY



15.03.2022 в 19:26
#199
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
У меня есть какой-то план. Я не знаю его содержание, но последовательно следую ему.

Выкладываю новый билд раньше времени, и надеюсь, что будет нормально.

Список изменений небольшой, но с примечательной функцией:
1) Переделал кнопку "Сохранить". Теперь она старается сохранить текущий открытый файл, а не заставляет каждый раз выбирать вручную.
2) Добавил возможность сохранять файлы анимации.
(Но редактор анимации ещё не доделан)

Записал небольшое видео о том, как в ручную рассчитывать анимацию:

16.03.2022 в 18:54
#200
TonaTor
Зам. Основателя
Статус: Offline
Регистрация: 10.12.2017
Сообщений: 1949
Репутация: 826
Введена очередная графическая функция.

https://imgur.com/orFHpR4

Форум » Общее » Различные программы » Разработки от TonaTor (Разные мелкие программы)
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:
Индекс цитирования