1920x1080, 2:28
Видео треда. Рендерим стилизованный графен:
https://www.youtube.com/watch?v=exMzwH7EJUY[РАСКРЫТЬ]
Новичок? Начни приключение отсюда:
https://dev.epicgames.com/community/unreal-engine/getting-started/games
Официальный дискорд Unreal Source. Вся жизнь ныне здесь:
https://discord.gg/unrealsource
Основной учебный портал-хаб с туториалами и официальными курсами:
https://dev.epicgames.com/community/learning/
Канал на Ютубе. На 97% порожняк, на 3% - источник ценнейших материалов с инфой от разрабов движка, которой больше нигде нет.
https://www.youtube.com/@UnrealEngine
Курс по разработке игр на C++ и Unreal Engine с нуля:
https://courses.tomlooman.com/p/unrealengine-cpp?coupon_code=CPPGUIDE
https://www.cgpeers.to/torrents.php?id=78963
Когда использовать Blueprints, а когда C++, от глубоко шарящего челика:
https://www.youtube.com/watch?v=VMZftEVDuCE[РАСКРЫТЬ]
Мэттью Вадстейн. Полезные микро-туторы по нодам. Прекрасно подготовленные, с примерами. Главное - краткие.
https://www.youtube.com/@MathewWadsteinTutorials
PrismaticaDev. Интересные видео по самым разным вопросам и техникам.
https://www.youtube.com/@PrismaticaDev
P.S.: раздача бесплатных ассетов на Маркетплейсе обновляется каждый первый вторник месяца.
Предыдущий:>>949902 (OP)
пивот поменять можно только для инстанса на левеле.
через мердж акторс
либо через мердж запечь модельку в новый меш
либо через батч сделать новый блупринт актор
самое главное выставить галку пивот эт зиро, это и есть то что тебе нужно
еще через моделинг режим можно
включаешь плагин, и там в разделе XForm запекаешь трансформы через Edit Pivot и Bake Transform
главное не забывай, что через моделинг мод ты глобально редактируешь статик меш ассет, а не один инстанс модельки, которую ты разместил на уровне. поэтому если не хочешь глобально модифицировать статик меш на всех уровнях, делаешь Duplicate в том же разделе XForm, создав новый статик меш ассет
попробуй удалить папки Intermediate и Saved
тут какой-то графический контент крашит, поэтому можешь изолировать конкретный шейдер
Вообще метахуман при импорте должен настраивать инишник проекта. Всякое там максимальное кол-во костей, скин кеш, грум и.т.д. Мб что-то не настроилось или не включилось.
Да
https://www.youtube.com/watch?v=R2uW-9BKzuU&pp=ygUJb2Qga29qaW1h
Можно наподобие. Будет слегка пластмассовее.
Братуха, братело, братушоночек, не хныкай, путь осилит идущий.
Хз, я к этому уже отношусь также как к задротству в dbd. Точнее если бы я не задротство в ue, то задротил бы в dbd или ещё хуже в доте. Так что считай, что занимаюсь полезной деятельностью.
В манямирке да
есть десяток бесплатных и релизнутые инди/АА проекты на которых я работал гребцом. но у меня синдром самозванца, поэтому пока лично не выпустил платную игру в стиме, которая наберёт как минимум 100 отзывов и 1000 продаж, игоркой себя не считаю
А так че по продажам?
ЦА шире. проще, чем платные
Монетизация через косметику если она ММО. Если PVE, то тоже косметика, но денег будет гораздо меньше.
Стрит кред
Релизом считается выпук на итч и что то типа сотни скачиваний за 4 года?
А так меня хвалили двачеры когда я про свою хуйню тред в б создававал. Большинству зашло
Судя потому, что тебе нужен какой-то курс разработки на с++, могу предположить, что ты не знаешь с++. Можешь зайти в программач, там есть раздел плюсов, бери литературу и читай.
Очень полезный совет, можешь себе звездочку на лоб приклеить.
Это как спросить "ребята, а есть гайд по езде на мотоцикле?" и получить ответ "у мотоцикла есть колеса, значит тебе нужен гайд по колесам, вот тебе ссылка здесь всё про колеса написано". Охуенно просто.
Т.е. ты типо не понимаешь, что плюсы в анриле это все те же плюсы, просто с библиотекой анрила? В целом конечно удачи в поисках тома лумана за бесплатно.
Я это понимаю, я вчера не понял каким образом мне сделать так, чтобы в классе создавались акторы с мешами относительно друг друга таким образом, чтобы образовывалось кольцо. Каким образом знания std из крестов могут с этим помочь? Никаким. Тут нужен гайд конкретно по либе анриала. О чем я и спросил в вопросе выше.
Хз что делать. В LinkedIn есть пара предложений, но с релокацией в Сербию или другую восточноевропейскую пердь. На Запад я б съебал, но никто не предлагает. Слила не хватает или из-за токсичного паспорта никто не хочет связываться, хз.
>каким образом мне сделать так, чтобы в классе создавались акторы с мешами относительно друг друга таким образом, чтобы образовывалось кольцо.
Не можешь погуглить как создать экземпляр AActor?
>Каким образом знания std из крестов могут с этим помочь? Никаким.
Ну наверное да, никаким, надо тут за ручку провести.
Малыф, привет. Дядя разработчик тебе сисяс все расскажит. Смали, тибе нужин экземплял Uworld, получить его можно из любого актола или из подсистемы, лазбилешься сам. Имея экземплял Uworld, можно смело вызывать функцию spawnactor(), в ней есть паламетлы.
> В москве где-то 10, но я удаленку в рот ебал. И так за 2 года ковида проебал все навыки социализации, ожирел и в целом деграднул, сидя в 4 стенах.
Мда, не грусто.
> Слила не хватает или из-за токсичного паспорта никто не хочет связываться, хз.
Скорее из-за проблем со sponsorship. Мы так даже не релокировали, а наняли человека уже с трудовой визой в Испании и пришлось почти 3 месяца ждать пока её ему переоформят на нашу компанию. А если кого-то релокировать, то это ещё и релокационный бонус платить. Долго, дорого, проще найти местного.
Ох, какой-же снобизм.
>из-за токсичного паспорта никто не хочет связываться, хз.
Не гони. Дохуя девов с токсичными паспортами почти везде. Если сомневаешься, вместо мусоливания страшилок, выйди на тех кто реально туда переместился и спроси подробности.
Вспоминай каково оно социализироваться.
Расцеловал в обе щечки
Добавил твою раздачу на рутрекер
https://rutracker.org/forum/viewtopic.php?t=6553228
>>62530 (OP)
Кто будет делать следующим перекат добавьте пожалуйста ссылку выше на курс Курс по разработке игр на C++ и Unreal Engine с нуля из текущей шапки
скачал с рутрекера два курса какого-то индуса говнодела, срань редкостная, одна вода, учит левой кнопкой нажимать, а ходить на wasd.
C++ если надо освою (python, c# писал, могу сориентироваться, базу изучал (ООП и прочие геймлупы).
Посоветуйте курс какой-нибудь для таких задач. Вот мне надо в блендере нарисовать элементарную модель, импортировать ее, соединить например какими-нибудь шаровыми и при нажатии кнопки двигать.
я просто так понял, что анриалом пользуются вские архитекторы, кнопкокрасы и прочие sfm-фурри пидорасы, мне вся эта тема не интересна, как и расставление нанолампочек чубайса с рейтрейсингом и текстур жопы в 8к.
я хочу дрочить механические кубы и воплощать свои механики (в день по 2-3 штуки придумываю) и тестировать.
есть например элементарная аркадка сетевая, тут тоже желательно сделать возможность мультиплеера, но если сложно то хуй с ним, потестить можно и в хотсите по парсеку
спасибо, шапку изучил. сегодня смоделил из кубов трактор с колесами и даже собрал его физическую модель в блюпринте, завтра буду пытаться его ездить на васд заставить и поднимать/опускать ковш
Вообще, это лютый заеб. Игры на анриле заранее планируют под мультиплеер, потому что нужны конкретные команды серверу, репликация там со всех сторон, создание сессий, хуе мое. В готовую игру вставлять мультиплеер равно что переписывать половину игры
>чтобы образовывалось кольцо
Тебе тут не столько кресты нужны сколько азы ЛинаАла.
FVector Origin; // это координаты центра твоего кольца в мире
float Radius; // это радиус твоего кольца
int32 Segments; // это сколько ты хочешь акторов по кругу иметь
FRotator Delta = FRotator(0.0, 360.0/ Segments, 0.0) // Это угол между соседними сегментами. координата Z в FRotator вроде как вторая, а не третяя как в блюпринтах.
TArray<FVector> SpawnCoord; // Сюда будем складывать координаты для спавна твоих акторов
VFector Temp = FVector(1.0, 0.0, 0.0); - Это временный форвард вектор который будем вращать
for(int32 i=0; i< Segments; i++)
{
SpawnCoord.Add(Origin + Temp * Radius);
Temp = Delta.RotateVector(Temp);
}
Ну и в итоге получишь массив кооринат для спавна, дальше их спавнишь в цикле. А можно и прям в этом же. Так же можешь повернуть свои акторы лицом к центру круга или от круга, если надо. Но в простейшем случае это цикл из двух строчек.
А репликация вообще влияет на производительность в сингле? Например я изначально буду все реплицировать, а потом тупо мультиплеер или кооп не стану добавлять, то на производительности скажется?
Оставил целевой платформой только Windows.
Или пытаюсь запустить
LogLauncherProfile: Error: Launcher profile 'Launch On Device' for is not valid for launch.
LogLauncherProfile: Error: ValidationError: Build Target and Cook Variant mismatch.
В чем может быть проблема?
Т.е. ты просил курсы, думая, что тебе там напишут формулу как по кругу координаты найти?))))))))))))))))))))))))))
Да нет, спасибо за попытку помочь. Я уже решил эту задачу за эти дни используя примерно такой же код.
Это другой анон.
> тебе нужны азы линала
> вращает вектор кватернионом
ты из 6 класса сразу в институт поступил, пропустив тригонометрию?
angle = PI × 2 ÷ n × i
x = cos(angle) × r
y = sin(angle) × r
pos = orig + v3(x, y, 0)
в лаунчере на вкладке самплес
>Something went wrong
>Unknown Error
Ведь именно для этого логирование с месседжами придумали, ага, чтобы написать "да там чет произошло непонятное, хорен знает что". Зато срет миллиардом сообщений об успешных операциях.
такие месседжи чаще всего выдает более высокоуровневая система, когда низкоуровневая не справилась с задачей. при этом низкоуровневая обычно сообщает более конкретные данные. фильтруй по слову еррор
Ты ещё с сигфолом столкнешься в плюсах. Там примерно такое же сообщение вот только никаких больше логов не будет вообще, ни от низкоуровневых систем, ни от высокоуровневых систем.
Короче, похоже дело в самом проекте. Я скачал две демки: с городом матрицы и лемуром с яйцом — оба успешно собрались. А этот проект сперва потребовал от меня MSVC старой версии 14.38.33130 для вижуал студии. Но даже это не помогло, не хватает каких-то кофигурационных файлов.
Жаль, хотел потестить производительность. Взял себе видюху 4070. В эдиторе выдает 50 фпс, в игровом режиме из окна анриала проседает до 15 фпс. В сборке наверное будет гораздо лучше.
Очень сильно не хватает оперативки (у меня 32Гб), срет в файл подкачки. Сборка проекта матрицы заняла наверно часа четыре.
>Жаль, хотел потестить производительность. Взял себе видюху 4070. В эдиторе выдает 50 фпс, в игровом режиме из окна анриала проседает до 15 фпс. В сборке наверное будет гораздо лучше.
У меня примерно похожие фпсы с 3080Ti. Если примерно почувствовать, думаю фпс 40 после сборки будет в 2к разрешении на Эпик скалабилити. Но вооще сканы именно в играх использовать такое себе.Во-первых они все равно мыльные и пузыристые(типичный артефакт скана). Во-второых оверкил по поликам и разрешению текстур. Потому что скан - это уникальная текстура на ассет. Будет 10 пеньков - будетт 10 4к текстур. А не пару текстур коры, мха, дерева и 10 вариантов лоупольки 500кб весом.
>Во-первых они все равно мыльные
У меня сложилось такое же ощущение. Я на 4070 перешел с GTX980 и чет прифигел с каких-то размытых пятен повсюду.
Не это артефакты конкретно скана, а так же следсвие уникальной текстуры на ассет. Тупо текселя не хватает. Для огромного булыжника или дерева надо текстуру 16к+ наверное. Чтобы она не мылилась до достижения камерой клипинг плейна. Во второых сама фотограметрия как технология дает узнаваемые артефакты. Мелкие выпуклые и вкпуклые пузырики. Квиксели это все чистят вилкой, но полностью это не убирается. Поэтому сканы хороши для средних планов. Подлетать камерой и разлядывать вплотную - будет разочарование.
Сначала подумал вот этот ассет зайдёт
https://www.unrealengine.com/marketplace/en-US/product/music-performer-animation-pack-for-concert-festival
Однако там дебильные анимации, когда персонаж ходит как бы по сцене и играет, без зацикливание.
Нашёл качественную зацикленную анимацию на Mixamo. Причём бесплатную. Уже примерил на своей модельке, шикарно выглядит. Классный сайт кстати.
таки да. всё время забываю про него
Проблема возникала еще в 4 версии, в 5.4 это продолжается
Пока только перезапуск движка помогает
Что конкретно у тебя хз, но анрил очень хуевит от всяких переименований, перемещений. К примеру если создал блюпринт, наговнокодил, понял что так нельзя. Сделал новый, оставив старую версию на вский случай, а потом удалил стурую версию а новую переименовал в старую, то есть вроятность что движок запутается в сосбвенных ссылках и редиректах, даже если их регулярно фиксить. Самая жопа - это конечно виджеты, там при несторожном пуке могут пропасть все компоненты из левой панельки в дизайнере. При этом переменные этих компонентов останутся и удалить их уже не получиться. При попытке вытащить новую кнопку и назвать её заместо удаленной - будет писать что такое имя уже есть. В итоге виджет в помойку. И упаси вас господь вас переименовать NamedSlot в родительском виджете, от которого отнаследованно дохуя виджетов.
Уххх баля, была у меня залупа с виджетом ебаным рот его мамки ебал, когда я его удалил в плюсах, создал новый, все это перемешалось с выходом на блюпринты и в итоге как я не ебался, под этим именем всегда появлялся другой виджет, который я удалил))))
пробовал почистить проект от кешей - удалить папки ддц,
интермедиат, сэйвед, байнарис и т.д.?
попробуй костыль из этого треда
https://forums.unrealengine.com/t/ue5-menus-stop-working-flicker-or-close-immediately-after-an-hour-of-use/650945/3
можешь еще попробовать убрать незаводской разгон с оперативы, если есть
Это может случиться и в совершенно новом проекте.
По ссылке рил проблема как у этого чела и исправление нвидии не помогает.
Ага, еще меня не хило так подставило когда я удалил класс в плюсах. Причем делал все аккуратно. Имел промежуточный блюпринт класс наследник, от которого уже наследовал остальное.
Перепаретнил промежуточник на другой класс. Чекнул все 10 раз, что реально перепарентилось сохранился. Закрыл анрил, удалил в студии ненужный класс, потом в эксплоррере удаллил эти файлы. Закрыл студию, перегененрил студио проет. Зупаскаю, пересобираю, открываю проект - ни один виджет который наследовался о тстарого класса, в том числе и промежуточник не открывается. Пишет что унаследованно от инвалид класса. По ПКМ нет никакх опций чтобы перепаренить в контентбраузере. В итоге на выброс промежуточник и наследников.
Пробовал, потом забил. Потому что контроль версий часто приводит к крашу из-за переименований и перемещений, весит конского места, нужно постоянно следить за гитингором и структурой папок. Пока проект на стадии поиска все это переменные величины. В общем пользы меньше чем ебли с ним.
Ну бекапы то есть разумеется, как раз папка сурс с паблик/приват с++ классами. Плюс они для мигрейта нужны, потому что с++ нормально не мигрейтиться, только копи паста и ручная правка шапки под <новый проеткт нейм>_API.
Какая-то прохлада максимальная. Больше похоже на то, что ты просто не умеешь. Потому что буквально все описанные тобой проблемы не существуют.
как из гита удалить историю одной папки?
допустим мне не нужны старые версии ассетов в папке Content, но нужно чтобы всё остальное осталось (в папке Source, Config, Plugins и т.д.
Вся суть. Неофита тупо нахуй посылают, хотя без помощи комьюнити ты хрен разберёшься, хоть стотыщ гайдов посмотри и спи в обнимку с документацией. Поищи более дружелюбные сообщества
> от первого лица (не мультиплеер), но чтоб тело персонажа при этом было видно
То есть от третьего лица?
Камера от первого лица, ноги и тело видео если камеру вниз отпускаешь
лично я против камеры привязанной к анимации, слишком дерганно, особенно в маленьких помещениях чувствуется какая-то клаустрофобия. хотя для хорроров это плюс
для шутана лучше сделать фулл-боди IK и привязать бошку к камере. тогда не будешь клипаться и видеть белки глаз
То есть сделать отдельно руки с камерой и отдельно тело без рук и головы, у которого будет только анимация локомоушена, но к нему камера привязана не будет? А у рук уже отдельная анимация с оружием и прочим, что связано с руками.
Или же ты имеешь ввиду сделать фулл тело, а камеру привязать к костям головы.
не, руки отдельно скорей всего не понадобятся
> сделать фулл тело, а камеру привязать к костям головы
это то как делают сейчас
но я предлагаю сделать наоборот и привязать кость головы к камере, которая привязана к капсуле посредством IK Rig. сам не пробовал еще
>привязать кость головы к камере через IK Rig. а сама камера привязана к капсуле как в обычном шутере без тела
>То есть сделать отдельно руки с камерой и отдельно тело без рук и головы, у которого будет только анимация локомоушена, но к нему камера привязана не будет? А у рук уже отдельная анимация с оружием и прочим, что связано с руками.
Я лично так делал, и в принципе такой вариант исполнения встречал как рекомендацию. Могу ошибаться, но вроде бы в CS2 и Дестини так это и реализовано, по крайней мере можно заметить, что там ноги это моделька которая отдельно от рук гуляет. Погугли вообще True FPS, это так называется, и выбери что тебе больше всего подходит.
В мультиплеер шутерах насколько я знаю вообще для других игроков идет цельная моделька с анимациями, а для самого игрока руки и тело без рук, которые для других игроков скрыты. А в некоторых сингл играх видел что делают целую модельку, прикрепляют камеру к голове и голову скрывают.
На ютупе большинство гайдов с тем, что камера прикрепляется к скрытой модельке.
Буду копаться кароче в ассете Motion, нравится как там вид от первого лица настроен.
Но пиздец сложно все устроено, так как за основу похоже бралась Lyra
То есть бошка будет жестко привязана к капсуле через камеру? Будет выглядить как будто чела взяли за голову как марионетку и куда-то тащат, а он пытаеться ноги подставлять.
именно. только ты этого всё равно видеть не будешь. зато никакого инпутлага
>Когда сериализуется актор сериализуются его компоненты, конкретно юзер дефайнед?
Ничего не понял
Если немного использовать (2-3 шт), то все норм.
Больше юзать не пробовал.
16гб оперативы, ссд, 4060, рязань 3600
Попробуй проект из под студии запускать. Большая асть крашей это эншуры которые можно пропустить без краша
оперативки тебе еще 16 не помешало бы
>генерить там персов через Metahuman
так они вроде генерятся в специальной удаленной хуйне - Метахуман Криейтор. И добавляются на твой КвиксельБридж акк. А оттуда можно хоть в УЕ загружать, хоть в сторонню прогу, в Майю например. Еслим тебе нужен тупо сам болванцик, то тебе анрил и не нужен. Но комп все равно желательно хороший иметь, там в бошке под 700-800 костей для мимики.
>У тебя просто пк картофельный.
32гб оперативы, rtx4070, intel i5-13400F 2.50 GHz
Чет другим графическим редакторам это не мешает работать без крашей. И гудини нормально работает, и 3дс макс.
чел, это обычные быдло-васяны прочитали хуйню на реддите и высрали этот месседж. ты реально думаешь, что там эксперты по процессорам сидят? максимум - по детским
Опиши как ты метахумана импортил? Проект должен быть правильно для метахумана настроен. Я добавлял через бридж, но при закрытом движке. Там в настройках выбираешь куда твоего метахумана качать - сразу в проект(для этого путь к проекту указываешь) либо просто Маия проект. После скачаки окрываешь проект. Он обчно сообщит что требуються флажки в инишнике и включение определенных плагинов. Надо со всем согласиться и перезапустить проект. Если ты просто создал чистый проект и пытаешь прям туда добавить, то он может не предложить тебе включить плагины. И какая нить хуйня которую метахуман использует обратиться к чему-то что не подключено и вылетишь по nullptr exception.
Ну да, УЕ багущая хуйня, миллион фич и ни одна до ума не доведена. Шо маемо - то маемо. Но некотрое говно побороть можно.
Это не олды, а люди надроченные кейсами падений, как дрессированные собаки. В сообществе зибраша тоже есть надрессированные люди, которым норм отвратительный интерфейс, а тех кому он не нравится — называют рукожопами.
Им не объяснить, что невозможность удалить объект клавишей "delete" на клавиатуре — это не норма. Им не объяснить, что невозможность с шифтом выделить диапазон в списке объектов сцены — это не норма. Поэтому "олды" зибраша знаешь что делают, когда им надо удалить сотню объектов? Выделяют всю сотню по одному и каждый удаляют кнопочкой "delete" на интерфейсе, потому что на клавиатуре эта клавиша не работает:
Выделил объект в списке -> передвинул курсор на кнопку "delete"
-> нажал
(повторить 100 раз)
Зато олды, зато руки не из жопы.
> люди надроченные кейсами падений, как дрессированные собаки
это так, практика это и есть олдство. олды знают, как ведет себя программа и как в ней работать, и чего избегать, чтобы не крашилось. поэтому у олдов если что-то и ломается, то редко и некритично
>которым норм отвратительный интерфейс
Да, Зебра контринтуитивная прога с огромным порогом вкатывания и в скульпт и в интерфейс, но какие у них альтернативы? Анрил тоже крашится под весом своей оргомности. Больше фич и деталей - больше есть чему ломаться, больше точек для конфликта. Юзерам нужны фичи "ААА в два клика и три ползунка", как бы там /gd не надрачивало на пиксели и спрайты из пейна. Большинство потенциальных игроков с этих помазюлек плюются. Так что Анириалу тоже альтернатив нет.
>Да, Зебра контринтуитивная прога
Самое забавное, что это преподносят так, как будто в пиксолоджик сидят особые творческие личности, которые по особому видят, хотя я видел как все выглядит изнутри — там костыли из-за неудачной архитектуры зибраша.
Например, чтобы переименовать сабтул при помощи скрипта, есть официальная утилита от пиксолоджик, которая по сути эмулирует нажатие на кнопку, после чего выскакивает окно переименования, куда так же посредством эмуляции клавиатуры вводится название сабтула. Стоит ли говорить о том, что если кнопка переименования сместится на пару пикселей в сторону, то функция перестанет работать, либо будет нажимать на другую кнопку?
А хош еще прикол? Ты можешь получить свойство только активного сабтула. И вместо того, чтобы получить свойство по его ID\имени\индексу, как это сделано в нормальных приложениях, я должен физически активировать сабтул с неизбежной подгрузкой 3д-модели. И если ты хочешь в цикле перебрать ВСЕ сабтулы, то сотня сабтулов тебе обойдется в 3 минуты подвисания зибраша, потому что загрузка 3д модели — вещь не дешевая. И это еще с оптимизацией, типа отключения отрисовки экрана (что и вызывает визуальный фриз зибраша).
А хочешь еще прикол? Скрипты не умеют работать асинхронно или в другом потоке. Грубо говоря, в зибраше не может работать одновременно два скрипта. И если ты захочешь создать свой условный аутлайнер, работающий на фоне, то он отвалится при первом же запуске любого другого скрипта (которыми на 20% пользуется сам зибраш, если не на все 40%). Самое забавное, что года четыре назад на оф сайте пикслоджик даже висел туториал на тему того, как создать свой собственный музыкальный плеер внутри зибраша при помощи Z-скрипта. Внизу туториала была приписка, мол, "из-за того, что несколько скриптов не могут работать одновременно, у вас могут возникнуть трудности с работой плеера на протяжении всей сессии зибраша". Трудности, Карл. Да это невозможно. Ну пикслолджик закидали хуями на форуме и тутор выпилили, лол.
А хочешь еще прикол? Любая кнопка интерфейса имеет адрес, как папка виндовс. Это можно проверить нажав средней кнопкой мыши по кнопке, там внизу указывается путь через два двоеточия. Именно поэтому ты можешь перемещать кнопки как твоей душе угодно и настраивать свой собственный интерфейс. НО в зибраше есть функция типа "нажать кнопку по такому-то адресу", которой многие скрипты пользуются (ну потому что других альтернатив попросту нет). И знаешь что? Элементы списка сабтулов это такие же кнопки с таким же адресом. И если сабтул переименовать в "Delete", то его адрес совпадет с кнопкой удалить сабтул. Технически, сторонний скрипт при переключении на этот сабтул удалит его. Как минимум рекордер макросов в такой ситуации вызывает фатальную ошибку.
>но какие у них альтернативы?
Думаю, что пиксолоджик потому и продались максону, потому что пришли в тупик. Да они и сами об этом заявляли, что их студия слишком маленькая, чтобы тянуть проект. Так что надежда на максон, что они возьмут ядро зебры и перепишут все с нуля. У конкурентов хороший интерфейс, но вот лепка дубовая.
>Так что Анириалу тоже альтернатив нет.
В этом и проблема, что при отсутствии конкуренции, никто не собирается шевелить булками.
>Да, Зебра контринтуитивная прога
Самое забавное, что это преподносят так, как будто в пиксолоджик сидят особые творческие личности, которые по особому видят, хотя я видел как все выглядит изнутри — там костыли из-за неудачной архитектуры зибраша.
Например, чтобы переименовать сабтул при помощи скрипта, есть официальная утилита от пиксолоджик, которая по сути эмулирует нажатие на кнопку, после чего выскакивает окно переименования, куда так же посредством эмуляции клавиатуры вводится название сабтула. Стоит ли говорить о том, что если кнопка переименования сместится на пару пикселей в сторону, то функция перестанет работать, либо будет нажимать на другую кнопку?
А хош еще прикол? Ты можешь получить свойство только активного сабтула. И вместо того, чтобы получить свойство по его ID\имени\индексу, как это сделано в нормальных приложениях, я должен физически активировать сабтул с неизбежной подгрузкой 3д-модели. И если ты хочешь в цикле перебрать ВСЕ сабтулы, то сотня сабтулов тебе обойдется в 3 минуты подвисания зибраша, потому что загрузка 3д модели — вещь не дешевая. И это еще с оптимизацией, типа отключения отрисовки экрана (что и вызывает визуальный фриз зибраша).
А хочешь еще прикол? Скрипты не умеют работать асинхронно или в другом потоке. Грубо говоря, в зибраше не может работать одновременно два скрипта. И если ты захочешь создать свой условный аутлайнер, работающий на фоне, то он отвалится при первом же запуске любого другого скрипта (которыми на 20% пользуется сам зибраш, если не на все 40%). Самое забавное, что года четыре назад на оф сайте пикслоджик даже висел туториал на тему того, как создать свой собственный музыкальный плеер внутри зибраша при помощи Z-скрипта. Внизу туториала была приписка, мол, "из-за того, что несколько скриптов не могут работать одновременно, у вас могут возникнуть трудности с работой плеера на протяжении всей сессии зибраша". Трудности, Карл. Да это невозможно. Ну пикслолджик закидали хуями на форуме и тутор выпилили, лол.
А хочешь еще прикол? Любая кнопка интерфейса имеет адрес, как папка виндовс. Это можно проверить нажав средней кнопкой мыши по кнопке, там внизу указывается путь через два двоеточия. Именно поэтому ты можешь перемещать кнопки как твоей душе угодно и настраивать свой собственный интерфейс. НО в зибраше есть функция типа "нажать кнопку по такому-то адресу", которой многие скрипты пользуются (ну потому что других альтернатив попросту нет). И знаешь что? Элементы списка сабтулов это такие же кнопки с таким же адресом. И если сабтул переименовать в "Delete", то его адрес совпадет с кнопкой удалить сабтул. Технически, сторонний скрипт при переключении на этот сабтул удалит его. Как минимум рекордер макросов в такой ситуации вызывает фатальную ошибку.
>но какие у них альтернативы?
Думаю, что пиксолоджик потому и продались максону, потому что пришли в тупик. Да они и сами об этом заявляли, что их студия слишком маленькая, чтобы тянуть проект. Так что надежда на максон, что они возьмут ядро зебры и перепишут все с нуля. У конкурентов хороший интерфейс, но вот лепка дубовая.
>Так что Анириалу тоже альтернатив нет.
В этом и проблема, что при отсутствии конкуренции, никто не собирается шевелить булками.
Ну да - архитекрутный тупик. С плохой архитектурой бороться очень сложно. Зебру нужно переписывать с нуля. Многие случайно выстрелившие проекты с этим сталкиваются. Ты не можешь знать какую фичу придется добавить через 3 года. И это сложно архитектурно заложить вот так вот заранее. Приходится писать велосипед и накапливать технический долг, потому что фича нужна завтра, а рефачить весь проект под это времени и желания нет.
хуль взять с редактора, который разрабатывался как 2д рисовалка с объемными эффектами
ну да, задча уронвня превратить Пеинт в 3Д макс
>Ты не можешь знать какую фичу придется добавить через 3 года.
Вот для этого и существуют паттерны проектирования.
зато 2.5D зебра летает там где 3d блендер пропукивает
Ну пофикси пивоты силами своего анрила, че сложн что ли
Заебёшься вручную их фиксить. Проще тогда все модельки в начало координат в блендере поставить
В fbx текстуры ломаются при импорте
А вот да, поддерживает
Ну или так, или переэкспортировать fbx в fbx и "Embed Textures"
Я копнул эту тему. Оставляю ссылку с решением, хотя, никому это и не надо.
https://forums.unrealengine.com/t/interchange-framework-unusable-due-to-lack-of-pivot-handling-settings/1262778
Почему не надо? Просто не надо прям щас — у нас же разные точки развития, мы не можем одновременно интересоваться одной и той же проблемой. Но каждый с этой проблемой столкнется.
мне реально не надо
Я просто драг'н'дропал в content drawer. И да, твой метод работает.
Короче, проблема в том, что у анрила есть несколько пайплайнов импорта (ассеты/текстуры/материалы/сцена), и для glb нет пайплайна импорта сцены по умолчанию. А по твоему методу импортируется сразу (и только) по пайплайну сцены. Вооот
Я что-то неправильно делаю?
200-400 гб АА проект на 20-40 человек
50-100 гб проект с кучей накачанных ассетов
5-20 гб инди проект
100 мб - 5 гб прототип или тест
на 2 тб можно спокойно работать
не забудь про бэкапный диск хотя бы в половину объема и USB бокс к нему
Понял, спасибо!
Да блин, попробовать для чего? UE как и любую другую библиотеку берут для конкретной задачи. Какие задачи он решает написано на оф. сайте, но я уверен, что ты и так уже это знаешь.
Так что выбирай сам, делаешь ты игру или фильм. Какую игру или фильм делать решай сам, тут никто тебе не подскажет.
инди-хоррор симулятор ходьбы
или один актор котрый как боженька будет просто иметь массив ссылок на подожженых персонажей и наносить им дамаг?
Людям, которым нравятся играть в игры, обычно не хватает времени на создание игр. Потому что создание игры — это 24\7 занятие. А если ты любитель игр, то ты либо плохой разработчик, либо свою игру не сделаешь никогда.
Я бы стремился к модульности, чтобы можно было что-то безболезненно присоединить\отсоединить не переписывая внутренности персонажа.
Поэтому на мой взгляд этим должен заниматься отдельный класс - баф. Дальше я всё буду называть бафом, не разделяя на бафы и дебафы. Так вот, баф в зависимости от своих характеристик шатает свойства персонажа. У бафа есть таймер действия, скорость действия и проч. Внутри бафа логика того, что конкретно делать с персонажем. Это такой независимый самостоятельный элемент, который принимает ссылку на объект (персонаж) и обрабатывает его пока таймер идет.
Если говорить в целом, то выглядит это так. Когда условный триггер огня детектит персонажа, то триггер должен генерировать баф горения, потому что только он знает какой конкретный баф нужен. А затем передавать этот баф персонажу. Персонаж добавляет баф себе в список бафов и активирует его. Баф начинает высасывать из персонажа жизни и накладывать эффект горения. По завершению своего действия, баф создает событие, что он всё, и персонаж выкидывает его из списка и уничтожает.
Возможно, я бы обязанности на добавление в список бафов и уничтожение бафа переложил на какой нибудь менеджер бафов, чтобы уж совсем не напрягать персонажа. Внутри персонажа я бы оставил только список бафов. Список в персонаже нужен например для UI, который бы отображал эти бафы на экране.
В любом случае я бы копал туторы про бафы.
глянь Gameplay Ability System, она как раз для такого сделана, и подружена сразу с системой инпута
Ну так двиглу 20 лет, там просто дохуя всего. Плюс пока осваиваешь успевает новое появиться. Например PCG графы, графы в РендерКуеуе. Короче в него нельзя прям вкатиться, но в нем можно просто жить.
>Почему так много?
Потому что непонятно что под "сабжем" ты понимаешь, и непонятно что ты считаешь "приличным уровнем". С анриалом работают и те, кто моделит\текстурит, и те кто анимирует, и те, кто визуализирует, и те кто программирует — все это отдельные профессии, которые сами по себе требуют годы навыков. Сам анриал учится за полчаса.
Начнешь заниматься творчеством — там надо ежедневно набивать руку и тренировать насмотренность. Это годы, это не ускорить никак. Начнешь заниматься программированием — тебя ждет куча информации, которую ты либо долго-долго учишь, а потом пишешь эффективный код, либо забиваешь хер и пишешь хелло ворлд десять лет, пятьдесят раз переписывая архитектуру с нуля (если этот самострой можно назвать архитектурой).
К "приличному уровню" люди стремятся всю жизнь. Я не понимаю откуда вы беретесь с подобными мыслями и кто вам в голову насрал.
>моделит\текстурит,
Даже текстурирование это отдельная вселенная. Ты должен уметь рисовать 2д, ты должен не только уметь в сабстенс пеинтере смарт объекты накидывать, но и уметь пользоваться сабстенс дизайнером. Ты должен знать гудини, потому что дизайнер не всегда вывозит.
Моделирование это тоже отдельная тема. Ты должен уметь таскать полигоны, ты должен уметь работать в CAD, ты должен уметь скульптить. Нормальный специалист может ИРЛ из глины слепить.
Конечно, если ты все миксуешь, то можно на бОльшую часть перечисленного забить, но я пишу про возможный диапазон узкой специальности. Можно одному только моделированию посвятить всю жизнь.
Я 4 часа потратил на то чтобы персонаж научился поднимать голову по моей команде.
Документация бесполезна. Видосы сначала придется посмотреть 10 штук на заданный вопрос прежде чем сможешь понять как сделать именно так как ты хочешь.
Чатгпт может подсказать что гуглить, но сами BP объясняет неправильно и вообще кажется он очень слаб в них (спасибо визуальному мать его программированию).
https://github.com/freemocap/freemocap
Берет видео и делает трэк по твоему скелету. Лол, за что на маркетплейсе люди за паки с анимациями платят если это можно бесплатно сделать? Наверное там в импорте будут какие-то проблемы.
Проблема в точности данных. Именно поэтому костюмы для захвата движения такие дорогие, хотя казалось бы можно накупить акселерометров на али по 200 рублей и прикрутить к ардуине.
Есть еще так называемый "дребезг контактов". Например в твоем условном геймпаде при нажатии кнопки, на самом деле подается дохуя шума, и там не одно четкое нажатие, а целый шум. Все это дело программно фильтруется, и тебе кажется, что нажатие на кнопку четкое.
С акселерометром будет та же фигня. Тебе на регистрацию придет куча шума, помноженная на неточные данные о координатах. И ты получишь ОЧЕНЬ условные движения. Разве что можно попробовать использовать эти данные как референс для ручной анимации. Но мне кажется, что записать движения с камеры будет куда качественнее — там хотя бы положения маркеров не пердолит.
>видео и делает трэк по твоему скелету
Тебе в лучшем исходе надо булет чистить чистить,в худшем тупо не запишеться
>маркетплейсе люди за паки с анимациями платят если это можно бесплатно сделать?
>лол зачем люди на маркетплейсе 3д модельки покупают ,если можно сделать в блендаре?
На мой взгляд, если прилепить на себя теннисные мячики и записать видео, то можно получить гораздо более точные данные. Хотя там тоже могут быть проблемы с фокусировкой, например.
>Так это же всё можно отфильтровать, фильтр высоких частот и дребезга нет.
Конечно можно. Фильтруется шум, затем стабилизируется движение точек и получается плавная анимация. Но в этом есть смысл, когда данные более или менее точные. Но когда у датчика поворота погрешность +-10 градусов и сопровождается шумом, то что там фильтровать и стабилизировать? Все равно что запустить генератор случайных чисел.
Помню самые первые 3д сканеры типа David Laserscanner, которые делал на коленке в тусклом освещении при помощи дешевой веб-камеры и строительного уровня. Там на объектах был такой шум, что сканируемый силуэт еле читался. Там все настолько шумное, что сглаживая шумы ты начинаешь уничтожать полезные данные. Это даже не годилось для референсов.
>за что на маркетплейсе люди за паки с анимациями платят
Ну как бы мокап - это исходный сырец, его надо чистить, его надо зацикливать, нарезать, ретаргетить на какую-то модельку. Короче возни дохера на самом деле. Ну и самая большая проблема, что анимации очень уникальны. Даже если 100500 паков спиздишь - это не решит все проблемы. Что нормально смотриться на Роботе-Манекене, скорее всего не будет хорошо смотреться на конкретном персонаже с каким-то своим характером по лору игры.
Понимаю
ну ты сам понимаешь подводные. если сможешь задизайнить так, чтобы не было постоянной хуйни типа муха не может перелететь через заборчик и облетает до ближайшей калитки открыв на ней щеколду и закрыв за дверцу собой, то это сэкономит тебе пару лет проектирования и отладки настоящего летающего ИИ
https://www.unrealengine.com/marketplace/en-US/product/flying-ai-pathfinding
Вот эта хуйня за копейки норм работает и достаточно для моих целей, только я начал рефакторить старый код своих мобов и подумал а нахуя мне наматывать лапшу и отслеживать режимы поиска пути если можно было бы уложить всё в один дефолтный. Но с такой постановкой вопроса похоже придется оставить 2 разных.
Можешь сделать и летающим, он же все равно в топ даун играх на одной высоте висит, вся разница - что не имеет штрафа перемещения по разным поверхностям и может преодолевать водные и прочие непроходимые преграды. А вообще наверняка есть тутотки по летающим АИ, мне кажеться это не должно быть прям ппц сложно - это ж все равно 2Д перемещение, а не полноценной 3Д как у истребителя в симуляторах.
Бамп
Ну неужели все каждый раз вручную закрывают или листают километры параметров, чтоб дойти до нужного?
Спасибо большое!
1280x700, 0:30
Вот собственно и мой анало говнет абилити систем. После этого видоса фриз после таяния еще научился накладывать "промокший" эффект который на один удар повышает резист к огню. Всё это на лапше накручено за 3 вечера. возможно потом перейду на эпиковскую хуйню, если с этой будет слишком много проблем, но пока вроде всё работает норм
хороший видос по Gameplay Ability System
нужно создать с 3rd person C++ template, чтобы в начале было как у него
> Хочется нормальные гайды найти
https://www.youtube.com/playlist?list=PLvgIVNDU-Dxi5h3JLNJMfK0t3-WsBm6Av
Хуже этих хуесосов только пидарасы-"гайдоделы" по Субстанс Дизайнеру. Если на ускоренный рабочий процесс при моделинге можно хотя бы полюбоваться, то вот плетение лапшички и теребоньканье ползунков да в модном интерфейсе "black win98" со скоростью х8 вообще не совместимы.
в процедурной хуйне проще просто сами сцены пиздить и изучать. исходный файл где ты можешь включать всё по кусочкам и понимать что каждый делает - лучший гайд
включи конкретно Free for the Month
хотя на само слово Free тоже не забываем кликать периодически, там иногда годная халява появляется
в основном плагины, но бывают и ассеты
Спасибо, после работы посмотрю
если успел забрать, то контент считается купленным на твой акк. даже если из магазина его удалят, то у тебя останется возможность скачать
Ответьте пожалуйста, желательно со ссылкой на источник на следующие два вопроса:
1) Может ли российское юрлицо пользоваться услугами Unreal Engine?
2) Может ли юрлицо из ОАЭ с российским директором пользоваться услугами Unreal Engine?
В их EULA и TOS ничего нет на эту тему, но в других видах электронного бизнеса сплошь и рядом встречаются проблемы по ведению дел с российскими собственниками. Движок достаточно критическая часть продукта, поэтому крайне важно это понять.
>Может ли юрлицо из ОАЭ с российским директором
А если у юрлица нет директора, а председатель? Директор - это наемное лицо вообще, поэтому какая разница откуда он?
смута на анриле
самый простой способ - кастануть павна в конкретный класс и модифицировать его спринг арм
>Пик вперед,назад,право,лево
Конечно можно, только тебе по ЕвентТику придется ЛинеарИнтерполейт делать, чтобы зум не был дерганным.
Дерганный(тракторный) вариант:
ZoomStep - Отдельная переменная
SpringArm->SetTagetArmLenght( SpringArm->GetTagetArmLenght + ZoomStepAxisValue)
ПлавныйВариант:
MyTargetArmLenght - отдельная переменная
ZoomStep - отдельная переменная
ПоКолесикуМыши:
MyTargetArmLenght = MyTargetArmLenght+ZoomStepAxisValue
По EventTick:
Нода FinterpTo:
Пин Current = SpringArm->GetTagetArmLengh
Пин Target = MyTargetArmLengh
Пин DeltaTime = DeltaSeconds из EventTick
Пин InterpSpeed по вкусу что нить от 1.0 до 5.0
SpringArm->SetTagetArmLenght(выход ноды FinterpTo)
Разумеется еще Клемпы надо подключить чтобы ArmLenght не прокручивался от +- бесконечности.
У нас есть /td но он полумервый. Если хочешь норм вводных вещей по 3Д советую канал ЕвгенияГрипинского на ютубе. Киллер фич там особо нет, но у него именно преподавтельский скил хороший, хорошо объясняет и пказывает.
Вообще в контроллере, чтобы каждый раз не кастоваться на перса по каждому пуку, сделай это один раз. Вытяни евент OnPosses в Контроллере, кастани Павна на свой базовый класс Карактера(в котором добавленны все камеры, спринг армы) и сохрани в отдельную переменную. Потом юзай по необходимости. Но вообще Зум камеры можно и в самом карактере реализовать. С фреймворком Анрила - это норма. Ну и плюс плеер контроллер же не только одним персонажем может управлять, ты можешь сперва бежать челиком, потом превратиться в ворону, потом в бегемота, а потом сесть в вертолет. У каждого этого павна будет какой-то свой тип управления. Свои настройки зума камеры. Там что иметь в самом карактере реализацию перемещения и управления камерами - это норма.
>Новичок? Начни приключение отсюда:
Добавьте в шапку нормальные ссылки на русскоязычные материалы
https://vk.com/@-170449269-uchebnye-materialy-po-unreal-engine-4-na-russkom
там реклама говноконфы, а это запрещено правилами двоща
в принципе, там большая часть ссылок откровенно не нужна, все эти курсы из 2018 уже настолько устарели, что вреда от них будет больше, чем пользы. поэтому можно избирательно по каждой ссылке пройтись и вытащить в шапку только самую годноту
ты сам что-то оттуда уже проходил? можешь порекомендовать что-то конкретное?
СДЕЛАЙ ЛУЧШЕ
МЛЯ В ДОКАХ ВСЕ ЕСТЬ ЧТО ТУПОЙ
А ВОТ ПРО ПРОМОКОДУ# АБУГОВНО НАСТОЩИЙ КУРС ГЕЙДЕВА С НУЛЯ
Детская мечта про собственную игру в отркрытом мире все ближе.
Может кто-то знает как решается проблема с анимацией ходьбы во время спама прыжков?
да, через Rewind Debugger
>как решается проблема с анимацией ходьбы во время спама прыжков?
хз что за проблема. видео запиши
>как решается проблема с анимацией ходьбы во время спама прыжков
если он у тебя в полете продолжает идти, значит у тебя нет анимации прыжка. Вообще ТёрдПерсенТемплейт посмотри, там вроде все норм у них с прыжками.
Rewind Debugger помог, спасибо
>>70040
Да, анимация прыжка не проигрывалась почему-то во время приземления и он не начинал новый прыжок, а просто взлетал дергая ножками. Взял настройки из АПБ_Мэнни и все заработало, хотя во факту там все как и было. Спасибо
EventBlueprintUpdateAnimation происходит каждый кадр, как эвент тик или там свое обновления?
каждый кадр
>>69939
>>69937
благодарю, сделал так (ожидаемо крутит рывками, ну да пох, мне прототип накидать)
Вот интересно как сделать чтобы скорость скроллинга влево вправо менялась в зависимости от высоты камеры (чем дальше тем выше скорость).
Я так понял можно из ноды гет таргет арм лен вытянуть и умножать на скорость изменения влево вправо верх вниз
сделай эвент чейндж зум левел
в этом эвенте меняй длину спрингарма и переменную-множитель скорости троллинга
>Вот интересно как сделать чтобы скорость скроллинга влево вправо менялась в зависимости от высоты камеры (чем дальше тем выше скорость)
Ну если партянку с трактором брать. То я бы сделал ZoomStep зависимым от расстояния. То есть все тоже самое, только добавляеться еще пару действий.
ZoomStep = BaseZoomSpep ArmLenght/MaxArmLenght;
Еще прелесть в том. что зависимоть не обязательно делать линейной, можно сделеть:
ZoomStep = BaseZoomSpep (ArmLenght/MaxArmLenght)2;
или еще как-то поизголяться.
Если нет, можно ли в меджик-ноде вызывать методы того же блюпринта, в котором эта нода? Короче задача стоит на основе блюпринтового класса делать дочерние в плюсах.
Нельзя, и это хорошо. Нельзя скорее всего по техническим причинам, но бонусом это улучшает общую архитектуру. Если тебе нужен двусторонний мостик из плюсов в блюпринты - пользуйся BlueprintNativeEvent. Ты можешь написать базовую реализацию в крестах(а можешь и не писать), потом оверрайдить метод под свои нужды в блюпринте. И при вызове этого метода хоть из плюсов хоть из блюпринтов будет выполняться итоговый код. Но только тип ссылки на этот класс должен быть тем, который в крестах.
Плагин для импорта карт в анрил.
https://youtu.be/1ewyOoorqAU?si=0m7jkhQlOQLAl2fD
>>69977
Гудини это для инопланетян и голливуда, а гайя родная, народная. И несоповставимо проще в освоении.
Есть даже туторы, где гайя и гудини используются в связке.
https://thegnomonworkshop.com/tutorials/building-natural-environments-using-gaea-houdini
На сиджипирсе есть.
Много вопросов "зачем?". Как я понял, гайя не может в высокую детализацию, поэтому юзают гудини, чтобы детализацию ландшафта повысить, но непонятно почему бы не сгенерировать ландшафт в гудини изначально. Значит там чет не хватает, либо слишком много гемора, либо просто разводят гоев на две программы.
>>70721
Мне вот не очень понятно, как хоть в Гее хоть в Гудини делать не просто рандомный красивый ландшафт, а именно игровую карту.
Если обратить внмание на типичную впопенворлд карту - то можно заметить, что там есть четкие пути для персонажа, а вокруг этих путей обычно непроходимые декорции. Даже в Героях 3 тоже самое по сути. Есть какие-то замки/шахты/обелиски - между которыми дорожки, по которым расставленны противники. Чисто формально, это даже не совсем впопен ворлд, а скорее коридорник, просто не прямолинейный, а "паутинистый". Что-то похожее на метро. Общая площадь большая, но реально проходимого/играбельного там 20-30%. И вот я не очень понимаю как такое в Гее процедурно нагенерить. Мне кажеться тут дофига именно ручной работы.
От первого лица и не мультиплеер.
Сделать Актор кубика. Заспавнить из С++ класса этот кубик куда тебе надо.
>https://thegnomonworkshop.com/tutorials/building-natural-environments-using-gaea-houdini
Она камни добавила в гудини и атмосферу? лол.
>>70737
То есть дороги и места под условные замки чтоли?
В гее хз как, а в гудини можно. Юбисофт все свои ландшафты в гудини и генерит. По сути, у тебя все эти дорожки это диаграмма вороного, а POI это узлы.
Но тут вопрос в том, насколько убедительным ты хочешь это сделать. Например в 7 days to die много лет дороги не умели повторять ландшафт и они либо прорезали его насквозь, либо имели аномальные обрывы. Или например основные дороги никогда не должны приходить в тупик, а малые наоборот. Или дорога если и повторяет ландшафт, то всегда должна располагаться горизонтально.
И именно такие мелочи отнимают больше всего времени, но общем уровне все инструменты в гудини есть.
>Она камни добавила в гудини и атмосферу? лол.
Ну не только. Эрозию тоже и в целом детализацию на мэш. И собирала из нескольких кусков один большой ландшафт.
Я просто общий пайплайн того, как это делать и поддерживать не понимаю. Возьмем простейший случай. Пусть у нас будет "Ч" - образный граф из 3ех точек интереса одного узла-развилки и трех путей. Ну пусть это будет домик, сарай, колодец и тропинки между ними просто для конкретики. Вот такую я придумал микро-локацию и хочу реализовать. Вот я открываю Гею или Гудини. Мне нужно чтобы дорожки были относительно без колдоебин, а все что между генератор волен заполнять чем ему нравится. Причем сами дорожки не должны быть сосвем рандомными. Допустим по геймлейным метрикам надо чтобы сарай был в 20 метрах от домика, а колодец в 50. Если мы берем анриловкий ландскейп и скульптим это вручную - с детериминированными частами проблем нет, но в таком ландскейпе не будет натуральности. Если мы генерим все процедурно - мы получаем некий натуральный рандом, который может будет и красив, но никак леел дизайнером не контролируем. А надо и красиво и чтобы контролируемо, и с возможностью фиксить отдельные участки, которые неизбежно будут правится по мере разработки и тестирования левела.
Нашел в гугле. Здесь питоновский скрипт лежит, чтобы эту хуйню кривую пофиксить https://forums.unrealengine.com/t/bake-out-materials-files-generated-but-not-displayed-in-content-browser-ue5-3-and-ue5-4/1867796/7
Эпично, как и все в этом движке
Рисовать самому в фотошопе или масками.
Что первое приходит в голову - условно делим ландшафт на две составляющие - сложный рельеф и простой, который будет представлять собой холмы и равнины соответственно.
Рисуем каждый отдельно и соединяем череp combine - embed.
Места под дорожки с помощью маски сделать более менее ровными.
Или я не понимаю че ты хочешь.
>Допустим по геймлейным метрикам надо чтобы сарай был в 20 метрах от домика, а колодец в 50.
В том же 7 days to die территория под город делится сперва на районы: жилой, промышленный, деловой, разрушенный. Далее эти области заполняются теми постройками, которые соответствуют месту спавна. Тоже самое у тебя с сараем или с подводом основной дороги. Все зависит от атрибутов, на которые будет опираться генерация.
>Если мы генерим все процедурно - мы получаем некий натуральный рандом, который может будет и красив, но никак левел дизайнером не контролируем.
Почему же не контролируем? Сейчас появилось просто дофига способов повлиять на генерацию как в самом анриле, так в гудини. Есть различные маски, кривые. Часто генерация основана на всяких данных о курватуре ландшафта или высоте над уровнем моря, а потом все это полируется масками вручную.
1. В анриле есть PCG — ты просто очерчиваешь область сплайнами, внутри которой спавнятся объекты. Я недавно наткнулся на челика на юутубе (Alexandar Kovalsky), он ведет стримы по гудини+анрил. Недавно делал кладбище — нагенерил могильных плит в гудини, а потом при помощи PCG очертил область на ландшафте, после чего плиты эту область заполнили. Но если я не ошибаюсь, то PCG не умеет влиять на ландшафт, а есть вещи, для которых это необходимо.
2. Ты генеришь абсолютно все в гудини, но тогда у тебя мало влияния в анриле. Но в самом гудини ты тоже можешь рисовать по ландшафту дороги при помощи кривых, а POI очерчивать масками, при этом у тебя будет больше взаимодействия объектов друг с другом.
Ну в принципе это. Я тоже пришел к выводу, что нужен именно ручной контроль. Только я не в фотошепе хотел, а прям в анриле скульптить по ландскейпу грубый блокинг, потом экспортировать карту высот, и уже в гее её украшать, добавляя эрозию и прочее. Потом снова в анрил. Но надо еще придумать какой-то недеструктивный способ фиксить карту.
Понятно, что в Гудини можно всё. Челика по Гудини + Анрил, гляну, спасибо за наводку. PCG графы тоже буду курить. Из осиляемого, пока что вижу метод ручного намазюкивания прям в анриле по ландскейпу с последующей обработкой в гее.У лендскейпа есть свои проблемы, что на очень крутых склонах текстуры потянет. Плюс все элементы одинаковы, тоесть нельзя что-то детализировать подробнее, а что то оставить лоупольным. Поэтому придется делать какой-то не слишком изъебистый тиррейн, а все красивости накидывать поверх отдельными мешами.
>Челика по Гудини + Анрил, гляну, спасибо за наводку
Я немного с ним погорячился. В целом пока дает интересный контент, даже несмотря на то, что спалил папку с названием "скилбокс", в которой он хранит проекты стрима. Как бы он не пошел по кривой дорожке в сторону прогрева гоев.
А вот его коллега Houdini Shark, которому Ковальский пел чуть ли не дифирамбы, сегодня утром анонсировал стрим, а потом написал, что пока паства не пройдется по всем стриминговым сервисам: рутуб, вк, ютуб и не проставит лайки, стрим не начнет. Стрим целый день провисел в ожидании стримера.
Я, конечно, понимаю что стримы это труд, но так байтить зрителей даже Хорикава себе не позволял, хотя мог бы. Джесси шторм спустя год стримов с разработкой игры попросил купить ее или хотя бы добавить в вишлист — это была просьба, а не ультиматум.
пиздец уебан, лол
ребят, я вам сэкономлю кучу времени и сил и раскрою страшный секрет: генерация террейна - это 1% работы над картой опенворлда. это не какая-то ключевая проблема в левелдизайне, и процедурно сгенерировать себе нормальный опенворлд каким-то ебучим плагином у вас не получится. а гудини вообще бесполезен чуть менее чем полностью
>а гудини вообще бесполезен чуть менее чем полностью
Ты офигел? Да на нем можно весь энвиронмент и эффекты сделать. Даже анимацию сделать правдоподобной на основе физики.
пупок развяжется делать
Бля, а что за кал вы жрете. Стримы какие-то от пидорашек ждать. Открываете cgpeers и там тонны слитого платного контента.
>Говноед чит не жрать говно
На сиджипирсе обычно выкладывают курсы, которые известны тем, что:
1. выходят с очень сильным запозданием. Предлагаю на сиджипирсе найти темы по COP-net, а потом тоже самое забить в поиске ютуба, где буквально в первую же неделю тему обсосали со всех сторон вдоль и поперек.
2. забивают водой, чтобы продать курс подороже т.к. стоимость курса зависит от его продолжительности. В итоге на свет высираются килотонны всеобъемлющих™ курсов, в которых 90% контента не относится к теме курса, а то, что останется порежут так, чтобы ты в поисках недостающих частей побежал покупать еще один курс, который выйдет через год.
Этот пост прекрасен всем.
Говноед-любитель курсов обвиняет в говноедстве, пидорашка-любитель ворованного детектит пидорашек.
Есть два стула:
1. Выключить физик интеракшн. Все хорошо, но любая физическая пушинка начинает персонажа мотать. Если поставить персонажа на наклонную плоскость и скатить с неё цилиндр размером с пивную банку под ноги персонажу, то персонаж начинает ехать. Мне нужно поведение, чтобы легкие объекты об капуслу персонажа либо отскакивали либо останавливались.
2. Оставить включенным физик интеракшн. Теперь персонажа не так мотает от столкновений с легкими предметами, зато персонаж теперь начинает вдавливать предметы под землю, пинать их со сверхзвуковыми скоростями. Все разлетается в разные стороны.
Нужен какой-то совет по настройке физики. Ну кроме очевидного - физику не использовать.
вторым коллайдером попробуй костыльнуть
либо двигать своего персонажа физикой, а не мувмент компонентом
основные классы это: гейммод, плеер контроллер, павн/чарактер. остальное больше для сетевой игры
в простом блупринт проекте в гейммоде сидит логика игры, в плеер контроллере взаимодействие игрока с игрой и гуй, в павне специфичный для павна инпут и какой-нибудь инвентарь, если у каждого персонажа он свой. в синглплеере это больше вопрос организации и твоих личных вкусов
доки есть, но больше справочные, чем туториальные
https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-framework-in-unreal-engine
Видел эту доку, но показалась избыточной и думал мб есть что-то покороче в размерах. Пойду тогда всё-таки читать. Спасибо
Мне тогда проще у мелких предметов коллизию с капсулой в принципе отключить. Пусть под ногами пролетают. Главное чтобы игрока не дергало, когда не надо.
процитирую учебник "как пользоваться интернетом" яна циста, страница 2, параграф 1:
- если у тебя есть вопрос, всегда задавай сам вопрос
Вопрос такой
Есть дорога на сплайне, - актор с UDynamicMeshComponent'ом.
Дорога состоит из секций, каждая - FDynamicMesh3 объект.
Когда пользователь шевелит точку сплайна, хочется обновить только те секции которые изменены точкой сплайна. Но не понятно как это сделать, потому что NotifyMeshModified() перерисовывает весь меш целиком.
пукну с дивана, что не получится без разделения на отдельные дроуколлы, т.к. весь новый динамик меш надо будет сгенерировать и загрузить в гпу. там еще какие-то FastNotify...Updated функции есть
ладно спасибо
буду курить UDynamicMeshComponent
слишком узкоспецифичный вопрос тут
FastNotify - они для аптейта изменения атрибутов типа UV или перемещения вертексов, а уменя ж получается и сама сетка меняется.
Там есть ещё external decomposition но оно как-то через колено сделано, - что при её инициализации опять вызывается обновление всего меша... получается смысла в ней нет в моём случае
Он ругаеться на флаги bUseWithNanite, забей короче. На этих слульях из 4ого анрила, еще наши деды пердели. В те времена никаких нанитов не было еще. Можешь попробовать найти материалы стульев в статрер контенте,поискать там галку UseWithNanite и выключить. Ну или перекомпилить.
всё работает. это сами ассеты такие из плоских материалов
ругается потому что в редакторе материалов не стояла галка Used with .... по дефолту они отключены, чтобы не генерировать миллиард шейдеров попусту. если ты накинул шейдер этого стула на меш с нанитом или включил нанит в стуле, галка в материале должна быть установлена
Ну это какой-то конфликт версий. Эти материалы стульев очень давно делались. С тех пор много версий движка уже появилось. Мб там при миграции что-то не сошлось. Я бы просто забил. Не, ну если прям совсем принципиально хочеться заебаться и поправить. Я бы создал материал с нуля в актульной версии движка, и потом скопировал со сломанного материала логику.
Слева реальное фото. Видны тени даже у самых маленьких объектов. Справа в анриале, теней почти нет, объект будто летает в воздухе.
Попробуй отрендерить в рейтрейсинге, а не люмине. Люмен никогда не даст фотореализм.
не мультяшно, а компьютерно: просто идеальные ассеты без куч бытового мусора в каждой щели и многолетнего ситуативного износа
это всё еще фотореалистично, но выглядит как будо съемочная команда разложила реквизит для сета. что по сути и сделал анон - разложил ассеты
а на фото же мы можем различить десятки тысяч мелких деталек
Тут логика виднан, а на рендере нет
Поблемы с масштабами, на референсе пространство намного глубже и просторнее. Посмотри на размер бочек хотя бы. Или навес из металлических листов в дальнем конце, под которым человек помещается, а у тебя там еле-еле залазит гигантское дорожное ограждение.
Говно виста на фоне, точнее ее отсутствие, сцена существует в вакууме.
Говно текстуры, которые ты все равно не сможешь переделать с ходу, придется еще годик-два усердно поучиться.
Говно свет, который в целом сделать проще всего остального, есть же люмен, но ты даже тут обосрался.
Приходи с ремейком через 2 года.
>Поблемы с масштабами, на референсе пространство намного глубже и просторнее.
Ну и что? Съеби
Тут то ли малолетний долбоеб, то ли йододефицитный западный славянин, хуй разберешь.
>>70509
А как вообще совмещать правильно кресты с бп? Я не могу просто взять и реализовать свой класс, мне придется ждать пока плюсовик его сделает со всеми нужными мне методами чтоб я оверрайдил. Еще он не сможет юзать блюпринтовые енумы, и придется все енумы перенести сначала в плюсы (перелопатить половину проекта), сможет ли он хотя бы использовать блюпринтовый компонент в своем крестовом классе? (подозреваю что нет), короче не понятно какова вообще цель бп в таком случае кроме как быть дата-блюпринтом с набором переменных
>Все ассеты потрепанные, в грязи, с износом и ржавчиной.
они лежат аккуратно на идеальном песочке, а на референсе конкретный помоечный дестрой
вообще предлагаю такую штуку. засовываешь свой результат в стейбл диффьюжн и просишь перерисовать каким-нибудь постапокалиптично-помоечным промпом. как только начнешь получать движение в сторону фотореализма, анализируешь, какие нерегулярности она добавляет на картинку. и пробуешь их воссоздать
но тут она америки не открыла. как я и писал, для фотореализма нейронка добавила на картинку много-много мусора и износа
>Я не могу просто взять и реализовать свой класс, мне придется ждать пока плюсовик его сделает со всеми нужными мне методами чтоб я оверрайдил.
на крупных проектах так и делается. на крестах базовый класс и его универсальная логика
в бп может быть своя логика, которая потребуется только в этом бп и его наследниках
если с этим проблема, то всё что тебе остается - самому подучить анрил с++
>какова вообще цель бп в таком случае кроме как быть дата-блюпринтом с набором переменных
в том числе бывает и так. с++ вся логика, в бп только ссылки на ассеты и косметика
что за еблан? в этой решетка 100 треугольников от силы
да не, хуже становится без тумана. для фотореализма обычно и прикручивают контраст
разве что хорошо смотрится чернота в трубах
норм, цветокор подкрутить и будет фоторил
но теперь выглядит нейросеточно, т.к. нет следов жизнедеятельности, попыток минимально обеспечить себе комфорт и т.д.
(сравнивая с референсом)
люди не сваливают мусор себе в ноги, должно быть много открытого пространства для жизнедеятельности, где есть только утоптанный песочек. дощатый тротуар тоже нужно освободить
палетная дорога вместо бетонной лестницы переходит в какой-то профлист, по которому ходить нельзя
люди стараются срать где насрано. подкидывают новый мусор к старому мусору. поэтому мусор должен собираться в мусорные свалки
есть такой художественный принцип, что области высокой детализации должны соседствовать с областями отдыха - пустотами. это увеличивает масштаб. равномерный ковёр из деталей мешает деталям создавать масштаб
Глаз человека легко выцепляет повторяющиеся объекты.
Ну например я вижу что гофрированный лист металла - это два одинаковых клона с подтеками в одинаковом месте. Я вижу что трубы это клоны, у них скол в одном месте. Палетты одни и те же. Листы картона одни и те же, просто повернуты по разному. Мешки мусора одной и той же формы, просто с разных углов.
Двачую уже ответившего. Все абстракции, реюзабельные актор компоненты, интерфейсы, библиотеки, енумы и структуры лучше держать в крестах. Но на блюпринт тоже останется часть работы. В основном хужожественной. Пусть у нас есть механизм моста с подъемником, как перед воротами замка через ров. В блюпринте этого моста самое место сделать таймлайн анимации, проиграть звуки, мб партиклы пыли заспавнить. В крестовом классе механизма тогда будут объявлены евенты, делегаты, переменные состояний. Но сугубо абстрактные. Что нить типа OnActivate, OnDeactivate, флажок или геймплей таг IsActive.Каких либо прямых упоминаний от мосте в крестах лучше не делать. Потому что наследником может быть хоть мост, хоть колодец с ведром, который имеет точно такую же логику, состояния и евенты, но разная художественная часть. Более того в блюпринте будет много художественных затычек и украшательств. Если вдруг тебе захотелось чтобы при первой активации моста с какой-то его детали взлетали вороны - разумеется тащить это в кресты смысла нет. Короче есть дохуя чего и для блюпринтов тоже.
Не, ты не том месте фиксшь. Посмотри повнимательнее. Тебе не хватает колор вариейш по большим площадям. А анриле есть дефолтная текстура, которую помножают поверх материала ленскейпа в нескольких скейлах. И у тебя однотонная тайлоая поверхность сразу покрывается более тмеными и светлыми участками. А кол-во картонок лучше ополовинить как минимум. Слишком читается что это искуственно разложено из-за равномерности.
как со всем, как везде - смотри и читай всё подряд. легкое в мусор, сложное на потом. критическая масса знаний отложится
>>72472
Я 4 года пытался привыкнуть к брендеру >2.8. Не смог, уебищный мобильный интерфейс с гигантскими иконками будто для баб срак со срением -20. Из-за ебаных пидорасов на планшетах страдают пк бояре.
Бля, выкручивание альфы в ноль делает рамку черной, а не прозрачной.
Пиздец, походу придется лезть в сурс код и билдить себе движок с нормальным интерфейсом.
Понимаю тебя анон, сам охуевал от крестовых туторов на ютубе. Когда создают срр актор, создюат в нем статикмешкомпонент, берут ссылку на меш из контент браузера прям по хардкоду, еще добавляют какое-нить АддАкторРотайшен по ЕвентТику, а потом прям крестовый MyActor кидают на сцену и он крутиться и че нить им в лог еще пишет.
"Ну вот ребят, теперь вы знаете как сделать актор на крестах, можете начинать писать игру".
А по сути вопроса, мне помогла реализация своих конкретных задач. И я тупо гуглил предметно, что мне не хватает. Даже не туторы, а скорее "как передать в функцию такую хуйню", "как объявить делегат", добавить инерфейс и прочее. В анриле дохуя их самописных макросов и знания ванильных крестов тут ниче особо не даст. Но ключевая вещь - иметь конкретную задачу, которую хочется реализовать. Я начал с астрономической библиотеки чтобы сделать корректное движение солнца, луны и небесной сферы в зависимотсти от текущей даты и времени. На подобие анриловского плагина SunCalculator но только и для других небесных тел тоже.
Так же палю годный сайт одного челикса, где можно найти краткие справки по всяким анриловским макросам:
https://benui.ca/
>в ноль делает рамку черной
так возъми пипеткой цвет фона и назначь весто нативного цвета тени.
Если есть акк на сиджи пирсе, то поищи курсы по С++ для анрила, там все последовательно. Или поищи на рутрекере, знаю что один курс переиздается чуть ли не каждый год, и какая-то из версия там точно есть.
Ебаная капча больше, чем окно ввода текста.
1280x720, 2:39
[Udemy] Unreal Engine 5 C++ Developer - Learn C++ and Make Video Games (2022)
Я вроде каждый параметр потыкал, нет настройки цвета тени. В editor preferences тоже по поиску shadows ничего не нашлось.
А, ты у рамки альфу скручивал. Ну вот хотя бы рамку можешь сделать цветом фона, будет как будто прозрачная.
Если это тупо маска, нахера вообще ей 2к? Делать отдельную 2к где буде одна звездочка в углу, а остальное все черное еще хуже. В плане оптимизона лучше было бы звездочку совместить с текстурами других моделей. И был бы один атлас на несколлько моделей. Если эта звездочка должа меняться на другую маску и захардоживать её в текстуру с другими моделями не вариант, тогда уменьши рарешение звездочки раза в 4-5 и натайли.
> натайлить эту 2к маску, сделав ее маленькой и поместить в нужное место. Это правильный подход?
это правильный подход. арифметика очень быстрая на гпу
> В плане оптимизона лучше было бы звездочку совместить с текстурами других моделей.
Смотри, у меня 5 моделей дорожных знаков и 1 светофора. Для них всех используется одна 2к текстура. И мне надо чтоб светофор зажигался и поэтому я сделал отдельный материал для сфетофора с той же текстурой и дополнительной маской светильника, которая цепляется к emission. Сейчас я ее заскейлил 20 раз и через add ноду подогнал туда, куда надо. Это норм или есть вариант лучше? Раз делать специально маску светильника где 95% пространства останется черным ты говоришь плохая практика.
>>72583
Надеюсь что так.
Я просто делаю ассет на продажу, поэтому так запариваюсь. Хочу чтоб все правильно было.
Я не знаю какие требования к моделям на продажу, я бы просто добавил стеклу светофора вертекс колор, и в материале умножал бы его на нужный мне эмиссив мультиплайер. И никакой маски вообще бы не потребовалось. Материала наверное все таки 2 надо.Из-за разной функциональности. Простые знаки должны слегка эммиссировать при определнных CametaVector как иммитация реального светоотражающего покрытия. Светофору камера вектор проверять не надо, он просто эммисирует своими цветами.Само переключение сфетофора я бы организовал через SetCustomPrimitiveDataVector3, чтобы не создавать DynamicMaterialInstance.И в блюпринте бы его по апдейту менял.
(1,0,0) горит красный (1,1,0) красный с желтым (0,0,1) горит зеленый.
Насчет правильно-неправильно вопрос филосовский. Я даже эпикосвкие шейдаки когда смотрю волосы на жопе иногда шевеляться. Там перелопачивать и перелопачивать можно. Но у эпиков приоритет контент высрать, работает и ладно.
UPD:
вот кстати туторок по светоотражалкам неплохой:
https://www.youtube.com/watch?v=kH8cORFT48U
которые раздают кал, нормальные не раздают и дороха стоят
А как же СЛЯВЯН ДЕРЕВНЯ там даже 2 буханки есть
Напоминает того чела который делал гайды на Ютубе как создавать игры в конструкторе CF 2.5. У него там было как создать человечка, как настроить анимации, а дальше сразу как залить игру в Стим и на ИОС. А вот как там меню сделать, как настройки смены разрешения экрана сделать, как настройки громкости музыки и эффектов сделать, как настройки сохранения игры и настроек сделать, и конечно же как сделать дистрибутив игры у него уже не было. Зато высрал тридцать гайдов как делать игру но игру он делал лишь в паре гайдов. Как же это охуенно делать игры в конструкторах, на них даже гайдов нету.
Сам на юнити сижу но эти месячные раздачи сохраняю себе на всякий случай, вдруг анриалскрипт выкатят, недавно залез посмотреть что там вообще, реально одно говно
Спасибо за напоминание
Как фикить "раздупление" интерфейсов? Часто вижу в уе играх, как при открытии каких нибудь менюшек первые пару кадров лэйаут перестраивается, пиздос глаза режет. А как самому делать, чтобы избежать этого пока не разобрался.
Вероятно он имел ввиду, что когда собирает панель из уникальных элементов, то выглядит норм, а если собирает такую же панель из модулей, то получается кал.
Но на самом деле можно заметить, что во втором случае он не пользовался принципами симметрии, вот и получил кал.
Если бы при сборке ближней панели он руководствовался такими же принципами, то получилось бы тож не очень.
Модуль это же не бездумное клонирование, там ведь тоже есть логика. Мы же не можем на первом пикрил в обведенном месте установить дверь — это же глупо, правильно? Ну вот и паттерны должны соблюдать логику, они не могут стоять рандомно.
А еще, если модуль несимметричный и он соседствует с симметричным, то получается кал. На пикрил 2 в нижней правой части стоят два несимметричных модуля — они вроде норм, но как только мы смотрим на верхний ряд, где несимметричный треугольник затесался посреди симметричных, то сразу начинает выглядеть как блевотин.
Короче, у меня родилась следующая теория расположения модулей:
Симметричный + симметричный = норм
Несимметричный + несимметричный = норм
Симметричный + несимметричный = говно
Несимметричный + симметричный + зеркальный несимметричный = норм
Отсюда следует, что на каждый несимметричный модуль нужно создавать его зеркальную копию, чтобы при помощи нее стремиться сделать паттерн симметричным.
Насколько я знаю, это распространенная проблема даже для окон обычных приложений (просто раньше ты не обращал на это внимание). И похоже это проблема шиндовс. Тоже боролся с этим, но единственный вариант — это разгрузить UI.
Даже пробовал как в ZBrush сперва запустить окно с opacity 100%, а после загрузки выкрутить прозрачность, но бестолку — базовая часть окна все равно мерцает прежде, чем устанавливается прозрачность.
Еще вариант — сделать загрузочную плашку на весь экран, за которой загрузить все окна, а потом скрыть. Ну или просто забить, потому что большинство людей этого даже не замечает.
Понятно, спасибо.
Я записывался на курс movie man за 50к. Если тебя интересует конкретно курс и ничего больше, то за эти деньги можешь накупить тонну других курсов. Сам курс достаточно жидкий, ничего уникального я там не нашел.
Помимо курса там есть консультации, но они тоже так себе. Выглядело так, как будто куратору нужно что-то сказать и как-то поправить каждого студента, чтобы его работа выглядела эффективной, отчего двум студентам дают ровно противоположные советы.
Есть хорошие бесплатные. Нейроны мозга не наебешь — их надо тренировать, долго и большим объемом данных. Нет единственного волшебного курса, который тебя научит. Деньги не помогут.
Ну смотри, анрил он очень многогранен. Есть отдельные курсы по левел дизайну, есть по партиклам, есть по с++. Тоесть просто курс по анрилу - это будет что-то обо всем и ни о чем. Ну типа навигация, материалы, освещение, лендскеймп и.т.д. Ну такую вводную шнягу можно и бесплатно посмотреть. Есть на трубе канал UnrealSensey и там есть 4-5 часовые видосы и по 4ому анрилу и по 5ому. Если ты совсем движок не открывал ни разу- будет полезно. Если ты уже год-два в нем пердишь, то какого-то инсайта от таких курсов можно не ждать.
ему надо отдрочить вкладки на 5 проектах пошагово, а потом повторить без туториала
смотри английские, даже если язык не знаешь. просто из контекста понятно 60% пиздежа
заодно язык подтянется
>Если тебя интересует конкретно курс и ничего больше
Ну как понять "курс и ничего больше"? Конечно же, интересует навык, который этот курс даёт.
>>73176
>Есть хорошие бесплатные
Русскоязычные?
>Нейроны мозга не наебешь — их надо тренировать,
>Нет единственного волшебного курса, который тебя научит. Деньги не помогут
Я не жду, что меня курс научит всему. Однако жду структурированный и последовательный курс, где от простого к сложному обучают основам работы с движком на примере разработки простеньких игр.
Покупал вот курс по 3д у одного чела с ютуба и за полтора месяца узнал просто в разы больше, чем при самостоятельном изучении. Далее взял ещё один, но уже на 4 месяца. После прохождения, пожалуй, я могу сказать, что работать с 3д я более-менее могу, а если что-то не получается или нужно развиваться дальше, то у меня уже есть база для самостоятельного обучения.
>>73199
Я много раз так пробовал и мне это не подходит. Есть куча нюансов, которые теряются при попытке понимать в контексте или переводить. Что-то показано так, ты делаешь и выходит иначе. Тратится уйма времени на решение таких вот проблем. Мне уже относительно много лет и тратить время на поиск тривиальных ошибок, которые можно и не совершать, не очень хочется.
Вообще, уже достаточно наступал на грабли самостоятельного изучения чего-либо - в этом случае времени требуется всегда существенно больше.
>Есть отдельные курсы по левел дизайну, есть по партиклам, есть по с++.
Это понятно. Но вот о том и речь, есть ли хорошие платные русскоязычные курсы по разным аспектам работы с движком.
>курсы по левел дизайну
Это в принципе отдельная тема и применима к любому движку.
>UnrealSensey
На английском + это всё выглядит набором рандомных уроков. Это ещё одна проблема таких вот каналов, когда нет структуры и ты сам пытаешься заполнить пробелы. Даже не просто заполнить, а найти как заполнить правильно. Учишь одно, а в итоге понимаешь в лучшем случае половину, ибо основ не знаешь.
Проблема в том что фахверк хоть и имеет свои правила и модули, обычно в итоге все равно слишком разнообразный чтобы поделить его на модули но на маркетплейсе ассеты в основном модульные, и свои модули я срисовал с какого-то ассет-пака, но потом понял что они не нужны. Есть повторяющийся, если уникальный. И если я хочу сохранить "правильность" этой хуйни то надо собирать из балок и боксов. В принципе неплохо выходит, пайплайн довольно быстрый, собрал всё не выходя из анрила вообще моделинг режим самое лучшее что придумали эпики, щас буду нормально крышу рандомить.
А ведь в конце его еще можно собрать и покорежить латисом. Серьезно, развивали бы они свои моделинг тулзы вместо говняных экспериментальных фич, цены бы не было.
>таких
Не таких. Какое-то целесообразное количество модулей будет в итоге выглядеть как-то слегка не так, чего-то не будет хватать.
Это не типовая застройка панельками, а каждый раз уникальный паттерн, собранный с учетом каких-то локальных проблем с фундаментом, ебанутости заказчика и криворукости строителя. Всё что сделаешь из модулей будет аутентично только для 2-3 домов, дальше репетативная хуйня, дешевка, маркетплейсный ассетфлип. Не мой путь короче, я пытался взять модули с ассетпаков, посмотрел на эту кучу говна с 4к неупакованными текстурами, дырами в мешах, кривыми нормалями, авторазвертками, и т.д. и т.п., попробовал сам сделать такое, понял что хуйня, пошел и придумал себе свой пайплайн с модульными шейдерами и домом собранным из одной балки сразу в движке. Чуть медленнее чем модули, конечно, но не критично.
чтоб было нерепетативно, надо кучу разных шейдеров, разные модели крыш, окон, дверей и малых архитектурных форм. а если сделать твоим методом даже 3 домика, один хрен будет репетативная хуйня, и то, что там балки по-разному расположены, делу вряд ли поможет
>кучу разных шейдеров
Ну это база. Да еще и простейшая.
>разные модели крыш, окон, дверей и малых архитектурных форм
Это тоже база, просто подольше делается.
> а если сделать твоим методом даже 3 домика, один хрен будет репетативная хуйня, и то, что там балки по-разному расположены, делу вряд ли поможет
А вот тут ты рассуждаешь как обыватель, которому похуй. Должно быть всё это в комбинации, и формы, и обвесы, и маты, И балки, потому что балки в уникальных паттернах и есть сама суть, эссенция этого архитектурного стиля. Ее нужно учесть сделав так же всё остальное, тогда будет качественный результат, а не хуйня с маркетплейса.
>качественный результат
Он нужен конечному потребителю?Большинство будет оценивать по гг,врагам если есть,ПАНОРАМНЫЙ ВИД , а не правильным пропсам
>Ну как понять "курс и ничего больше"?
Жопой напиал. Я имел ввиду видео, потому что помимо него там еще связь с куратором 1-2 раза в неделю. И так полгода.
>связь с куратором 1-2 раза в неделю
А куратор нормальный? Чаще это на уровне помощи в телеге,дискорде
952x540, 1:20
Про куратора я написал свое мнение еще в самом первом посте >>73175
Во-первых, это не личное общение, помимо тебя еще человек 20, поэтому на тебя уделяют минут пять времени.
Все студенты скидывают скрины в миро, потом куратор подключает стрим и обозревает. Я даже не помню была ли возможность в риалтайме задать вопросики, по-моему для этого была отдельная связь в дискорде. Но я могу ошибаться. Вроде был текстовый чат для стрима.
>видеорил
Только вот прямое натяжение может быть у шнурков, которые ни с чем не соприкасаются. В реальности шнурки касаются сапогов, а в сапогах находится нога, которая в разрезе имеет округлую форму и она не дат шнуркам быть прямыми.
Понятно. В итоге с курса ничего не вынес или просто ты имел в виду, что это всё мог бы и сам найти?
Я все нашел сам до курса.
Ну если так рассуждать то конечному потребителю нихуя не нужно кроми сисек-писек. Просто некоторым по кафу делать хорошо в мелочах, а кто-то делает на похуй.
Ну смотри, я не знаю что именно ты в анриле хочешь делать. Авторы курсов, кстати, тоже. А это ключевая вещь. От этого зависит с какой стороны его изучать. Я для себя нашел подход, что я сперва решаю что именно я хочу, а потом ищу релевантную инфу. Параллельно изучаю и пытаюсь делать. Просто так сидеть эти курсы смотреть смысла нет. Ну разве что у тебя есть возможность делать это на работе в тихоря. Английского не сцы, я сам не лингвист и разговорный Английский мне в хуй не упал, я с иностранцами не общаюсь. Но во время вката в 3Д я его подтянул как раз по англоязычным видосткам. Включай субтитры с смотри. В нашем комьюнити есть либо совсем инфа для нубов типа ИнститутаМарксизма либо какие-то совсем крутаны, которых иногда приглашают на стримы и они показывают свои работы параллельно пиздя за жизнь. Структурировать это в программу обучения сложно.более того, у нас много челов, которые сами посмотрели зарубежные туторы, что-то поняли, что-то не поняли и пытаются через пук-среньк пересказать это своими словами. Курсы не исключение. Получается пятикратно переваренный кал пропущенный через лоускильность туторщика.
ИГРАЛ ТУТ В ОДНУ ИГРУ, ТАМ НА САПОГАХ ГЕРОИНИ ЧТО-ТО С НАТЯЖЕНИЕМ ШНУРКОВ БЫЛО, ОНО ВРОДЕ КАК ИМЕЛОСЬ, НО ВРОДЕ КАК И НЕТ НУ И ОФОРМИЛ РЕФАНД! КАК ХОРОШО, ЧТО ЕСТЬ ААА КОНТОРЫ С 250 МИЛЛИОННЫМИ БЮДЖЕТАМИ, ГДЕ НАТЯЖЕНИЕ ХОРОШЕЕ, И Я ЗНАЮ ЗА ЧТО ПЛАЧУ 150 БАКСОВ ЗА ДЕЛЮКС ИЗДАНИЕ
Пиздец, нихуя не понимаю. Как удалить actor component после того, как он (компонент) отыграет свою анимацию? У меня есть анимация (sequence) убирания предмета, после проигрывания которой он должен быть удалён
сделай монтаж из анимации и используй Play Montage ноду, там есть пин по завершению анимации, в котором можешь сделать Destroy Component
Видел это решение в одном из видеоуроков, но изначально оно мне не понравилось из-за того, что montage нельзя вставить в animation state machine. Но сейчас, с утра, понимаю, что, видимо, так и должно быть. Спасибо, анон, за помощь и оперативность
Вообще в секвенсоре по-идеее много параметров анимировать можно. Попробуй найти визибилити, и крути его. А как монтаж полностью доиграет можешь и удалить. Еще вариант из секвенсора вызвать Евент. Сделай кастом евент, по которому будешь удалять компонент. И добавь дорожку с этим евентом в секвенсор.
Еще есть такая хрень как АнимКурва это как бы кастомный трек, который ты можешь добавлять к любой аницации, а в анимблюпринте по апдейту анимации читать его, сравнивать с каким-то значением и делать что-то если оно больше/меньше порога. Есть и АнимНотифаи, по которым звуки шагов часто проигрывают. Можешь сделать кастомный нотифай и в анимблюприте его обрабатывать. Короче много вариков.
>посвящен созданию синематиков
Лол они разве с полигонами возяться?я думал чисто собирают сцену
конспект делаешь?скинешь лол?
> Сейчас сделал через просто монтаж. Не идеально, но для учебного проекта пойдёт.
запарил. монтаж это класс для вызова анимаций через код. другого в анриле нет
Ну я имел ввиду, что тупа через play montage и пин on complete сделал. А косяк в том, что перед тем как удалиться, меш пытается снова отыграть прерванную анимацию из anim state
Всё нормально, прикрутил montage notify. Всем спасимбо
В общем у меня персонаж ложится на песок, и надо чтобы волосы не проваливались. Я пробовал в ригидбоди персонажа делать плоскость под персонажем, но чета результат такой себе.
Если у тебя волосня прям в свободном полете прыгает, то прониканий через все вокруг избежать врядли удастся, я волосам симуляцию ставлю по минимуму, чтобы они шевелились на уровне ощущений. А для прич с косами вообще приходится выключать, потому что при включенной симуляции они тупо расплетутся.
похуй. мегасканы это одна из причин, из-за которых игры по 150 гигов весят и выдают 30 фпс в растянутых 720p на 4080
то есть не похуй, а положительная новость. хорошей была бы, если бы совсем прикрыли лавочку
>добавлены, отвалятся?
момента запуска Fab и до конца 2024 года Megascans будет бесплатным для всех по стандартной лицензии Fab для всех движков и инструментов . Когда вы приобретаете контент Quixel на Fab — бесплатно или платно — вы можете использовать его вечно.
Вы по-прежнему будете иметь доступ к любому ранее приобретенному контенту через Quixel.com и приложение Bridge.
>Когда вы приобретаете контент Quixel на Fab — бесплатно или платно — вы можете использовать его вечно.
Бля, там 18 тысяч ассетов. Нужен скрипт который их добавит в корзину.
А, Fab еще не открылся. Надеюсь там не будет анальной анти парсинг защиты.
Отвалятся. Нужно дождаться релиза Fab и заэкваерить ассеты на этом маркетплейсе до 2025.
https://gist.github.com/jamiephan/0c04986c7f2e62d5c87c4e8c8ce115fc
купил, спасибо. не знаю зачем, пусть будет
Да, запуск Fab сделает многих грустными, это же еще и закрытие Sketchfab емнип.
Зачем покупать всё, если оно отвалится, когда запустят ФАП? Это скачивать надо. Щас ваш скрипт аккаунты уведет, вот будет лол.
никто не знает, отвалится или нет. люди думают, что бесплатно это покупка, поэтому контент перенесется
>бесплатно это покупка
Технически он оформляеться как покупка ...я помню в начале гойды игру полученую с раздачи отобрали лол
272x368, 0:02
уведет ли? и что именно?
Надо сделать 200 аккаунтов. "Купить" на каждом. Через пару лет продавать как горячие пирожки студиям, а лучше входить в партнерство под процент от их игры.
имагинировал студию, которая не может купить ассетов, и вынуждена входить в долю с хуем с пачкой ассетов на акке. тут ему светит только процент от 0.
Каждый ассет будет стоить в районе 5-20 долларов. Берем среднее, 13. Умножаем на 18000, это 234 тысячи долларов.
Для любой инди студии это огромные деньги. Даже если взять 0,001% индюков и у них миллионы долларов от инвесторов, 200к остается существенной суммой.
И тут ты объясняешь зачем все 18000 ассетов покупать разом, а потом просто ловишь бан.
Делаю ГТА 8 в соло.
>Удачи скачивать, лол
Ты скачиваешь только то, что тебе нужно. Попытка все приобрести вообще имеет нулевой успех.
1920x1080, 0:08
нормально. мозги самому напрягать тоже надо иногда
стандарта нет. эмиссив это вообще-то цвет, для полноценного использования понадобится отдельная РГБ текстура. в отдельный канал можно засунуть только карту-модулятор для какого-нибудь стороннего цвета
если текстура не имеет альфы и сжата в DX1/BC1, в каналах RGB будет закодировано 5, 6 и 5 бит информации. поэтому самую чувствительную к перепадам уровней карту кладут в середине. на практике этот лишний бит вряд ли когда-то кому-то сделал погоду. либо будет норм, либо придется пользоваться BC7 или 32 битами
так же стоит учесть, что в 5 анриле сломали текстурный AO, он работает только если отказаться от статичного освещения. поэтому если в проекте применяется статик лайтинг, текстурный AO не нужен, и освобождает место для чего-нибудь еще
вполне. чаще встречается MRO, т.к. если если напрямую в аутпуты пихать, то нитки не перекрещиваются
Понял. Вот я еще смотрю пак за 100 баксов с кучей продаж. Тут чел использует в мастер материале использует 4 канала, при этом у 95% текстур в паке альфа канал тупо пустой, но есть, иначе мастер поломается. Разве не правильней было бы сделать отдельные маски для эмиссива для тех 5% моделек?
если альфа-канал пустой, то на текстуре будет просто has alpha channel: false, альфы там нет
материал не сломается, просто с этого пина будет дефолтное для альфы значение 1.0
в альфу паковать что-то или нет - вопрос открытый. альфа занимает столько же места в видеопамяти, сколько 3 других канала. то есть вместо четвертой маски в альфе ты можешь использовать 2 текстуры без альфы и запаковать в них 6 масок, израсходовав столько же видеопамяти
преимущество альфы в том, что там 8 бит глубины, еще лучше чем зеленый канал (пикрил линейный градиент из каждого канала в unlit эмиссив, демонстрируя артефакты битности)
но семплинг текстуры это тяжелая инструкция с высокой латентностью. возможно имеет смысл как раз экономить семплер, но паковать что-то в альфу. все обычно либо срутся 6 или 9, либо сходятся на том, что ит депендс, т.к. никто нормальный тест сделать не может, и все откровенно плавают в этой теме, лол
>альфа занимает столько же места в видеопамяти
Именно в видеопамяти? не просто на диске? Мне казалось в видеопамяти текстуры уже после декомпрессии лежат и там что-то типа тупого .bmp
> криетэд юсин симила метох
такое ощющение, что озвучивала нейронка, обучавшаяся индусскому английскому по каналу CodeLikeMe, сменила пол говорящего, но хуй изо рта вытащить забыла.
на диске альфа канал занимает 8 бит на пиксель, столько же, сколько другой канал
DXT1/5, BC1/3 и т.п. это алгоритмы не для хранения на дисках (смысл тут велосипед изобретать), это хардварное сжатие для хранения текстур загруженных в видеопамять, текстуры в этих форматах декодируются видеокартой на лету
>хардварное сжатие для хранения текстур загруженных в видеопамять
А разжимает оно их куда, тогда?
Или у тебя конвеер "считать с диска" - "пожевать в процессоре" - "поместить в видеопамять" - пожевать в процессоре видеокарты (ну сжатие же)" - "поместить обратно в видеопамять" - "разжать в черную дыру" - "вывести на экран"?
>А разжимает оно их куда, тогда?
никуда. происходит аппаратный декодинг на лету, без создания промежуточных массивов
так давай, посмотри. а нам поведаешь о своем опыте
Да похуй, главное что оф курс от эпиков хуже чем часовое видео от какого-то француза на ютубе - он там нормально пояснил как риг строить.
Наверно речь шла об оперативной памяти, а не видеопамяти. И расчет там очень простой, уровня sizeof, где по сути считается по тому, сколько весит тип переменной, например: byte=8бит, int=32бит, long=64бит. Вот этот инструмент проходит по всем ресурсам и считает.
Отсюда и проблемы в подсчете размера интерфейсов т.к. из-за абстракции непонятно какой конкретный тип используется, а значит нельзя узнать его размер. Из-за этого даже родился довольно массовый культ (не только в ру сегменте) избегать каста и использовать интерфейсы.
Я по началу думал, что это анрил ебанутый, а оказалось ебанутые — те, кто решил вкатываться в программирование через блюпринты, а потом начали распространять антинаучную ересь, заражая вредными идеями остальных вкатунов.
>кто решил вкатываться в программирование через блюпринты, а потом начали распространять антинаучную ерес
Ну интерфейсы это база, правда не понятно чем использование интерефейсов в БП и на крестах отличаются? Типа челы на БП их не юзали?
>не понятно чем использование интерефейсов в БП и на крестах отличаются
Ничем. Только вот блюпринтщики их юзали не для тех целей, для которых они были предназначены.
Какие-то уникумы заметили, что когда в блюпринте используется нода каста к персонажу, анализатор ресурсов показывал, что блюпринт занимает в памяти на 350Мб больше. В их голове возникла мысль, что каждый раз, когда происходит каст к экземпляру класса, создается новый экземпляр, по весу сравнимый с размером оригинального экземпляра. Затем пугают фразой "а теперь представьте, если вы будете юзать каст при каждом тике, уууууу".
Но если обращаться к экземпляру персонажа через интерфейс, то никакого прироста потребления памяти не происходит. Потом эту идею распространили где только можно, и вот уже все блюпринтщики начали юзать интерфейсы как способ оптимизации ресурсов (хотя под капотом экземпляр как весил 350Мб, так и продолжает весить).
А интерфейс это просто абстракция. Два класса разных размеров могут реализовать один интерфейс. И как ты, обращаясь к интерфейсу, узнаешь размер? Да никак, вот замер интерфейса и показывал ноль байт. Хотя в C# можно определить, используя рефлексию.
Удивительно, потому что одно время весь ютуб был завален туторами подобного рода
https://youtu.be/iVhEL-sWaC8
Да и на каких нибудь стримах эта тема поднималась неоднократно.
>создается новый экземпляр, по весу сравнимый с размером оригинального экземпляра.
Ну это конечно бред. Зачем загружать 2 раза один и тот же ресурс. Тут скорее проблема в том, что ресурс действительно будет загружен если на него есть жесткая ссылка в том классе который уже есть в игре, чтобы иметь к нему синхронный доступ.
Если умозрительно поговнокодить и представить такую ситуацию. Пусть у нас есть 2 персонажа Мани и Квин и есть триггер бокс который при заходе туда Мани напишет "Привет, Мани", а если зайдет Квин, то напишет "Привет, Квин". Ютюботуторовыйшвайновкатун сделает 2 каста. Один к Мани другой к Квин и по результату каста выведет нужную фразу. Такая конструкция приведет к тому, что при загрузке этого тригер бокса будет загружен ресурс и Мани и Квин. Получается, мы играем за одного какого-то персонажа(которого выбрали один раз при старте игры, например), но в памяти висят оба. Вот в этом и есть наглядный вред каста.
А теперь представим архитектуру с миллионом кастов на каждый пук и сопоставим с весом современных игр(100Гб+ запросто). Да у нас столько оперативы тупо не будет чтобы все это при старте игры загрузить.
забей
Если у тебя созданы экземпляры Мани и Квин, то они уже висят в памяти. А если нет, к примеру, экземпляра Квин, то и каст вернет null. Куда и что ты там загружать собираешься? Если оно есть, то оно уже загружено.
А ссылки сами по себе не весят практически ничего, до тех пор, пока ты не начнешь ковыряться в экземпляре. Но тут вообще не играет роли интерфейс это или что.
>А теперь представим архитектуру с миллионом кастов
Похуй + поебать. Это обычное приведение типов, которое ничего не стоит (кроме случаев упаковки и распаковки). А вот создание объекта в куче и его удаление требует времени.
>Если у тебя созданы экземпляры Мани и Квин
мы в начале игры выбираем кем играем
>А если нет, к примеру, экземпляра Квин
помимо Мани или Квин в тригербокс может забежать бот или еще какая хуйня, так что даже при одном персонаже проверка нужна, прежде чем печатать "Привет,<Аноннейм>"
>мы в начале игры выбираем кем играем
Ну выбираем. Мы создали экземпляр Мани, вот он и будет висеть в памяти, а Квин не существует, пока мы не создадим ее. Ты хоть обкастись к Квин, но тебе придет пустая ссылка.
>помимо Мани или Квин в тригербокс может забежать бот или еще какая хуйня
Ну и пусть забегает. Как с точки зрения потребления памяти это помешает? Как интерфейс в данном случае сэкономит память?
>Как с точки зрения потребления памяти это помешает?
Ну это просто приведет к нерабочему коду. Эсли каст пройден, окей, пишем "Привет, Мани" реально только Мани, а если каст провален, то тригербокс напишет "Привет, Квин" на любую хуйню которая туда залетела, не только саму Квин.
>Ну это просто приведет к нерабочему коду.
Типичный двачерский диалог. Да поебать к чему приведет — это дело десятое. Речь идет об экономии памяти путем обращения через интерфейс, а не каст.
>Речь идет об экономии памяти путем обращения через интерфейс, а не каст
Нет, речь идет об экономии памяти путем не обращения, а путем использования в архитектуре интерфейса или каста. Если у тебя Квин не загружена(как тебе кажется), но где-то есть каст на неё, то значит она загружена, даже если ты бегаешь не ей. Жесткая ссылка = ресур есть в памяти.
>Жесткая ссылка = ресурс есть в памяти.
У тебя при обращении через интерфейс будет точно такая же жесткая ссылка.
>Если у тебя Квин не загружена(как тебе кажется), но где-то есть каст на неё, то значит она загружена
Глупость. Если экземпляр не существует, то каст вернет пустую ссылку. Каст не способен создавать новые экземпляры чего либо.
Каст делает буквально следующее:
Сидит на проходной тетка и встречает нонейма. Спрашивает "Ты Петров?", если нонейм отвечает "Да", то нонейма пропускают через проходную с бейджиком "Петров". Если нонейм отвечает "Я Сидоров", то нонейм идет нахуй. Если нонейм говорит, что "Я Сычов — внук Петрова", то он тоже проходит через проходную, но с бейджиком "Петров". Если вообще никто не приходит на проходную, то проходная сообщает, что никто не пришел.
Всё, никаких выделений ресурсов там нет. Если проходная требует Петрова, а Сидоров не родился, ну и хуй с ним, он не заспавнится на проходной, потому что его не существует. Проходной поебать. Проходная — это всего лишь метод: что пришло, то либо пройдет дальше, либо не пройдет.
>У тебя при обращении через интерфейс будет точно такая же жесткая ссылка
с хуя ли? Ты ж в интерфейсе не будет ссылку на персонажа возвращать а просто спросишь его имя или айди или еще какую хуйню которая тебе для проверки нужны
>Если экземпляр не существует, то каст вернет пустую ссылку
Лоадер игры при старте левела, сорберет все зависимости и все это згрузит, вклчюая ту хуйню, которую ты в дропбоксе выбрал в касте.
Просто наведи мышкой на каст ноду и почитай что там написано.
>Спрашивает "Ты Петров?"
если каст спрашивает ты петров? - значит ты в касте в его дропбоксе ты указал BP_Petrov, значит ресурс BP_Petrov будет в памяти, даже если ты Сычов и никогда в эту игру за Петрова не играл.
А что такое интерфейс:
Это костюм.
Допустим тетка на проходной может пропускать либо Петровых, либо клоунов. Если подойдет Сидоров, то пойдет нахуй. Если Сидоров переоденется в костюм клоуна, то пройдет.
С точки зрения вселенной, никаких ресурсов не выделяется. Как существовали Петров и Сидоров, так и существуют. А если Сидоров, опять же, не родился, а проходная пропускает клоунов. Ну что же, проходная будет пуста на выходе. Сидоров не заспавнится, потому что его не существует.
>с хуя ли?
Интерфейс в С++ это буквально такой же класс, который является наследником класса твоего персонажа (или чего-то еще). Из-за возможности множественного наследования с С++, этот интерфейс может наследовать несколько классов одновременно.
В других языках множественное наследование запрещено, поэтому там есть жесткое разграничение классов и интерфейсов, но в С++ интерфейс это всего лишь набор соглашений на уровне "а давайте все будем писать префикс 'I' перед названием класса, чтобы можно было понять, что это интерфейс, а не обычный класс".
Но не суть. А суть в том, что когда речь заходит о сильной ссылке, это значит, что эта ссылка сохранена в переменную, а переменная должна где-то лежать в памяти до тех пор, пока ее не удалят. И не важно каст к классу или каст к интерфейсу — ты получишь ссылку, и как только ты эту ссылку сохранишь в переменную — вот тогда она станет жесткой. И даже если эта сильная ссылка будет создана внутри функции, то она немедленно удалится как только функция завершит свою работу. Поэтому незачем пережевать о сильных ссылках, если ты не пишешь код на С++.
И основная проблема сильных ссылок не в их времени создания (в условиях медлительности блюпринтов это несущественные крохи, можешь даже забить на это), а в том, что пока существует такая ссылка, объект не будет удален из памяти сборщиком мусора. Это основная причина утечек памяти, но опять же, это касается только тех, кт опишет на C++, а в блюпринтах у тебя просто нет возможности создать висячую ссылку.
Самое плохое, что ты можешь сделать в блупринтах, это создавать и удалять объекты, а не иметь жесткие ссылки.
>Лоадер игры при старте левела, сорберет все зависимости и все это згрузит, вклчюая ту хуйню, которую ты в дропбоксе выбрал в касте.
Охуительные истории. Ванугю у тебя какая-то жопная архитектура, которая и порождает подобную хтонь. И дело не в касте. Он не может так работать — это нарушение принципа чистоты функции.
>который является наследником класса твоего персонажа
Блять, хуйню написал. Наоборот. Твой персонаж наследует интерфейс, ну или как принято говорить "реализует". А множественное наследование позволяет классу твоего персонажа быть наследником нескольких интерфейсов.
Внезапно, твой класс персонажа может быть наследником нескольких классов, и знаешь что? Технически — сейм щит, но по понятиям правильных пацанов, так делать нельзя. По понятиям правильных пацанов если ты наследуешься от нескольких классов, то ты должен приписывать буковку 'I' к этим классом и определить их в касту петухов интерфейсов.
А вот в языке С# ты не можешь технически сделать класс персонажа наследником нескольких классов — компилятор просто выдаст ошибку. А вот реализовать несколько интерфейсов можешь. Там интерфейс это отдельная сущность с уникальными способностями, но в С++ интерфейс и класс — буквально одно и то же.
Вот в этом видео https://youtu.be/aUG54KCP89M
Жесткая ссылка потребует загрузки ресурса в память. Но это же бред. Ресурс загрузится по любому, если он потребуется и не важно мягкая это ссылка или сильная. Сильная ссылка просто не даст объекту удалиться из памяти.
Есть специалисты в этом вопросе? Видос выглядит как тупейший бред и троллинг.
У меня есть предположение, что используется что-то вроде Dependency Injection, и какой-то объект действительно может запросить загрузку необходимого ресурса. И в этом случае сильная ссылка просто не даст этому загруженному ресурсу помереть.
Короче много каких-то кукаретиков, которые не совсем понимают принцип происходящего.
>Жесткая ссылка будет работать быстрее, потому что она загружена в память
Господи, дай мне сил.
Почему в этом видосе, автор в случае с мягкой ссылкой спавнит ассет вручную? Почему в случае с жесткой ссылкой он так же не заспавнил вертолет в рантайме? Пиздеж, подтасовка и махинации.
>Ресурс загрузится по любому, если он потребуется и не важно мягкая это ссылка или сильная.
Он должен быть загружен до того как он потребуется, чтобы быть доспупным синхронно. Если это мягкая ссылка, то перед использованием ты должен загрузить ресурс синхронно или асинхронно, и только после ОнЛоадед можешь её юзать. Мягкая ссылка - это просто строка где хранится пусть к ресурсу на диске. После загрузки ты уже получаешь ссылку на объект в памяти. Тоже самое касается всяких таблиц, если у тебя есть 100 персонажей и ты в таблице указал жесткиме ссылка на их меши, материалы, то вся эта хуйня будет висеть в памяти. Чтобы этого избежать мягкие ссылки и придумали. Загружать только то, что нужно, а не всю игру.
жесткая ссылка на вертолет загрузит вертолет во время загрузки уровня
мягкая ссылка на вертолет загрузит вертолет когда ты запросишь
в данном случае непосредственно перед спавном:
>жесткая ссылка на вертолет загрузит вертолет во время загрузки уровня
>мягкая ссылка на вертолет загрузит вертолет когда ты запросишь
Почему в случае с мягкой ссылкой вертолет требует спавна, а в случае с жесткой вертолет спавнится автоматом? Тут какая-то недосказанность.
Ссылка это просто контейнер с АДРЕСОМ значения и всё. Ссылка не имеет права что-то там создавать. С точки зрения С++ и C# это просто какой-то абсурд. С точки зрения C++ переменная с жесткой ссылкой буде пуста до тех пор, пока я не заспавню объект, и не помещу в эту переменную ссылку на заспавненный объект.
Короч, в пизду эти блюпринты. Какое-то шаманство без точного понимания, что там происходит. В обычном программировании я хотя бы уверен в происходящем, там есть контроль. А в теме блюпринтов нет вот прям знатоков, которые досконально знают какие процессы происходят под капотом.
>с мягкой ссылкой вертолет требует спавна
да чего ты к этому спавну привязался. Челик показывает, что перед тем как использовать мягкую ссылку её надо загрузить и кастануть. И потом можно пользоваться как обычной ссылкой. Наприер, для спавна. Можно было и не спавнить, просто загрузить и ничего не делать. Но это было бы странно.
Просто мне показалось что это все равно что стрелять по ворбьям из пушки. Ибо все туторы которые смотрел - там указано что пидорнули шаблон для 2дшек и все придётся настраивать с 0
>стрелять по ворбьям из пушки
Такое же ощущение. И движок слишком тяжеловесный для этого во всех смыслах. И ждать постоянно загрузок движка с проектами и ловить ошибки, которые вызваны избыточными функционалами, которые тебе не нужны и взаимодействовать со своими 2д ресурсами не настолько удобно, как в других движках.
Ну и очевидно тот же контент, шаблоны 2д и прочее не делают для анрила. Туторы 2д проектов не найдешь толковых. Когда на всякие юнити, годоты можно найти не только туторы, но и шаблоны готовых 2д проектов и механик, тут ничего по сути нет.
Типа сделать на анриле 2д игру можно, но нужно сначала найти ответ на вопрос зачем именно на анриле. Все слишком долго, муторно, когда можно проще и быстрее.
Помню какой-то чел на ютубе разбирал этот вопрос и акцентировал внимание на времени. Типа даже на хорошем компе анрил будет каждое открытие проекта тратить в разы больше времени, чем какой-нибудь юнити. Каждая реализованная механика, действие требует больше кликов на анриле и т.п. И в итоге создание одного и того же помимо прочего займет на анриле значительно больше времени. Типа вряд ли в анриле специально под твой 2д проект есть какой-то функционал, сильно выделяющий его на фоне других движков, скорее наоборот.
Обычно для 2Д анрил и не берут. Ну может кроме тех случаев, когда анришлщик решил по фану сделать 2Д хуйню на коленке чтобы отвлечься от настоящей игры и чуть скинуть поинтов выгорания. Но в новый движок вкатываться/устанавливать лень.
>Короч, в пизду эти блюпринты.
Так на с++ точно также можно хардами насрать. Даже туторы для вкатунов в кресты начинаються с такого сранья. Типа, давайте сделаем персонажа на с++. Добавляют камеру бум, камеру, пишут путь к скелетал мешу ассету, находят его через КонструкторХелпер::ОбжектФаиндер по этому пути и прям в крестах назначают. Получают туже самю перманентную загрузку ассета. Прадва если в процессе игры скелет меш поменяется на другой, и на старый не останется нигде ссылок, то самодельный анриловский гарбадж коллектор этот ассет пометит на очистку.
Что почитать про PCG чтобы без лишней хуйни?
Да впринципе тебе только документация по надом может понадобится. Там нечего особо писать-то, обычное процедурное размещение мешей. Выбираешь меши, крутишь ползунками плотность, рандом ротайшн, скеил и.т.д. В качестве примера можешь скачать ЕлектикДримс из бесплатного Епик контента и поизучать.
темплейты это фигня, чтобы быстро потестить что-то, и у тебя был бегающий челик настроен. это не значит, что на анриле сложно анимировать спрайт. или сделать обычную залоченную по оси 3д игру с видом сбоку
>документация по надом может понадобится
Да это всё понятно и так. Я не вдупляю именно базу. Вот эти вот атрибуты точек, какие то их новые типы данных, которые хуй пойми как друг в друга конвертируются..
Даже в гудини всё это как то более интуитивно понятно было
Не тот тред блин