С повреждением парусов уже сложнее. Как вы можете помнить, я нашел на просторах гитхаба хитрый код, который способен получить UV координату текстуры на скелетал меше, чтобы рисовать на ней дырки от ядер. Так вот, этот код работает так, что получает список всех вершин меша, и затем подбирает ближайшую вершину к ядру которое столкнулось с коллизией. Раньше, каждый парус был отдельным скелетал мешем, и эта логика идеально подходила, но теперь у нас единый скелет, и если использовать этот код дальше, производительность быстро превратится в тыкву. Но к счастью, через плюсы мы можем получить список вершин конкретного элемента скелетал меша. Так что путем небольших изменений я эту проблему пофиксил. Ну и под каждый парус была создана отдельная кость, на которую навешивается коллизия, чтобы была возможность определить по какому именно парусу мы попали.
Самая красивая вода у FluidFluxа разраб смотрю тот еще юморист
Ждём ролик, успехов!
Парусники = секс
Удачи тебе бро!
Я понимаю, что много зависит от настроек, но всё же если сравнить воду по производительности FluidFlux, Oceanology и стандартную воду UE, даже не сравнение, а скорее субъективное мнение, что лучше? Вообще, если ты столько времени уделил воде, хотелось бы услышать на эту тему более развёрнутое мнение, в первых постах почти все шаги были расписаны, не по воде, а вообще, понимаю, что возможно нет времени всё подробно писать, но очень бы не хотелось, что бы статьи превратились в дальнейшем в "Переделал город - стало лучше".
Если говорить о дефолтных настройках, то производительность следующая:
UE вода > Океанология > FluidFlux. Но с учетом того, что у океанологии беда с методом получения высоты волн, что для меня критично, то у меня в реальной игре получается что FluidFlux более производителен. В общем все от сферы использования зависит...
Ну, в первых постах я как правило рассказывал про какую-то одну тему, поэтому и подробностей реализации там было поболее. С переходом на формат ежемесячных статей, стало сложно раскрывать только какую-то одну тему. Более того, не все темы которые я обдумываю попадают в эти самые ежемесячники. Ту же переделку кораблей и переезд на новую воду я начал планировать еще в мае, и только сейчас смог это реализовать и рассказать поверхностно об архитектуре. Да и не хотелось бы мне прямо гайды расписывать.
Если кто-то захочет что-то уточнить, то всегда может спросить в комментах или в личку отписать как некоторые делают.
Мне интересно как ты планируешь соединять передвижение по глобалке? Это будет как в оригинале с мини картой,или большой бесшовный мир?Если второе,то очень интересно как это будет выглядеть,потому что я даже представить себе это не могу,как будут встречаться корабли,с учетом того что они все разные:есть торговцы,пираты,военные конвои и тд.Со всеми разное взаимодействие,это ж пиздец
Бесшовный мир по большей части.
Ну, следует понимать что логика старых корсаров уже не налезает на большой мир. Я пока что имею у себя в голове только верхнеуровневое представление поведения кораблей в мире.
Капитаны не будут в 100% случаев нападать на торговцев и каперов других стран. Если в радиусе огневого поражения будет возникать неагрессивный вражеский корабль, то будут производится только предупредительные выстрелы и попытка выйти из радиуса соприкосновения. Если корабли идут на сближение - начинается полноценный бой.
В свою очередь, корабль противника будет вести себя точно так же, если только он не пират или капер с пустым трюмом.
В теории так корабли могут вообще сбиться с маршрута сильно, но с точки зрения игрока, это почти не имеет значения.
В целом такая подробная симуляция будет работать только рядом с кораблем игрока, а за пределами его видимости, кораблики просто будут ходить и устраивать автобой между собой. В итоге игрок часто будет видеть потрепанные корабли, которые будут создавать иллюзию что что-то происходит.