Media is too big
VIEW IN TELEGRAM
В
CCR позволяет размещать в сцене специальные регионы, внутри которых можно применять свои настройки цветокоррекции. Это работает в реальном времени и не требует постобработки!
Post Process Volume накладывает эффект на камеру, когда игрок заходит в объем — меняется картинка целиком.
Color Correct Regions меняет цвет самих объектов, находящихся внутри региона — остальная сцена и камера остаются неизменными.
Edit > Plugins > Color Correction Regions > RestartEdit > Project Settings > Rendering(Window > Color Grading) — это специализированный интерфейс для работы с цветом в ваших сценах. Панель позволяет управлять настройкам Color Correction Regions и Post Process Volume.📌 Демонстрация работы плагина в прикреплённом видео
#ccr #gamedev #tips_and_tricks #UEtips #unrealengine #ue5 #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19 7 6❤1🦄1 1
При отображении массива структур в Unreal Engine спецификатор TitleProperty позволяет настроить текст, который выводится в заголовке каждого элемента.
Поддерживается структурное форматирование в стиле
FText::Format для комбинирования нескольких параметров в одной строке USTRUCT(BlueprintType)
struct FWeaponStats
{
GENERATED_BODY();
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FName Name;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 Damage;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 Ammo;
};
...
UPROPERTY(EditAnywhere)
TArray<FWeaponStats> WeaponsLame;
UPROPERTY(EditAnywhere, Meta = (TitleProperty = "{Name} - {Damage} DMG"))
TArray<FWeaponStats> Weapons;
#gamedev #tips_and_tricks #UEtips #unrealengine #ue5 #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
120🔥53❤11 11🦄2
Media is too big
VIEW IN TELEGRAM
Мини tip для
Edit > Editor PreferencesPerformance > Show Frame Rate And Memory💡 Ctrl+Shift+H выводит FPS в HUD вьюпорта. Больше хоткеев в последнем видео на канале — TOP-50 UNREAL ENGINE HOTKEYSPatreon | Boosty | PayPal
GitHub | Itch | X | Wiki | LifeEXE School
#tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥12 12🦄1 1
Непостоянная рубрика: Воскресный C++
Типизация и применение
std::string_literals в современном C++📕 Полноценная статья доступна для подписчиков Boosty и Patreon
using namespace std::string_literals; — это директива в C++, которая позволяет использовать суффикс s для создания объектов std::string напрямую из строковых литералов.Эта возможность появилась в стандарте C++14.
В «классическом» C++ строковый литерал
"Hello" имеет тип const char* — C-style массив символов, а не std::string#include <string>
int main()
{
auto str1 = "Hello"; // Тип: const char*
using namespace std::string_literals;
auto str2 = "Hello"s; // Тип: std::string
return EXIT_SUCCESS;
}
Без
string_literals нельзя просто взять и сложить два const char*std::string result = "Hello" + ", world";
// ОШИБКА компиляции!
// компилятор выдаст что-то такое ->
// error: invalid operands to binary expression
А вот с суффиксом
s это работает, так как вызывается перегруженный operator+ для класса string #include <print>
#include <string>
int main()
{
using namespace std::string_literals;
auto result = "Hello"s + ", world"s;
std::println("{}", result);
return EXIT_SUCCESS;
}
Что будет выведено в консоль?
#include <print>
#include <string>
void process(bool param)
{
std::println("bool");
}
void process(const std::string& str)
{
std::println("string");
}
int main()
{
using namespace std::string_literals;
process("hello"); // ?
process("hello"s); // ?
return EXIT_SUCCESS;
}
Ответ может удивить:
process("hello") выведет boolprocess("hello"s) выведет stringПочему так? У компилятора есть два пути
const char* к std::string через конструктор класса — это User-defined conversion.bool (любой не null указатель = true) — это Standard conversion.В C++ стандартные преобразования имеют приоритет. Поэтому строка молча превращается в
true, и вы попадаете не в ту функцию — суффикс s решает эту проблему.📕 Больше информации, ньюансов и примеров со ссылками на Compiler Explorer в полноценной статье на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki | Курс по UE
#cpp #tips_and_tricks #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤27🔥18 7 3👍1🦄1
Media is too big
VIEW IN TELEGRAM
В Unreal Engine есть мощная команда консоли —
dumpGPUОна позволяет сдампить сырые бинарные данные промежуточных ресурсов с детализацией до конкретного прохода рендер-графа (render graph pass)
Результат дампа генерируется в виде HTML-страницы, которую можно открыть в любом браузере.
Самая интересная фишка инструмента — встроенный вьюер текстур. Он работает на базе WebGL и позволяет вам писать кастомные пиксельные шейдеры прямо в браузере. Это дает возможность визуализировать каналы текстур, проверять значения и распаковывать данные именно так, как вам нужно для отладки
Примеры из видео
vec3 texel = fetchTexel(uv);
display.rgb = 1.0 - texel;
vec3 texel = fetchTexel(uv);
display.rgb = texel * 0.5 + vec3(uv.x, uv.y, 0.0) * 0.5;
#rendering #debug #gpu #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
👌17 16❤12🔥6👍2🦄1 1
Мини tip для
ReadOnlyKeys позволяет блокировать редактирование ключей ассоциативного массива в блюпринтах TMap — ключи можно случайно изменить UPROPERTY(EditAnywhere)
TMap<ECharStat, float> RegularStats;
UPROPERTY(EditAnywhere, meta = (ReadOnlyKeys))
TMap<ECharStat, float> StatsWithReadOnlyKeys;
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki | Курс по UE
#code #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36 8 7🦄3❤1❤🔥1
Мини tip для
Warning: или Error:Подробнее обо всех тонкостях тестирования в бесплатном курсе на моём ютуб канале — Тестирование в Unreal Engine
#code #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥32 12 6❤2🦄2
Cетап материала в
В основе лежит использование
Distance Fields — материал считывает расстояние до ближайшей поверхности и через World Position Offset деформирует вершины меша.Affect Distance Field Lighting в false в настройках самого меша#material #shader #distancefields #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥30 8❤7🍾1🦄1
Непостоянная рубрика: Воскресный C++
📕 Полноценная статья доступна для подписчиков Boosty и Patreon
Raw String Literals (префикс R) — это необработанные строковые литералы
(raw string literals), появившиеся в C++11.Внутри
R"(...)" все символы интерпретируются буквально — не нужно экранировать специальные символы и переносы строк R"(HelloWorld)" // Базовый синтаксис
R"delimiter(HelloWorld)delimiter" // С delimiter
const std::regex pattern("\\d{3}-\\d{2}-\\d{4}");
const std::regex pattern(R"(\d{3}-\d{2}-\d{4})");const auto config = R"({
"server": {
"host": "localhost",
"port": 8080
},
"debug": true
})"s;const auto path1 = "C:\\Program Files\\MyApp\\config.ini"s;
const auto path2 = R"(C:\Program Files\MyApp\config.ini)"s;
Raw string literals — это compile-time фича. Все три варианта генерируют ИДЕНТИЧНЫЙ машинный код const auto s1 = "hello\\nworld"s;
const auto s2 = R"(hello\nworld)"s;
const auto s3 = std::string("hello\\nworld");
R"(\n)" — это буквально два символа \ и n, а не перенос строки!📕 Больше информации, ньюансов и примеров со ссылками на Compiler Explorer в полноценной статье на Boosty и Patreon
Patreon | Boosty | PayPal
GitHub | LifeEXE School | Itch | X | Wiki | Курс по UE
#cpp #tips_and_tricks #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥31 11🦄7👍2
Отличный тред от Joe Wintergreen с подборкой изящных приемов для разработчиков игр
Иногда самые сложные визуальные эффекты в играх решаются удивительно простыми и изящными хитростями
Такие приемы — отличное напоминание о том, что геймдев — это не только про мощные движки, но и про смекалочку
#gamedev #tips_and_tricks #graphics #games #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥27❤13 9🦄1 1
This media is not supported in your browser
VIEW IN TELEGRAM
Quick tip — в блюпринт-классе через меню можно удалить все переменные с нулевым счетчиком ссылок на блюпринт графе в
#bp #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥28👍15❤10🦄1 1
This media is not supported in your browser
VIEW IN TELEGRAM
Quick tip — в блюпринт-классе через меню можно визуально отобразить спецификаторы доступа (access specifiers) к членам класса в
#bp #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍22🔥9 6❤1🦄1
Quick tip — новый таб Home
Config/DefaultEngine.ini настройку [SystemSettings]
HomeScreen.EnableHomeScreen=false
#tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍21🤩8❤7🦄1 1
This media is not supported in your browser
VIEW IN TELEGRAM
Details функции можно визуально сделать её компактной #bp #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍31❤7🔥5 2 2🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
modulate умножает цвет сценыclamp’ом, чтобы контролировать яркость#vfx #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25 10❤9👏2👍1🦄1 1
Материал топографического контурного эффекта из Arknights: Endfield на
Автор
#vfx #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥23❤10👍7🫡1🦄1
Непостоянная рубрика: C++ по понедельникам
std::string_view — легковесный взгляд на строки📕 Полноценная статья доступна для подписчиков Boosty и Patreon
std::string_view — это легковесный неизменяемый объект из C++17, который смотрит на строковые данные, не владея ими. Внутри это просто указатель и размер.Одна функция принимает любые строковые типы без аллокаций
void printLength(std::string_view sv)
{
std::println("Length: {}", sv.size());
}
int main()
{
using namespace std::string_view_literals;
printLength("hello");
printLength("world"s);
printLength("raw string"sv);
}
substr у string_view не копирует строку — просто создаёт новый «вид» с другим указателем и длиной std::string_view text = "one,two,three";
process(text.substr(0, 3)); // 0 аллокаций
process(text.substr(4, 3)); // 0 аллокаций
process(text.substr(8, 5)); // 0 аллокаций
// std::string::substr() — каждый вызов выделяет память!
Patreon | Boosty | PayPal
GitHub | Itch | X | Wiki | Курс по UE
#cpp #tips_and_tricks #code #lifeexe #lifeexecode #lifeexeEDU
Please open Telegram to view this post
VIEW IN TELEGRAM
11❤22🔥14👍7🦄2
This media is not supported in your browser
VIEW IN TELEGRAM
Подборка визуальных техник для отображения игрока за препятствиями
#leveldesign #tips_and_tricks #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍15🔥13🦄1
Лучшая оптимизация — это та, которую игрок не замечает
#mario #gamedev #tips_and_tricks #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41❤10 7❤🔥2👍2🦄2 2 1 1
Пошаговое руководство о том, как реализовать эффект взрыва и радиального размытия в одной Niagara cистеме в
#vfx #niagara #tips_and_tricks #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10 18❤12🔥9🦄1