Я пришел к вам в час великой нужды, пидоры-кодеры и пидоры-геймдэвы. С недавних пор мною одолело желание разработать хентайную игру, но не эту вашу визуальную новеллу, а полноценный 3D симулятор менеджера гладиаторов со стилизованными рабынями/рабами и всякой БДСМщиной. Я сам занимаюсь 3D/2D и от кода далёк, да и с геймдевом знаком лишь как продвинутый потребитель, иногда делавший простейшие моды и ковырявший редакторы Warcraft 3 и героев, поэтому иллюзий не питаю и воспринимаю проект исключительно как развлечение в свободное время, но пока что, на удивление, получается и даже интересно/весело. Но кое-что меня угнетает и решение привычными способами не гуглится.
Дело в том, что несмотря на использование универсального рига (скелета) пропорции тел у персонажей разные. Это приводит к досадным багам при синхронизации анимаций двух персонажей, скажем, при удушении, персонаж душит воздух в паре-тройке сантиметров вокруг шеи врага или наоборот утопает пальцами в его шее. В дальнейшем, вангую, те же проблемы возникнут при большинстве сексуальных взаимодействий. Выглядит крайне всрато и ломает погружение. Попросту скорректировать анимации под каждую пару персонажей и подгружать нужные - не вариант, так как предполагается что большая часть гладиаторов будут кастомными, созданными за счет 3D морфов в редакторе персонажей, а также процедурно сгенерированными на основе рандомных значений в том же редакторе. Т.е. с уверенностью сказать какими будут длинна рук, толщина шеи, размер сисек персонажа и так далее невозможно.
Я попытался подсмотреть какие решения используют сенпаи из Иллюжена, также использующие синхронизацию анимаций персонажей, а также морфы для тел, в результате обнаружил что... Никакие. Они эту проблему игнорируют, в результате чего персонаж в ряде случаев своей "головой кобры" пробивает животы особо худых или мелких партнерш или утопает по основание кисти в бидонах милф. Пакетик, хочу сделать лучше.
Но я не знаю как это воплотить в жизнь и возможно ли это.
Пока вижу два возможных решения:
1. Инверсная кинематика с дополнительными костями у рига, если её возможно настроить таким образом, чтобы учитывались скелеты других персонажей.
2. Модификация стандартных анимаций с учетом размера отдельных частей тела противника. Создание эдаких морфов для 3D анимаций, если это возможно. То есть, например, имеется минимальная толщина шеи, обозначенная как 0, максимальная, обозначенная как 1, есть всё что между, обозначаемое как 0.Х. На основе этого числа игра определяет на каком расстоянии пальцы/руки должны быть от шеи и корректирует их положение при использовании стандартной анимации, сдвигая каждую кость по осям X/Y/Z.
Возможно ли воплотить это в жизнь и как? Если нет или моё решение слишком тупое/нубское/трудоёмкое, в какую сторону гуглить и чьи маны или туторы читать/смотреть? Есть ли платные/бесплатные плагины для реализации нужного мне?
С меня нихуя, ибо если когда-нибудь будет альфа-версия поделия, её и так сюда выложу.
Если это важно: Анимации делаю в Cascadeur, с допиливанием в Blender, саму игру делаю в Unreal Engine 5.2.