Поздравляю всех с этим Великим Праздником Победы - Всех с 9 мая!
Как-бы сейчас история не переписывалась, как-бы мнение не менялось, но правда - стоит помнить, кто именно победил бурный фашизм в 1945 году!
Не зря улица в Новороссийске названа в мою фамилию (В честь моего двоюродного прадеда и подполковника Красной Армии🫡)
Как-бы сейчас история не переписывалась, как-бы мнение не менялось, но правда - стоит помнить, кто именно победил бурный фашизм в 1945 году!
Не зря улица в Новороссийске названа в мою фамилию (В честь моего двоюродного прадеда и подполковника Красной Армии🫡)
🎉6🔥2❤1
Да что эта ваша штука под названием сон... У меня дедлайны
Но кстати, я все успел прям в срок :)
(И Акира с такой же грустью смотрит на время..)
А кто думал, что проект загнулся? Нее. Раньше я мог показывать какие-то простые/базовые механики, а сейчас боюсь все стало таким классным, что лучше придержим это ) 👀
Но кстати, я все успел прям в срок :)
(И Акира с такой же грустью смотрит на время..)
А кто думал, что проект загнулся? Нее. Раньше я мог показывать какие-то простые/базовые механики, а сейчас боюсь все стало таким классным, что лучше придержим это ) 👀
❤6🤔1🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
[Владелец канала получил некритические серьезные повреждения мозга]
🥰7
Такс, немного проясню ситуацию:
Я живой. Мы живы. Проект существует.
В первую очередь хотелось бы наконец-то поздравить наш блог уже с 50-ю подписчиками! Для меня большая честь видеть всех вас тут, в своем скромном канальчике про программирование
Во вторых спустя почти 7 дней прокрастинации после школы (вытянул литературу и английский язык из балла 2.3 в 3-ку за год, ура.......), и отдохнувв лесу я наконец могу рассказать что происходит сейчас в проекте - а тут есть о чем рассказать
Сделаю полный редизайн постов, чтобы было что вспомнить. Надеюсь начинающим программистам это будет полезно (та и вы не стесняйтесь спрашивать у меня под постами..)
И под конец заспойлерю - будет немало кода и много рассказа про разные компоненты и классы в проекте, поэтому от объективной критики я не откажусь =)
Я живой. Мы живы. Проект существует.
В первую очередь хотелось бы наконец-то поздравить наш блог уже с 50-ю подписчиками! Для меня большая честь видеть всех вас тут, в своем скромном канальчике про программирование
Во вторых спустя почти 7 дней прокрастинации после школы (вытянул литературу и английский язык из балла 2.3 в 3-ку за год, ура.......), и отдохнув
Сделаю полный редизайн постов, чтобы было что вспомнить. Надеюсь начинающим программистам это будет полезно (та и вы не стесняйтесь спрашивать у меня под постами..)
И под конец заспойлерю - будет немало кода и много рассказа про разные компоненты и классы в проекте, поэтому от объективной критики я не откажусь =)
❤6🔥1🤝1
APS_WorldSettings
Родительский класс: AWorldSettings
Описание: Родительский класс является актором (первая буква говорит, что это актор и он хранится на уровне). Родительский класс находится на каждом уровне. Его нельзя настроить через viewport, а доступ к нему происходит от окна "World Settings"
Как понятно из названия, он хранит лишь настройки для каждого уровня (а.к.а. World), а настраивается через окно в самом движке. Конкретно мой класс добавляет пару постоянных опций, по типу "Включен ли Солвер Ган? Фонарик? Загрузчик уровней?", а также через него настраивается состояние Discord Rich Presence (это та штука в дискорде, показывающая во что играет твой кент сейчас)
Так как я работаю не один, то для команды добавлено предупреждение, что отключение загрузчика уровня может повлечь за собой серьезные баги при переходе между уровнями.
А вот нечего было отключать, работает не трогай ;]
(P.S. Отключение загрузчика полезно для быстрого теста определенного уровня, без необходимости ждать пока он прогрузится)
Функции:
- Хранения параметров для данного уровня (и для последующего доступа к ним извне)
- Обновление состояния Discord Rich Presence.
- Настройка фоновой музыки на уровне (плейлист из нескольких аудиофайлов, запущенных поочерёдно)
Особенности: После создания класса и успешной компиляции, в настройках проекта (Project Settings) есть графа "World Settings Class", если все сделано правильно - то кроме стандартного класса World Settings, можно выбрать собственный/кастомный класс. Затем перезапустите движок и бинго!
Про что рассказать в следующий раз?
Родительский класс: AWorldSettings
Описание: Родительский класс является актором (первая буква говорит, что это актор и он хранится на уровне). Родительский класс находится на каждом уровне. Его нельзя настроить через viewport, а доступ к нему происходит от окна "World Settings"
Как понятно из названия, он хранит лишь настройки для каждого уровня (а.к.а. World), а настраивается через окно в самом движке. Конкретно мой класс добавляет пару постоянных опций, по типу "Включен ли Солвер Ган? Фонарик? Загрузчик уровней?", а также через него настраивается состояние Discord Rich Presence (это та штука в дискорде, показывающая во что играет твой кент сейчас)
Так как я работаю не один, то для команды добавлено предупреждение, что отключение загрузчика уровня может повлечь за собой серьезные баги при переходе между уровнями.
(P.S. Отключение загрузчика полезно для быстрого теста определенного уровня, без необходимости ждать пока он прогрузится)
Функции:
- Хранения параметров для данного уровня (и для последующего доступа к ним извне)
- Обновление состояния Discord Rich Presence.
- Настройка фоновой музыки на уровне (плейлист из нескольких аудиофайлов, запущенных поочерёдно)
Особенности: После создания класса и успешной компиляции, в настройках проекта (Project Settings) есть графа "World Settings Class", если все сделано правильно - то кроме стандартного класса World Settings, можно выбрать собственный/кастомный класс. Затем перезапустите движок и бинго!
Про что рассказать в следующий раз?
❤🔥4🔥1💋1
Лайфхак №0
Упрощенный способ вызов анимаций через код
Так вот, т.к.я ленивая жэпа это долго, то есть такой интересный способ:
- Будем использовать USkeletalMeshComponent, в котором уже есть необходимые инструменты для запуска анимаций (Закреп 1)
- Выставляем анимацию и запускаем (Закреп 2)
И результат на закрепе 3
Всем спасибо, хорошего дня!
Но это старый вариант - анимация будет вечно перезапускаться и странно себя вести если не доиграет (А я напомню - мы тут без сверхъестественного Animation Blueprint), так что введем небольшой хотфикс (Закреп 4):
- Перед заменой анимации на новую, с текущей анимации сохраняем позицию (на каком кадре)
- Заменяем анимацию на новую, выставляем ей скорость-направление
- И после (перед запуском) выставляем сохраненную позицию на новой анимации (Т.К. При выставлении новой анимации, позиция сбрасывается в 0, то есть в начало анимации)
- А затем можно и запустить проигрывание анимации
Как видно - новый вариант гораздо приятнее на глаз (Закреп 5), и реализуется без всяких Animation Blueprint и State Machines (Вот бы я знал это год назад, еще в Демо, эх...)
Упрощенный способ вызов анимаций через код
Знаете то осознание, когда нужно написать код для какой-нибудь кнопки, выдвижному ящику, дверной ручке или окну, а голову лезят идеи использовать Animation Blueprint, State Machines и десятки костылей?
Так вот, т.к.
- Будем использовать USkeletalMeshComponent, в котором уже есть необходимые инструменты для запуска анимаций (Закреп 1)
- Выставляем анимацию и запускаем (Закреп 2)
И результат на закрепе 3
Но это старый вариант - анимация будет вечно перезапускаться и странно себя вести если не доиграет (А я напомню - мы тут без сверхъестественного Animation Blueprint), так что введем небольшой хотфикс (Закреп 4):
- Перед заменой анимации на новую, с текущей анимации сохраняем позицию (на каком кадре)
- Заменяем анимацию на новую, выставляем ей скорость-направление
- И после (перед запуском) выставляем сохраненную позицию на новой анимации (Т.К. При выставлении новой анимации, позиция сбрасывается в 0, то есть в начало анимации)
- А затем можно и запустить проигрывание анимации
Как видно - новый вариант гораздо приятнее на глаз (Закреп 5), и реализуется без всяких Animation Blueprint и State Machines (Вот бы я знал это год назад, еще в Демо, эх...)
Я так заюзал почти во всех элементах игры, где нужен вызов простых анимаций (Панели, двери, кнопки и т.д.)
Но а так как я тот еще редкий вид активно-прокрастинирующих, то анимации на Солвер Гане тоже работаю через код - если новый формат постов приживется, то как-нибудь расскажу про это =]
🔥4