Видео треда https://www.youtube.com/watch?v=HTMDNZOlUq4
https://cgpeers.to - не плати за секс туториалы
FAQ https://www.writeurl.com/text/xun0z43omrlb3s4ob8e2/hcvwlcbc329lx8ioke1j
Как не запутаться в лапше https://github.com/Allar/ue4-style-guide
Еще указание как правильно варить лапшу и не только https://docs.unrealengine.com/en-US/Programming/Development/CodingStandard/index.html
https://forums.unrealengine.com/ - Форум. Коммюнити живое, на все вопросы отвечают быстро. Можно общаться с живыми гейм-девелоперами и разработчиками движка, а не мамкиными тимлидами с двача
Дискорд: https://unrealslackers.org/
Твитч https://www.twitch.tv/unrealengine
Ютуб https://www.youtube.com/channel/UCBobmJyzsJ6Ll7UbfhI4iwQ
БАЗИРОВАННЫЕ ВИДЕО
1. https://dev.epicgames.com/community/learning?application=unreal_engine - официальные туториалы.
2. https://www.youtube.com/channel/UCOVfF7PfLbRdVEm0hONTrNQ - очевидный Мэтью Вадштейн. Делает короткие туториалы по каждой ноде. Видосов ОЧЕНЬ много, имеет смысл как замена малоинформативной офф документации. Но что-то его давно не было видно. #ВадштейнЖиви
3. https://www.youtube.com/channel/UC4d4FQlX2zurgNmRAr2QDkg - Если ты в твоем сердце горит огонь Октября, а в душе ты до сих пор комсомолец - то можешь глянуть их туториалы. Не забудь потом постирать штаны. На русском. Как по мне - то хуйня хуйней
4. https://www.youtube.com/channel/UCjoFnxxd31c6hcmp71NL6oA/videos - еще лекции на русском. Оп-хуй их не смотрел, но анону понравилось.
5. https://www.udemy.com/course/unrealcourse/ - серия видосов по с++ для начинающих. Старые версии есть на торрентах. На английском. Для вкатышей имеет смысл сначала ознакомиться с базовой теорией с++
6. https://www.udemy.com/user/stephen-ulibarri-3/ - оче годные курсы от крутого чела для любителей подрочить на с++. Есть на торрентах. На английском. сейчас смотрю его курс по мультиплеерному шутану - хороший уровень подачи материала
7. VFX: https://www.youtube.com/c/Rebelway и https://www.youtube.com/c/RimayeAssetsandTutorialsNIAGARA. УВАГА! Последний канал на хранцузском, но в целом и так понятно что он делает.
8. Плюс многие многие туториалы на ютубе, тысячи их!
ПАЛЬ С РЫНКА
1. Content examples - учебный проект из маркетплейса, огромное количество примеров работы почти всех функций движка - анимации, блюпринты, материалы, виджеты и т.д.
2. Парагон - бывшая моба от эпиков, ассеты доступны в маркете бесплатно. И их там очень много - десятки разных персонажей с анимациями и VFX, разные локации, замки, подземелья, горы и т.д.
3. Third person shooter kit - Шутан с укрытиями и перекатами. Отлично подходит, когда нужно подсмотреть как что-то реализовано в реальной игре, а не учебных туториалах. Есть на торрентах.
4. Horror engine - хоррор от первого лица с открытым кодом, все на блюпринтах - камеры, замки, осмотр предметов - все как в твоем Аутласте.
5. Free for the month - каждый месяц эпики устраивают аттракцион невиданной щедрости и раздают некоторые ассеты забесплатно. Сюда могут входить плагины, модели, анимация - короче все что угодно.
6. Valley of the Ancient - демонстратор возможностей Unreal 5. Требует хороший комп для работы.
НЕ ЛЮБЛЮ ЭТИ ВАШИ ВИДОСЫ, ГДЕ МОИ КНИЖКИ
Специализированные книги по анриалу - говно говна. За книгами по алгоритмам, паттернам и вообще программированию - обращайтесь в программач. И да, какой-нибудь "Совершенный код" Макконелла вполне подходит и к анриалу.
МАМ Я ВСЕ ЗНАЮ, КАК МНЕ ТЕПЕРЬ НАЙТИ РАБОТУ?
1. хх.ру - на момент создания треда 205 вакансий, хотя и не все они релевантные. В любом случае стоит начинать оттуда, многие вакансии дружелюбны ко вкатышам за еду и нет проблем с переводами.
2. https://forums.unrealengine.com/c/community/got-skills-looking-for-talent/56 - раздел офф форума с поиском и предложением работ. Примерно 3-4 предложения в день. Из минусов - ищут либо вкатышей забесплатно с непонятными перспективами (та же двачеразработка только под другой вывеской) либо сеньоров-помидоров с 5 летним стажем, но могут попасться и нормальные вакансии.
3. Раздел Job board в офф дискорде Unreal Sluckers. Примерно то же что и на форуме, но вакансий побольше - примерно 5-10 в сутки. Некоторые могут быть репостами предыдущих. Обычно ищут людей с хотя бы 2-3 годами опыта, так что для вката подходит плохо.
PS. Оп-хуй этого треда устроился на работу именно таким образом.
4. Биржи фриланса типа Апворка. На момент создания треда в Апворке я не ебу сколько так как лень открывать вакансий по поиску "Unreal Engine", однако релевантных здесь намного меньше чем на хх. В основном ищут моделеров/художников/левел-дизайнеров/саунд-дизайнеров/спецов по созданию видеороликов и т.д., именно програмистских вакансий маловато. Пожалуй наихудшее место для поиска работы, но чем черт не шутит.
5. На удивление много вакансий требующих знание работы с VR и AR. Также довольно популярное требование - знание мультиплеерной части. Если ты этого не знаешь - то сейчас имеет смысл покуруть туториалы про репликацию и мультикасты.
НО ТАМ ТРЕБУЮТ ОПЫТ И ПОРТФОЛИО
Да, требуют. Многие требуют иметь готовые и зарелизеные игры - либо самостоятельные либо в составе студии. Но многие готовы принять на рассмотрение любое портфолио, даже если оно состоит из тестовых болванчиков и манекенов. Если у тебя такого нет - значит пришло время начать делать игру по одному из туториалов в шапке треда, которую будет не стыдно показывать на собеседовании.
Я РНН ГОСПОДИН И ХОЧУ ДЕЛАТЬ СВОЮ ИГРУ С ДВАЧЕРАМИ БЕЗ КРАНЧЕЙ И СКРАМОВ, А НЕ РАБОТАТЬ 8/5 НА ДЯДЮ
Пока что двачеры не сделали ни одной игры, и никогда не сделают. Хочешь делать игры и получать деньги - или иди работать в студию или тащи в одиночку.
Я НЕ ХОЧУ УЧИТЬСЯ ПРОГРАММИРОВАТЬ НА С++ ПОЭТОМУ ВЫБИРАЮ БЛЮПРИНТЫ
Блюпринты - это точно то же программирование, только с человеческим синтаксисом без фигурных скобочек и непонятных слов. Если ты до этого никогда не программировал - шанс сделать на блюпринтах говнокод равен 100%.
Предыдущий больше не компилируется здесь: >>850568 (OP)
уже 5.2 выкатывают, переделывай
вспомнил пасту про поезд в котором все пассажиры смотрят на тебя и молча улыбаются
Что за демка? Сам сделал?
В итоге после нескольких месяцев вката ютуб мне выдал данный канал:
https://www.youtube.com/@AlexanderSemenko/videos
Курсы по C++, блюпринтам, Unreal Engine, связке Unreal Engine и C++ - все в бесплатном доступе (автор канала предлагает купить его курсы после просмотра, если захотите).
Также автор (который в программировании уже 25 лет, по его словам) сам пилит Сталкера, можно вместе с ним пилить шутан.
Также напоминаю про пак со звуками, который в честь GDC 2023 раздает компания Sonniss (в вечное пользование):
https://gdc.sonniss.com/
https://www.youtube.com/watch?v=HhIacRZ0dcw - инструкция к паку.
Надеюсь кому-нибудь будет полезно.
Хочется, чтобы и другие вкатуны из треда скидывали полезные ссылки на:
- бесплатные ассеты;
- полезные ресурсы;
- интересные новости.
Надеюсь что этот тредик поспособствует созданию моей первой гоночной игры.
Ваш Race-кун
https://t.me/UnrealEngine4 - самый крупный TG-канал по Анрилу.
Странно что его нет в шапке треда.
Все тот же Race-кун
Зачем он пердолится с камим-то double comander и заставлет пользоваться этой хуйней других?
Кто он?
В следующую шапку добавлю. Лично я вообще не воспринимаю тг и дискорд каналы. Даже если вступаю, то потом все равно не могу себя заставить что-то там читать или писать.
>Что за демка?
Хоррор на юнити UE5
>Сам сделал?
Нет, с телеги утащил. Сам я только начал на ue перекатываться.
1. Реализуется SceneComponent для предметов, который добавляется к интерактивным предметам и управляет поведением контроллеры-рук игрока (например, меняет анимацию рук при приближении). Т.е. предметы "влияют" на руки. В частности, такой подход использует официальный VR-темплейт проекта из самого Анрила.
2. Запиливается блюпринт-интерфейс, который содержит в себе основные функции-события (OnPickup, OnUse, OnDrop и так далее), далее руки трейсом/сферой проверяют, реализует ли объект данный интерфейс и, соответственно, вызывает вышеописанные события. Т.е. в этом случае руки "влияют" на предметы. Вижу, что такой подход используется во многих проектах на гитхабе (например, VrContentExamples - https://github.com/mitchemmc/VRContentExamples от автора книжки из шапки).
Может кто-нибудь по опыту/с дивана сказать, какой подход более гибкий и менее геморройный?
Документация, https://gladiatorvs.github.io/-Stalker2UEWiki/ инфа по компиляции проекта не актуальна, в архивах уже скомпилено.
https://disk.yandex.ru/d/jllYRSZmBkH6bw
https://disk.yandex.ru/d/SHVRpLmvWdeRTQ
https://disk.yandex.ru/d/ozwwSEC3bxN9lA
https://disk.yandex.ru/d/D1bgl81gy-f3iw
Нет, это же движок в движке считай. Нужно чтобы для этой гонки были исходные коды движка и шарящий программист на энтузиазме.
>инфа по компиляции проекта не актуальна, в архивах уже скомпилено.
> без бинарников
Таблетки прими,
Исходники https://github.com/RedPandaProjects/Stalker2UE/ нужно компилировать под анрил, там нет никаких бинарников, долбоеб
Я могу использовать эти ассеты в своих играх?
Там надо разбираться с каждой моделью индивидуально. То что их дают бесплатно еще не значит, что ты можешь их использовать в коммерческом проекте. Вон там моделька Марио есть, естественно на нее нет лицухи.
Ничего не значит. Формально там написано что это CC-BY, но что там вылезает на главной? Ага, Ламборгини. Смотрим. Это просто модели, взятые со скетчфаба. Можешь ли ты ее использовать? Автор модели считает, что да, но владельцы бренда Ламборгини с тобой вряд ли согласятся. Судя по всему, нейродауны просто скачали все что им понравилось на скетчфабе.
> классы с нуля писать
А нахуя? С 99% вероятностью тебе понадобится функционал одного из анриаловских базовых классов.
Ну я тоже так подумал.
Типо как ни крути, а юай на прлюсах писать наверное не лучшее решение, а значит надо свои классы, которые будут взаимодействовать в виджетами и привет рефлексия. Хотя наверное можно сделать один класс адаптер, который будет связующим звеном. Но нахуй надо.
>С 99% вероятностью тебе понадобится функционал одного из анриаловских базовых классов
Например? Из 40 написанных классов, 39 отвечает за хранение и обработку данных. Что мне может понадобиться от анриаловских базовых классов?
>Из 40 написанных классов, 39 отвечает за хранение и обработку данных.
Какая нахуй обработка данных, лол, что ты собрался обрабатывать? Зачем тебе 39 классов, что они вообще делают у тебя?
Странный вопрос.
Если у тебя требуется много перегрузок конструкторов (нахуя, ты же все равно не сможешь ничего в них передать) - то может ты что-то делаешь неправильно?
Долбоеба кусок, а ну перечисли когда вызывается конструктор и подумай (хотя тебе нечем), как ты можешь хоть что-то туда передать?
Я еще в первом посте сказал, что конструкторы не перегружаемы и какой выход есть из этой ситуации. Теперь вопрос, что ты несешь, долбоеб?
>и какой выход есть из этой ситуации
выключить компьютер и пойти на завод, ты слишком тупой для программирования
От создателя
>Какая нахуй обработка данных, лол, что ты собрался обрабатывать? Зачем тебе 39 классов, что они вообще делают у тебя?
>Зачем тебе метод инициализации он засерает интерфейс надо использовать бегин эвент.
> Иди туториалы смотри, чтобы научиться программировать
Там какие-то еще перлы были, не помню уже. Чел, я тебе хочу сказать, что у тебя необоснованно завышенное мнение о собственных способностях. Программист он должен гибкость иметь, а ты за пределы туториалов своих лапшиных боишься выйти.
Извиняюсь. Аргументы.
> сохранить инициализирующие параметры в поля класса
Ты вообще-то делал точно так же, только вместо бегинплея сделал свой метод, который потом вручную вызывал, называя это почему-то "разделением интерфейса". Так кто тут максимальный долбоеб?
А сейчас ты пытаешься скрыть тот факт, что тупо не знаешь что такое конструктор и когда в анриале он вызывается. Ты вообще нихуя не знаешь.
> сохранить инициализирующие параметры в поля класса
Тебе Эпики именно для этого дали метод GetOwner(), чтоб знать кому принадлежит компонент. Нет, не хочу, не буду, это все от лукавого, я свободный от задротства человек!
Все что ты описываешь является новичковыми подходами)))) Если ты не новичок, а я думаю, что ты года два копошишься на одном месте, то это твой интеллектуальный предел.
Могу задать тупой вопрос, но всё же: есть ли тут нативная поддержка питона? Про что-то такое в пятой версии слышал
Т.е. по твоей логике говнокод не существует, потому что любой говнокод пишется на синтаксисе языка программирования? Пиздец ты долбоеб конечно.
Есть официальный плагин.
Ты нейросеть или просто шиз? Как из того, что я написал, следует то, что ты высрал?
Да нечего там пояснять. Фактически перегрузка конструктора отсутствует, есть конструктор по умолчанию и все. Его ты можешь изменять, но создавать различные параметризованные конструкторы анриал не дает. Это касается всего что наследует от uobject
лул животное не понимает, что вот тут
>пользоваться апи движка
>новичковый подход
ложнологическое суждение и требует что-то пояснить.
>Ты нейросеть или просто шиз?
спалился кстати. И кто из нас шиз?
>Ну давай, поясняй в треде свой обсер - что такое interface segregation principle и почему то говно, которое ты наговнокодил, к нему относится.
>Например у класса Трансформ есть 9 конструкторов - выбирай какой нравится и юзай.
Падажжи, трансформ это же структура, для них вроде по другому всё работает, не?
нюфаня
структура и класс это одно и то же
>>74178 (Del)
>>74182 (Del)
>Ну давай, поясняй в треде свой обсер - что такое interface segregation principle и почему то говно, которое ты наговнокодил, к нему относится.
репортите этого поехавшиего
> Зачем ты делаешь приватные переменные и функции, я делаю все публичное и никогда не запутывался. Ты хочишь игры дилать или на код дрочить?!
Если последнее предложение это маркер идиота вернейший, тут все понятно. То с первым есть вопросы. Т.е. у хуесоса вся реализация класса доступна наружу. Но при этом пик. Что это за дуализм сознания?
Я сейчас еще в прокуратуру сообщение отправлю.
> Зачем ты делаешь приватные переменные и функции
> зачем делать публичный метод инициализации
Это какой уровень шизы?
>Это какой уровень шизы?
Видимо не просто так о себе в третьем лице говорит. Кстати в движкосраче треде в том числе.
Во-первых:
>Ну давай, поясняй в треде свой обсер - что такое interface segregation principle и почему то говно, которое ты наговнокодил, к нему относится.
Во-вторых:
> Зачем ты делаешь приватные переменные и функции, я делаю все публичное и никогда не запутывался.
> делает публичный метод
В-третьих
> репорт за разжигание межнациональной розни
Да в юнити треде такая же хуйня. Пикрелейт все обьясняет.
Во-первых:
>Ну давай, поясняй в треде свой обсер - что такое interface segregation principle и почему то говно, которое ты наговнокодил, к нему относится.
Во-вторых:
> Зачем ты делаешь приватные переменные и функции, я делаю все публичное и никогда не запутывался.
> делает публичный метод
В-третьих
>Из 40 написанных классов, 39 отвечает за хранение и обработку данных.
Если ты на каждый пук делаешь отдельный класс - то ты просто необразованный долбоеб. Делать по-нормальному? Нет, не хочу, не буду, я как долбоеб сделаю 100 классов ведь у меня ОБРАБОТКА ДАННЫХ ПО РАЗДЕЛЕННОМУ ИНТЕРФЕЙСУ., нужно еще больше классов, сегодня я создал 10 новых классов, ведь я свободный от задротства человек, я создаю классы!
В-четвертых
>и обязательно компоненты
Если ты не знаешь о существовании класса UActorComponent, предназначеного под компоненты - то ты просто необразованный долбоеб. Что мы и видели, когда ты принялся колхозить инициализацию, не зная о существовании готовых методов.
В-пятых
> А нахуя. а зачем. Меня так не учили.
говорит долбоеб который не знает как работают конструкторы, как работают компоненты, как работают интерфейсы, как избежать разростания дерева классов, как вообще работает анриаловский апи ... Как ты вообще научился компкудахтер включать?
Ты как раз и есть тот еблан со скрина, который с умным видом несет хуйню, а когда его просят пояснить - переходит на визг. Тебя по человечески спросили, где ты взял 39 классов, не использующих анриаловские методы и что ты в них обрабатываешь? Но вместо ответа ты обосрался и начал что-то доказывать. Точно так же с разделением интерфейсов - любой нормальный человек бы сказал "Вот у меня был такой интерфейс, а я его разделил вот, и теперь от вот такой. Профит.". Что сделал ты? Второй тред с истерикой и визгом, при этом 0 ответов лол.
Так что засунь хуй себе в рот и выкатись нахуй из треда.
Поркинсон спок, ты мне и окружающим уже не докажешь, что ты не долбоеб. Особенно после подобных фортелей
>обязательно компоненты
>не знаешь о существовании класса UActorComponent
просто шиз лол.
Насчет каких-то там объяснений, зачем мне поднимать твой мастери левел? Я дал тебе удочку, ты не просто не смог, ты ее выкинул и ловишь рыбу жопой. Ну можно конечно разжевать и плюнуть тебе в рот, но ты слишком неприятный долбоеб, еще и ведешь себя как свинья.
С визга переходишь на нахрюк?
Ты так и не ответил ни на один из пяти вопросов. У тебя только ЧСВ есть, ну или это желание прикрыть свою жопу и оправдать то, что на самом деле ты ни в чем не разбираешься и несешь хуйню из рандомных слов, не понимая их смысла. 39 классов обработки данных, перегруженые конструкторы, разделенные интерфейсы - и ничего из этого сделать не смог...
>>74233
>этот визг
свинья, ты вопросы свои перепроверь для начала на соответствие собственных утверждений фактическим обстоятельствам, тогда большинство их них сразу отпадет.
В то что ты чубаноид, я попал 100%. Приятно наблюдать твой поркинсон.
>уиии, хохлы говно в дупу залили
Вот и вся дискуссия с тобой, свин:
- Подожди, но то что ты сделал - это не разделение интерфейсов...
- АРРЯЯЯ УИИИ ХОХЛЫ ЧУБАТЫЕ НИЧЕГО НЕ ПОНИМАЮТ
- Подожди, но 39 классов - это уже звучит подозрительно, а ты точно уверен что...
- АРРРЯЯЯ УИИИ ХОХЛЫ СВИНЬИ ПЛАТИНОВЫЕ ВОПРОСЫ
- Подожди, но зачем тебе перегружать конструкторы, это ведь не так работает...
- АРРЯЯЯЯ УИИИ ХРЮЮЮЮ ХОХЛЫЫЫЫ УДОЧКА ЧИСТЫЙ КОД
- Подожди, но ты делаешь костыль, ведь в апи уже есть...
- РРЯЯЯ УИИИ ПОРКИ ХРЮКНИ КОМПОНЕНТ ЛАПША
- Постой, почему ты такой поехавший?
- ХРЮКНИ ХОХЛИНА УИИИИИИИИИИ
Выглядит как пролапс поркинсона.
Соглы. Хохлозависимость это реально болезнь.
Но вот что думает по этому поводу официальный мануал
Официальный мануал только подтверждает, что поркинсон пиздабол и плюсы просто не смог открыть.
> Operating on large sets of data, doing string manipulation, complex math over large data sets, etc. are all very complex, and aren't easy to follow in a visual system.
А теперь переведи что здесь написано, свин
Это единственное, что ты смог перевести? Как ты прокоментируешь подчеркнутые строки?
Знаешь что такое профилирование? Может слышал когда-нибудь, что не следует заниматься преждевременной оптимизацией. Это кстати в "Чистом коде" было, про который ты упомянул, но видно что сам не читал и как обычно ты несешь рандомные слова, не зная их смысла.
В каком месте тут опровергается, что плюсы принципиально быстрее?))))))))))))
ты ебнутый. из хуя пытаешься что-то высосать
>пук среньк хрю вместо ответа
Как ты прокоментируешь подчеркнутые строки? Знаешь что такое профилирование?
Написание кода на плюсах у него преждевременная оптимизация АПХАХПХВХПХАХП господи))))))))))))))
>пук среньк хрю вместо ответа
Как ты прокоментируешь подчеркнутые строки? Знаешь что такое профилирование?
>пук среньк хрю вместо ответа
Ты все еще не ответил на счет подчеркнутых строк. Можешь сказать что нам написано? Как ты это прокомментируешь?
Ну вот опять:
- Но подожди, там же написано что только некоторые операции имеет смысл делать...
- ПОРКИ ХОХЛЫ СОСАТЬ ХУЙ РЯЯЯ
> а потом называет код на плюсах преждевременной оптимизацией
Так и есть. Если ты пишешь на плюсах только из-за того что считаешь, что так будет работать быстрее - это и есть классическая преждевременная оптимизация.
Правильный подход:
Написал на блюпринтах, если доволен скоростью - не трогаешь, если не доволен - пытаешься изменить алгоритм, если не помогло - переписываешь на плюсах, после чего проверяешь снова в профайлере - помогло или нет. Если не помогло - ну штош, ты пытался.
Неправильный подход:
РЯЯЯ ХУЙ ЛАПША ПЛЮСЫ БЫСТРЕЕ СОСИ ЛАПШУ ТЫ ДОЛБОЕБ ХРЮ Я РАЗДЕЛЯЮ ИНТЕРФЕЙСЫ ПУК
Ну и я, в очередной раз, прошу тебя объяснить своими словами подчеркнутые строки, как ты это понимаешь
Что блюпринты медленнее с++, поэтому для оптимизации стоит самые тяжелые части перевести на с++
Правда для C# придется учиться программировать, но это того стоит. Зато потом со смехом будете вспоминать эти дискуссии в стиле "ыы конструктар вроде работает а вроде не работает"
В анриал вики сказана великая мудрость.
Главное достоинство блюпринтов в том, что не надо быть программистом для их использования.
Главный недостаток блюпринтов в том, что не надо быть программистом для их использования.
>>74302
вот этот дятел полностью иллюстрирует древнюю мудрость. Не может даже текст логически структурно осознать абзац на русском.
Тогда тебе должно быть норм, ты и так не программист
>текст логически структурно осознать абзац
ору нахуй, тупо набор слов
Чтобы осознать, тебе нужен простой советский...
>Правильный подход:
Написал на блюпринтах
Это из чего следует вообще? В тексте буквально написано, что надо делать при нехватке производительности. Тут нет ни слова о том, что писать на блюпринтах.
Что ты там осознаешь, клоун, интерпефсы реализуют там конструктуры в полях абзацев
Согласно официально информации от разработчиков - нихуя подобного.
Теперь он дал подливы, подчеркивает какую-то хуйню и разговаривает сам с собой, делая вид, что его кто-то поддерживает. Ебанутый
>Не может даже текст логически структурно осознать абзац на русском
>интерпефсы реализуют там конструктуры в полях абзацев
Ты решил с горя нажраться? Осознаешь интерпефсы структурно в полях абзацев на русском?
>Ну и я, в очередной раз, прошу тебя объяснить своими словами подчеркнутые строки, как ты это понимаешь
и как ты это понимаешь?
Я тебя спросил, или ты не можешь даже текст логически структурно осознать абзац на русском?
>и как ты это понимаешь?
интерпефсы реализуют там конструктуры миска риса в полях абзацев кошка-жена, удар!
Т.е. ты просто начеркал и обосрался. Пиздец сверхманевренный. лол)
значит тут ты слился. ок
>Все начиналось с того, что ебанько утверждал, что блюпринты работают с точно такой же скоростью, что и код плюсов, потому что компилируются в плюсы.
как насчет вот этого тогда? есть мнение?
Тут кажется неудобное написали.
>почему вы меня игнорируете, ну поговорите со мной ну кто нибудь ну пожалуйста ну прошу
Как же ты жалок х2
Опять неудобно получилось.
класухе пожалуюсь
Девочки не любят мальчиков с преждевременной оптимизацией.
Так идея не в том, что оптимизация не нужна, а в том, что ты не можешь знать заранее что и как изменить в коде чтоб он стал работать быстрее. Речь именно про код - ты можешь заранее оптимизировать дравколлы, материалы, освещение, партиклы, физику и т.д., но код можно оптимизировать ТОЛЬКО после того как он написан.
Поэтому и придумали это правило - сначала ты пишешь код не задумываясь о том, насколько быстро он работает, а потом уже, если надо, начинаешь улучшать.
Ну и не забывай что в играх большая часть оптимизации - это оптимизация графона, ассетов и движка, и почти ничего из того, что делает собственно программист игры.
Ты смотришь на этот вопрос с точки зрения некомпетентного пердоли, который оптимизирует все что только можно без какой-либо логики. При этом если задать ему вопрос - а почему ты оптимизировал это, а не вооон то, ведь оно куда критичнее - ответа не будет.
А должен смотреть с точки зрения рациональности - сколько часов разработки будет затрачено, сколько профитов(фреймтайм, скорость загрузки) оно даст, насколько данные профиты в свою очередь улучшат экспириенс игрока из твоей ца, и насколько оно вообще соответствует твоим целям.
> Чем больше оптимизации - тем меньше греется пека, тем меньше сброс частот будет, тем больше вычислений и графона можно вкрутить.
Ни один пека не будет сбрасывать частоты даже под максимальной нагрузкой, если там система охлаждения исправна и вообще соответствует тдп комплектующих.
А в 99% игр нагрузка эффективно параллелится от силы на 2-4 потока, т.е. даже самый дешевый 4-ядерный-8-поточный проц будет упираться в один поток, и чилить с загрузкой 20-50% прям в худшем случае.
И это при условии что фреймрейт не ограничен, а во многих инди и около инди играх просто нечем современный проц грузить, и без лимита там будет 500 фпс которые нах не нужны.
Ну это я уже по рофлу доебался просто видно что не полностью шаришь про че пишешь.
> Современные пека ограничены скорость озу которую вообще никак, кроме оптимизацией кода, не победить.
Не абстрактной оптимизацией, а конкретно локальностью данных, с которой у твоего анрыли по умолчанию проблемы.
Анон, ты слушай внимательней, кек. Давай разберем твои же реплики, чтобы пояснить тебе, почему блюпринты важны:
> Писать нормальный высокопроизводительный код не сложно
Так ты сам говоришь, что писать нормальный код на C++ не сложно, но ты забываешь, что блюпринты - это ещё проще. Именно поэтому они идеальны для прототипирования, проверки идей и работы с командой.
> не 700 классов, а 20 массивов данных
А кто тебе сказал, что мы хотим нагружать себя этой хернёй, когда можем быстро и удобно сделать это на блюпринтах? Не все хотят пахать на C++ ради пары FPS, понимаешь?
> использовать батчинг и префетчи
Ок, тут понятно, что оптимизация - хорошая вещь, но и блюпринты тоже могут быть оптимизированы, если знать, что делать. Зачем сразу кидаться на C++, если можно просто оптимизировать блюпринты?
> Без блюпринтов, ООП и прочей хуиты которая уничтожает производительность
Ты ваще понимаешь, что блюпринты - это и есть ООП, и они не сразу уничтожают производительность? Если ты умеешь правильно пользоваться ими, то они тоже могут быть весьма эффективными.
Так что, анон, лучше пересмотри свои представления о разработке игр и научись ценить все инструменты, которые тебе дает Unreal Engine. Не надо сразу искать врагов в блюпринтах, они могут быть твоими друзьями, лол.
> не 700 классов, а 20 массивов данных
Одно другому не мешает. Классы это лишь абстракция для управления данными. Если ты думаешь, что классы это обязательно ЫЫЫ АБСТРАКТНЫЙ КЛАСС ИТЕМ И ЕГО НАСЛЕДНИКИ И ВСЕ ОНИ В РАЗНОБОЙ ЛЕЖАТ В КУЧЕ ЫЫЫ ПРОИЗВОДИТЕЛЬНОСТИ МАЛА то это лишь показывает что ты сам шаришь в ооп на уровне нубаса и никогда не юзал его правильно.
И что забавно, проблема с твоей логикой видна прямо тут - 20 каких массивов данных? Какое конкретно наиболее эффективное разделение, ведь их можно по-разному определить? И почему не один вообще?
> Тут нет какого-то пердоления или нерациональности, ты просто берёшь и изначально пишешь нормально.
Мне нужна сортировка. Че делоть? Брать библиотечную? Самому писать? Какую?
Мне надо найти 3 ближайших врага к игроку, врагов на карте тысячи. Че делоть? Какой метод разбиения пространство использовать, и какую его оптимизированную вариацию?
А физику мне готовую использовать? А она точно идеально под мой случай оптимизирована, может лучше самому написать?
А мне нужно найти все объекты на карте в определнной зоне, мне че сразу кеширование их делать?
Че, понял, клоунище, в чем проблема?
Мало того что мы не можем сразу точно угадать какие места какую конкретно оптимизацию требуют и на каком конкретно железе она подойдет, так еще и многие оптимизации опциональны - будем мы сразу делать систему кеширования говна или сначала без нее может сделать, может оно и нахуй не надо, ради обоссаных 0.1мс фрейма?
.
Ну и всегда стоит вопрос - использовать готовое решение или ебашить свое которое под конкретную ситуацию лучше подойдет.
ты лишний в этом треде, иди нахуй
>блюпринты - это ещё проще
Качественный код писать не проще чем на плюсах. Все простое, что есть в блюпринтах, есть и в плюсах. Плохой код одинаковой плохой и там и там.
>Не все хотят пахать на C++ ради пары FPS
просто пишут на плюсах потому что удобнее.
>но и блюпринты тоже могут быть оптимизированы
При одинаково коде будут проигрывать плюсам.
>Ты ваще понимаешь, что блюпринты - это и есть ООП
Нет.
Учитывая, что плюсы обыгрывают блюпринты в читаемости и скорости, человеку, который комфортно чувствует себя в плюсах нет смысла использовать блюпринты вообще.
> Кто по-твоему движок делает, не программист?
Много движков уже сделал, прогроммист мамин?
> При одинаково коде будут проигрывать плюсам.
Почему бы просто не провести эксперимент - сделать два метода сортировки, один в блюпринтах, другой в плюсах, и проверить какой работает быстрее? Если разница окажется в 1мс - то вопрос не имеет смысла.
> ООП как абстракция не нужна в принципе.
Ну раз хуй с двача так сказал, то это правда (факт)
Есть мнение, что внутри функций скорость принтов и с++ одинаковая, переплата идет за вызов функций. Иными словами, ты не сильно понимаешь о чем говоришь.
Напиши блюпринт в котором есть 10 свойств какого-то базового типа. Потом переопредели оператор сложения этого блюпринта (на самом деле такое невозможно, поэтому это будет просто пьюр функция). А потом сделай тоже самое на плюсах. Потом поделись своим мнением, что было проще.
О, анон, не ожидал от тебя такого кипеша, лол. Ну давай разберемся с твоими замечаниями, клоун:
> Даже дебил-ньюфаг знает что это не так
А вот и пиздеж, братишка. Блюпринты разрабатывались, чтобы облегчить жизнь геймдевам и упростить процесс. Если у тебя что-то идет не так с ними, может, дело в тебе, а не в блюпринтах?
> людей которые в код не могут и просто для дебилов-школьников
Судя по твоим репликам, ты и сам не далеко ушел от этого уровня, кек. Блюпринты - это хороший инструмент для начала работы над игрой и проверки идей. А когда понадобится оптимизация, тогда и на C++ переходи. Все просто.
> Не можешь в код - пиздуешь из геймдева нахуй
Охуеть просто, какой заблужденный идеализм. В геймдеве работают не только кодеры, но и художники, дизайнеры, сценаристы, и всем им нужно быстро и легко тестировать свои идеи. Вот для этого и нужны блюпринты, понимаешь?
> Дальше лень бред этот разбирать
Типичный разговор с двачером - как только аргументы кончились, сразу "лень разбирать". Ты хоть сначала разберись с тем, что говоришь, а потом уж пытайся учить других, как жить. Пока что ты сам в говне, а еще и других туда тянешь. Лол, просто позор.
> Качественный код писать не проще чем на плюсах
Собственно, никто и не говорил, что C++ сложен для написания качественного кода. Но блюпринты - это более визуальное представление кода, что упрощает понимание и обучение для некоторых людей.
> просто пишут на плюсах потому что удобнее
Ок, клоун, никто не спорит, что для кого-то C++ удобнее, но не для всех. Весь смысл в том, что блюпринты дают возможность создавать быстро прототипы и экспериментировать с идеями, не забивая голову кодом.
> При одинаково коде будут проигрывать плюсам
Бля, капитан очевидность, ну да, C++ быстрее. Но опять же, блюпринты не создавались для того, чтобы конкурировать с C++ по производительности. Они нужны для быстрого и удобного прототипирования и тестирования идей.
> Нет
Кек, значит ты так и не понял, что блюпринты - это визуальный способ представления кода и работают на принципах ООП. Ну ок, это не делает их хуже или лучше, это просто другой подход.
> нет смысла использовать блюпринты вообще
Поздравляю, ты только что сам доказал свою ограниченность, лол. Блюпринты - это инструмент для быстрого создания и тестирования идей. Если ты не можешь это понять и продолжаешь судить только с позиции C++ программиста, то это твои проблемы. В геймдеве работает много людей с разными навыками, и блюпринты - отличный способ вовлечь их всех в процесс разработки игры.
Так что анон, лучше прекрати быть зацикленным на своей точке зрения и научись видеть разнообразие инструментов и подходов в геймдеве. Пока что ты просто смешон, лол.
Анон, слушай, ты уже просто как унылый попугай повторяешься. Но ладно, раз тебе так нравится, давай и в этот раз разберем твои "аргументы":
> Хрюпринты разрабатывались чтобы облегчить жизнь дебилам-вкатунам
Лол, ты настолько забит своим элитарным С++ менталитетом, что даже не понимаешь, что блюпринты создавались для того, чтобы ускорить процесс разработки и сделать его более доступным для разных специалистов. И да, это включает в себя художников, менеджеров и всех остальных, кто вовлечен в процесс создания игры. Это не делает их дебилами, это делает их специалистами в своей области.
> для прочих дурачков которые не хотят изучать программирование
Ты когда-нибудь слышал про разделение труда, чувак? Не каждый обязан знать программирование, чтобы быть полезным членом команды. Если человек хорошо рисует или отлично разбирается в управлении проектами, зачем ему изучать код? Блюпринты позволяют им быть продуктивными и вносить свой вклад без необходимости становиться программистами.
> Наебали они только себя, разумеется
Ну и снова, капитаночевидность, ты просто не можешь воспринимать разные подходы и инструменты. Ведь на самом деле блюпринты успешно используются во множестве проектов и облегчают жизнь многим разработчикам.
Так что, анон, пора прекратить быть зацикленным на своей узкой точке зрения и признать, что разнообразие подходов и инструментов - это то, что делает геймдев таким интересным и динамичным. А пока что ты просто позоришься, лол.
утверждение
>Не все хотят пахать на C++ ради пары FPS, понимаешь?
ответ на утверждение
> просто пишут на плюсах потому что удобнее
в итоге
>Ок, клоун, никто не спорит, что для кого-то C++ удобнее, но не для всех.
Если разложить по фактам, то ты впукнул неверным тезисом, я его опроверг, ты согласился, что не прав, клоун то получается тогда ты, не?
>Они нужны для быстрого и удобного прототипирования и тестирования идей.
вот тебе предложили быстро протестировать >>74415
>>74423 (Del)
С этим согласен.
Так, я сказал, что не все хотят пахать на C++ ради пары FPS, и это правда. Ты сказал, что пишут на плюсах, потому что удобнее. Так, это тоже верно, для некоторых людей C++ удобнее, но ведь не для всех. Так что собственно тут и согласие, и не согласие одновременно.
Но что же делает тебя клоуном, анон? Ну, помимо того, что ты пытаешься найти какую-то победу в этом обсуждении, ты также пренебрегаешь тем фактом, что в геймдеве есть множество подходов и инструментов, и не всем нужно использовать именно C++ для создания игр. Ты же продолжаешь настаивать на своей узкой точке зрения, и это делает тебя... ну, да, клоуном.
Так что, поздравляю, анон, ты нашел клоуна в зеркале, а теперь можешь смело вернуться к своим любимым плюсам и игнорировать все остальное, ведь так удобнее, правда? Лол.
>Ты же продолжаешь настаивать на своей узкой точке зрения,
>Так что, поздравляю, анон, ты нашел клоуна в зеркале
О, да, анон, я вижу, что тебе по жизни непросто, все эти сложные задачи, соображалки, наверное, твой мозг уже почти взорвался от напряжения. Но вместо того чтобы идти попердить, подрочить и съебаться из треда, как ты так любезно предложил, мне стало интересно узнать, чем еще ты занимаешься в своей жизни, кроме как сидишь на имиджбордах и строишь из себя крутого программиста.
Ты считаешь, что все должны быть как ты - пахать на C++, иначе вообще зачем им заниматься геймдевом? Но братишка, мир несколько шире, чем твои плюсы и твоя клавиатура. Так что давай будем уважать разные подходы и инструменты, а не будем меряться "программистскими членами" в тредах, а?
Но ведь это ты первый тут начал обсирать чужие подходы. Так может тебе съебаться, а мы предметно с другими анонами будем общаться про разработку.
Ой, Анон, ну ты и обидчивый, а? Не кипятись так, это же всего лишь тред на имиджборде. Ладно, признаю, что мог немного перегнуть палку, но давай забьем на это и продолжим общаться на тему разработки, как ты предложил.
Так что давайте обсудим, например, какие методы оптимизации вы используете при работе с блюпринтами или C++? Ведь, несмотря на разные подходы, оптимизация - это что-то, что важно для всех геймдевов, так ведь?
Нейросеть захватила геймдев раздел. Пшка ракета.
А я еще думал нихуя думаю анрил как с объектами общается замечательно. Хорошо что наговнокодить еще не успел ничего)))
Хмм.
Разобрался. Функционал библиотек поддерживается наследниками uobject. Сам uobject статику может получить только через плюсы.
Хуйню пизданул, ну карочи акторами, компонентами, вот этим. Просто наследники от юобжект не могут.
Ходил на курсы пердежа. Перепержу тебя с любого продукта питания. Проблемы?
882x720, 0:18
Текстуры попердолены т.к. на модели еще нет UV-развертки
Алсо, как в этом блядском движке сделать нормальное глобальное освещение БЫСТРО, потому что освещенные объекты у меня буквально светятся, эти белые камни на самом деле - темно-серые?
При нахождении в тени, экран буквально ЧЕРНЕЕТ, не видно ничего, как не выкручивай яркость, автоэкспозиция делает просто вырвизгланый контраст между темными и светлыми областями - и это дефолтное освещение движка!
Мимо только заметил, что всё это время срал в предыдущем треде
> люпринты создавались для того, чтобы ускорить процесс разработки и сделать его более доступным для разных специалистов. И да, это включает в себя художников, менеджеров и всех остальных, кто вовлечен в процесс создания игры. Это не делает их дебилами, это делает их специалистами в своей области.
Этот прав
>>74432 (Del)
> А вот и пиздеж, братишка. Хрюпринты разрабатывались чтобы облегчить жизнь дебилам-вкатунам, которые не могут в код.
Этому обоссал ебало
Мимо
Сам согласился с позицией, которую выше пытался опровергнуть. Долбоеб?
С этим согласен.
Местный дурачок лапшееб думает что быстрее, потому что он может через хуйпизду непойми вообще откуда просто сделать Гетчарактерконтроллер и что-то там манипулировать.
Но горькая правда лапшеебов заключается в том, что все эта хуйня есть и на плюсах.
А второй момент закляется в том, что это говнокод и как любой говнокод он быстр и прост пока его 10 строчек. Когда будет 10 классов ускорение разработки пойдет в обратную сторону лол. Но в его играх не бывает 10 классов))))
Вакансий нихуя нет, везде нужны только от 6-ти лет синьоры опыта коммерческой разработки с ААА-пет-проектами мировой известности. Хуль делать если хочется вкатываться?
У меня опыта работы на анриле нет.
В том и дело что без опыта, стажировку или джуна с++, на анрил не найти, даже за чисто символюческую плату.
https://gamedev.ru/job/forum/?id=273847
Да вот прям сегодня. 3 года опыта работы. прокачал то прокачал се, знает паттерны проектирования. на гитхаб заходишь там пук среньк. Класс хеалс у него умеет метод ресив демейдж. Я за 3 месяца самообучения ну как-то дошел до того, что он не урон и лечение считает, а цифры. Тут 3 года челик кодит. Пушка.
где-то чуть ниже челик курсы закончил, 3 проекта сделал. эти всегда смешные. У них подход типо такой современный, себя преподнести, им там еще на курсах отдельный курс по резюме проводят.
>Perforce, Git, SVN.
чет проорал в голосину. Я так люблю контроль версий, что сохраняю гитовский репозиторий в свновском в перфорсовском! Больше версий для бога контроля версий. Если твоя версия меньше чем 5501ff333 - даже не смей подходить ко мне.
>научился новому
>научился новому
>научился новому
Как же это всрато выглядит.
думаю анон имеет в виду что вместо двух отдельных методов Heal и Damage стоит использовать один универсальный ChangeHealth
Блюпринтошизик, опять ты что-то не понял?
Вообще тут классический парный метод. ChangeHealth в некоторой степени нарушает инкапсуляцию.
Впринципе я с тобой согласен. Heal и Damage - нормальные здоровые абстракции, а ChangeHealth уже попахивает реализацией. Так что я б, наверное, тоже использовал Heal и Damage как публичный интерфейс, а внутри них уже можно ChangeHealth
> за 3 месяца самообучения ну как-то дошел до
Еще через 6 месяцев до тебя дойдет, что может быть аура, которая увеличивает лечение, но не урон, и наоборот.
Парный но не в таком смысле. В общем чисто по моим рассуждениям таких понятий как урон и лечение на уровне взимодействия классов не должно быть вообще, только в GUI.
>Heal и Damage как публичный интерфейс, а внутри них уже можно ChangeHealth
если делать так, то ChangeHealth вообще лишний. Оба метода имеют полное право манипулировать полями своего класса без него.
Ну тогда я бы сделал так - делаем ChangeHealth приватным методом компонента, делаем персонажа другом компонента, а Heal и Damage - публичными методами персонажа, которые вызывают ChangeHealth. Абстракция на месте, инкапсуляция не нарушена, ООПшники довольно урчат.
А если у тебя манипуляция здоровьем не лечением и не уроном? Может такое быть? Например, ты подобрал бонус к максимальному количеству хп, он на столько же поднмиает текущее. Задача решается этими методами, вопросов нет, но семантика подсказывает, что тут не все гладко.
Ну и тут жесткая связанность плюс ко всему.
нахуй ваще ебаный компоненты в очко
деды без них писали и нам велели
делаешь класс ХуйКарактор(ЮКарактор)
и в нём публичный флоут хелсв
всё бля
твой хуйкарактор и так будет рядом с мейном када модуль скомпилится, так что не пезди мне тут бля
все дрочат вприсядку и я буду - история модулей краткий курс
открываешь его ХелсКомпонент а там хуя - вставка ассемблерного кода
Если б ты не был таким тупеньким, ты бы понимал в чем разница между ChangeHealth и пары Damage/Heal, а именно в поведении при пересечении границы нуля.
А именно, ChangeHealth(3-5) сделает -2 здоровья, а Heal(3-5) ничего не изменит, поскольку будет сделан clamp.
Что мешает сделать проверку на 0 в ChangeHealth? Ну так, чисто ради интереса.
Олсо твое решение максимально прямолинейное. Прямолинейные решения зачастую не самые качественные.
>Что мешает сделать проверку на 0 в ChangeHealth? Ну так, чисто ради интереса.
а тут чет я говна поел. вообще лол.
>ChangeHealth(3-5) сделает -2 здоровья, а Heal(3-5)
это вообще бессмысленная хуйня на самом деле.
И что ты так проверишь? Heal(3) лечит на 3, Heal(-3) на 0, но Damage(3) бьет на -3, Damage(-3) бьет на 0. ChangleHealth эти случаи не различает.
Это например когда действует дебафф "уменьшить эффект лечения на 5".
>Damage(3) бьет на -3
уже хуйня.
задача решается с меньшим количеством слоев абстракции. В целом комбинация методов не очень.
Ну тогда делай свою публичную переменную Zdorovje и изменяй ее напрямую, или чему там сейчас учат вкатунов?
Не решается, потому что у сложной механики есть объективное количество необходимых абстракций.
Если ты сделаешь health -= (damage - damageReduction); helath += (heal - healReduction) ты просто размазал абстракцию по формулам, в результате получишь нечитаемую лапшу как недавно постили в соседнем треде.
Абстракция имеет бойлерплейт, который начинает окупаться после определенного количества использований. Ну то есть ты добавишь еще одну, две механики вида "эффект понижает урон на %" и запутаешься в них.
Большие системы делают сложными не просто потому что кому то захотелось выебнуться, а потому что потом изменения и добавления легко вносить.
Ты не понимаешь, чем хорошая абстракция отличается от плохой. Соответственно не понимаешь, почему твоя абстракция плохая. Плохая абстракция - это плохо.
>Большие системы
Больших систем ты точно не писал.
>эффект понижает урон на %
очень сложно. нет
У тебя вообще на ауры пунктик, еще в юнитач прибегал пугал. Это не ауры страшные, это тебе подкачаться надо.
Ну все, пришел данни крюгер пояснять всем что раз в его пиксельном платформере ауры и эффекты не нужны, то и никому не нужны. Двач как всегда.
>ссылка
Так, блять, я не понял. А разве то, что он написал, это не самый базис? Типа умение написать систему сохранения и взаимодействия это те навыки, которые надо писать в резюме?
Умение писать систему сохранения это вообще не скилл.
>>74736 вот тут он вообще приравнивает инкапсуляцию к приватности.))))) Ну это реально смех.
> Типа умение написать систему сохранения и взаимодействия это те навыки, которые надо писать в резюме?
Смотря что за система. Я недавно смотрел как сделан один плагин для сохранений (Easy Multi Save) - и там есть чему поучиться.
А вообще это же классика написания резюме:
1) умею писоть
2) умею какоть
3) научился пукоть
Если 100 новичков попросить реализовать подобный класс, они все сделают либо так же, либо чуть лучше. Сколько из них будут при этом иметь лицо эксперта, спрогнозировать не могу.
>>74736
Это вообще шизофрения какая-то. Ты похоже за связанность кода вообще не врубаешься.
>компонента
>компонента
Ясно, очередной неофит.
Просто добавление ауры выходит за рамки туториалов на ютубе.
Сказал вкатун, который не знает что такое связанность. Вас на ютубе совсем ничему не учат?
damage(i)
{
changehealtр(-i);
}
Шиз, не знающий анриаловского апи НИНУЖНО АПИ ДЛЯ НЮФАГОФ, ты опять выходишь на связь? Тебе эпики дали DealDamage и OnDamageRecieved - нет, не хочу, хочу изобретать велосипед
То есть ты пришёл в анриалотред вообще ничего не зная об анриале? Зачем ты здесь вообще?
Лул, это потешный рудемент от анриал турнамента для шутеров.
>DealDamage
> OnDamageRecieved
а дальше
damage(i)
{
changehealtр(-i);
}
красиво.
Я тебе показал что учить чтоб научится делать свои ауры. Сможешь - молодец, может у тебя еще получится вкатиться в программирование, не сможешь - тогда тебе путь только в кассиры.
Ты просто хохлозависимый нюфаг
>урон который зависит от какой-то функциия
>от какой-то функциия
>функциия
Да не трясись ты, свин
>ты буквально не можешь сделать урон по ТЗ
будет доказывать заказчику, что сделал по тз АПХАПХАПХАПХПАХ
> Heal(-3) на 0
Оно должно выкидывать исключение, потому что если ты где-то сделал хил(-3) значит где-то обосрался с расчетом
>>74757
> Что мешает сделать проверку на 0 в ChangeHealth? Ну так, чисто ради интереса.
Будет очень много юзов этого метода, потом будешь смотреть кто его юзает, и будет дохуя кто. Ну в шарпе это можно посмотреть, с вашими анрвло блупринтами хз
хрюкни
Я тогда аж захрюкал от смеха.
Это как раз тогда он пизданул, что блюпринты идентичны по скорости с++ коду, ПАТАМУШТА КОМПИЛИРУЮТСЯ В С++ КОД!!!
> блюпринты идентичны по скорости с++ коду, ПАТАМУШТА КОМПИЛИРУЮТСЯ В С++ КОД!!!
Если использовать нативизацию - то это так и есть, результирующий машинный код будет аналогичным.
Изучай https://www.youtube.com/watch?v=VMZftEVDuCE
А теперь про нативизацию, свин
Какой потужный нахрюк. Ваш код - не код, хрю?
> я не понимаю что там за код, поэтому буду хрюкать что там все неправильно, хрю
Зачем с тобой вообще разговаривать, ты же тупой свинтус
блюпринтошизику на туториалах по тасканию лапши не рассказали про алгоритмы похоже))))
Тогда зачем ты хрюкнула про алгоритмы, свинка?
Низкий уровень интеллекта не позволяет признать неправоту.
Хрюшка, какой алгоритм ты видишь на своём же скрине?
Ах лол, еще вспомнил, этот гребень заявлял, что блюпринты это стандарт разработки и скоро все буду программировать на блюпринтах и их аналогах. ))))))
Не должно, с чего бы? Лечение на 2 при действующем дебафе "все лечение уменьшается на 5". Ты никогда в игры не играл, что ли?
Мда, пчел...
Эта логика должна идти из прослойки.
Ты наносишь демедж, это получает контроллер получения дамага, который имеет списки баффов/дебаффов, он модифицирует значение и передает уже на компонент хп.
Тебе про это сразу и сказали, у тебя либо куча прослоек-абстракций, либо в компоненте методы хил и дамаг. непонятно с чем ты споришь.
С тобой нечего обсуждать, ты - пустое место
сказал долбоеб, который поделил абстракцию низшего уровня на два слоя)))))))))))))))))
Один метод назвал - урон, второй метод назвал лечение. Лечение каво, урон чиво. ))))
Походу тебя вся борда уже обоссала
Тот анон все правильно задумал. Баночка здоровья не должна ничего знать о том, как реализовано здоровье у того, кого она лечит.
Попахивает залетным троллем из /б
>лет 5-7
Блюпринтовый, ну что я могу сказать, по возрасту ты сеньор, по скилу даже не джун. В первую очередь из-за необучаемости.
Покажи свою, посмотрим какой ты кулинар еба.
Угу, верю. Что будет при получении 3 временных хп, когда у тебя 5 временных хп?
> 3 временных хп, когда у тебя 5 временных хп?
Кто-то может перевести это на временный русский?
Ну это колоссальная трудность. Тут может конфликт с аурой лечения даже возникнуть. Тут на пикабу надо спросить как быть вообще в таком случае.
В Unreal_Training точяно должен быть ответ. А может в c++ function switc...
>может быть аура, которая увеличивает лечение, но не урон, и наоборот
>Ну, удачи сделать хотя бы временные хп не проебавшись.
>Что будет при получении 3 временных хп, когда у тебя 5 временных хп
Как говорится, каков уровень программиста, такие и проблемы.
Так в чем у тебя трудность заключается? Рассказывай.
Зайка, ну так как надо сделать? Чтобы тебе главное понравилось. На уровне реализации в хп учитывается бонус конституции и уровень персонажа. Как ты хочешь чтобы было временное хп, зайчик мой? Хочешь. будет сверху максимального хп? Сделаю так. Хочешь,будет увеличивать максимальное хп, но не текущее? Сделаю. Хочешь, сверхмаксимальное хп не будет лечится. Хочешь временное хп будет лечить с возможность выхода за границы максимального? Интерфейсы все есть. Ты только скажи. где ты находишься, дай цифры свои эээ
открой рулбук и почитай.
Контроллер персонажа у меня конечно получится я ебал. Одних эвентов наверное штук 20 надо обрабатывать. И это только самая база. Вот будет мем, если мне концепцию придется переделывать, на екс какой-нибудь.
просто раздели интерфейсы
Юнити с c# конечно рай не земле по сравнению с этим.
> НЕ ЛЮБЛЮ ЭТИ ВАШИ ВИДОСЫ, ГДЕ МОИ КНИЖКИ
Не люблю видосы. Дайте пожалуйста материалы текстовые кроме офф документации по пятому АЕ.
Цель не создание игры, а создание красивых сцен
Дык движок для даунов лапшичных. Тут вон местный ебобо эксперт 5 лет программирует, не знает как разделение интерфейсов выглядит.
XD
А теперь пррикиньте, какой бугурт будет у этого шиза, когда он до AGS дойдёт?
С макаронами тут кстати проблем бы не было вообще.
Читай пикрил. Если вкратце - грамотно выстроенная архитектура направляет тебя по верному пути и не позволяет референсить в модуле то, что референсить ты, по-хорошему, не должен, избавляя от циклических зависимостей, большой связности кода и прочих приколов спагетти-кода (к блюпринт-лапше отношения не имеет).
Применительно к анрилу "луковая" архитектура достигается через Unreal Modules. У Форсайта подробно расписано:
https://awforsythe.com/unreal/blueprints_vs_cpp/#cpp_modules
У меня лично трёхслойная архитектура для проекта средних размеров Core (Pawn'ы, GameMode'ы, GameState'ы, misc-геймплейные функции - вся) -> Gameplay (враги, уровни и всё остальное) -> Platform (платформозависимый код).
Советую, кстати, использовать RIder или иной линтер к какому-нибудь VSCode/Visual Stduio, он предлагает многие хорошие вещи включая выше упомянутые forward declaration'ы.
620x720, 0:11
>грамотно выстроенная архитектура направляет тебя по верному пути
Вот и я думаю, что у меня обсер на моменте проектирования.
В целом то я пишу слоистую, системы подсистемы, прокинуть интерфейсики, вот это вот все. Но тут болт поклал на инверсию зависимостей ну и пососал как бы ожидаемо.
Ладно, ебал я форвард декларейшен, буду думать сидеть, решать.
Спасибо за советы.
Конечно проблема, тебе сразу говорили ECS для такого брать, ну вот и страдай с дидовским ООП.
Анрил тред: заголовки референсят друг друга)))
Пока код не попросишь показать.
А игор ни у тех, ни у других.
В общем понял, где у меня ошибка. Все будет чики брики.
лапшизик знакомится с интерфепсами
Ясно, игру можно не ждать.
Магия анриала лол. В интерфейсе метод GetHealth, в классе наследнике GetHealth_implemented, а вызывается вообще такая ебанина))))
Где твоя игра, свинной король?
> Можно просто за анус дёргать уеч, чтобы он рендерл из буферов, и всё.
Через некоторое время заметишь, что много кода приходится повторять и станешь делать хелпер методы которые объединяют схожие действия.
Потом заметишь, что сложно как-то разобраться в своем же коде, станешь там путаться, и в итоге начнешь делать какие-то более конкретные сущности, группировать все что есть в игре по каким-то признакам, как-то группировать все методы.
Потом сгорит жопа и возьмешь нормальный ооп, потому что все что ты до этого делал - это было имитацией ооп с искуственными выстрелами себе в ногу.
Причем иде позволяет тебе вызвать все 3))))))))))))))))))))))))) это пиздец нахуй.
Есть мнение, что он не знает что такое екс, просто бегает пукает названием. Мне кажется он за последние 10 постов от лица трех анонов высрал токсичную шизу. Ебанутый карочи.
> Ты описать проблемы ООП-дебилов, хелперы, какие-то сущности, группы. Что за хуйня вообще?
Это я тебе говорю, что ты будешь делать без ооп, когда столкнешься с описанными мной проблемами. И будешь ходить как конч говорить, что ооп для даунов, хотя дклаешь ровно то же самое, что предлагает ооп, но только при этом у тебя башка будет лысая
Ты же не шаришь в ецс, да? Для тебя это какая то магия. По факту мы видим, что как раз в ооп пришлось написать по три строчки левых хелперов.
Не факт что иде не наябывает. Часто иде не проводит полный анализ кода.
Че несешь.
> что как раз в ооп пришлось написать по три строчки левых хелперов
Я говорю про то, что отрицатели ооп будут писать кучу бойлерплейта и хелперов, а те кто юзает ооп сделают так, что все натурально будет на своих местах, ну при должном скилле само собой.
> Ты же не шаришь в ецс, да
Причем тут ецс? Мы разве ецс обсуждали?
А так инфраструктура для ецс тоже прекрасно делается на ооп - с интерфейсами для систем и внедрением зависимостей.
И внешние сервисы, которые системы в ецс могут дергать - тоже отлично реализовываются на ооп.
Может быть, ты с чего-то решил, что ооп - это парадигма в которой обязательно делают десятиэтажное наследование и на каждый пук делают абстрактуню фабрику? Ну, если дело в этом, то удивлю тебя - нет, это не обязательные признаки ооп.
> Без ООП никакие группы не нужны. Если тебе нужно создать иерархию объектов - ты просто берёшь и создаешь иерархию сущностей или функций, массив данных с ссылками на другие сущности. Требуется сгруппировать сущности - просто добавляешь какой-то массив с определением группы.
> Не ну конечно у меня объекты есть, но в них нет никакого ооп, это просто глобальные сущности, набор поведения для сущностей и просто набор каких-то данных сущности. Офк всё это динамические может меняться в любую сторону.
Вот о чем я и говорю блять, ты начинаешь из гавна собирать свой ооп и юзать ровно то же самое что и ооп по своей сути, только без удобной инфраструктуры для этого
> Нет, никто этого не пишет, в этом нет никакой необходимости если ты не пишешь в ООП-стиле. Ты просто пишешь код.
Да, и код этот хаотично разбросан по проекту, до тех пор пока ты не начнешь его структурировать путем обобщений и написанием всего то что я написал выше
> Не будет, потому что ты не можешь предугадать иерархию классов.
А что мешает мне сразу спроектировать иерархию классов полагаясь на текущую задачу, потенциальные пути развития игры, и свой опыт, таким образом минимизировав потенциальный пиздец?)
> Что за бред ты несешь? По-твоему ссылочное дерево это ООП?
Ну если ты попробуешь анализировать хоть чуть-чуть глубже, то заметишь наверное, что таким ссылочным деревом, конкретно в тех примерах что ты привел, ты реализуешь аналоги композиции и наследования(/реализации интерфейса).
> Лапша на ООП никакого удобства не даёт. Нужно писать больше, а делать меньше, по итогу испытывать проблемы просто чтобы 3хп у персонажа отнять.
Можно писать не лапше-ооп. Попробуй хотя бы читать на что отвечаешь, я уже говорил, что ооп это гибкая вещь, можно делать десятиэтажное наследование,
> Шизофрения какая-то пошла уже. Причем тут группировка файлов и ООП? Никто не мешает группировать по моделям, доменам и назначению без ООП.
Какие файлы бля? Это у кого еще шизофрения лол. Я и говорил просто про группировку, уж как ты технически это сделаешь - твое дело, суть в том что ты будешь искать обходные пути, чтобы как-то проассоциировать между собой вещи которые якобы связаны в твоем проекте, что в ооп делается на уровне контрактов.
> Ну ты какой-то ньфаг совсем, джун, никогда не программировал ничего серьезного?
> Ты не можешь предсказать будущее. В будущем всегда будет другая задача и всю твою иерархию классов ты будешь переделывать, вместе с методами. Чтобы не переделывать ты будешь всё это переопределять и дрочить новый ООП кал, создавая лапшеподобный код вместо игры.
Ну попробуй сделать несколько игр, быстро придешь к идее того, что надо избегать лишнего каплинга и, тогда и переписывать всё не придется, а только небольшую часть. А с ещё большим опытом и переписывать не так много придется, так как сразу будешь видеть точки расширения которые можно заранее заложить.
> В ECS это ничего не требуется - просто ебанул сущность и всё, у тебя новый полноценный объект. В моём говнокоде будет посложнее, но не сложнее чем писать скрипты.
Ну и опять же - читай на что отвечаешь, а не беседуй сам с собой как клоун. Я уже писал, что ецс тоже отлично реализуется на ооп. Конечно ты можешь заниматься клоунадой и с пеной изо рта и реализовывать ецс в функциональном стиле, но тут уж я ничем помочь не могу.
> Что за бред ты несешь? По-твоему ссылочное дерево это ООП?
Ну если ты попробуешь анализировать хоть чуть-чуть глубже, то заметишь наверное, что таким ссылочным деревом, конкретно в тех примерах что ты привел, ты реализуешь аналоги композиции и наследования(/реализации интерфейса).
> Лапша на ООП никакого удобства не даёт. Нужно писать больше, а делать меньше, по итогу испытывать проблемы просто чтобы 3хп у персонажа отнять.
Можно писать не лапше-ооп. Попробуй хотя бы читать на что отвечаешь, я уже говорил, что ооп это гибкая вещь, можно делать десятиэтажное наследование,
> Шизофрения какая-то пошла уже. Причем тут группировка файлов и ООП? Никто не мешает группировать по моделям, доменам и назначению без ООП.
Какие файлы бля? Это у кого еще шизофрения лол. Я и говорил просто про группировку, уж как ты технически это сделаешь - твое дело, суть в том что ты будешь искать обходные пути, чтобы как-то проассоциировать между собой вещи которые якобы связаны в твоем проекте, что в ооп делается на уровне контрактов.
> Ну ты какой-то ньфаг совсем, джун, никогда не программировал ничего серьезного?
> Ты не можешь предсказать будущее. В будущем всегда будет другая задача и всю твою иерархию классов ты будешь переделывать, вместе с методами. Чтобы не переделывать ты будешь всё это переопределять и дрочить новый ООП кал, создавая лапшеподобный код вместо игры.
Ну попробуй сделать несколько игр, быстро придешь к идее того, что надо избегать лишнего каплинга и, тогда и переписывать всё не придется, а только небольшую часть. А с ещё большим опытом и переписывать не так много придется, так как сразу будешь видеть точки расширения которые можно заранее заложить.
> В ECS это ничего не требуется - просто ебанул сущность и всё, у тебя новый полноценный объект. В моём говнокоде будет посложнее, но не сложнее чем писать скрипты.
Ну и опять же - читай на что отвечаешь, а не беседуй сам с собой как клоун. Я уже писал, что ецс тоже отлично реализуется на ооп. Конечно ты можешь заниматься клоунадой и с пеной изо рта и реализовывать ецс в функциональном стиле, но тут уж я ничем помочь не могу.
Одно дело, если бы писался хелпер для логики, писать такие функции и в ецс удобно - например, для рассчета модификатора хар-ки из ее значения для всех одинаковое.
Но мы то понимаем что тут так называемый "хелпер" написан чтобы починить неудобство самого доступа по ООП. Которое якобы должно было упрощать. В результате с ООП все будет обмазано уже вот таким бойлерплейтом, только его уже не убрать и не вынести куда-то, для этого надо более выразительные языковые средства, типа макросов раста. (Крестовые шаблоны могли бы, но все знают что с ними все вообще превращается в килотонны бойлерплейта)
Ясно. Нечестное ООП!
Каким образом External Logging Framework и ExceptionCatcher связаны с ООП? Или главное побольше страшных длинных слов со стрелками нарисовать?
> Но мы то понимаем что тут так называемый "хелпер" написан чтобы починить неудобство самого доступа по ООП. Которое якобы должно было упрощать. В результате с ООП все будет обмазано уже вот таким бойлерплейтом, только его уже не убрать и не вынести куда-то, для этого надо более выразительные языковые средства, типа макросов раста. (Крестовые шаблоны могли бы, но все знают что с ними все вообще превращается в килотонны бойлерплейта)
Ниче не понимаем. Не знаю с чего ты взял, что с ооп все будкт обмазано бойлерплейтом, в норм языках вообще есть рефлексия и аттрибуты чтобы ваще красиво было.
>>75561 (Del)
> Нет, не реализую. У меня есть доступ к каждой сущности, у меня нет каких-то закрытых объектов доступ к которым я чрез пять метров макаронных изделий получаю.
И вот отсюда и идут проблемы, от этого ебанутого каплинга.
> Ты шизик что ли? Сам пишешь про расположение кода в проекте, сам спрашиваешь какие файлы.
???
Лан забей, ты похоже троллишь просто, ведь ты буквально постом выше ответил на этот вопрос
> Никто не мешает группировать по моделям, доменам и назначению без ООП.
> То что там есть "class" не делает ЕКС ООП. Это просто класс, чел.
А что это за парадигма программирования, где мы оперируем объектами, мм?
Ну и опять же, читай хотя бы че тебе пишут.
Напомню:
> А так инфраструктура для ецс тоже прекрасно делается на ооп - с интерфейсами для систем и внедрением зависимостей.
> И внешние сервисы, которые системы в ецс могут дергать - тоже отлично реализовываются на ооп.
Или что, тебя в движкосраче треде так попустили, что до сих пор глаз дергается?
Чуваки, кто юзал dlss плагин для ue? Какие подводные?
no code в этом движке реален?
Только он и реален ибо ни один нормальный человек не будет байтоебствовать в плюсах, а великолепных шарпов не завезли.
И синтаксис шарпа просто гениальный, других таких языков нету
Ну, просто надо понимать, как меняется восприятие ооп в зависимости от его понимания
Понимание на супер-низком уровне - ого ооп вот это круто буду его учить, ооп это база
Понимание на низком уровне - ооп это плохо бохнакаже лапша прокладки производительности всю сжирает дерьмо гавно а коде не разобраться
Понимание на среднем уровне - ооп это отличный инструмент под свои задачи
Ну а на более высоких уровнях просто идет мастеринг
https://habr.com/ru/articles/148657/
Спокуха, разница не большая, а порой реализации C# оказывается и быстрее. Ты ж не будешь писать свою систему пулинга памяти на С++, да? Ну значит и о производительности можешь не заикаться
Любой кто юзает ецс, использует его в комбинации с ооп. Найди хоть кого-то, кто мыслит в стиле ЫЫЫЫ Я ЮЗАЮ ЕЦС ЗНАЧИТ ВСЕ НА ЕЦС ВСЕ ОСТАЛЬНОЕ ЗАПРЕЩЕНО
>ты смешиваешь данные и поведение
И в чем заключается смешение? Нет большой разницы, запишешь ты переменную и метод внутрь класса, или будешь вызывать фри стендинг функцию передавая экземпляр. Уже даже в сиплюсплюс додумались и идет речь о унификации вызовов через UFCS, когда obj.foo(x) будет эквивалентно foo(obj, x)
Дурацкий аргумент. ну и что что где то остались ошметки ооп? Значит их просто еще не успели вычистить. Не все сразу.
Есть же аналог годболта для шарпа. Можешь посмотреть, там большинство промежуточных вызовов будет соптимизировано компилятором.
/td но я туда заходил - там сидят раки похлеще чем в /gd. Что то спросишь - сразу начинают в ответ рассказывать что ты вообще не тем занимаешься. а потом рассказывают про то как получают пенсию по шизе.
Ну у меня есть вертикал бокс. Я в него пихаю 6 одинаковых виджетов. Вертикал бокс выдает им какой-то размер снихуя вообще. Ладно. Ок. Мне после этих виджетов надо добавить две кнопки - вперед и назад, чтобы они по вертикали были на одной высоте. Создаю горизонтал бокс. Пытаюсь как-то манипулировать размерами кнопок. они либо на все ебало, либо с мой пенис. Промежуточных настроек как будто нет вообще фил ебаный хуй знает зачем нужен. Ну ок. Вместо горизонтал бокса делаю канвас, а какие размеры кнопкам в канвасе указывать? а хуй знает. Не ебу вообще, нигде не написало какой размер кнопкам задал вертикал грид. Охуенно.
В юнити я бы просто нахуярил панелек, разметил размеры. указал бы якоря и все бы работало. Тут какая-то ебля нереальная.
Все это надо запихать в виджет свитчер, который в обном случае управляет размером вложенных виджетов, в других не управляет. Это полная хуета кароче.
Чтобы потом потом проблем с авторскими правами не было.
Может есть места.
> Можешь погуглить что значит слово смешивание
Если ты сам не можешь ответить без гугла, это означает что ты не знаешь, вероятнее всего что-то перепутал.
Например int i = j - 2 * 4 это уже смешивание? А то смотри ведь уже есть и данные и код.
>у тебя есть просто набор данных и отдельное поведение которое можно применить к любым данным и поведение это ничем не ограниченное
Звучит как маняфантазии, хотя и приятные. На практике так не бывает, поведение подразумевает все равно какие то ограничения на данные. Да да, то самое cat.speak(), dog.speak(), Animal::speak(), а абстактныеданные.speak() не имеет смысла.
>В реальном мире, в котором динамическая хуйня не может быть умнее человека
Компиляторы C/C++ и C# уже давно умнее человека, который пытается написать то же на Си либо ассемблере.
>Собрался писать си код в шарпе? Нахуй тогда шарп-то нужен вообще? Сначала создали проблему в виде шарпа, а потом героически её решают оптимизациями, супер-пупер рантаймом, стилем кода, запретом вызовов. Гениально.
Именно, гениально. Ты пишешь на высоком уровне функционал, который схлопывается до нескольких инструкций ассемблера.
Почему такая разница между .NET 8 и 9?
writetext() не имеет смысла на абстрактных данных, например бинарнике. playaudio() не имеет смысла на абстрактных данных, которые не аудио. У тебя вообще ужасный подход, потому что ты называешь функции какими то низкоуровневыми деталями реализации.
> Не существует никакого speak, существует playaudio(), createthought() или writetext().
неплохо попустил дурика, у которого методы изменения здоровья называются heal и damage
> Имеет, потому что можно бинарник отправить и будут нули и единицы.
> writetext на самом деле тоже не очень, это скорее объектная абстракция, в екс будет sendToBuffer(from, to)
Ахахах у тебя с башкой проблемы что ли?
Вместе с тем, хочу выразить увОжение анриалу за систему сохранений. Она реально заебись
О, спасибо.
https://2ch.hk/td/res/319702.html#319802 (М)
>>75868
Никогда такого не видел, тебе это приснилось в шизофреническом припадке?
Мимо фулл стак 3d программист
А все понял. Хорошо же сделоли
У чела есть два спавпоинта для двух игроков соответственно. Спавн поинт хранит в себе индекс игрока, который должен на нем спавнится.
В начале игры, гамемодскрипт чекает все спавнпоинты нужного типа и записывает их в мэп, ключом которого является индекс спавн поинта, а валью сам спавн поинт.
Блядь. Ну ебать. Ну это же пиздец нахуй)))))))))))
Он еще профессионально типа индекс заприватил и сделал публичную функцию для доступа к нему)) ахахха
Ты уже разделил интерфейсы? Конструктор перегрузил, все нормально? Таблетки помогают?
во долбоеб надо было просто глобальную переменную тиснуть )))
тут больше вопрос в конкретно твоих скиллах - сможешь или нет, а анриал вполне пойдет.
Точнее не так.
Скачиваю этот пак в соседний проект, выбираю машину, нажимаю Migtate.
Авто переносится в мой проект - но в Projects Settings его в качестве пешки поставить не получается, UE его не видит.
Все, вопрос снят.
Пак весит 7,5 гигабайт - при миграции папка становится 750 мегабайт.
Правда почему-то копируются некоторые другие авто - и при их удалении мой авто тоже перестает работать.
>Правда почему-то копируются некоторые другие авто - и при их удалении мой авто тоже перестает работать.
Базовые классы?
Причина подрыва?
Зачем быть таким токсичным?
>To be fair, actors only support input events because there is some engine plumbing in place to create a UInputComponent (EnablePlayerInput), which handles the routing of said input. Without a valid input component, you can’t process input properly anyway really.
мда. хотел карочи по модел -контроллер -вью контроллер- вью паттерну сделать юай, ага, сделал. Надо либо контроллер делать актором, либо делать в плеер павне эвент диспатчер на каждый инпут, прокидывать во все контроллеры плеер павн и подписываться на эвенты контроллерами. Балдеж нахуй.
Я тоже а виджетами ебался, проблема в том что они не интуитивны и там надо познать особый дзен чтобы на них строить UI. Плюс не рекомендуется делать дохуя иерархической вложенности и пользоваться биндингом. Они за просто могут ФПС сожрать. Короче жалоб на них много, но альтернатив все равно нет.
Нытье этого анона напомнило, как мы в шкалке на уроках информатики жаловались "ух как я ебался с форматированием таблицы в ворде". И какой-нибудь компьютерный задрот авторитетно заявлял, что таблицы могут сожрать фпс компа и на них много жалоб
лапшичный местный уебан опять как собака кидается))))))))
Если поиграться с настройками капчер мода, то инпуты сохраняютс, но как только мышь доходит до границ экрана вращение камеры останавливается. Анрил заебал если честно на любой хуйне выставлять какие-то свои позорные костыли.
В общем проблему я решил таким образом, что каждый тик обработки лук инпута курсор устанавливается в середину экрана, соответственно никогда не достигает границ экрана. Какой-то позорнейший костыль конечно, но работает.
Мне кажется тут просто текстуры годные и свет с рейтрейсером. Вот и вся магия.
А тольку если шкафы прибиты к своим местам и нельзя ими завалить проход. Опять не с того разработку начали.
Делаю гонку на UE5, создал несколько трасс — но все они не очень высокого качества, из стандартных ассетов, и автомобиль тоже из набора стандартных ассетов.
Игра не ахти — но хочу выпустить ее в Стиме, чтобы прочувствовать каково это, быть геймдевелопером.
Какие подводные?
Если игра не очень, это как-то может сказаться на моей карьере разработчика игр?
Например Стим будет хуже игру продвигать, или другие мои проекты будут хуже продвигаться?
В игру планирую добавить коллекционные карточки — Стим их позволит добавить?
https://www.youtube.com/watch?v=IK76q13Aqt0
Снимай в трейлере красивое и не снимай некрасивое
Это нужно у Стима спрашивать
Тут ничего особенного, кроме света с рейтрейсером, нет. Купи пека 4090 и получишь. Это всё шейдеры.
При этом, несмотря на то, что оутера у меня не было, цикл сука один раз срабатывал лол.
Я бы понял, если бы он срабатывал, когда переменная неинициализирована и там бы лежал какой-то мусор, который дал сулчайноположительный результат, но я же сука гетоутер сделал. я ебу нахуй
Шиз выдумывает себе проблемы на ровном месте, которые потом по пять часов решает.
Какой же дикий кал, пиздец просто. Не зовидуют уепам на ООП.
Лучше из отдельных частей. Потому что иначе Occlusion culling не будет нормально работать. Вместо того, чтобы отрисовывать целые коридоры, можно отрисовывать их часть. Разбей коридор на разные составляющие. Пол 1x1 например, потом стена 1x3, потолок 1x1.
Спасибо.
Я что-то делаю неправильно? Может тут какое-нибудь прилипание есть?
Modular envirment ,гугли это
Хуй будешь?
Бля а нахуя я сагу влепил
Grid snapping
> Может тут какое-нибудь прилипание есть?
вроде было. Когда я только вкатывался в анрил то тоже искал, чтоб как в Майе можно было назначать пивот и снапить к другим моделям. И я точно помню что оно было, но настолько неудобно и всрато сделано, что я в итоге забил хуй и просто стыкую на глаз или по сетке с шагом. Но шаг еще хуй угадаешь, если сначала не запарился с тем чтоб все объекты были одинакового конкретного размера
Держи анон https://www.youtube.com/watch?v=raoeVwv9Q_k
В крации - пивот актора можно назначать либо комбинацией алт-v + mmb на нужный вертекс, или через контекстное меню пкм->pivot->set pivot here. Чтоб актор прилип к другому актору - зажимаешь лкм на пивоте и держишь v, потом тащишь пивот на нужный вертекс.
Подводный камень - прилипание сработает автоматически как только увидит подходящую цель, после чего вполне может выйти из режима прилипания. Так что для того чтоб это работало сначала выставляешь на глаз, чтоб было +- на своих местех, а потом прилипанием выставляешь в стык - иначе актор может прилипнуть к ландшафту/солнцу/аллаху и улететь в ебеня.
Короче сделано всрато. Блять, пивоты и прилипания были в 3д максе 30 лет назад - хуле вы, дети шлюх, сделать не можете? Тем более что это достаточно нужная фича для левел-дизайна. Уебки, блять.
Благодарю сердешно, брат
поставил галочку форс ребуилт афтер лоад и заработало.
шо не так?
Ставь расширения на ютуб. Одно для скорости х6, второе спонсорблок, в спонсорблоке включи в настройках пропуск до важного момента в видео/заставки/бессмысленный треп
1792x1080, 0:24
Вроде похоже на рабочую идею
Кто-нибудь уже щупал новые фичи вроде State Tree, Substrate, Smart Objects, Metasounds?
Это говно можно использовать уже, или как обычно?
А еще какие?
2ch.hk
Пишите свои контроллеры?
В Infinity Blade: Adversaries уже нашел.
Делаем как есть. Похуй. Если писать свои контроллеры, то не останется вр5мени, чтобы разрабатывать игру.
Так ведь контроллер - это самое важное в ощущении игрока. У вас что там, штампованная расстановка ассетов?
> А разве этим не контроллер должен заниматься, получать инпут и дергать за интерфейс контролируемого персонажа?
Нет, там целая цепочка тех, кто кого дергает. В крации это работает так - за конкретный интерфейс актора дергает InputComponent, но чтоб он знал когда нужно дергать - его самого дергает PlayerInput, а его в свою очередь дергает PlayerController, которого в свою очередь дергает World. При этом сам PlayerController вообще не участвует в инпуте, он только создает список тех, кому нужно дернуть анус и сказать СЛЫШ ИНПУТИРУЙ
>персонаж игрока обрабатывает инпут эвенты.
Это только кажется что это персонаж игрока обрабатывает, на самом деле в ноду завернуто обращение к этому самому InputComponent. В плюсах, кстати, не завернуто и там нужно ручками писать
PlayerInputComponent->BindAxis();
>Пишите свои контроллеры?
Я не понимаю вопроса, лол. Даже если я захочу написать свой контроллер - чем он будет отличаться от стандартного?
>Смотрю шаблон игры от первого лица, там персонаж игрока обрабатывает инпут эвенты. А разве этим не контроллер должен заниматься, получать инпут и дергать за интерфейс контролируемого персонажа?
>
>Пишите свои контроллеры?
Персонаж обрабатывает специфичные для него ивенты (ходить, прыгнуть, присесть), если персонаж сел в машину, оседлал лошадь, встал за стационарный пулемет, то инпут ивенты обрабатывает соответственно машина, лошадь, пулемет.
На плеер контроллере же остаются инпуты, общие для всех состояний игрока (открыть инвентарь, карту, войти в фоторежим, выйти в меню)
Если же использование персонажем других актеров не планируется, можно всю инпут логику держать в контроллере и дергать функции персонажа. Как в Unreal Tournament
void AUTPlayerController::MoveForward(float Value)
{
if (Value != 0.0f && UTCharacter != NULL)
{
MovementForwardAxis = Value;
UTCharacter->MoveForward(Value);
}
else if (GetSpectatorPawn() != NULL)
{
GetSpectatorPawn()->MoveForward(Value);
}
}
Да и даже тут есть разделение для игрока/наблюдателя
Ты про тех, кто вроде тебя мемов не знает? Или ты такой воробушек, который подумал, что кто то реально на полном серьезе написал В КРАЦИИ? Пиздос проорал с тебя.
Живой ньюфаг на некроборде
Есть контрол риг, я свои анимации прям в анриле делаю, раньше в майе делал риг и анимацию потом экспортил, но это лишние телодвижения. Осваиваешь контрол риг, секвенсор и вперёд.
Я желаю часть в персонаже часть в контроллере. Те кнопки что отвечают за игру как таковую. Выйти, загрузить,сохранить, пауза, хуяуза пишу в контроллере. Те вещи которые непосредственно просом управляют: бежать, присесть в персонаже. Потому что контроллер может позезить разными акторами. И если ты персонажем сел в вертолёт и полетел, то у вертолета нет бежать присесть, там своё управление свой мапинг кнопок. Но загрузить, сохранить, выйти тебе самые, поэтому они в контроллере.
Понял, спс
Мне анрил нужен только модельки повертеть, почему он пиздец пролагивается и подвисает иногда, разворачиваю после сворачивания?
Так вроде всё нормально, потом альтабнулся в другое приложение, альтабнулся обратно и пизда
Я щас запотел и посмотрел туторы всякие, с этим БТ больше мороки для меня, у меня свой мувемент и таски для него для всех сам пишу, в БТ в один тик выполняется один блок и свой мувемент работает не каждый тик, чтоб переключаться между БТ контроллером и ботом надо туда сюда переходные хрени как для блэкборд переменных, сервисы говнища и могут докопаться до переменной которой уже нет из-за де синхронов.
Я много потеряю если забью на них?
Разделитель интерфейсов как всегда наговнокодил хуету
Посоветуйте прям хороший качественный платный курс по Unreal, который позволит быстро освоить основы двигла, для анальника с ограниченным свободным временем, который хотел бы сделать игру чисто в качестве хобби
Без лишнего пиздежа пожалуйста, "курсы не нужны" идут нахуй.
boundless-resource.com/unreal-engine-5-for-filmmakers-bundle-parts-1-2-3/
Или вы знаете, где можно найти? На трекере, где я обычно качаю, не нашел его. Очень хочу слив. С меня тонны нефти
Ну или альтернативно подскажите какой-то свой стоящий курс для фильммейкеров на Unreal, я если что тоже могу какой-нибудь курс подогнать бесплатно
> хороший качественный платный курс по Unreal
С этим всегда проблемы. Большинство курсов или какая-то хуйня для детского сада уровня "Сначала научимся включать комплюктор" или "Шаг 1: Открываем вижуал студию. Шаг 2 : Делаем игру. Шаг 3: Закрываем вижуал студию."
Пока что из всего что я смотрел самый нормальный https://www.udemy.com/course/unreal-engine-the-ultimate-shooter-course
Еще несколько анонов хвалили этот курс https://courses.tomlooman.com/p/unrealengine-cpp?coupon_code=COMMUNITY15
Unreal 5.0 C++ Developer на Gamedev.tv (блюпринты там если что тоже есть). Старая версия есть на торрентах, я лично купил на распродаже у них за что-то в районе 10 баксов.
В целом, хорошая обзорная экскурсия по возможностям движка, делаешь несколько проектов, каждый сложнее другого (примитивная стрелялка физическими пропами, раннер, танчики, шутер от третьего лица), в каждом затрагиваются новые темы. Разжёвывают векторную алгебру, C++ на базовом уровне, блюпринты, behaviour trees и animation blueprints, UMG и много чего другого по мелочи.
Материалы, VFX - на примитивном уровне, я бы почитал-поделал на эту тему что-то отдельное (на Udemy есть неплохие курсы, плюс тут в шапке вроде раньше была хорошая книжка про ниагару и шейдеры).
Есть https://www.udemy.com/course/unreal-engine-the-ultimate-shooter-course слитый где-нибудь?
Чет нифига не могу найти
Также реквестирую годные курсы по блюпринтам для новичков, где хотя бы что-то пытаются объяснить, а не говорят "нажми сюда а потом сюда".
Насколько я помню, была только одна новость, где челу показалось, что возникли какие-то проблемы при публикации игры. Больше не было никакой инфы
Ты сначала сделай хоть что-нибудь
Хз, я купил по скидке за 9,99. Хз по чем он сейчас, но если не очень дорого - то можешь купить, или ждать скидки.
>>79563
> Также реквестирую годные курсы по блюпринтам для новичков, где хотя бы что-то пытаются объяснить, а не говорят "нажми сюда а потом сюда".
Это очень большая редкость. Вообще скилл нормально объяснять - большая редкость.
>Вообще скилл нормально объяснять - большая редкость.
Потому что ему надо учиться. А каждый еблан с ютуба думает, что если хоть немного шарит в теме, то сможет и объяснить.
Бэкграунд: Blender 4 года (в том числе сложная анимация), немного макс, substance painter, немного aftereffects.
Хочу освоить unreal чтобы клепать не слишком сложный интерактив, окружение.
Да делай что хочешь.
Но если ты действительно работал с блендером, для тебя не должно было быть никакой сложности познать Blueprints. Кто в теме - поймет. Blueprints создали специально для тебя, чтобы хуйдожник мог делать простой интерактив, не изучая программирование.
Я сам в блендере работал полгода, и когда перекатился из Юнити в UE, увидя блюпринты, радостно воскликнул: "лол так это ж как в блендере". А потом все ровно стал задрачивать плюсы, ибо нодовость в программах для меня выглядит дико
> Все-таки почему?
Потому что я учился на программиста в ВУЗе и не могу писать программы нодами. У меня физическое отвращение от программирования нодами, я не могу это делать. Это что-то для художников, программисты пишут программы... программами, что ли. Текстом. Руками. А смотрю на блюпринты, и не понимаю нихуя, хотя в том же блендере с нодами работал.
>А смотрю на блюпринты, и не понимаю нихуя
У меня та же беда, правда я не программист. Поэтому и подумал, что может C++ проще будет чем лапша.
Я правильно понял условия их лицензии: Я могу бесплатно использовать движок для своих проектов, пока не получу суммарно миллион долларов прибыли, дальше должен буду платить 5% от прибыли?
Спасибо, добра тебе.
> буду платить 5% от прибыли?
Так что можешь не парится, отстегивать тебе эпикам в своей жизни никогда не придется
там вроде не суммарно, а за налоговый год
Только-только вышел из превью.
>Пустой проект 1GB....
У меня рабочий проект 109GB. Просто прими как данность, что вместе с анриалом тебе нужен терабайтный винт.
Да я понял что место дохуя занимает, вопрост просто а почему? Что там так много места занимает в самом движке и путом проекте?
Как всегда нашел ответ только после того как спросил, спасибо двач
Ты или даун или упитидаун. Проект с персонажем, одной механикой и несколько пропсов весит 50мб на анриле 5.2
Так у меня и не пустой, а весит в 20 раз меньше чем у дегенерата с гигом. Учитесь удалять ненужный стартер контент и логи.
> Учитесь удалять ненужный стартер контент и логи.
А че там за ненужный стафф? Анон, я даже вкатываться еще не начал, жду отпуска в июне когда время появится много, тупо поставил только, и понял что не зря, потом уже места может не оказаться придется думать что удалить и это при том что у меня 3.5тб в общей сложности.
Нет никакого ненужного стаффа, не слушай ебанашку. Есть "Стартер контент пак" на 600 Мб в который входят один небольшой уровень и кучка моделей, материалов, текстур, анимаций и еффектов из них 500 Мб это текстуры
Лол, абу обосрался и обрал ебанутую капчу
Отличия в самом движке по словам эпиков сильные, в интерфейсе - нет
Есть миграция проекта с версии на версию, но не еби себе мозг и сразу делай на пятерке
Наверное главное отличие, про которое заявляли на выходе пятой версии - это отсутствие ебаных статтеров в любой локации и в любой игре на любой видеокарте при быстром движении камеры
Как дела обстоят на самом деле, пока неизвестно, т.к. игр на пятой версии вышло крайне мало
Блядь, сага приклеилась.
сейчас как на картинке 1, надо как на кратинке 2
(кажется при отключение худа интерфейса исчезает)
захожу в консоль пишу худ вылезает всякие команды как их применить не шарю и можно ли вообще
Блэт братан, кажется ты захарамился об хинзиров.
ну билд есть
Твой подход подойдёт только для прототипа.
Я бы сделал две камеры и настроил их по-разному - к привязанной к персонажу камере сделал бы SpringArm и настроил бы там все эти инерции и длины.
Свободную камеры бы либо детачил от спринг арма, либо сделал вообще бы отдельную, потому что к ней, вероятно, какие-то правила поведения тоже будут нужны.
https://docs.unrealengine.com/5.2/en-US/using-spring-arm-components-in-unreal-engine/
>Твой подход подойдёт только для прототипа.
обоснуй.
Персонаж не один. Тут скорее твой подход для прототипа.
>Я сделал дефолную пешку игрока, которая является камерой.
>Твой подход подойдёт только для прототипа.
>инриал имеет дефолтный камера менеджер, который является актором, на который вешают камеры.
обличье эксперта имадженируете?