Чуваки там меряются, у кого билд меньше в килобайтах, а ты про постпроцессы и плагины.
Лис®©™
> Ты путаешь
+
> Пример с ЖТА Вице Сити некорректен
+
> А вот пример с Кеном Сильверманом показателен
Ну дальше, я вижу, началась демагогия :)
Лис®©™
> Он написал Build Engine (ядро Duke Nukem 3D), будучи подростком, в своей спальне.
+
> Попробуй накликать стратегию с 10 000 юнитов на Блупринтах, и у тебя всё встанет колом, потому что стандартный CharacterMovementComponent слишком жирный для массовки.
>
> Попробуй запилить процедурную воксельную планету без C++ - ты схватишься за голову на этапе попыток сгенерировать меш.
>
> Попробуй изменить пайплайн рендеринга под специфический арт-стайл, не предусмотренный Эпиками - и всё, и добро пожаловать в исходный код движка.
То есть приводить в пример игру, по сложности превосходящую тетрисы и прочие калькуляторы - это некорректно, а сравнивать сложность разработки игры 30-летней давности, когда только-только перфокарты отменили, с технически сложными мега-проэктами, заточенными под современные реалии - это корректно? :)
Blueprint
> Очередной дурачок который даже не знает что такое пост процесс и как в Unreal Engine делаются различные стили.
Лолшто? Пост-процесс - это "макияж" для уже готового кадра и делается он всегда строго в пространстве экрана (Screen Space). Если тебе нужно изменить фундаментальные законы освещения (типа как внедрить нелинейную оптику или спектральный рендеринг до растеризации), никакой Post Process Volume тебе не поможет. Ты путаешь цветокоррекцию с архитектурой графического пайплайна, который может быть гораздо сложнее, чем просто накинуть тут блумчегу, там ахроматических аберраций и будет все в шоколаде. Нет, это принципиально разные вещи.
> Mass AI. Пишешь простенький класс на плюсах, всё остальное, геймплейную логику, можно делать в State Tree.
Как любят говорить математики, Ч.Т.Д. (Что и Требовалось Доказать).
Ты сам только что признал, что одного "накликивания мышкой" недостаточно, и нужно лезть в C++. Mass AI (ECS) в Унреале - это именно что попытка (через код, между прочим! через код, Карл!!!) обойти ограничения базовой архитектуры AActor, которая для массовки непригодна. Ты подтвердил мои слова, пытаясь их опровергнуть.
> Берешь плагин для вокселей и делаешь.
Типичная логика потребителя: "Купи плагин, скачай ассет". А кто написал этот плагин, на минуточку? Инженер, который знает математику и архитектуру памяти. Я предпочитаю быть тем, кто создает технологии (плагины, движки), а не тем, кто их покупает и потом зависит от чужого кода, багов и обновлений, приносящих новые баги, независимо от того, уносят ли они предыдущие.
> Больше тратишь времени на разговоры с такими болванами, которые никогда Unreal Engine в глаза не видели, так как их зарплата сторожа не позволяет купить нормально железо.
Лолшто? Переход на личности и подсчет чужих денег - верный признак того, что технические аргументы закончились.
Мое железо (и, что важнее, мои знания) позволяют мне писать рендер, который выдает 700+ FPS с динамическим глобальным освещением там, где твой "конструктор из плагинов" захлебнется в дроу-коллах. Эффективность кода важнее ценника видеокарты.
И раз уж ты заикнулся о том, что я "не видел Unreal", проведу небольшой ликбез по истории. Я работаю с Unreal Engine с начала нулевых. Начинал моддером (когда ты, возможно, еще пешком под стол ходил), прошел через UE1, UE2, UDK, UE4 и UE5. Я знаю этот движок не по туториалам "как сделать игру за 5 минут", а изнутри, в том числе расковыривал старые игрушки, ради ремастеринга, в том числе недавно нашел человечка на oldunreal, который научился конвертировать их в практически готовый пакет SDK, и даже пересобрал некоторые под современное железо.
Вот тебе немного "пруфов" из личного архива, чтобы в следующий раз ты думал, прежде чем обвинять инженеров в некомпетентности:
totoro
> То есть приводить в пример игру, по сложности превосходящую тетрисы и прочие калькуляторы - это некорректно, а сравнивать сложность разработки игры 30-летней давности, когда только-только перфокарты отменили, с технически сложными мега-проэктами, заточенными под современные реалии - это корректно? :)
Это не демагогия, а перспектива.
Ты совершаешь классическую ошибку, путая сложность продукта (куда включено количество ассетов, озвучки, катсцен) и сложность технологии (математика рендера, физика, управление памятью).
Написать программный растеризатор на ассемблере во времена Build Engine было сложнее, чем сейчас написать PBR-шейдер на HLSL. Тогда ты боролся за каждый такт процессора. Ну вот элементарно, у тебя есть 300МГц процессор с одним ядром, без современных плюшек вроде гипертрединга и прочего. Там ты должен очень хорошо подумать, сколько инструкций процессора хочешь отдать даже элементарно под поворот, ибо матрицы это архитяжело. И не посмей даже думать о том, чтобы посчитать детерминант матрицы в реалтайме, комп тебе объяснит наглядно, что так делать в реалтайме еще слишком рано и ты гонишь коней вперед паровоза, так сказать. Сейчас у нас есть терафлопсы, но мы их бездарно сжигаем на слои абстракций.
Мой тезис прост: Создать технологически продвинутый движок в одиночку сегодня реальнее, чем 30 лет назад.
Почему? Потому что доступ к знаниям мгновенный, а железо прощает ошибки.
Сложность пресловутых мега-проектов сегодня искусственно раздута универсальностью движков. Сделать процедурную воксельную планету на C++ с нуля (используя Vulkan/OpenGL) - это задача на месяц для грамотного инженера. Сделать то же самое, пытаясь прогнуть под это архитектуру Unreal, заточенную под статические меши и запеченный свет - это боль на полгода с переписыванием ядра.
Свой путь - это срезание углов, которые мешают именно твоей задаче.
kkolyan
> у Borderlands получилось вроде свой стиль сделать.
Ну тут надо понимать, что у них есть специфические текстуры (нарисованы вручную).
Плюс у них есть свой шейдер для постпроцесса (если правильно помню, что-то вроде Собеля) для обводки контуров.
И тем не менее, это не изменение пайплайна. Это обыкновенный фильтр поверх стандартного рендера. Геометрия та же, свет тот же (просто заглушенный в материалах). Те же сферические гармоники и иже с ними.
Ну а вот теперь попробуй реализовать в Unreal неевклидову геометрию (как в Hyperbolica), 4-мерный рендеринг (как в Miegakure) или полностью динамический Ray Marching для фракталов без полигонов. Вот тут каждый поймет разницу между стилем и пайплайном. Unreal будет сопротивляться на каждом шагу, потому что его архитектура (Frustum Culling, Render Passes) гвоздями прибита к Евклидовому 3D пространству. В своем движке ты меняешь матрицу проекции 4x4 на тензор - и у тебя уже принципиально другой мир, законы которого ты диктуешь самостоятельно.
Лис®©™
> Мое железо (и, что важнее, мои знания) позволяют мне писать рендер, который выдает 700+ FPS с динамическим глобальным освещением там, где твой "конструктор из плагинов" захлебнется в дроу-коллах. Эффективность кода важнее ценника видеокарты.
Видел я твои говнорендеры. Глобальное освещение ты видимо никогда в глаза не видел.
Лис®©™
> Я предпочитаю быть тем, кто создает технологии (плагины, движки)
Для начала освой самостоятельно написание ответов на форуме, без нейросетей. А про твои навыки разработчика поговорим потом.
Лис®©™
> Я знаю этот движок
Если бы знал, то не нес свою нейроахинею.
Лис®©™
> Эффективность кода важнее ценника видеокарты.
Для всех твоя эффективность равна нулю, так как не применима нигде и пользы не приносит.
Лис®©™
> Вот тебе немного "пруфов" из личного архива, чтобы в следующий раз ты думал, прежде чем обвинять инженеров в некомпетентности:
Боже что за говно ))
Лис®©™
> И тем не менее, это не изменение пайплайна. Это обыкновенный фильтр поверх стандартного рендера. Геометрия та же, свет тот же (просто заглушенный в материалах). Те же сферические гармоники и иже с ними.
> Ну тут надо понимать, что у них есть специфические текстуры (нарисованы вручную).
> Плюс у них есть свой шейдер для постпроцесса (если правильно помню, что-то вроде Собеля) для обводки контуров.
итого - уникальный внешний вид, на UE
Blueprint
> Видел я твои говнорендеры... Боже что за говно ))
Твоя фиксация на фекалиях и переходе на личности - это отличный маркер. Когда заканчиваются технические аргументы, начинается истерика.
Ты смотришь на сырую графику в процессе отладки и доработки (programmer art) и видишь "некрасивую картинку". Инженер смотрит на те же скрины и видит 1.5ms на кадр при честном расчете света. Разница в том, что красиво можно сделать поверх любой технологии, а вот быстро поверх архитектурного трупа уже не сделаешь.
> Для начала освой самостоятельно написание ответов на форуме, без нейросетей.
Ты так часто упоминаешь нейросети, что это начинает походить на идею фикс. Видимо, в твоей картине мира связная, логически структурированная речь без грамматических ошибок - это всегда обязательный признак искусственного интеллекта, а не образованности. Печальный диагноз, если вдуматься.
> Для всех твоя эффективность равна нулю, так как не применима нигде и пользы не приносит.
"Для всех" - это для потребителей плагинов? Безусловно.
Фундаментальные исследования (ага, пресловутый R&D) всегда кажутся бесполезными для тех, кто привык брать готовое с полки. Ты видишь "бесполезный код", я вижу технологии, которые через 5-10 лет станут стандартом, и которые ты потом будешь покупать в очередном маркетплейсе, даже не подозревая, какая математика там внутри. Даже более того - ты понятия не имеешь, чем занимаются сегодня R&D-отделы NVIDIA, Unity и Epic, чтобы завтра продать тебе свежую видеокарту и движки, которые на ней будут работать. А они, поверь мне, тоже пишут много кода, который ты легко назовешь бесполезным сегодня, но который побежишь скачивать завтра в составе свежего Unreal. Просто для справки пишу, чтобы было понятно, что новые технологии не на деревьях вырастают.
Засим оставляю тебя наедине с твоей желчью. У меня код компилируется, а у тебя только злоба кипит. Приоритеты очевидны.
kkolyan
> итого - уникальный внешний вид, на UE
Ну да, разница по сути лишь в задачах.
Если твоя конечная цель лежит в области стилизации (сделать как в комиксе, либо как в нуарном детективе первой половины XX-ого века, а то и как в аниме), то Unreal/Unity - это отличный выбор. Пост-процесс и материалы там мощнейшие.
Но если твоя цель - симуляция чего-то, что движок не умеет физически (неевклидова геометрия, 4D-пространство, воксельный террейн с разрушаемостью на уровне атомов или свет, который ведет себя как волна, а не как луч) - вот тут косметика уже не спасет. Тут нужно лезть под капот и менять двигатель.
Так что да, для 99% игр UE хватает. Но я, например, занимаюсь тем самым 1%, где уникальный внешний вид (а вместе с ним и разные другие плюшки) вытекает из уникальной математики, а не из уникальной текстуры, а это уже задача принципиально иного рода. И не сравнишь ведь по сложности, поскольку работа профессионального художника по-своему сложна, и даже если на первый взгляд кажется незаметной глазу, то только благодаря тому, что его работа искусно вписалась в общий визуальный стиль игры, ну а его в свою очередь, прекрасно поддерживает используемый движок.
Лис®©™
> Ты смотришь на сырую графику
Я хочу увидеть результат - глобальное освещение. И я его не вижу.
Кому ты это выкладываешь, инженер комнатный, который пишет великий код для Nvidia?
Blueprint
> Я хочу увидеть результат - глобальное освещение. И я его не вижу.
Лолшто? Если ты смотришь на сцену, освещенную одним направленным источником (солнцем), и видишь, что тени в ней не абсолютно черные (#000000), а заполнены мягким светом, то вот это и есть работа того самого великого и ужасного Глобального Освещения.
Если ты видишь, как цвет от зеленых штор или красных флагов как бы "проливается" (пресловутый Color Bleeding, выражаясь терминами Анрила) на соседние колонны и пол - это тоже оно, GI.
На моих скриншотах нет фейковых источников типа как "Ambient Light", и весь свет в тенях - это результат честного просчета переотражений в реальном времени.
Если ты ожидаешь, что "GI" - это когда экран залит блумом и бликами, то тебе не к инженерам, а к художникам по свету. Ты путаешь физику распространения света с пост-эффектами.
А хочешь совсем забойную шутку? Мой Radiosity не считается стандартными методами, где мы бы бросали миллиарды фотонов. Тут принципиально иная физика. Зачем нам фотоны, когда мы можем работать с полем?
> Кому ты это выкладываешь, инженер комнатный, который пишет великий код для Nvidia?
Спасибо за комплимент. Джон Кармак писал движок Doom в "комнате". Тим Суини писал Unreal Engine 1 в гараже (тоже, по сути, комната). Инновации рождаются именно в тишине кабинетов (тех самых, пресловутых "комнат"), когда человек остается один на один с кодом и математикой, а не на бесконечных планерках в опенспейсах.
Быть "комнатным инженером", который создает своё - это честь. Быть "форумным критиком", который не может отличить Color Bleeding от отсутствия GI - это беда.
На этом ликбез закончен. Удачи в поисках "волшебной кнопки".
Получается, написатели плагинов для мейнстрим движков - топчики и делают для индустрии серьезное дело. А написатели кастомных движков под свой проект - эгоисты? С другой стороны, если они выпустят свой проект, то тогда дадут что-то миру.
sinoby потри посты этого нейроидиота. Он реально руинит форум.
Лис®©™
> Так что да, для 99% игр UE хватает
ну ок. просто до этого ты был куда более категоричен.
Лис®©™
> Ты совершаешь классическую ошибку
А ну прекрати меня беспочвенно обвинять черт знает в чем, а не то огорчу до невозможности. Знаем мы эти ваши демагогические приемчики - посеять зерно сомнения в словах оппонента, путем использования фраз-триггеров, типа - ты не понимаешь, твои выводы не верны, ты совершаешь ошибку - а затем довести эти догмы до абсолюта ;)
> путая сложность продукта (куда включено количество ассетов, озвучки, катсцен) и сложность технологии (математика рендера, физика, управление памятью).
Ты сам себе противоречишь, потому что, если бы можно было бы создавать движок отдельно от продукта, то давно бы уже пришли к какому нибудь единому стандарту, по принципу стандартной библиотеки,, типа sdl или Ogre3D или ухро, и все прочие самописные движки потеряли бы всякий смысл. Однако, как мы видим, попытки унификации некой платформы для универсального движка, на все случаи жизни, пока не увенчались успехом, не смотря на многочисленные попытки.
А что касается контент криейторов, и прочих художников, то они-то как раз наиболее решающую роль играют в создании движка, т.к. создают некую экосистему вокруг него, на базе которой этот движок строится и обкатывается ;)
totoro
> Не нужно тащить всякую дрянь, типа stl/[b]glm[/b]/boost/libpng/и т.д. и т.п.
Чем это glm дрянь-то? :(
Она недавно даже до 1.0.2 обновилась.