Начну с базы Корабль должен передвигаться в зависимости от силы ветра, кренится по той же причине, а еще отрабатывать (или хотя бы делать вид что отрабатывает) физику поверхности по которой он идет. Можно задушнить и начать с математики: разобрать векторные составляющие сил, приложить эти силы в нужные точки, научным методом тыка подогнать коэффициенты и вуаля физика движка сама все за тебя сделает, но забегая вперед, отмечу что при таком раскладе больше двух кораблей на сцене увидеть вряд ли получится. Потому что среднестатистический проц умрет в вычислениях, ведь рассчитывать движение всех вертикосов (как корабля так и всего барахла не нем) придется каждый игровой фрейм, добавим к этому вращения рей, пересчет положений бесчисленных веревок и коллизий, но даже решив все выше перечисленные проблемы, это не гарантирует, что среднестатистическая бутылка рома выпитая игроком за штурвалом корабля, при падении не отправит Вас и вашу посудину покорять море безмятежности на Луне.
ИСПАНЦЫЫЫЫЫ!!!
Мачты выглядят прикольно) хз на сколько это соответствует 'тем самым пиратский кораблям'. Быстрый ресерч не дал результата, в какой момент мачты стали поворачиваться)
А вот по поводу физике мне есть что сказать)
По вашей логике, чтобы сделать машину в игре, нужно симуляровать движение ремня грм, трение в каленвале и сжигание топлива в цилиндрах!)
Не нужно собирать весь токелаж на физике, чтобы корабль поплыл. Достаточно симулировать необходимые силы. А для этого даже нет нужды прикладывать силу к каждому вертексу поверхности. Необходимо создать условные поплавки, которые и будут принимать на себя весь расчёт физики. Штук 6 на корабль и уже получаем правдоподобное поведение) а такелажа у вас и так нет) благо не программу для испытания корпусов пишите)
Симуляция ткани на парусах куда сильнее ударит по производительности, чем 'физика' плавучести. Подсмотреть базу можно у эпиков.
Но возникает другая проблема) при малейшей просадке фпс корабль может уйти в расколбас. Ну и проблема с настройкой характеристик корабля. Не получится ему просто увеличить скорость, нужно перенастраивать систему плавучести.
По итогу это вполне применимо, но с нюансами.
Такелаж можно собрать на ниагаре и рибонах. Посмотрите примеры применения рибон рендера в примерах контента от эпиков. Чуть чуть векторки, координаты сокетов, пару модулей в стратчпаде, обвязка в бп и шасце)
Удачи с проектом)
Мачты не поворачиваются. Поворачивается рей, который не закреплён жёстко к мачте, а по факту висит на ней, будучи притянут канатами. Так что развернуть его можно хоть на 180, хоть на 360 градусов. Другое дело что у прямого паруса довольно малый эффективный угол к ветру (зато их можно сделать МНОГО, по этому принципу построены Крузенштерн и Седов), и особо сильно поворачивать такой парус смысла нет.
афигенно, но нет