Модостроение. Визуальный уровень
|
|
denis2000 | Дата: Пн, 10.10.2011, 21:36 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Визуальный уровень
Редактирование текстур, добавление новых текстур в игру, 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Дизель | Дата: Вт, 17.03.2015, 00:52 | Сообщение # 661 |
Сталкер
Разработчики
Сообщений: 260
| Цитата denis2000 ( ) Это всего лишь шейпы, визуал аномалии задается партиклами. Установил опытным путём, что внутри кубического шейпа тополиного пуха распространяется только рябь, типа радиации. Опытный путь был сложным, пришлось аномалию до 6.8 км увеличивать в габаритах. Есть четкая граница действия ряби, вплоть до метра.
Примерно граница касается нулевых координат
[cut noguest]position = 1.16999995708466,-6803.05859375,0.560000002384186
; cse_shape properties shapes = shape0,shape1 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 200 shape1:type = box shape1:axis_x = 4000,0,0 shape1:axis_y = 0,6800,0 shape1:axis_z = 0,0,4000 shape1:offset = 0,-1362,0[/cut]
Логично этот куб можно использовать для создания плоских аномалий.
andreyholkin
Сообщение отредактировал Дизель - Вт, 17.03.2015, 00:56 |
|
|
Эти 0 пользователя(ей) поблагодарили Дизель за это полезное сообщение: |
|
|
некит025 | Дата: Сб, 21.03.2015, 16:56 | Сообщение # 662 |
Гражданский
Пользователи
Сообщений: 20
| Добрый день. У меня очень интересная идея есть! Суть в чем, когда у меня оружие с убирающимся прикладом, при нажатии клавиши проигрывается анимация и сам приклад либо складывается либо раскладывается. Анимации уже есть в формате skls. После нажатия на клавишу, я планирую, изменения характеристик оружия, НО!... я не дружу со скриптами, помогите пожалуйста, как это осуществить, реализовать?
Еще, знаете ли вы, как сделать так, что бы при применении какого-либо предмета, убиралось оружие и проигрывалась анимация с предметом в руках? Анимация и модели есть в форматах object и skls. Помогите пожалуйста.
|
|
|
Эти 0 пользователя(ей) поблагодарили некит025 за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 21.03.2015, 21:02 | Сообщение # 663 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата некит025 ( ) помогите пожалуйста, как это осуществить, реализовать? Основной проблемой станет то, что движок не в курсе вашего хотения, а не то, что вы не знаете LUA.
Цитата некит025 ( ) убиралось оружие и проигрывалась анимация с предметом в руках? Давным давно в открытом доступе.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
некит025 | Дата: Вс, 22.03.2015, 12:26 | Сообщение # 664 |
Гражданский
Пользователи
Сообщений: 20
| denis2000, За второе спасибо.
А по поводу моего хотения) Как насчет подствольников например, там тоже при нажатии кнпочки проигрывается анимация и меняются характеристики)
|
|
|
Эти 0 пользователя(ей) поблагодарили некит025 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 22.03.2015, 13:24 | Сообщение # 665 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата некит025 ( ) Как насчет подствольников например, там тоже при нажатии кнпочки проигрывается анимация и меняются характеристики По вашему это делают скриптами?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
некит025 | Дата: Вт, 24.03.2015, 15:56 | Сообщение # 666 |
Гражданский
Пользователи
Сообщений: 20
| denis2000, не знаю... а что тогда? И вообще как это реализовать? Возможно?
|
|
|
Эти 0 пользователя(ей) поблагодарили некит025 за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 24.03.2015, 21:29 | Сообщение # 667 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата некит025 ( ) что тогда? И вообще как это реализовать? Возможно? Да возможно, нужно только внести правки в движок исходники которого уже около года в открытом доступе.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
sergej5500 | Дата: Ср, 25.03.2015, 23:04 | Сообщение # 668 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый вечер. Интересует вопрос.
Можно ли сделать собаку-ищейку, идущую по следу? Есть ли подходящие для этой задачи анимации?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 25.03.2015, 23:07 | Сообщение # 669 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Теоретически вполне возможно (хотя готовой схемы поведения пожалуй нет). Вас интересуют какие-то специфические анимации?
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
sergej5500 | Дата: Ср, 25.03.2015, 23:12 | Сообщение # 670 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата denis2000 ( ) Вас интересуют какие-то специфические анимации?
Мне предложили идею для квеста. Собаку-ищейку. Нужно, чтобы она шла по определенному маршруту и обнюхивала землю. Искала след. Есть ли подходящая анимация?
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 25.03.2015, 23:23 | Сообщение # 671 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата sergej5500 ( ) Нужно, чтобы она шла по определенному маршруту mob_walker - конечно. Цитата sergej5500 ( ) обнюхивала землю. Вообще у собак есть много интересных анимаций в том числе и не задействованных в игре (dog_animation.omf): stand_walk_smelling_0 - идет вперед обнюхивая землю stand_idle_smelling_down_0 - стоит и нюхает землю stand_idle_smelling_look_around_0 - стоит обнюхивая воздух вокруг себя
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
shram_437 | Дата: Чт, 26.03.2015, 13:59 | Сообщение # 672 |
Сталкер
Вольные сталкеры
Сообщений: 215
| Доброго времени суток! Расскажите пожалуйста, как подвинуть полоску счетчика гейгера? Не могу найти в каком файле хранятся нужные параметры. P.S. файл ui_mod_progress_bars посмотрел, но там, видимо только конфиг самого прогрессбара, а я хочу всю иконку подвинуть
|
|
|
Эти 0 пользователя(ей) поблагодарили shram_437 за это полезное сообщение: |
|
|
denis2000 | Дата: Чт, 26.03.2015, 15:46 | Сообщение # 673 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| shram_437, Файлы ui_custom_msgs.xml ui_custom_msgs_16.xml тег hud_geiger_bar
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
shram_437 | Дата: Чт, 16.04.2015, 20:44 | Сообщение # 674 |
Сталкер
Вольные сталкеры
Сообщений: 215
| Доброго времени суток! Захотелось мне прицепить к модели АКСУ Теней чернобыля барабанный магазин. Вроде все сделал верно, а в игре получаю вылет [cut=ЛОГ]FATAL ERROR [error]Expression : fatal error [error]Function : CSkeletonX::_Load [error]File : E:\stalker\patch_1_0004\xr_3da\SkeletonX.cpp [error]Line : 380 [error]Description : <no expression> [error]Arguments : Invalid vertex type in skinned model 'weapons\aks74u_shram\aksu_strelok:1'
stack trace:[/cut]
Знающие люди, подскажите пожалуйста что я сделал не так. P.S. залил файлы моделей на ядиск, если нужно, ссылку в личку напишу. Спасибо!
|
|
|
Эти 0 пользователя(ей) поблагодарили shram_437 за это полезное сообщение: |
|
|
sergej5500 | Дата: Сб, 18.04.2015, 17:40 | Сообщение # 675 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Добрый день.
Делаю катсцену.
Сталкеры. .
[cut=Логика][logic] active = walker@wait prior = 200
[walker@wait] path_walk = esc_b1_cutscene_commander_walk path_look = esc_b1_cutscene_commander_look meet = no_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true [/cut]
[cut=Путь][esc_b1_cutscene_commander_walk] points = p0 p0:name = wp00 p0:flags = 0x1 p0:position = -135.96305847168,-30.139339447021,-381.60885620117 p0:game_vertex_id = 1615 p0:level_vertex_id = 118886
[esc_b1_cutscene_commander_look] points = p0 p0:name = wp00|a=play_guitar p0:flags = 0x1 p0:position = -138.64270019531,-30.138509750366,-372.72592163086 p0:game_vertex_id = 1615 p0:level_vertex_id = 115667 [/cut]
Неписи сидят и играют на гитарах. Хочу сделать, чтобы они в похожей позе пили водку.
Какой анимацией можно воспользоваться?
[cut=state_lib] -- Сидячие состояния sit = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit", animation = nil }, sit_knee = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_knee", animation = nil }, sit_ass = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_ass", animation = nil },
play_guitar = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_knee", animation = "play_guitar" }, play_harmonica = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = "sit_ass", animation = "play_harmonica" },
sleep = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "sleeping" },
hello = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "hello" }, hello_wpn = {weapon = "unstrapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "hello" },
refuse = { weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "refuse" }, claim = { weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "claim" }, backoff = { weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "backoff" }, backoff2 = {weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "backoff" }, punch = { weapon = nil, movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "punch" },
search_corpse = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "search_corpse" },
help_wounded = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "help_wounded" },
dynamite = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "dynamite" },
binocular = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "binocular" }, hide_rac = {weapon = "unstrapped", movement = move.stand, mental = anim.danger, bodystate = move.crouch, animstate = nil, animation = "cr_raciya" }, wait_rac = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya" }, wait_rac_noweap = {weapon = "none", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya" }, wait_rac_stc = {weapon = "unstrapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya_stc" }, guard_rac = {weapon = "unstrapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "raciya" },
probe_stand = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_stand" }, probe_stand_detector_advanced = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_stand_detector_advanced" }, probe_stand_detector_elite = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_stand_detector_elite" }, probe_way = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_way" }, probe_way_detector_advanced = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_way_detector_advanced" }, probe_way_detector_elite = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_way_detector_elite" }, probe_crouch = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_crouch" }, probe_crouch_detector_advanced = {weapon = "strapped", movement = move.stand, mental = anim.danger, bodystate = move.standing, animstate = nil, animation = "probe_crouch_detector_advanced" }, probe_crouch_detector_elite = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "probe_crouch_detector_elite" },
scaner_stand = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "scaner_stand" }, scaner_way = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "scaner_way" },
scaner_crouch = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "scaner_crouch" },
hands_up = {weapon = "strapped", movement = move.stand, mental = anim.free, bodystate = move.standing, animstate = nil, animation = "hands_up" },
[/cut]
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
|