Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
АзазельДата: Вс, 16.12.2012, 20:20 | Сообщение # 346
Новичок
Пользователи
Сообщений: 77
Награды: 0
Репутация: [ 0 ]

denis2000, Эээ не. Такой фокус не катит. Мне не нужна сетка нарисованая в шопе. Мне нужно чтобы весь ствол видно было. А если прицепить к кости wpn_scope то оружие словно исчезает.

Тогда, только несъемный, на кости wpn_body. denis2000
 
9vova8Дата: Вс, 16.12.2012, 22:06 | Сообщение # 347
Новичок
Пользователи
Сообщений: 91
Награды: 2
Репутация: [ 6 ]

так это ошибка SDK?

Нет, последняя - это ваша ощибка. denis2000

denis2000, добавлять секцию в файле wpn_ak74.ltx, в папке configs?




Сообщение отредактировал 9vova8 - Пт, 21.12.2012, 20:13
 
trommДата: Пн, 17.12.2012, 04:21 | Сообщение # 348
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

Привет всем мододелам, пытаюсь приделать к модели экзоскелета голову Лебедева(очень хочу второй визуал Лебедева в рыжем Лесу), прочитал все 24 страницы этой темы, посмотрел видео на youtube(в основном по работе с milkshape) , информации как это сделать или вообще нет или крайне мало, в теории немного понятно, что там надо что-то с костями творить, на практике получилось вот это
[cut noguest]

http://s2.uploads.ru/IsqFG.jpg
http://s3.uploads.ru/XTJhg.jpg
[/cut]
использовал milkshape 1.8.5, sdk 06, модель зомби из ЧН stalker_zombied_4.ogf(где уже используется экза с головой зомби, плохо только что текстура головы Лебедева на неё криво налазит, такая же беда с моделью из ЗП) вопрос такой: "есть ли вариант сделать все это через милку, не прибегая к 3d max и 3d maya, если да то как?"

И вопрос номер два:"очень хотелось бы добавить в ЧН, прибор ночного видения третьего поколения из ЗП и что для этого надо? "


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Пн, 17.12.2012, 04:42
 
denis2000Дата: Пн, 17.12.2012, 20:02 | Сообщение # 349
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tromm, Да в принципе все в милке и SDK можно сделать.
[cut]
1. Импортировать модель Лебедева в милку
2. Удалить скелет
3. Удалить все лишние вертексы кроме головы
4. Импортировать модель в экзоскелете
5. Удалить вертексы головы
6. Расположить голову Лебедева в нужном месте и добавить грани для соединения вертексов тела и головы (последнее можно и не делать, главное спрятать край меша головы в меше тела)
7. Сделать привязку меша головы к скелету (выделил вертексы выбрал кости и настроил степень привязки и нажал кнопку Assign)
8. Экспортировать модель в object
9. Открыть модель в SDK и настроить боне-шейпы и анимации
10. Экспорт в ogf[/cut]


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
trommДата: Пн, 17.12.2012, 23:19 | Сообщение # 350
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

denis2000 первые восемь пунктов, я выполнил и получилось [cut noguest] вот скрин с игры http://uploads.ru/AUg3u.jpg [/cut]

Теперь надо выполнить пункт 9, точней настроить анимации и боне-шейпы, - только вот как, есть ли для этого подробный мануал?


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Пн, 17.12.2012, 23:26
 
FantomICWДата: Пн, 17.12.2012, 23:51 | Сообщение # 351
Лидер «Свободы»
Свобода
Сообщений: 4438
Награды: 44
Репутация: [ 1340 ]

tromm, рассказываю, что надо делать в сдк:
• во вкладке Bones нажимаем Load (вот настройки костей, распаковывай и указывай путь к ним)
• во вкладке Motions выбирай анимации stalker_animation, stalker_scenario_animation, stalker_scripts_animation и stalker_smart_cover_animation
• во вкладкеObject внизу есть параметр Userdata, там указываешь путь к файлу в папке configs/models (например, #include "models\capture\stalker_neutral_4.ltx" - модель нейтрала в экзо, думаю в нашем случае она сойдет)
Все, экспорт, и вперед!



 
trommДата: Вт, 18.12.2012, 01:01 | Сообщение # 352
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

FantomICW, я так и делал, у меня есть этот файл cop-cs.bones, в результате получилось то, что на скриншоте, погляди http://uploads.ru/AUg3u.jpg

Добавлено (18.12.2012, 01:01)
---------------------------------------------
denis2000 вот все что я делал: http://narod.ru/disk....7z.html надо как-то настроить анимации и боне-шейпы, а то в игре Лебедев неправильно отображается http://uploads.ru/AUg3u.jpg - только вот как?


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Вт, 18.12.2012, 15:23
 
denis2000Дата: Вт, 18.12.2012, 20:07 | Сообщение # 353
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tromm, Посмотрел видео и прослезился. Ты утверждаешь что выполнил пункт 7 инструкции: сделать привязку меша головы к скелету, а на самом деле привязал весь меш жестко к одной кости (основание позвоночника). Результат налицо. Открой любую модель и посмотри, как там привязана голова, к каким костям и в каком соотношении. Тебе требуется добиться такой же картины. И привязка головы в основном гибкая, то есть один вертекс привязан минимум к двум костям с разной жесткостью привязки.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
trommДата: Вс, 23.12.2012, 01:08 | Сообщение # 354
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

Теперь хоть немного понятно почему у меня не получилось, буду пробовать, - о результате отпишусь, а как быть с интеграцией пнв 3го поколения из ЗП в ЧН?

Разные ПНВ это всего лишь разные файлы постпроцессинга *.ppe. denis2000

Добавлено (22.12.2012, 12:03)
---------------------------------------------
Теперь по поводу ПНВ, брал файл gamedata\anims\nightvision_3.ppe из ЗП(оригинал от разработчиков) и вставлял в ЧН в заместо gamedata\anims\nightvision_good.ppe, переименовываю nightvision_3.ppe в nightvision_good.ppe(в ЧН), и такого эффекта как в ЗП[cut noguest](скрины я выложил
http://s2.uploads.ru/P5Fzv.jpg
http://s2.uploads.ru/JGjrR.jpg
http://s3.uploads.ru/1iapB.jpg
http://s3.uploads.ru/8Jgi3.jpg
http://s3.uploads.ru/tsgWb.jpg
http://s2.uploads.ru/MBv9G.jpg
http://s3.uploads.ru/MaSbA.jpg
http://s3.uploads.ru/Vi78B.jpg
)[/cut] не получаю. И ещё один момент, пытаюсь добавить тот-же nightvision_good.ppe из ЧН в ЗП(только если переименовываю nightvision_good.ppe в nightvision_3.ppe с заменой его ) получаю нужный эффект, если например добавляю строчку в конфиге костюма к примеру той-же Зари nightvision_sect = effector_nightvision_good в файле gamedata\configs\misc\outfit.ltx ЗП, перед этим я скопировал файл nightvision_good.ppe в папку gamedata\anims в ЗП, то при нажатии N в игре, ПНВ вообще не срабатывает, отсюда вывод что файлы nightvision_3.ppe, nightvision_2.ppe, nightvision_1.ppe в ЗП регистрируются где-то(конфиге или ещё где-нибудь) поэтому фокус с nightvision_good.ppe не проходит, узнать бы где?

Искомые секции в файле postprocess.ltx. denis2000

Эфеект в ЧН получился такой http://s2.uploads.ru/JGjrR.jpg , то есть почти ничем не отличается от http://s2.uploads.ru/P5Fzv.jpg , только немного помех добавилось, а нужно-то чтобы было вот как здесь http://s2.uploads.ru/MBv9G.jpg (четкая картинка зеленого цвета). ПНВ nightvision_good из ЧН всем хорош, но в кромешной темноте, его освещения явно не достаточно.
И почему эффект в ЧН не тот как в ЗП?

Потому, что формат ppe файлов в ЗП и ЧН отличается! Выход: при помощи Postprocess Editor из комплекта SDK сделать свой файл постпроцесса. denis2000

Добавлено (23.12.2012, 01:08)
---------------------------------------------
Выяснил, что в ЧН такой-же ПНВ 3го уровня, как в ЗП не удастся сделать, так как в Postprocess ЧН отсутствует такое значение как ColorMapper(в SDK postprocess ЗП оно есть), именно оно отвечает за яркость освещения; освещения в ЧН при игре в полной темноте явно не хватает и играть совсем не комфортно из-за этого(и все равно, как не мудри с Postproces.exe такого освещения как в ЗП я не получу, почти час сидел перебирал разные значения(толку мало)), отсюда вывод надо как-то научиться проматывать время вперед, пробовал искать инфу по этому поводу (нашел файлы спального мешка от АМК(скачал не помню уже с какого сайта), но как выяснилось они глюченные, через определенное время игра вылетает с логом [cut noguest]Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
Line : 180
Description : <no expression>
Arguments : LUA error: ....К.Е.R. - CS\bin\gamedata\scripts\_g.script:975: bad argument #2 to 'format' (string expected, got nil) )[/cut]

Причем закономерности так и не смог выявить, но приходится начинать новую игру, а даже автосейв не помогает, отсюда вопрос:" есть ли какой-нибудь нормальный минимод с которого можно эти файлы, вставить в игру и можно было проматывать время, а ещё лучше как можно перенести с ЗП место для СНА(когда типа подходишь к кровать и загорается надпись "спать")?


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Вс, 23.12.2012, 11:46
 
9vova8Дата: Вс, 23.12.2012, 12:17 | Сообщение # 355
Новичок
Пользователи
Сообщений: 91
Награды: 2
Репутация: [ 6 ]

denis2000, в каком файле мне нужно добавить эту секцию?

Не секцию нужно добавлять, а переменную в секцию. denis2000




Сообщение отредактировал 9vova8 - Ср, 26.12.2012, 16:46
 
denis2000Дата: Вс, 23.12.2012, 17:33 | Сообщение # 356
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tromm, Смотри нет ли выше строк начинающихся на "ERROR: ". Видел адаптацию спального мешка АМК на ЧН 1.504 народ утверждает что полностью рабочая и на более поздние версии идет бес проблем, может у тебя старая версия?
Спальные места в ЧН теоретически возможны, но это проверять нужно.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
trommДата: Вс, 23.12.2012, 18:23 | Сообщение # 357
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

DENIS2000,строк начинающихся на ERROR я не видел(кстати играя в shoker mod v1.9 там-же на болотах игра вылетала с таким-же логом[cut noguest]Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
Line : 180
Description : <no expression>
Arguments : LUA error: ....К.Е.R. - CS\bin\gamedata\scripts\_g.script:975: bad argument #2 to 'format' (string expected, got nil) )
[/cut]), причем повторюсь определенной закономерности нет(можешь пройти болота вообще без проблем, и вылетов не будет, но как я играю, я могу пол дня проходить один уровень топтаться на месте) почему я сделал такой вывод, потому-что в этот мод тоже интегрирован спальный мешок от АМК, и в OGSM моде в старых версиях была такая-же проблема, причем на их форуме люди писали об этом, в более поздних версиях мода она была успешно решена( я сейчас точно не помню, но что-то там писали про динамическую или рандомную смену погоды и с этим был связан этот вылет). Мне изначально идея спального мешка пришлась как-то не по душе, разработчики придумали гораздо интересней про спальное место, где реализовали его в ЗП.

Причем заметил, что ни в одном из самых крутых модов на тему ЧН(sgm, shoker, ogsm) не было реализовано спальное место для ГГ, а вообще перелопатил около 20-30 модов других и нигде не нашел, неплохо было бы сделать урок для КМБ на эту тему.

А по поводу того, что проверять нужно, так я готов проверять мне идея по поводу спального места очень нравится, только какие файлы для этого нужно добавить в ЧН из ЗП(я нашел ui_actor_sleep_screen.dds, ui_sky_panorama.dds, ui_st_screen.xml, sr_sleep.ltx, effectors.ltx, ui_sleep_dialog.script в файле bind_stalker.script строчку pda.fill_sleep_zones(), в файле actor.ltx тоже есть строчки про sleep, и это наверное далеко не всё, только как теперь все это грамотно объединить и заставить работать)?


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Вс, 23.12.2012, 19:35
 
denis2000Дата: Вс, 23.12.2012, 21:36 | Сообщение # 358
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата (tromm)
неплохо было бы сделать урок для КМБ на эту тему

И я не против. Начните с того, что после захода в некоторую область локации появляется возможность запустить окно настройки сна.
[cut]Раз так, то это похоже на рестриктор с определенной логикой. А значит ищите в распакованном all.spawn рестриктор с внешней логикой и имеющий sleep в названии.
Я нашел:
Код
[2904]
; cse_abstract properties
section_name = space_restrictor
name = jup_a6_sr_sleep
position = -50.2776107788086,0.660889983177185,200.924438476563
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 317
distance = 0
level_vertex_id = 1231404
object_flags = 0xffffff3e
custom_data = <<END
[story_object]
story_id = jup_a6_sr_sleep_id

[logic]
cfg = scripts\sr_sleep.ltx
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 4.24854803085327,0,0
shape0:axis_y = 0,2.86840009689331,0
shape0:axis_z = 0,0,4.54630899429321
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

Логика в файле sr_sleep.ltx:
Код
[logic]
active = sr_idle@wait

[sr_idle@wait]
on_actor_inside = sr_idle@run %=run_tutorial(tutorial_sleep)%

[sr_idle@run]
on_info = {+tutorial_sleep} %-tutorial_sleep =run_tutorial(tutorial_sleep)%
on_actor_outside = {+tutorial_sleep} sr_idle@wait, sr_idle@wait %=stop_tutorial%
on_info2 = {!has_active_tutorial -sleep_active} sr_idle@wait

Далее функции из этой логики и их окружение...[/cut]


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
trommДата: Вс, 23.12.2012, 22:11 | Сообщение # 359
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

denis2000, я приступил к заданию, скачал распаковщик all.spawn для ЗП, распаковал его, нашел вашу запись в alife_jupiter.ltx(распакованный all.spawn для ЧН у меня есть), я сейчас измерю координаты на уровне болота в самом начале рядом с кроватью, в доме где Лебедев, но меня смущает строчка story_id = jup_a6_sr_sleep_id , я правильно понял, что эта запись ещё где-то регистрируется, кроме all.spawn только в каком файле или это не так?

Координаты измерил собираюсь в alife_marsh.ltx вставить в конец этого файла запись [cut noguest]
[1417]
; cse_abstract properties
section_name = space_restrictor
name = jup_a6_sr_sleep
position = -177.46, 4.78, -274.51
direction = 0, 0, 0
version = 128
script_version = 12

; cse_alife_object properties
game_vertex_id = 144
level_vertex_id = 52376
object_flags = 0xffffff3e
custom_data = <<END
[story_object]
story_id = jup_a6_sr_sleep_id

[logic]
cfg = scripts\sr_sleep.ltx
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 4.24854803085327,0,0
shape0:axis_y = 0,2.86840009689331,0
shape0:axis_z = 0,0,4.54630899429321
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/cut], и ещё одна запись не совсем понятна script_version = 12 , в файле alife_marsh.ltx есть script_version = 8, как это понять script_version?

Смущает опять же две строки:"story_id = jup_a6_sr_sleep_id и script_version = 12, что-то мне подсказывает, что их надо отредактировать" так ли это?


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Вс, 23.12.2012, 22:57
 
denis2000Дата: Пн, 24.12.2012, 23:01 | Сообщение # 360
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

tromm, Так понятненько, сам очень долго будешь разбираться...

Добавлено (24.12.2012, 23:01)
---------------------------------------------
Попробовал сам пойти по указанному пути и почти сразу наткнулся на непреодолимые припятствия
[cut]К сожалению оказалось, что воспроизвести механизм сна из ЗП в ЧН не возможно, по причине отсутствия в движке поддержки некоторых методов и функций, а так-же целых объектов! Например stop_tutorial(), time_track, ShowDialog и т.д. и т.п. (Ну теперь понятно, почему никто не воспроизвел механизм в ЧН)
Все что мне удалось это сделать некий гибрид спального места с со скриптами из SGM ТЧ. Нужно - качай и разбирайся.
Ссылка
Спальное место на болоте - база Чистого неба, на втором этаже (над Лебедевым) возле кровати, лечь спать можно только с 21 до 4 утра и сон до 6 часов следующего утра. Сон восстанавливает силы, но нельзя лечь спать с кровотечением или радиационным заражением.[/cut]


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