𝐑𝐨𝐨𝐭𝐓𝐨𝐨𝐥 𝐁𝐥𝐨𝐠
194 subscribers
570 photos
48 videos
5 files
60 links
ニャン
Download Telegram
Лайфхак №1
Выставление материалов прямо в редакторе

Это не прям что-то сверхъестественное, но такая фича очень будет удобной для дизайнеров, а также решает одну особенность Unreal Engine - если на сцене изменить какой-нибудь компонент внутри блюпринта, то этот блюпринт перестает как-либо обновляться (не смотря на изменения основного в Content Browser)


Фича проста до безумия (Закреп 1) - объявляем OnContruction (Закреп 2), в котором задаем материал, НО - если материала нет, то задаем какую-нибудь пустышку (WorldGrid или свою)

В целом все, но от себя добавлю: Так как опыт в С++ у меня уже был, то со временем стиль написания условий if-else стал более упрощенно-профессиональным (Финальный вариант в закрепе 3), поэтому не удивляйтесь таким фокусам :]

Такие условия называются if-with-initializer, а завезли нам эту подкормку в С++17 (2017). Поэтому чтобы сделать код немного читабельнее, подгрузку обьекта выношу прямо в условие if и там-же его сравниваю (смог ли я подгрузить объект?) и если да - то работаю с подгруженным объектом внутри.
❤3🥰1💯1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда у тебя нет проблем со здоровьем, у тебя есть 1000 проблем
Но когда у тебя есть проблемы со здоровьем, у тебя есть только 1 проблема


Примерно такие слова стоило мне раньше послушать, а не переводить свой режим сна в такую кашу, что я ложился в 4-5 часа утра, просыпался в 12-13 часов дня. Что хочу сказать... цените здоровье, и свой режим сна. И не доводите его до такого... А то сидеть с заложенным носом с температурой 37.5 как то не очень, знаете ли))

(П,С, Это я под температурой решил заняться кодом хахвхвхвав)
👍2😭1
Portal: Solver Alpha? Portal: Solver Alpha!

Да-да, пару дней не было постов из-за подготовки к анонсу, перенастройка Анрила, построение карт, дак еще болезнь прихватила меня (не нарушайте свой биоритм...) - По ходу дела расскажу, как была пройдена эта неделя хотфиксов, доработок и костылей.

А сейчас держите секрет создания таких прикольных проводов через код (блюпринты точнее-). Самое главное тут - галочка "Expose To Cinematics", которая добавляет настройку переменной через Сиквенсер. А дальше просто делаем плавный подьем от 0.0 до 1.0 (Дело Аниматора)

А также вы могли заметить странный перебор в тике, хоть конечно хотелось делать перебор от 0 до нужного индекса в массиве, но в блюпринтах нельзя напрямую получить объект из массива... (только какую-то копию объекта! Эпики вы что там нюхаете?! Я тоже хочу), поэтому пришлось делать перебор всего массива >:(

Ах да, не заметили эту замечательную "анимацию" проводов? Тогда глянем анонс еще раз! (тык) :)
❤3👍1🔥1
Лайфхак 2: Как сделать плавный переход, пренебрегая таймерам

Возможно бывали проблемы, когда надо сделать плавный переход, интерполяцию (Как например затемнение). Использовать Tick - неплохое решение, но нагружает CPU. Таймеры? Та же история. Та и у способа с таймером есть проблема с "шагами", которая исправляется или увеличением вызова таймера, или использование тика. Но то и другое - нагрузка на CPU. Ситуация не очень...


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

Расклад такой - в материале создаем скалярный параметр StartTime и задаем какое-нибудь отрицательное число, чтобы он не активировался по началу игры (Ноль - чтобы он активировался сразу, или просто положительное число, активируется через какое-то время после начала игры)

Поясню - Активация означает, что StartTime сравнялся с глобальным временем, а так как глобальное время идет дальше, а StartTime остается, то их разность будет давать кол-во секунд после активации.


В этом и заключается особенность моего подхода, ибо теперь можно использовать прошедшее кол-во времени как альфа-значение для интерполяции и тд.

Умножая - Вы ускоряете значение

Деля - Ограничиваете значение от 0 до 1, где 1 будет через столько секунд, сколько в делителе (3 класс не забыли? :D)


Думаю уже догадались как это использовать - создаете UMaterialInstanceDynamic (MID). Или же задейсвуем Material Parameter Collection Instance - тоже удобная вещь (напишу реализацию сразу двух способов)

Такой способ думаю очевидно выигрышный, ибо:
[+] Автоматическая синхронизация — Не зависит от тика или таймеров.
[+] Плавность — Использует встроенный (глобальный) и независимый Time
[+] Гибкость - Если правильно распределить значения, то можно сделать 2-х и 3-х этапные переходы из 1-го значения от 0 до бесконечности. В любом случае можно не ограничиваться диапазоном значений, а также не забываем про функции внутри самого материала - их гораздо больше и они более универсальные
[+] Автономная работа - Процессор только отправляет информацию о начале перехода, а дальше все делает видеокарта, разгружая процессор

Оптимизируемся :D
❤2🔥1
========
#news #special #offtop
========

========
Встречайте, 𝗘.𝗖.𝗛.𝗢. !
Ваш помощник и ассистент в 𝗔𝗯𝘀𝗼𝗹𝘂𝘁𝗲 𝗟𝗮𝗯𝗼𝗿𝗮𝘁𝗼𝗿𝗶𝗲𝘀
Предназначен для навигации и имеет самый базовый функционал, но тем не менее, окажется довольно полезным !
========

========
• 🧪 Принимает анкеты для вступления в Absolute Science
• 📢 Помогает найти Telegram Канал
• 💬 Помогает найти Discord Сервер
• ⬇️ Помогает найти GameJolt Страницу
========

@PortalSolver_bot
❤2🤩1
Теперь у нас есть тг-бот!

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

Бот полностью навайбкоден написан на Python с использованием библиотеки python-telegram-bot. Абсолютно простая логика работы, тяжелее было только Атому, который делал стилистику сообщений, ибо текст с форматированием Markdown2 выглядит супер-нечитабельно, но зато результат!

Дальше запуск этого шедевра на арендованном серваке за 140 рублей в месяц, там-то и пригодился мой бывший опыт работы с линукс на Raspberry Pi - SSH, apt, генерация ключей и тд.

В целом все, увидимся

(Кто будет спамить - лично приеду с толстым справочником по С++)
❤1🔥1
Знаете, а я тут подумал...
👀5🤗3😁1