sevo 153 Опубликовано 19 декабря, 2024 (изменено) Довелось на досуге поиграть во второй сталкер. Зацепил оттуда несколько фишек, которые захотел воссоздать на платформе Зова Припяти. Об одной их них и пойдет речь в этом гайде - создание двери, открыть которую можно посредством разбития замка. 1. Создаем модель двери. Моделируем обычную динамическую дверь, в любом удобном 3D-редакторе, в моем случае это 3DsMAX. Углубляться в детали по созданию двери в данном гайде смысла не вижу, так как такие уроки уже есть (Пример). У меня получилось следующее: 2. Создаем модель замка Этап моделирования и текстурирования пропускаю, так как не сомневаюсь в ваших навыках. Для тех, кто работает с 3Ds MAX - в Command Panel переходим в вкладку Create -> Systems -> Bones. Размещаем кость, даем ей названием link, подгоняем под размер нашей модели. Выделяем наш замок, применяем к нему модификатор Skin. В модификаторе Skin, свиток Parameters, ищем кнопку Bones: Add, в открывшемся листе выбираем нашу кость, все автоматически привязалось. Скриптами ден стеша экспортируем получившуюся модельку. 2.1. Создание обломков замка Тут, опять же, каждый может действовать в рамках своей фантазии и навыков. Я поступил следующим образом. Взял модель замка, создал кривую линию, с помощью булевых операций разрубил модельку замка на два куска. Детачнул один кусок от другого, получил два объекта. К каждому из объектов делаем и привязываем link кость, как расписал выше. После чего экспортируем каждый кусок как отдельный объект. У меня получилось как-то так: 3. Настраиваем модель в Actor Editor Подгружаем дверь, настраиваем по уроку Андрея Непряхина, экспортируем. Подгружаем объект цельного замка. Раскрываем Bones, выбираем кость link, выставляем параметры Shape -> Type -> Box ; Joint -> Type -> Rigid. Затем делаем Generate Shape All. Раскрываем Surfaces, и к текстурам применяем параметры shader: models\model ; compile: default ; game mtl: default_object. Раскрываем Object -> Game Options -> User data вписываем #include "models\objects\door_locker_01.ltx" и экспортируем в .ogf нашу настроенную модельку замка. Таким же образом подгружаем два обломка замка, настраиваем их как цельный замок, но без инклюда в юзер дата, эспортируем в OGF по пути dynamics\door\part\ c названием door_locker_01_part_1 и door_locker_01_part_2. 4. Создаем конфиг для замка В юзер дате мы указали путь models\objects\, по которому лежит специальный файл с настройками нашего замка. Создаем по этому пути файл door_locker_01.ltx и впишем в него следующие параметры: [disable] linear_factor = 0.5 angular_factor = 0.5 ;---------------- [collide] ignore_static ignore_small_objects ignore_ragdoll ;not_collide_parts // наличие это строки определяет колидится ли объект;---------------- [destroyed] dynamics\door\part\door_locker_01_part_1 dynamics\door\part\door_locker_01_part_2 [autoremove_parts] time = 60 ;---------------- [collision_damage] link = 0.004 ;---------------- [particles] destroy_particles = destroy_fx\destroy_wood_00 ;---------------- [particle_bones] link = 0.0, 0.15, 0.0 ;---------------- [sound] break_sound = material\metal_box\collide\big_metal_1 default = 1.0, -1, 0.0 [immunities] burn_immunity = 0.05 ;коэффициенты иммунитета strike_immunity = 0.5 shock_immunity = 0.0 wound_immunity = 0.5 radiation_immunity = 0.0 telepatic_immunity = 0.0 chemical_burn_immunity = 0.0 explosion_immunity = 1.0 fire_wound_immunity = 0.5 [impulse_transition_to_parts] random_min = 5.0 ; величина случайно направленного импульса пропорционально массе нового объекта random_hit_imp = 2.0 ; величина случайно направленного импульса пропорционально разрушающему хиту ;ref_bone ; кость из по которой определяется скорость для частей у который связь не задана, по умолчанию рут imp_transition_factor = 1.0 ; фактор с которым прикладывается хит по исходному объекту ко всем частям lv_transition_factor = 0.5 ; коэффициент передачи линейной скорости av_transition_factor = 0.5 ; коэффициент передачи угловой скорости5. Размещаем дверь и замок на локации Дело за малым. Остается разместить все это на локации. Итак, ставим в нужном месте physic_door, назначаем ему визуал нашей двери, ставим в fixed bones: link, в custom data пишем [logic] cfg = scripts\location\physics\locked_door_01.ltx [collide] ignore_static В игре создаем файл scripts\location\physics\locked_door_01.ltx в нем пишем: [logic] active = ph_door@locked [ph_door@close] locked = false closed = true snd_open_start = wood_small_open snd_close_start = wood_small_close_start snd_close_stop = wood_small_close_stop on_use = ph_door@open [ph_door@open] locked = false closed = false snd_open_start = wood_small_open snd_close_start = wood_small_close_start snd_close_stop = wood_small_close_stop on_use = ph_door@close [ph_door@locked] locked = true closed = true snd_open_start = wood_small_open snd_close_start = wood_small_close_start snd_close_stop = wood_small_close_stop on_info = {+locker_destroyed} ph_door@close Дверь установили, ставим замок. Размещаем physics -> object, даем ему визуал замка, устанавливаем fixed bones: link, в custom data пишем: [collide] ignore_static [logic] active = ph_on_death [ph_on_death] on_info = %+locker_destroyed% У меня получилось следующим образом: Компилируем спавн, закидываем в игру и проверяем итоговый результат: Изменено 19 декабря, 2024 пользователем vasyan54636 3 4 1 5 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 952 Опубликовано 19 декабря, 2024 (изменено) 11 часов назад, vasyan54636 сказал: Зацепил оттуда несколько фишек, которые захотел воссоздать на платформе Зова Припяти. Об одной их них и пойдет речь в этом гайде - создание двери, открыть которую можно посредством разбития замка. А ничего, что такая фишка изначально есть в оригинальном CoP? База "Свободы" - Армейские склады, здание где сидит Лукаш, на первом этаже дверь в арсенал, перед ней еще охранник стоит. Перепрыгиваешь через охранника, ножем сбиваешь замок и грабишь арсенал. И тебе за это ничего не будет. Изменено 20 декабря, 2024 пользователем WolfHeart 2 1 AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
StariyStalkKRG 3 867 Опубликовано 20 декабря, 2024 7 часов назад, vasyan54636 сказал: Зацепил оттуда несколько фишек Ну этого добра и в С1 хватает. Выше уже написали. А вот закрытые изнутри досками двери - норм. Расстреливаешь доску из окна и дверь открыта. Такого вроде не встречал в С1. Мой канал на YouTubeСтарый сталк. KRG. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 988 Опубликовано 20 декабря, 2024 4 минуты назад, StariyStalkKRG сказал: Такого вроде не встречал в С1. Тот же метод, что и с замками, никакой разницы. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 952 Опубликовано 20 декабря, 2024 3 часа назад, StariyStalkKRG сказал: А вот закрытые изнутри досками двери - норм. 2 часа назад, denis2000 сказал: Тот же метод, что и с замками, никакой разницы. Можешь закрыть чем угодно, хоть лампочкой. К слову этот метод используется не только в СоР, но и в SoC. Пример: закрытые металические и деревянные шкафчики. Так не открываются, а стукнишь ножем в районе замкочка и появляется возможность его открыть. Разница только в том, что не видно разрушения этого замочка, он же врезной, внутрений. Дополнено 3 минуты спустя Вопрос в другом: почему модеры редко используют этот метод? AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sevo 153 Опубликовано 20 декабря, 2024 @WolfHeart В ТЧ замок просто отпадает, в этом же исполнении разлетается на два куска. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 952 Опубликовано 20 декабря, 2024 1 минуту назад, vasyan54636 сказал: В ТЧ замок просто отпадает, в этом же исполнении разлетается на два куска. Да какая разница? Метод тот же. А вот реализация это уже на усмотрение и фантазию модера. P.S. При желании, можно сделать хоть на пять частей, хоть на мелкие осколки. P.S.S. Ну а в целом, молодец что поднял эту тему, а то многие модеры, вместо использования этого уже готового метода, выдумывают какие то костыли. 1 AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 686 Опубликовано 20 декабря, 2024 Полезный гайд, но я думаю новичкам было бы еще очень полезны пояснения по тому, какие именно параметры важны и почему, и что в кастом дате\конфиге логики за что отвечает. Чтобы они могли потом по аналогии делать замки под свои нужды. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты