Хочешь, чтобы персонаж при смерти или ударе обмякал и падал тряпичной куклой, а не оставался деревянным? Это и есть рэгдолл, и для R6-моделей он делается своими руками на Lua. Разберём по-справочному: чем R6 отличается от R15, из каких суставов он собран, как превратить жёсткие соединения в шарниры и переключить персонажа в физику. В конце — цельный разбор рабочего скрипта и как применить его к NPC, а не только к игроку.

Ремарка не по коду: если для проекта нужны робуксы на плагины, анимации или ассеты, а карта РФ не проходит, пополнить их можно через SUB.SUP (Telegram, ВКонтакте). Теперь к рэгдоллу.

Рэгдолл и чем R6 отличается от R15

Рэгдолл — это когда персонаж перестаёт держать позу и подчиняется физике: конечности болтаются на шарнирах, тело оседает под гравитацией. По умолчанию Roblox держит части персонажа жёстко скреплёнными моторами, и чтобы получить тряпичность, эти жёсткие связи надо на время заменить свободными.

Разница между R6 и R15 тут принципиальна, и её надо понимать. R6 — старая простая схема из шести частей тела с небольшим набором суставов: шея, два плеча, два бедра и корневой сустав. R15 — новая, из пятнадцати частей с куда большим числом соединений. Код рэгдолла в обоих случаях идейно один, но конкретные суставы разные, поэтому скрипт для R15 на R6 не заведётся как есть. Мы говорим именно про R6 — его меньше, и разбираться в нём проще. Ещё пара слов о самой идее, чтобы код дальше не казался магией. Всё, что делает рэгдолл, — это подмена типа соединения: жёсткий мотор фиксирует части в одной позе, а шарнир позволяет им свободно вращаться. Мы не ломаем персонажа и не создаём его заново — мы лишь на время меняем правила, по которым его части держатся друг за друга. Захотел вернуть — поменял правила обратно. Понимание этого сразу снимает страх перед физикой: ты просто переключаешь тело между двумя режимами, жёстким и тряпичным.