Йо-хо-хо и корабль мне в бухту!

Как вы уже поняли, речь пойдет о парусных кораблях в компьютерных играх. Тематике, по которой вы наврятли найдете (а если найдете - покажите мне), хоть какой-то вразумительный тутор.

Йо-хо-хо и корабль мне в бухту!
1717

Мачты выглядят прикольно) хз на сколько это соответствует 'тем самым пиратский кораблям'. Быстрый ресерч не дал результата, в какой момент мачты стали поворачиваться)
А вот по поводу физике мне есть что сказать)
По вашей логике, чтобы сделать машину в игре, нужно симуляровать движение ремня грм, трение в каленвале и сжигание топлива в цилиндрах!)
Не нужно собирать весь токелаж на физике, чтобы корабль поплыл. Достаточно симулировать необходимые силы. А для этого даже нет нужды прикладывать силу к каждому вертексу поверхности. Необходимо создать условные поплавки, которые и будут принимать на себя весь расчёт физики. Штук 6 на корабль и уже получаем правдоподобное поведение) а такелажа у вас и так нет) благо не программу для испытания корпусов пишите)
Симуляция ткани на парусах куда сильнее ударит по производительности, чем 'физика' плавучести. Подсмотреть базу можно у эпиков.
Но возникает другая проблема) при малейшей просадке фпс корабль может уйти в расколбас. Ну и проблема с настройкой характеристик корабля. Не получится ему просто увеличить скорость, нужно перенастраивать систему плавучести.
По итогу это вполне применимо, но с нюансами.
Такелаж можно собрать на ниагаре и рибонах. Посмотрите примеры применения рибон рендера в примерах контента от эпиков. Чуть чуть векторки, координаты сокетов, пару модулей в стратчпаде, обвязка в бп и шасце)
Удачи с проектом)

4
Ответить

Мачты не поворачиваются. Поворачивается рей, который не закреплён жёстко к мачте, а по факту висит на ней, будучи притянут канатами. Так что развернуть его можно хоть на 180, хоть на 360 градусов. Другое дело что у прямого паруса довольно малый эффективный угол к ветру (зато их можно сделать МНОГО, по этому принципу построены Крузенштерн и Седов), и особо сильно поворачивать такой парус смысла нет.

2
Ответить