Маленькая попытка к большой цели

Нужна помощь в решении некоторых проблем. Буду всем благодарен за оказанную помощь или за то, что уделили немного внимания.

Всем привет!

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

Краткий обзор

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

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

<i>Пример инвентаря персонажа</i>
Пример инвентаря персонажа

Проблемы - суть поста

Началось все с анимаций :( К сожалению, как правильно их использовать не знаю (пытался вкурить Advanced Locomotion System, но как оно работает - мозгов не хватило... хотя сами анимации из этого проекта взял).

На плоской поверхности персонаж ходит вполне адекватно:

Анимация ходьбы на плоской поверхности

Но как только персонаж попадает на основной остров, происходит дерганье:

Анимация ходьбы по ландшафту

Пытался честно сам найти причину и наткнулся на следующее: скорость персонажа во время ходьбы равняется 150, но на острове она колеблется от 148 до 150. Открыв BlendSpace для передвижения по земле и начав дергать поинтер в районе анимации ходьбы, получил тот же эффект. Может, кто знает, как его исправить?

BlendSpace анимации передвижения

Второй вопрос заключается в том, что я не знаю, как правильно составлять уровни (щас понабегут, мол, сначала мелкие левлы составлять научись, а потом за большие берись... но уверяю, что смысл не изменится). На ютубе нашел ролик, в котором говорится о том, что почти все объекты должны находиться на разных картах при помощи World Composition (основной ландшафт на одной подкарте, деревья - на другой и т.д). Но вопрос в том, правильно ли это?

Третий - как правильно загружать разные уровни. Например, есть карта для основного меню, из него с помощью Open Level открываю следующий, но перед открытием показываю заглушку загрузки (черных квадрат, в середине которого написано "Загрузка...") и обычную задержку на 3 секунды. Потом при загрузке основной карты с подкартами начинается дикое провисание (сомневаюсь, что кто-то будет это ждать). Возможно, есть какой-то другой способ сделать это красиво? К примеру, в Load Stream Level есть пин Complete, который сработает после загрузки подуровня.

И последний - пытаюсь научить персонажа плавать, используя готовые анимации и Physic Volume с признаком "Water Volume". В редакторе все нормально: в нужной области на нужной высоте персонаж начинает плавать. Но как только собрал для друга попробовать эту попытку в геймдев, персонаж начал плавать в воздухе( Такое чувство, что Physic Volume поднялся на 100 или 200 по Y. Поиск в гугле ничего не дал.

Пы.Сы: Выдающимися навыками программирования не владею, но пытаюсь развиваться в этой области. Прошу сильно камнями не кидать, пост ради помощи, ибо знакомых разрабов нет и гуглить не умею.

77
6 комментариев

2 - Если у тебя не супер огромный опен ворлд, то world composition не нужен, просто используй один level для каждого уровня
3 - Open Level происходит в основном потоке, поэтому статтера не избежать (в блюпринтах), можно конечно использовать level streaming, но я бы порекомендовал посмотреть на плагин из ассет стора - "Async Loading Screen", он простой и все можно в блюпринтах сделать

2
Ответить

Спасибо за совет! Нужно тогда посмотреть как этот плагин работает

Ответить

Насчет спотыканий персонажа - как вариант посмотреть, что с коллизиями в персонажа, возможно вы используете капсулу и и скелетал меш, и капсула слишком низко относительно меша, что приводит к тому, что она задевает за ландшафт
НУ и да, лучше подобные вопросы постить в чат в телеграмме, там если вы вежливо и адекватно спрашиваете, всегда помогут.

1
Ответить

Спасибо за совет! Надо будет попробовать. Вы правы: использую обычную капсюльную коллизию от стандартного персонажа из проекта от третьего лица

Ответить

Подобные вопросы лучше задавать на специализированных ресурсах. Есть UE сообщество в ВК, есть Telegram:
- https://vk.com/unreal_engine_4
- https://t.me/UnrealEngine4
В Telegram сейчас онлайн 1206 человек при 5000+ участниках, помогают быстро много и понятно. 
*кидай в чат вопросы по одному, когда дадут совет, то иди ищи на эту тему информацию и исправляй = информация запомнится.
**на DTF в разы меньше людей занимающихся движком UE.

1
Ответить

Хорошо, спасибо большое! Попробую написать туда :)

Ответить