Portal: Solver Alpha? Portal: Solver Alpha!
Да-да, пару дней не было постов из-за подготовки к анонсу, перенастройка Анрила, построение карт, дак еще болезнь прихватила меня (не нарушайте свой биоритм...) - По ходу дела расскажу, как была пройдена эта неделя хотфиксов, доработок и костылей.
А сейчас держите секрет создания таких прикольных проводов через код (блюпринты точнее-). Самое главное тут - галочка "Expose To Cinematics", которая добавляет настройку переменной через Сиквенсер. А дальше просто делаем плавный подьем от 0.0 до 1.0 (Дело Аниматора)
А также вы могли заметить странный перебор в тике, хоть конечно хотелось делать перебор от 0 до нужного индекса в массиве, но в блюпринтах нельзя напрямую получить объект из массива... (только какую-то копию объекта! Эпики вы что там нюхаете?!Я тоже хочу), поэтому пришлось делать перебор всего массива >:(
Ах да, не заметили эту замечательную "анимацию" проводов? Тогда глянем анонс еще раз! (тык) :)
Да-да, пару дней не было постов из-за подготовки к анонсу, перенастройка Анрила, построение карт, дак еще болезнь прихватила меня (не нарушайте свой биоритм...) - По ходу дела расскажу, как была пройдена эта неделя хотфиксов, доработок и костылей.
А сейчас держите секрет создания таких прикольных проводов через код (блюпринты точнее-). Самое главное тут - галочка "Expose To Cinematics", которая добавляет настройку переменной через Сиквенсер. А дальше просто делаем плавный подьем от 0.0 до 1.0 (Дело Аниматора)
А также вы могли заметить странный перебор в тике, хоть конечно хотелось делать перебор от 0 до нужного индекса в массиве, но в блюпринтах нельзя напрямую получить объект из массива... (только какую-то копию объекта! Эпики вы что там нюхаете?!
Ах да, не заметили эту замечательную "анимацию" проводов? Тогда глянем анонс еще раз! (тык) :)
❤3👍1🔥1
Лайфхак 2: Как сделать плавный переход, пренебрегая таймерам
Но чисто случайно, методом проб и ошибок, разработал решение - отправлять на видеокарту время начала перехода, а дальше переход будет делать видеокарта, разгружая процессор! Как никак видеокарта работает быстрее и четче
Расклад такой - в материале создаем скалярный параметр StartTime и задаем какое-нибудь отрицательное число, чтобы он не активировался по началу игры (Ноль - чтобы он активировался сразу, или просто положительное число, активируется через какое-то время после начала игры)
В этом и заключается особенность моего подхода, ибо теперь можно использовать прошедшее кол-во времени как альфа-значение для интерполяции и тд.
Думаю уже догадались как это использовать - создаете UMaterialInstanceDynamic (MID). Или же задейсвуем Material Parameter Collection Instance - тоже удобная вещь (напишу реализацию сразу двух способов)
Такой способ думаю очевидно выигрышный, ибо:
[+] Автоматическая синхронизация — Не зависит от тика или таймеров.
[+] Плавность — Использует встроенный (глобальный) и независимый Time
[+] Гибкость - Если правильно распределить значения, то можно сделать 2-х и 3-х этапные переходы из 1-го значения от 0 до бесконечности. В любом случае можно не ограничиваться диапазоном значений, а также не забываем про функции внутри самого материала - их гораздо больше и они более универсальные
[+] Автономная работа - Процессор только отправляет информацию о начале перехода, а дальше все делает видеокарта, разгружая процессор
Оптимизируемся :D
Возможно бывали проблемы, когда надо сделать плавный переход, интерполяцию (Как например затемнение). Использовать 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
Forwarded from 𝐏𝐨𝐫𝐭𝐚𝐥: 𝐒𝐨𝐥𝐯𝐞𝐫
========
#news #special #offtop
========
========
Встречайте, 𝗘.𝗖.𝗛.𝗢. !
Ваш помощник и ассистент в 𝗔𝗯𝘀𝗼𝗹𝘂𝘁𝗲 𝗟𝗮𝗯𝗼𝗿𝗮𝘁𝗼𝗿𝗶𝗲𝘀
Предназначен для навигации и имеет самый базовый функционал, но тем не менее, окажется довольно полезным !
========
========
• 🧪 Принимает анкеты для вступления в Absolute Science
• 📢 Помогает найти Telegram Канал
• 💬 Помогает найти Discord Сервер
• ⬇️ Помогает найти GameJolt Страницу
========
@PortalSolver_bot
#news #special #offtop
========
========
Встречайте, 𝗘.𝗖.𝗛.𝗢. !
Ваш помощник и ассистент в 𝗔𝗯𝘀𝗼𝗹𝘂𝘁𝗲 𝗟𝗮𝗯𝗼𝗿𝗮𝘁𝗼𝗿𝗶𝗲𝘀
Предназначен для навигации и имеет самый базовый функционал, но тем не менее, окажется довольно полезным !
========
========
• 🧪 Принимает анкеты для вступления в Absolute Science
• 📢 Помогает найти Telegram Канал
• 💬 Помогает найти Discord Сервер
• ⬇️ Помогает найти GameJolt Страницу
========
@PortalSolver_bot
❤2🤩1
Теперь у нас есть тг-бот!
В дискорде у нас есть прием заявок на вступление в команду, но т.к. до дискорд сейчас не достучаться без особых методов, то слышали просьбы людей сделать прием заявок в тг - и этот день настал!
Бот полностьюнавайбкоден написан на Python с использованием библиотеки python-telegram-bot. Абсолютно простая логика работы, тяжелее было только Атому, который делал стилистику сообщений, ибо текст с форматированием Markdown2 выглядит супер-нечитабельно, но зато результат!
Дальше запуск этого шедевра на арендованном серваке за 140 рублей в месяц, там-то и пригодился мой бывший опыт работы с линукс на Raspberry Pi - SSH, apt, генерация ключей и тд.
В целом все, увидимся
(Кто будет спамить - лично приеду с толстым справочником по С++)
В дискорде у нас есть прием заявок на вступление в команду, но т.к. до дискорд сейчас не достучаться без особых методов, то слышали просьбы людей сделать прием заявок в тг - и этот день настал!
Бот полностью
Дальше запуск этого шедевра на арендованном серваке за 140 рублей в месяц, там-то и пригодился мой бывший опыт работы с линукс на Raspberry Pi - SSH, apt, генерация ключей и тд.
В целом все, увидимся
❤1🔥1
Сегодняшний вечер/ночь/утро можно начать со словами "Представьте, что вы угробили свой режим..."
Представим, что время 2:40, а вместо того чтобы лежать в люльке (та кого я обманываю, сидеть в Анриле), я успел покататься на ночном велофестивале, побывал у Останкинской башни и даже съездил в Москву-Сити
Уже рассвет, круто... 💀👍
Кстати как только добираться до дома то, блин🫡
Ноги гудят, жесть просто. А еще если в Подмосковье ты думаешь на карте в 2д, то в Москве тут надо думать в 3д. Ибо здесь такие просто мегаструктуры
Представим, что время 2:40, а вместо того чтобы лежать в люльке (та кого я обманываю, сидеть в Анриле), я успел покататься на ночном велофестивале, побывал у Останкинской башни и даже съездил в Москву-Сити
Уже рассвет, круто... 💀👍
Кстати как только добираться до дома то, блин🫡
Ноги гудят, жесть просто. А еще если в Подмосковье ты думаешь на карте в 2д, то в Москве тут надо думать в 3д. Ибо здесь такие просто мегаструктуры
❤3🔥1🥰1🙏1🕊1🫡1
Емае, пока Unreal Engine запускается как минимум на компьютерах НАСА...
Один человек с ником Mathis просто в соло собрал небольшой каскад яркости (новый подход к решению задачи глобального освещения) на GLSL в ShaderToy прямо в браузере... Дак еще оно стабильно держит 80 кадров в секунду!
Я думаю это стоит опробовать:
https://www.shadertoy.com/view/M3ycWt
(ЛКМ - Вращать камеру, WSAD - Перемещаться)
❤️ - Соберите это в Майнкрафте
🔥- Шах и мат Epic Games
Один человек с ником Mathis просто в соло собрал небольшой каскад яркости (новый подход к решению задачи глобального освещения) на GLSL в ShaderToy прямо в браузере... Дак еще оно стабильно держит 80 кадров в секунду!
Я думаю это стоит опробовать:
https://www.shadertoy.com/view/M3ycWt
(ЛКМ - Вращать камеру, WSAD - Перемещаться)
❤️ - Соберите это в Майнкрафте
🔥- Шах и мат Epic Games
❤6🔥1