Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Визуальный уровень
denis2000Дата: Пн, 10.10.2011, 21:36 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Визуальный уровень

Редактирование текстур, добавление новых текстур в игру, 3D моделирование и т.д.

Если у вас появились вопросы по созданию и редактированию трехмерных объектов ,изменению и добавлению текстур. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]

[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
Для того чтоб найти LOG необходимо зайти вот сюда:

В Win хр лог находится:

C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs

Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.

В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs

Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
...
$app_data_root$ = true | false| $fs_root$| users\
(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
...
$logs$ = true| false| $app_data_root$| logs\
(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
...
[/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Код
function abort(fmt, ...)
                       local reason = string.format(fmt, ...)
                       error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Код
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)

Второй:
Код
Expression    : 0
Function      : ErrorLog
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
Line          : 49
Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'

[/cut]


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


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
by_gangsterДата: Сб, 06.04.2013, 10:03 | Сообщение # 421
Научный сотрудник Бункера
Ученые сталкеры
Сообщений: 233
Награды: 6
Репутация: [ 171 ]

denis2000, Можно ли сделать что-бы оно двигалось вместе с солнцем ?
И как его отредактировать ? Какими программами ?


Сообщение отредактировал by_gangster - Сб, 06.04.2013, 11:55
 
denis2000Дата: Сб, 06.04.2013, 20:07 | Сообщение # 422
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата (by_gangster)
Можно ли сделать что-бы оно двигалось вместе с солнцем?

Ну чисто теоретически возможно.
Цитата (by_gangster)
И как его отредактировать?

Дизассемблировать, затем переписать интересующий кусок программы и скомпилировать обратно в исполняемый код.
Цитата (by_gangster)
Какими программам?

Например IDA Pro Disassembler.

ПС: Если вы задаете такие вопросы - то никак! Поскольку такая задача требует навыков программирования на уровне эксперта.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
by_gangsterДата: Сб, 06.04.2013, 20:20 | Сообщение # 423
Научный сотрудник Бункера
Ученые сталкеры
Сообщений: 233
Награды: 6
Репутация: [ 171 ]

denis2000, ну а хотя бы без
Цитата (denis2000)
двигалось вместе с солнцем
?
просто изменить положение


Сообщение отредактировал by_gangster - Сб, 06.04.2013, 20:21
 
denis2000Дата: Вс, 07.04.2013, 12:49 | Сообщение # 424
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата (by_gangster)
просто изменить положение

Все также по полной схеме.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
by_gangsterДата: Вс, 07.04.2013, 13:45 | Сообщение # 425
Научный сотрудник Бункера
Ученые сталкеры
Сообщений: 233
Награды: 6
Репутация: [ 171 ]

denis2000, Пожалуйста подскажите в каких папках искать ?
 
denis2000Дата: Вс, 07.04.2013, 16:32 | Сообщение # 426
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

by_gangster, В папке bin файлы xrRender_R*.dll. Всего четыре файла, соответственно для DirectX 8, 9, 10 и 11.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
by_gangsterДата: Вс, 07.04.2013, 17:14 | Сообщение # 427
Научный сотрудник Бункера
Ученые сталкеры
Сообщений: 233
Награды: 6
Репутация: [ 171 ]

denis2000, яркость тоже там же ?
 
denis2000Дата: Вс, 07.04.2013, 22:12 | Сообщение # 428
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

by_gangster, Не нравятся тени от солнца убери его совсем в настройках погоды:
Код
sun_longitude  = -2.000000

А для того чтобы добиться нужной освещенности используй эти параметры:
Код
hemisphere_color = 0.5, 0.5, 0.5, 1.000000
sky_color = 0.800000, 0.800000, 0.800000


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
by_gangsterДата: Вт, 09.04.2013, 19:22 | Сообщение # 429
Научный сотрудник Бункера
Ученые сталкеры
Сообщений: 233
Награды: 6
Репутация: [ 171 ]

denis2000, спасибо, ещё такой вопрос, я вот например создал свой параметр солнца в suns.ltx и в папке weather во всех файлах (default_***.ltx) его прописал. На обычном освещении всё нормально, но начиная с Полного динамического освещения моё солнце отображается вообще в противоположной стороне, хотя расположение не менял...

P.S sun_longitude - это положение солнца...


Сообщение отредактировал by_gangster - Вт, 09.04.2013, 19:54
 
Earth2SpaceДата: Вт, 23.04.2013, 11:32 | Сообщение # 430
Механик-водитель 6-го моторизованного квада
Долг
Сообщений: 344
Награды: 5
Репутация: [ 103 ]

[cut]
Цитата (Sentinel)
И напоследок, самое прекрасное. Текстуры мода/оружий/остального/измененная ванилла. Увидев, в каком формате упакованы ддски, причем такие, которым лишний альфаканал не просто не нужен, а только вредит, увидев бампы, размером с две-три ддски-оригинал, и можно продолжать долго, ибо текстур там миллион и маленькая тележка... в общем:
1. Абсолютное большинство текстур мода (как SGM2.2, так и мастерская Енота) можно и нужно перепаковать в DXT1a. Одного альфаканала с головой хватает для всего, кроме ui_***, где отображаются полоски на характеристиках оружия. Но нет же, все текстуры упрямо упакованы не только в DXT3, но еще и в DXT5.
2. Я переконвертировал большую часть текстур из DXT3 и 5 в DXT1a. Проверил на статическом, динамическом и улучшенном полном освещении со средними настройками антиализинга и сглаживания. Разницы в отображении текстур DXT3-5 и DXT1a абсолютно нет.
3. Размер текстур уменьшился ровно в два раза. Загрузка видеопамяти за счет конверсии текстур снизилась на 15-20% (а вы хотели 50%? Неееет), однако эта операция вызвала невероятный буст FPS - с 45-50 при средних настройках FPS поднялись до 80-100 на тех же настройках. Это почти 100% прирост, всего лишь за счет уменьшения размера текстур и, так как был изменен алгоритм сжатия, то соответственно распаковка и рендер этих текстур происходят в разы быстрее.

З.Ы. На будущее модмейкерам - Вот тут о DXT-алгоритмах - я в свое время лепил моды на такие игры как Обливион и M&B Warband, и очень хорошо представляю себе, как текстуры влияют на работу игры/приложения в целом. Если вы МОЖЕТЕ без потери качества использовать ДА, СТАРЫЙ алгоритм сжатия вместо прогрессивного нового, используйте старый. Просто потому, что это вам не архиватор, а многопоточный декодер бинарного кода. И если вы не знаете, то по скорости простых однообразных вычислений (декодинг и рендер текстур к ним относятся) GPU видеокарт перегнали вычислительные мощности процессоров еще тогда, когда в свет вышла 5 серия GeForc'ов.
Если кто-нибудь хочет протестить или что-то еще:
1. DDS Converter 2.1
2. Профит.
Могу также завершить дело с конверсией и выложить этот High Performance Pack куда-нибудь. Качества он не ухудшает, поэтому low-res его назвать было бы неправильно. Конечно, одной-двумя царапинами на стволе может быть и меньше, но кто их считает?
[/cut]Хм... Очень интересное наблюдение! Можно поподробнее? Конвертации подверглись ВСЕ текстуры, кроме папки ui? С текстурами оригинала производились какие-нибудь эксперименты\сравнения\исследования?



Стол заказов | Правки движка | O.G.S.E. 0.6.9.3


Сообщение отредактировал Earth2Space - Вт, 23.04.2013, 11:36
 
SentinelДата: Вт, 23.04.2013, 12:15 | Сообщение # 431
Отмычка
Пользователи
Сообщений: 35
Награды: 0
Репутация: [ 7 ]

Цитата (Earth2Space)
Хм... Очень интересное наблюдение! Можно поподробнее? Конвертации подверглись ВСЕ текстуры, кроме папки ui? С текстурами оригинала производились какие-нибудь эксперименты\сравнения\исследования?

Конвертации подверглись не все текстуры, но большинство. DDS Converter не может создавать batch-скрипты, поэтому кажду папку мне ручками приходилось конвертить. Папки
\act **
\amik
\detail
\floor
\grnd
\item (кроме item_detector*)
\item_r
\mtl
\new
\nwm **
\roof
\sgm **
\shoker_mod **
\ui (кроме ui_global_map, ui_actor_hint_wnd, ui_actor_menu) И да, этот самый ui_icon_equipment в 8 Мб весом очень легко конвертируется в 4мб без проблем.
\terrain
\wall
\wpn **

** - некоторые файлы из этих папок не хотят конвертироваться nvDXT или DDS Converter'ом. Софтина вылетает сразу при попытке их отобразить.

Далее. С текстурами оригинала сравнения были, я это в своем посте указал. Хотя это так, для галочки. Формат DXT1a - это текстура 8:8:8:1 RGBA, альфаканал на ней один. Разумеется, нам больше и не надо, если это текструа БРОНИ, ОРУЖИЯ, ПРЕДМЕТА и тому подобного, в т.ч. и ОКРУЖЕНИЯ. Конечно, есть и исключения, например стекло. Которого я в Сталкере не видел, за исключением розового бутыля на Скадовске в оригинале. Или в СГМ 1.7. Не суть.
Текстура, на которой не находятся дополнительные слои прозрачности (в случае с характеристиками оружия - они сравниваются, и поэтому там 4 слоя минимум - пустой, белый, красный, зеленый - отсюда и необходимость использовать алгоритм DXT3 - 8:8:8:8 RGBA) должна быть сжата исключительно в DXT1a. А если на ней нет альфаканала - то и вообще в DXT1c. Хотя по сути, особой разницы между 1a и 1c в скорости или размере нет. DXT1 сжимается в 8 раз, DXT3 и 5 - в 4 раза.

Более подробно уже никак не обьяснить. Вы, все те, кто делал текстуры и знает, какого рода прозрачность и сколько оверлеев (слоев) может на ней быть, должны знать и про алгоритмы сжатия. Но конечно, куда проще batch-нуть все текстуры сразу в DXT3 или 5, и пофигу, что и мод будет весить на порядок больше, и загрузка видеопамяти будет больше, и распаковка таких текстур жрет лишние ресурсы конвейеров видеокарты... Так проще модмейкеру, а это главное, да?
 
БабайДата: Вт, 23.04.2013, 13:46 | Сообщение # 432
Ветеран
Пользователи
Сообщений: 484
Награды: 9
Репутация: [ 233 ]

Цитата (Sentinel)
Софтина вылетает сразу при попытке их отобразить.

У меня фотошоп с плугином ДДС вылетал при открытии скай-боксов (кстати в СГМ 2.2 они сделаны с мип-мапами) из-за их размера, а все отмеченные тобой открываются без проблем. Решение проблемы со скай-боксами нашел в сети: путь к файлу должен быть короткий и не содержать кириллицы. Самое простое - скопировать текстуру в корень диска и работать там.


Правильно заданный вопрос - половина правильного ответа!
 
Earth2SpaceДата: Вт, 23.04.2013, 15:25 | Сообщение # 433
Механик-водитель 6-го моторизованного квада
Долг
Сообщений: 344
Награды: 5
Репутация: [ 103 ]

ui_icon_equipment.dds тоже в DXT1a конвертировать? А то везде пишут, что его обязательно в DXT5 сохранять надо.
[off] Sentinel, если ты будешь выкладывать этот пак, то в нём будут и конвертированные ванильные текстуры или только SGM'овские? И для какой версии SGM? А то я щас сам хочу распаковать игру и конвертнуть ванильные, SGM'овские и Енотовские текстуры.[/off]



Стол заказов | Правки движка | O.G.S.E. 0.6.9.3
 
SentinelДата: Ср, 24.04.2013, 05:11 | Сообщение # 434
Отмычка
Пользователи
Сообщений: 35
Награды: 0
Репутация: [ 7 ]

Цитата (Earth2Space)
Sentinel, если ты будешь выкладывать этот пак, то в нём будут и конвертированные ванильные текстуры или только SGM'овские? И для какой версии SGM? А то я щас сам хочу распаковать игру и конвертнуть ванильные, SGM'овские и Енотовские текстуры.

Да никому вроде этот пак не был нужен, вот пока и не делаю.
Текстуры, которые он будет содержать - это текстуры из папки Textures. Распаковывать ванильные игровые ресурсы я не буду, поскольку на это есть две причины: 1. Я уверен, GSC World не стали бы сжимать все ддски в один формат, а сделали как надо. И 2. Если даже там и есть проблема, это ваниль, а я говорю конкретно про работу и оптимизацию мода.

Работал я с SGM 2.2 + Мастерская Енота. Конвертил все подряд, не разбирая, текстура эта из SGM, Мастерской или еще откуда.

З.Ы. Если вы сами можете конвертить текстуры - просто замечательно, сможете сказать, на каких еще редких текстурах может наблюдаться 8битный альфаканал. Поскольку в комментариях к файлу обычно это не пишут. Если соберем список текстур, не подлежащих конвертации в DXT1a, то считай фулл оптимизация (по размеру мода, скорости и сис.требованиям) будет успешно завершена. Я продолжу конвертировать остатки текстур.

Цитата (Earth2Space)
ui_icon_equipment.dds тоже в DXT1a конвертировать? А то везде пишут, что его обязательно в DXT5 сохранять надо.

Воть этот самый файл в DXT1a. Найдите икс отличий. Зачем там интерполяция альфаканала? =_=

Цитата (Бабай)
У меня фотошоп с плугином ДДС вылетал при открытии скай-боксов (кстати в СГМ 2.2 они сделаны с мип-мапами) из-за их размера, а все отмеченные тобой открываются без проблем. Решение проблемы со скай-боксами нашел в сети: путь к файлу должен быть короткий и не содержать кириллицы. Самое простое - скопировать текстуру в корень диска и работать там.

Ну не думаю, что путь C:\CoP\gamedata\textures\*** сложен. Даже по меркам MS-DOS smile Мип-мапы, кстати, это как вариант тех файлов, которые конвертировать не нужно. Там DXT3 или 5 будет наверно более актаулен. Но, с графической точки зрения, это нужно тестить.

UPD.
Вот разница в размере. И это далеко не все текстуры переконвертированы.
[cut=Картинка][/cut]

UPD.2.
Нашел две текстуры, которые требуют DXT3 или 5. Это текстура магазина Steyr Aug A3 и капли крови. Кроме этого, была замечена необычность шлема "СЕВЫ". Всегда был черный такой, матовый, а тут посередине то ли отблески появились, то ли просто глюк. В идеале его тоже лучше не конвертировать. Мип-мапы трогать не стал. Итог:
Размер папки текстур: 829 МБ (870 160 979 байт)
На диске: 839 Мб (880 173 056 байт)
Так что вот так.

Добавлено (24.04.2013, 05:11)
---------------------------------------------
UPD.3. Модераторам просьба переместить куда надо, если они сочтут этот пак адекватно работающим и полезным для комьюнити.

High Performance Pack
для SGM 2.2 + Мастерская Енота.
Использовать только для этой сборки, отдельно для SGM 2.2 или чего-то еще не делал, да и надо ли?
HP Pack предназначен для уменьшения нагрузки видеопамяти, но следствием его использования могут быть и другие изменения, такие как: повышение FPS, увеличение разрешения/анизонтропной фильтрации/сглаживания/других параметров - без проседания FPS. Данный пак будет полезен владельцам видеокарт с 128-256 мб на борту - теперь их памяти хватит для работы мода. Данный пак будет полезен и всем остальным, поскольку качество текстур не уменьшено не на бит. Единственное, что подверглось изменению - размер текстур, они ужаты в два раза по сравнению с оригинальными текстурами мода.
[cut=Как это возможно?]Изначально текстуры мода (файлы .dds) были сжаты, используя алгоритм DXT5. Такая текстура содержит в себе 32 слоя, по 8 слоев на каждый цвет RGB (Красный, Зеленый, Синий), и 8 слоев на канал "Альфа" - прозрачности. Теперь, большинство (98%) текстур мода либо а) не используют прозрачность вообще, или б) используют обычную прозрачность (например как в файле .png). Это означает, что в них нет более 1 слоя альфа-канала - прозрачности. Существует формат сжатия файлов .dds с алгоритмом DXT1, который как раз и сохраняет всего 1 альфа-канал, что и было использовано для конвертации почти всех текстур мода. Формат DXT1 сжимает текстуры в два раза сильнее, чем DXT5, следовательно, они не только меньше весят, но и загружаются в память видеокарты в два раза быстрее. На некоторых конфигурациях компьютеров данный пак может действительно увеличить FPS ровно в два раза.[/cut]

ВНИМАНИЕ! Пак содержит ТОЛЬКО текстуры! Распаковывать архив в папку gamedata с заменой файлов.

Вот ЗДЕСЬ ссылка на пак, он заархивирован в 7z-ультра, для распаковки потребуется 256 Мб оперативной памяти.
Ссылка действительна до апокалипсиса.


Сообщение отредактировал Sentinel - Ср, 24.04.2013, 05:11
 
Earth2SpaceДата: Ср, 24.04.2013, 16:53 | Сообщение # 435
Механик-водитель 6-го моторизованного квада
Долг
Сообщений: 344
Награды: 5
Репутация: [ 103 ]

Sentinel, вот результат установки:[cut=Скрины]

[/cut]Нормально всё только на статике. Тестил на абсолютно чистой сборке. А у вас какое освещение стоит?



Стол заказов | Правки движка | O.G.S.E. 0.6.9.3


Сообщение отредактировал Earth2Space - Ср, 24.04.2013, 16:55
 
Поиск: