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


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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Earth2SpaceДата: Пт, 10.05.2013, 02:16 | Сообщение # 451
Механик-водитель 6-го моторизованного квада
Долг
Сообщений: 344
Награды: 5
Репутация: [ 103 ]

Возможно ли как-то отключить свечение не горящих источников света при включенной команде r2_allow_r1_lights? А то как-то не очень это:



Стол заказов | Правки движка | O.G.S.E. 0.6.9.3
 
denis2000Дата: Пт, 10.05.2013, 12:12 | Сообщение # 452
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Earth2Space, Да бес проблем: убрать источники света в SDK и перекомпилировать локацию.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
FantomICWДата: Пт, 10.05.2013, 15:38 | Сообщение # 453
Лидер «Свободы»
Свобода
Сообщений: 4438
Награды: 44
Репутация: [ 1340 ]

Здравствуйте!
Хочу подключить к модели сталкера-нейтрала в "Заре" голову модели из другой игры. В игре голова немного слетает с места. Думаю, где-то допустил ошибку в привязке головы к скелету. Не подскажете, к каким джоинтам нужно привязать голову?



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

FantomICW, bip01_head, jaw_1, eyelid_1, eye_right, eye_left

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
SandwichДата: Пт, 17.05.2013, 16:43 | Сообщение # 455
Зам. Лидера «Свободы»
Свобода
Сообщений: 4340
Награды: 16
Репутация: [ 431 ]

А есть урок по которому можно переместить модельку со всем к ней прилегающим из халф лайфа 1 к сталкеру?или хотя бы можно ли так сделать?

А колбасу и батоны нынче хреновые стали делать! (Умнейший неизвестный сталкер)
 
denis2000Дата: Пт, 17.05.2013, 18:50 | Сообщение # 456
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Sandwich, Сделать то можно, главное какую модель конкретно. Есть урок по переносу ножа из КС в STALKER ТЧ.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
SandwichДата: Сб, 18.05.2013, 00:05 | Сообщение # 457
Зам. Лидера «Свободы»
Свобода
Сообщений: 4340
Награды: 16
Репутация: [ 431 ]

denis2000, конкретно оружия,арбалета с магазином

А колбасу и батоны нынче хреновые стали делать! (Умнейший неизвестный сталкер)


Сообщение отредактировал Sandwich - Сб, 18.05.2013, 00:09
 
denis2000Дата: Сб, 18.05.2013, 17:08 | Сообщение # 458
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Sandwich, Да есть возможность перенести модель, текстуры и звуки, но без анимации или ее придется делать заново. Урок здесь.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
gamerДата: Пн, 20.05.2013, 15:06 | Сообщение # 459
Новичок
Пользователи
Сообщений: 82
Награды: 0
Репутация: [ 0 ]

В 3d maxe как подогнать розмер новых fake стен к старым? не могу найти ети функции (
 
denis2000Дата: Пн, 20.05.2013, 19:33 | Сообщение # 460
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

gamer, Используйте модификаторы объектов, вершин, граней, полигонов.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
NiafaДата: Чт, 23.05.2013, 02:36 | Сообщение # 461
Отмычка
Вольные сталкеры
Сообщений: 42
Награды: 8
Репутация: [ 123 ]

Доброго времени суток.
Столкнулся с проблемой. Буду благодарен за помощь. Обрисую ситуацию.

1. Взял модель солдата стандартную, конвертнул из ogf в object.

2. Экспортнул object в Макс 2011 с помощью плагина den stash. Вместе с костями(кстати, может кто знает, как сделать их "нерастягиваемыми"?)

3. Сделал анимку в максе. Экспортнул её в skl. (назовём её give_honor)

4. Взял object, прикрутил к нему свою анимку. Раскидал кости в группы, чтобы стандартные анимки работали.

5. Так как прикрутить ссылки на omf не смог(СДК не дал - либо ссылка на омф, либо skl), конвертнул omf в skls и прикрутил к object 1500+ родных анимаций (все анимки из stalker_animation.omf)

6. Сохранил это всё в ogf (на данном этапе анимка в СДК отыгрывается нормально, каких-либо ругательств при экспорте на всех стадиях не было).

7. Начал тесты в игре.

И тут получил вылет вида

[cut noguest=Лог]! Cannot find saved game error: error: illegal set state called!!! give_honor fo esc_wolf
! Cannot find saved game %s

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: d:\shoc\shoc\gamedata\scripts\_g.script:21: bad argument #2 to 'format' (string expected, got no value)

stack trace:[/cut]

В нем основное - error: error: illegal set state called!!! give_honor fo esc_wolf. Тестировал на Волке в лагере новичков. Стандартные анимки отыгрываются нормально и вылет стабильно происходит именно на моменте отыгрыша моей новой анимации(проверял по логике). Может кто знает лечение ?

UPD: Собственно, всё дело было в файле state_lib.ltx. Добавил туда свою секцию с анимкой. Теперь вылет такой :
[cut noguest]
FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : LUA error: ...hoc\shoc\gamedata\scripts\state_mgr_animation.script:423: attempt to index field '?' (a nil value)


stack trace:[/cut]




Сообщение отредактировал Niafa - Чт, 23.05.2013, 21:42
 
denis2000Дата: Чт, 23.05.2013, 21:50 | Сообщение # 462
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Niafa, Первые шесть пунктов в общем понятны, как насчет седьмого?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
NiafaДата: Чт, 23.05.2013, 22:34 | Сообщение # 463
Отмычка
Вольные сталкеры
Сообщений: 42
Награды: 8
Репутация: [ 123 ]

denis2000, тестил на стандартной логике Волка. Ставлю родную анимку- всё ок. Ставлю свою - вылет.

Собственно, вопрос теперь в другом. Цель: заспавнить модель (любую) скриптово так, чтобы она отыгрывала анимку. Модель без привязки к чему либо, чисто для съёмки видеоролика. Без шейпов и логики. Отыграла анимку и в топку. Но я не могу подобрать класс.

Я взял чистый обжект и зааппендил только одну анимку, переименовав её в idle. Классы O_physic и skeleton дают не модель, а

http://floomby.ru/s1/GanGXQ

o_inventory_box - вылет с логом can`t find cycle.

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




Сообщение отредактировал Niafa - Чт, 23.05.2013, 22:35
 
denis2000Дата: Пт, 24.05.2013, 00:17 | Сообщение # 464
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата (Niafa)
тестил на стандартной логике Волка. Ставлю родную анимку- всё ок. Ставлю свою - вылет...
...отыгрывает анимку без вылетов...

Ну я тоже обычно на Волке анимации тестирую, только в ЗП. Отсюда и вопрос: как регистрировали анимацию, что писали в state_mgr_animation_list.script в state_lib.script и в gulag_escape.ltx


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
NiafaДата: Пт, 24.05.2013, 09:53 | Сообщение # 465
Отмычка
Вольные сталкеры
Сообщений: 42
Награды: 8
Репутация: [ 123 ]

denis2000, тогда подробнее распишу.
Платформа- чистый ТЧ 1.006.
Первую модель (с 1600+ анимками и моей с названием give_honor) прописал Волку в лагере новичков.
В gulag_escape.ltx заменил только две строчки:
[cut noguest=гулаг лтх][remark@esc_lager_volk2]
anim = give_honor
snd = mil_guard_to_max

target = actor
[/cut]

Анимация отыгрывается(должна была бы) в тот момент, когда Волк связывается по рации с парнями у АТП.

Далее, в state_lib.script прописал секцию. Делал наугад, т.к. не нашёл информации более точной. Взял секцию для "стоячей" анимации и заменил анимку.
[cut noguest]give_honor = {weapon = "none",
movement = move.stand,
mental = anim.free,
bodystate = move.standing,
animstate = "stand",
animation = "give_honor"
},[/cut]
Дописал в конце файла перед последней закрывающей скобкой. В игре получил вышеозначенный вылет с state_mgr_animation.script:423: attempt to index field '?' (a nil value). В state_mgr_animation_list.script ничего не писал. Вечером попробую разобраться.

Собственно, повторюсь, вопрос сейчас не в том, чтобы сделать нормального НПС, а в том, чтобы заставить модель отыграть анимацию для видеоролика. Например, мне нужно будет как-то заспавнить сценку: человек поднимает молот. Допустим, что обе модели -человек и молот- имеют только одну анимацию - idle.skl каждый. И вот подобрать класс, который бы отыгрывал её так же, как артефакты например, но был "прибит" к локации- вот что мне примерно нужно. Опять же, вечером буду пытаться заспавнить через all.spawn с идловой анимацией. Может там что-то выйдет лучше.




Сообщение отредактировал Niafa - Пт, 24.05.2013, 09:56
 
Поиск: