Это копия, сохраненная 23 августа 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вот есть у меня класс, у него есть поле, например int yoba;
И вот в это же класса есть метод, который принимает строку и инт. Условно:
void MamkuEbal(string s, int i)
{
...
}
И, допустим, во входном параметре у меня строка "yoba", то есть название моего поля. Что мне сделать с этой строкой, чтобы одноимённой переменной присвоить второй параметр i?
Гугл выдаёт что-то про рефлекшены, но это не совсем то.
Рефлекшены это как раз то, что тебе нужно, будет примерно так:
GetType ().GetField ("yoba").SetValue(this, i);
А, тьфу ты, я идиот. Кавычки-то там нахер не нужны.
>>17448
но зачем?
Может кто видел этот ассет в паблике он шикарен, так хочется побаловаться, но 25 баксов это жестоко.
> но зачем?
Если коротко — у меня есть TcpListener, который слушает и парсит входящие сообщения от сервера, а в самом сообщении имена переменных и их значения. Сообщение сплитится по определённому символу, из сплита значение переменных берётся через регулярные выражение и последующий int.Parse, а вот как из строки сразу обратиться к переменной - вот это был вопрос.
чето звучит как не очень. лучше бы завёл специально метод для изменения нужной тебе переменной, собрал коллекцию этих методов в словарик как делегаты и совал бы их в какое-то централизованное место куда совал бы и свою строку. а то хуй его знает что там че где переменные то меняет.
Можно юзать Unity Plus помесячно? Закончил игру, купил месяц, выпустил билд без позорного экрана, выложил в сторы.
Потом, если надо обновить, ещё месяц покупаешь.
Прокатит?
А где вообще основная свалка пираченых асетов? Очень многое хочется попробовать прежде чем покупать.
Подписка минимум на год. То, что цена указана за месяц, ещё не значит что можно купить подписку на месяц.
Так выходит слишком дораха!
Так ты про выборочную спрашивал, а не про обязательную?
Обязательная - годовая, если твоя говноигра сделала 100к в зелегых за эконом. год
> если твоя говноигра сделала 100к в зелегых за эконом. год
Не "игра" и не "сделал", а конкретный оборот конкретной конторы. И да, именно оборот, а не прибыль.
Двачую. Приходят и просят без уважения. Вообще уже забыли о манерах джентльмена, пидоры.
Эх вот бы превысить бесплатный порог юнити...
>Не "игра" и не "сделал", а конкретный оборот конкретной конторы.
Причем тут контора? Если ты испоьзуешь Unity, и твой продукт, на ее базе, напрямую или косвенно принес тебе прибыль 100к - тогда платишь.
А так, твоя контора может продавать семечки тоннами, попутно разрабатывая игру на хуюнити и ничего не платить даже если твой оборот 200к в год.
Может и так.
Но вот наша контора продаёт комплексно писанину на юнити вместе с железом и ещё кое-какими ништяками.
Годовой доход (даже не оборот) куда больше 100к у.е., но вот как посчитать сколько именно из этого дохода мы имеем чисто от юнити-продукта, если продаём всё комплексом?
И самое главное — кто это будет считать?
>А так, твоя контора может продавать семечки тоннами, попутно разрабатывая игру на хуюнити и ничего не платить даже если твой оборот 200к в год.
Пиздеж скота ебаного. Если у тебя контора много зарабатывает на семечках, то должна покупать. Если ты студентота или просто нищеброд то бесплатно.
>но вот как посчитать сколько именно из этого дохода мы имеем чисто от юнити-продукта, если продаём всё комплексом?
>И самое главное — кто это будет считать?
Никак, это относится к "косвенно". Значит, нужна лицензия на "место".
Если мест очень много, начинай думать о переходе на систему оутсорсинга. То есть - у тебя будет core-команда, для которых ты прилежно купишь лицензию, но большую часть Unity-related контента ты по аутсорсингу будешь получать, там пох, проблемы того, кому оутсорсишь уже.
Нет, до тех пор, пока продукт не зарелизен - нихуя не должен.
Любой подкованный юрист/адвокат отбодает тебе это.
Ок, но кто это считает?
Одно дело если ты публикуешься в стиме или гуглплее, там ты у всех на виду и могут запросить (и то сильно сомневаюсь). Но мы работаем напрямую с клиентами, а в налогах нет пункта "доход за говнокод на юнити".
Нет, пользуешься юнькой, есть деньги - плати. Нет денег, юзай бесплатно с условиями.
Чего ты раскудахталась, шлюшка, читай лицензию, лапша ебаная.
> Не важно, важен тот факт, что Юнити - часть продукта, что вы поставляете
Это само собой. Я о том, что по факту это всё получается на совести юзера. То есть нельзя проверить сколько именно ты поднял на продаже юнити-продукта.
Ну, за исключением случая если твоя игра разошлась в стиме тиражом в 200к за год.
У нас даже задумываются о покупке мест, но самые верхи не понимают нахуй оно надо, если и так всё работает.
>То есть нельзя проверить сколько именно ты поднял на продаже юнити-продукта.
Это и не проверяется и не имеет значения, согласно условиям ТоС - оборот компании, в продукции которой используется Юнити > 100к? Значит попадаешь под условия обязательной лицензии
>У нас даже задумываются о покупке мест, но самые верхи не понимают нахуй оно надо, если и так всё работает.
Касательно этого - это у вас регистрация и все эта хуета русская - можно, наверное, не кудахтаться. По приоритетам, гнилорашка у Unity там, гдле ей и место, ну ты понел
> согласно условиям ТоС - оборот компании, в продукции которой используется Юнити > 100к? Значит попадаешь под условия обязательной лицензии
Прям вообще любая продукция, хоть даже на пол шишки, а считается весь оборот? Тут не уверен, но может и так.
>>17828
В РФ, да, но своё поделие продаём и за границу. Я хуй знает учитывается ли это как-то, я в этих юридически-бухгалтерских делах вообще не разбираюсь.
Хватит вводить людей в заблуждение, ослина. Считается любой оборот компании, главное размер. Больше 100к - покупаешь. Неважно будешь ли ты вообще что-то выпускать.
>Прям вообще любая продукция, хоть даже на пол шишки, а считается весь оборот? Тут не уверен, но может и так
Да. Если не нравится, можешь попробовать проконсультироваться с толковым юристом-экономистом.
>но своё поделие продаём и за границу.
Тогда хз. Можнео забить и чесаться лишь когда за жопу поймают. Мб просто ласково попросят подписаться сначала - всегда успеете.
> Если не нравится
Да мне-то похуй, я так, макака в ИТ-отделе. Хотя может в случае пиздеца и всех макак к стенке ставят, но очень сомневаюсь.
> Можнео забить и чесаться лишь когда за жопу поймают
Вообще я как-то раз эту тему озвучивал, но все отмахнулись типа похуй.
>я так, макака в ИТ-отделе.
Тебе тогда вообще похуй, чего замарачиваешься? Или ты с прицелом наверхсуетишься? Умная обезьянка я бы тоже подсуетился если перспективы есть
> чего замарачиваешься?
Да просто разговор про лицензию пошёл, я и вклинился.
> Или ты с прицелом наверхсуетишься?
Ну не без этого, да.
Ну понятно.
Вообще, для полного понимая картины, как я уже и сказал, нужно скачала самом перечитать все условия ToS, а затем, проконсультироваться с опытным юристом как важные пункту соглашения работают в контексте ватного законодательства. Это если серьезно подходить.
Но вообще, как давно вы этой хуетой занимаетесь? Если года 2, то, мне кажется, можно вообще забить, пиздец интерес потерял и ушел в другие страны.
> как давно вы этой хуетой занимаетесь?
Ещё с 4-ой версии, лет 5 уже.
Ну так-то да, и я думаю что похуй. И что самое смешное — нашей конторе даже Pro купить на каждое место это как поссать сходить. Но просто смысла в этом не видят.
Тут, конечно, можно пошутить про жадных пидарах и т.д., но так-то нет. У нас везде 1060-1080ti, "чтоб уж точно не тормозило", даже у художников. Ну про ssd, наверное, даже упоминать не стоит.
Наш продукт ооочень нишевый, прям реально очень. Так что без шуток возможен деанон, лол. Я понимаю что я тут нахуй никому не нужен, даже если б я скан паспорта выложил.
Но вообще мы работаем с реабилитационными центрами, где ребята всех возрастов после определённых расстройства ЦНС восстанавливают моторику и память.
Вот если очень грубо говоря, то вот такое https://www.youtube.com/watch?v=B-kLtx8sdUI
Только разноплановое, с графоном, и для людей.
Понял, мне просто было интересно причем там Unity.
Но уже смекнул. Скорее всего вас вообще не тронут, учитывая специфику.
> учитывая специфику
Я то самое соглашение внятно не читал, но уверен что если буквально, то на специфику всем похуй.
А так да, наверное можно будет съехать если схватят за яйца.
Я думаю, они в курсе, но, скорее всего факт, что Раися + специфика - короче, в длиннющий ящик отложили, на черный день, когда уьивец хуюниты выйдет
1) координаты объектов на канвасе
2) размеры объектов на канвасе
3) шрифты
5) максимальную длину текста, которую можно вывести в блок
Как-то автоматизируется? Нужны best practices.
Всё уже есть искаропки, даже кодить не нужно, просто пройдись по офф туториалам из категории интерфейса.
Выставляй якоря для элементов.
ДС/ДС2 или в мухосранске ваша контора? Я бы тоже куда-нибудь устроился но в моем мухосранске-миллионнике только пара контор есть
Как раз мухосранск-миллионник.
Создаю террейн 10000 х 10000, размещаю там персонажа, запускаю и ничего не тормозит. Внезапно.
То есть он оптимизирован уже из коробки и пилить свою йобаЧанкСистему особого смысла не имеет?
А что там должно тормозить-то от одного террейна?
Нужно сделать в игре возможность многострочного ввода, стирания, удаления, выделения и копирования текста. Стимулятор шиндовского блокнота, грубо говоря. Как
С инпутфилда и начал :с
Всё идеально, но именно многострочность он не поддерживает от слова совсем.
> именно многострочность он не поддерживает
Точно?
https://docs.unity3d.com/ScriptReference/UI.InputField.html
> multiLine
> If the input field supports multiple lines.
Сейчас чекну, но энивей от души спасибо <3
лол 10к на 10к. не, оно конечно тормозить не будет, но делать так не стоит. он оптимизирован не так хорошо как хочется. делить на несколько маленьких по прежнему хорошая идея.
Понял, спасибо.
А вообще, включи deep profile да посмотри что там спайкает
>я тебе сейчас расскажу, вот смотри, я тебе хороший сейчас расскажу, смотри, вот у нас здесь сборщик мусора, он тебе спать мешает, сборщик, я вот давай вот списками насру в каждом кадре, он чистить придет и мы его убьем, слышишь, и тебе тогда спать будет хорошо. Давай?
>вот у нас здесь сборщик мусора, он тебе спать мешает, сборщик, я вот давай вот списками насру в каждом кадре, он чистить придет и мы его убьем
Официальный туториал уже глянул, там собраны совсем основы основ, это скорее даже просто демонстрация, а мне бы так чтоб раскатисто.
Эти два глянь, как минимум лишними не будут
https://www.youtube.com/watch?v=e-TubvulNgU
https://www.youtube.com/watch?v=HnqkemMtM1o
>Так. Есть некие 3д объекты. Необходимо на этих обьектах запилить сетку определенного размера дабы потом на основе координат кубов в сетке производить установку любых других обьектов. Грубо говоря основа некоего конструктора. Но я не знаю как это гуглить. Хелп.
Сделай установку блоков по центру сначала. Сетку потом сам допрешь как делать.
Спасибо, уже смотрю.
Catlikecoding смотрел базовые туториалы, очень понравились. Спасибо
Ну вот есть у меня вектор 3 с рейкаста. Знаю как по этим координатам создать объект. Дальше по идее какие то манипуляции с этими координатами, возможно округление. Может смещение этой точки до центра устанавливаемого блока. Дальше не совсем понимаю что делать.
Ну вот есть у нас скажем блок 3х1х1. Получается что центр у блока будет на центральном кубе. Как запилить так, что бы он не ставился одним или двумя кубами в уже установленные кубы? Довольно сложно на словах объяснить, если что зарисую. В этом нет необходимости когда все детали 1х1 но когда они становятся асимметричными, появляется проблема частичной установки внутрь других блоков.
> Для собеседования небось делаешь?
Ах если бы. Так, для себя.
Тут вариант два: либо запилить матрицу и записывать в неё все занятые кубы, либо проверять рейкастом.
Кастовать рей от центра в стороны где есть кубы и если там уже есть куб то смещать точку установки на 1 или n блок?
> больше подходят к созданию транспорта в играх аля ГТА
А по мне они никуда не подходят, полное говно наотъебись. Опять пятьдесят настроек и все равно полная хуета. И в ассетах полное говно, удивительно.
Возможно. Все какое-то дубовое, неповоротливое. Машина не скользит, как мне хотелось бы, причем никакие цифры это не способны исправить. При этом стоят такие ассеты дохуя.
Вот они не ебали бы мозги с этими настройками, а просто сделали штуки 3 пресета из популярных гонок, нид фо спид, еще какие-нибудь. Нет конечно, лучше хуйню какую-то на все случаи жизни, которая не работает нихуя.
снимаю вопрос. ебучих три дня думал над мега-алгоритмом который бы сделал то что я хотел. рисовал схемы, объяснял резиновой уточке как и что должно работать. ух. безудержное веселье. придумал эпичный по своей убойности велосипед с всеми хитростями которые смог придумать.
>>18758
эта фигня называется сериализацией. только как ты получаешь переменные результаты то?
>эта фигня называется сериализацией. только как ты получаешь переменные результаты то?
В одном проекте - текстовое в другом бинари файл нот шоун
В общем, если кто-то в курсе, как Dropdown нормально сделать? В Editor.GUI ничего подобного нет.
Там бля в настройках проекта пошарь короче где-то есть переключатель метода сериализации
https://docs.unity3d.com/ScriptReference/EditorGUILayout.Foldout.html чтоли хочешь? или че ты, выпадающий список хочешь, контекстное меню?
>Закончил игру, купил месяц, выпустил билд без позорного экрана, выложил в сторы.
>билд без позорного экрана
в этом экране нет ничего позорного. от исезновения экрана, твой позорный контент не станет менее позорным.
>купил месяц
самый умный штоле? пока твоя игра в сторе, ты обязан иметь лицензию.
Ну тебе в принципе можно делать что угодно, т.к. всем на твою игру будет насрать.
>>18561
Нет ну можно в цикле перебрать 10 максимальных значений, и их уже отсортировать, вместо всех 150, но занятия подобного рода вещами у меня вызывают чувство омерзения. Можно снизить время апдейта раз в секунду, а не кажыдй фрейм, но будет НЕКРАСИВО. Мне почему-то казалось что производительности хватит высчитывать небо и аллаха, а тут моча спайкает от одного скрипта. Порезать бы вас тут всех нахуй. Ладно, если бравзер на вебгл не повиснет намертво, уже будет хорошо. А у вас как дела?
Да, вполне ничего. Юнитиговно в дев билде с пре-бюилд енжином выебало меня в рот. Без него все пучком заработало.
>Мне почему-то казалось что производительности хватит высчитывать небо и аллаха
Ее и хватает. В нормальных движках.
Сранька, дебаг лог выключи, он 90% лагов дает
Звучит как будто сериализация - опасная штука. Кто нибудь встречал реальные баги из-за сериализации или юнька стращает позря?
>Звучит как будто сериализация - опасная штука.
Нужно извратиться, чтобы столкнуться с этими ограничениями.
В 99% случаев ты просто пишешь pyblic MyClass myObject; и в инспекторе что ты напишешь, то и будет.
Чтобы записать в этот объект ссылку на другой или полиморфический объект, нужно это как минимум сделать целенаправленно в скрипте запускаемом в редакторе.
>Мне почему-то казалось что производительности хватит высчитывать небо и аллаха, а тут моча спайкает от одного скрипта
А ты используешь новую ПРОИЗВОДИТЕЛЬНОСТЬ ПО ДЕФОЛТУ или пишешь по старинке в MonoBehaviour?
>Смешной пиздеж дурачка.
Дурачок это ты. Ты покупаешь лицензию на право распространения твоего продукта с юнити. Юнити не становится твоей собственностью после покупки лицензии на месяц. Пока ты распространяешь код юнити, ты под условиями лицензии
Точнее ты можешь купить лицензию на юнити с исходниками, но это будет намного дороже.
>А ты используешь новую ПРОИЗВОДИТЕЛЬНОСТЬ ПО ДЕФОЛТУ или пишешь по старинке в MonoBehaviour?
Отставить тралленг. Ты сейчас про новую систему компонентов
Я про баззворд performance by default (ECS и их новый job system). Теперь мы должны по дефолту писать скрипты на нечитаемой ядреной смеси процедурного и декларативного кода.
Не неси хуйни, даун, в лицензии ничего такого нет. Разрабатываешь - покупаешь юньку, остальное ты придумал, долбоеб.
>job system
Кстати один чувак переписал код с GPU на job и он чуть ли не быстрее заработал. Как тебе такое?https://twitter.com/i/status/1020049192134299648
>Не неси хуйни, даун, в лицензии ничего такого нет. Разрабатываешь - покупаешь юньку, остальное ты придумал, долбоеб.
Ты не можешь распространять контент сделанный по лицензии про без этой лицензии. Точка.
>You can absolutely sell commercial games made in the Personal Edition of Unity. To do this, you must meet the requirements to use Unity Personal Edition, mainly that you did not earn/receive more than $100,000 in revenue/funding in the last fiscal year.
Черным по белому написано: если твоя игра зарабатывает столько-то, ты ОБЯЗАН иметь лицензию для ее распространения.
Юзер, купивший твою игру никогда не выключит её и не сделает рефанд из-за логотипа юнити, особенно если ты его перед этим заинтересовал охуенным трейлером, интересной ему темой/жанром или чем-то ещё. Единственная причина по которой делают рефанд это потому что твоя игра говно, а не из-за логотипа юнити
Читай
https://unity3d.com/legal/terms-of-service/software
>Unity Software tiers with different Financial Thresholds may not be used at the same time by one entity or individual or for or on behalf of one entity or individual.
Нельзя смешивать 2 лицензии. То есть нельзя собрать игру на одной лицензии чтобы убрать лого, а потом доделывать на другой.
>и потом всю жизнь
>Нет, лишь до тех пор, пока твоя игра приносит по 100к бачей в год.
Но это выясняется постфактум, откуда я знаю, принесет или нет.
Как правило если ты сириус бизнес то ты примерно рассчитваешь сколько заработаешь, если ты инди то можешь не париться, столько всё равно не заработаешь
>Но это выясняется постфактум, откуда я знаю, принесет или нет.
Ну вот ты за год заработал на своей говноигре 100к - покупаешь на год лицензию. Спустя год, если доходы все еще 100к - проделваешь. нет - шлешь юнитиевреев нахуй
Ситуация такая, первый объект приближается ко второму.
Когда они соприкасаются первый объект должен отлетать назад. Пытался сделать это так:
GetComponent<Rigidbody2D>().AddForce(Vector3.forward * 100f);
Но что то никакого эффекта.
>заработал на своей говноигре 100к
Суть в том, что считается вообще весь твой доход. Если ты предприниматель или контора, то считается весь твой доход, и не важно сколько вообще ты заработал на юнити.
https://unity3d.com/legal/terms-of-service/software
>if you are a Legal Entity using the Unity Software (other than to provide services to someone else), your Total Finances are your gross revenues and/or funding (no matter what the source)
давно уже говорили что хотят сделать эти спагетти для дураков. небось будут настолько поломанными насколько могут быть.
да ладно, сами нодовые редакторы то нормально. у юнити там ещё и свой класс есть клёвый для них. какие-нибудь диалоги, процедурные хуйни и прочее абстрактное говно то нормально через них делать. а вот когда код начинаешь делать через них то уже всё, пиздец.
-нуб
Я ничего не делал, теперь оно застряло на 2121.168х1080.
Что за хуйня-то
Кусок ты ёбаного говна, отключать ли лого - это лично моё дело, и у меня есть или нет свои причины на это. Ты тут уже сколько постов все пытаешься доказать, что их игры говно? Тебя этот логотип в жопу выебал, что ты успокоиться не можешь?
Покупка лицензии обязательна, если юр. лицо, которое получает доход от игры, получило больше 100к за финансовый год.
Однако, это значит, что под продажу игры можно сделать другое юр. лицо. Если ты ИП, можно сделать ООО. Только стоит ли запариваться из-за инди-поделки - вопрос.
Также, как я понял, Юнити интересует только твой доход. Вся эта шняга с отключением лого - побочные эффекты. К примеру, ты сделал хитовую игру, продал кучу копий, купил лицензию, а через год у тебя игра уже особенно не продаётся, и доход упал ниже 100к. Лицензию ты не продлеваешь. Значит, нужно перебилдить игру на бесплатной лицензии, вернуть лого и загрузить обратно в сторы? Ну бред же.
Ебаные какие-то правила, если честно. У УЕ более понятные и логичные правила лицензии. Получаешь более 3к$ за квартал - 2% идут эпикам.
а если например газпром захочет использовать уеч для презентации своего газа, тоже 2% всей прибыли нужно отдавать?
лучше бы добавили нормальный скриптовый язык
Зарегает отдельную ООО.
>>19241
Это нормально, вполне адекватная политика для компании - зарабатываешь на нашем продукте - плати.
У большей части компаний гораздо хуже условия, бесплатно ты максимум триальчик на месяцок получишь
Все ваши ебаные аргументы как обычно высосаны из пальца, потому что как пример приводятся надуманные такие же высосанные из пальца ситуации:
А ЧТО ЕСЛИ ТЫ ЗАРАБОТАЛ 100К ЗА ГОД НО РАСХОДЫ САСТАВИЛИ 99к))))
А ЧТО ЕСЛИ ТЫ ЗАРАБОТАЛ ЗА ГОД 100к В СЛЕДУЮЩИЙ ГОД ЗАРАБОТАЛ 3 КАПЕЙКИ))))
А ЧТО ЕСЛИ ТЫ КУПИЛ ПРО И ТОЛЬКО ХОТЕЛ ВЫПУСТИТЬ ИГРУ НО ТУТ МЕТЕОРИТ УПАЛ НА ТВОЙ ДОМ, ТЕБЕ ЖЕ ТЕПЕРЬ НЕ НАДА ПРОДЛЕВАТЬ ЛИЦЕНЗИЮ)))
Идите нахуй с такими примерами, долбоебы. Если ты крупная контора, и примерно рассчитываешь свой доход, то окупаешь юнити про для разработки, если ты индюшатник делающий свой проект в 2-3 рыла то ты пользуешь юнити фри.
Если вдруг один на миллион прокнуло и ты стал зарубать больше 100 тысяч в год будучи индюшатником, то ты покупаешь юнити про и становишься крупной студией. Всё, так нормальные люди делают бизнес, а не ваши сферические кони в вакууме
Дада, давайте все на жигах ездить, зато можно тюниг +10050 кобыл спартивную подвесочку спарцо.
Они упоролись в процедурное программирование. Это прошлый век. Никакими оптимизациями это не оправдать. Ради юзера-нищеброда, у которого не хватает бабла на купить актуальный i5 для средних/i7 для высоких они теперь предлагают ебать процедурное программирование, обозванное новыми баззвордами.
Сколько же времени он на эту ебалу потратил?
За сколько времени аналогичный вася бы налепил 5-6 проектов и успешно бы затолкнул их в стим, просто повысив требования до актуальных прошлогодних i5/i7 или актуального гейфона текущей-прошлой модели, отказав остальным нищебродам нахуй (если они не могут себе актуальное железо купить, то ты им , конечно, дохуя игру продашь)?
Да хер с ним с гейфоном, актуальный мидл-левел от китайцев каждый год за копейки покупать достаточно, чтобы было все пучком и юнити-игры не тормозили.
Еще раз, пригласили байтоеба из соснуле-ААА-конторы (это там, где сотни лямов баксов на проект и штат из стапицот макак на галере) и теперь этот абсолютно неэффективный в условиях простых разработчиков (а не небожителей, вкатившихсмя во времена атари и денди и навернувших за 30-40 лет не один ярд) подход сделают обязательным. Тут вот велосипедостроители выли, когда им вулкан и директх 12 по требованиям крупных контор выкатили и велосипеды стало писать невозможно. Теперь вот и на готовых движках предлагают опять на телеге ездить и байты ебать. Зато все коокок как в крупных кронторох, кококо по-соснульному, кококо ААА-подход.
Дохуя ты более лучшего графона без штата художников и моделеров наделаешь, вот лично ты, дебил?
Грофон в играх - открою тебе Америку - он на 90% заслуга именно гигантского штата артистов в ёбадельных конторах. И лишь на 10% - использование байтоёбных ёба-фич и шойдерных техник.
У тебя дохуя бюджета уровня ёбадельных контор (это десятки сотни лямов баксов лишь на один "батя одобряе" тайтл), чтобы такой штат хуйдожников содержать? Нет, ты всего лишь повёлся на школобайтомантры.
Даже больше скажу - в ёбадельных которах байтоптимизаторы нужены именно для того, чтобы за артистами дерьмецо приберать, когда организационными мерами путём урезания осетра и закатывания фич губозакаточной машиной уже нихуя не сделать без ломания первоначального концепта/качества грофония, если она изначально заявлена как seling point.
Удвою, и добавлю что хороший графон очень часто слабо связан с мощностями. В ласт оф ас первом до сих пор очень хорошо графика смотрится, а она между прочим на пс3 идет
Потому что это платформ-селлер, от той же компании, которая эту соснуль и продавала. Там требования были такими, что жопу байтами порвать на доллары и годы разработки, но обеспечить продажи мыловани еще на пару лет до выхода следующего поколения. И то, там, если почитать пейперы - фейк на фейке сидит и упрощением погоняет.
Какие нахуй художники, ты ёбу дал? В том же крузисе работы художников - ноль, просто берут и фоткают в высоком разрешении текстуры травы, деревьев, кирпичей и прочего дерьма, фоткают, фоткают, фоткают, а потом накладывают эти текстуры на модельки и полируют шейдерами сверху, вот тебе и весь графон, и чем пизже железо и оптимизация, тем большее разрешение текстурок можно использовать при 60 фпс. Похожая история и с модельками на миллионы треугольников, сначала художник делает лоуполи за 5 минут, а потом накладывает сглаживание, одну итерацию, вторую, третью, больше сглаживания богу сглаживания, и опять же, чем пизже оптимизация, тем больше итераций можно запихать и тем графонистее будет моделька, вот и всё.
Да 90% унити погромистов и так используют процедурное программирование (сколько много менеджеров ты уже написал), а про полиморфизм слышали только в лучшем случае в школе, вместе с инкапсуляцией и наследованием.
Они не поимают всей прелести отправки SendMessage.
Вообще, стоит сказать, что все эти байтобазворды и байтотехники езды на телегах обязаны своему рождению как раз упомянутым тобой соснулям PS3 и Xbox360. Дело было так - в 2004-2005 году компании на очередной E3 раздули дичайший хайп дескать, мы сделали небывалое гитрел-ёба железо, которое все пекарни заткнет нахуй и козыряли стапятисот гигагафлопсами. Сосони так вообще fullhd сходу в 2005 году наобещало, чем и обосралось.
И действительно, запихали какое-то ёба-дорогущее в производстве железо, которое на первых порах и производилось с огромным процентом брака и продавалось ниже себестоимости. Только вот оказалось оно говном, по сравнению с пекой и первые годы даже куча смешных мемасов ходило:
https://www.youtube.com/watch?v=aLK9i-KZRmQ
Выяснилось, что железо получилось очень упоротым и без дополнительной байтоебли работать отказывалось. У майкрософт, к слову, с этим было чуть лучше и первые годы он уверенно лидировал, поскольку на нём хотя бы кое-как игры можно было делать, а не ебать байты в войне с платформой.
Вот, чтобы избавится от обосрамса и восстановить подфаканую репутацию и стала соне заставлять внутренние студии ебать байтики (вот этим занимались люди вместо того чтобы игры делать: https://www.slideshare.net/naughty_dog/presentations). И малафья наконец потекла
грофон со скрипом пошел.
>Похожая история и с модельками на миллионы треугольников, сначала художник делает лоуполи за 5 минут, а потом накладывает сглаживание, одну итерацию, вторую, третью, больше сглаживания богу сглаживания, и опять же, чем пизже оптимизация, тем больше итераций можно запихать и тем графонистее будет моделька, вот и всё.
Проиграл с идиота, не сделавшего ни одной модельки за всю жизнь и незнающего про пайплайн нормальных моделек в конторках. Открою тебе Америку, дурачок, в ААА:
1)Сначала делается концепт арт
2)Потом скулптится хайполи с миллионами треугольников
3)Потом с этого хайполи запекаются нормалмэпы и прочие промежуточные текстурки
4)Только потом делается ретопология, и из хайполи делают лоуполи, точнее просто моделят поверх. И конечная лоуполи с поликаунтом 4000-6000 уже почти не отличить с хайполи с миллионами треугольников. Никто уже давно не наращивает полигоны, все только улучшают шейдеры и текстурки, и вообще большая часть денег вбухивается в анимацию.
Твои познания выдают в тебе полного кукаретика из вг, считающего что чем больше полигонов тем графон лучше.
>Какие нахуй художники, ты ёбу дал? В том же крузисе работы художников - ноль, просто берут и фоткают в высоком разрешении текстуры травы, деревьев, кирпичей и прочего дерьма, фоткают, фоткают, фоткают, а потом накладывают эти текстуры на модельки и полируют шейдерами сверху, вот тебе и весь графон
Просто без комментариев. Почитай титры хоть на досуге как-нибудь.
> Похожая история и с модельками на миллионы треугольников, сначала художник делает лоуполи за 5 минут, а потом накладывает сглаживание, одну итерацию, вторую, третью, больше сглаживания богу сглаживания, и опять же, чем пизже оптимизация, тем больше итераций можно запихать и тем графонистее будет моделька, вот и всё.
Вот и выяснилось, что маняшкольник даже не в курсе артистского пайплайна. Когда нагуглишь слово "ретопология" и поймёшь что в своём выдуманном из головы описании процесса обосрался чуть менее чем с точности до наоборот, то приходи снова.
А потом тамошние элитные байтовые пидарасы, не в силах сдержать бугурта, решили поделиться своей консольной анальной болью с остальным миром, как раз и родив мутантов Entity Component System и Data Oriented Design.
Припизданул немного, текстурки запекаются после лоуполи и Uv развертки ну да ладно, суть от этого не меняется
>Какие нахуй художники, ты ёбу дал? В том же крузисе работы художников - ноль, просто берут и фоткают в высоком разрешении текстуры травы, деревьев, кирпичей и прочего дерьма, фоткают, фоткают, фоткают
Это называется, рефы, даун. Никуда они их не накладывают, игроманию меньше читай. В них смотрят концепт-художники и используют исключительно как источники вдохновения и образцы.
>вулкан и директх 12 по требованиям крупных контор выкатили
Я что-то пропустил? Вулкан поддерживается на юнити? Если так, то это охуенно.
Да не обращай внимания, это тупорогие долбаебы выкатывающие викторины сука текстовые, которые умудряются зависать.
>Если ты ИП, можно сделать ООО. Только стоит ли запариваться из-за инди-поделки - вопрос.
ИП у нас физики, ООО чаще юридическое, дебилушка
Меня не покидает чувство, что под мемы про производительность по дефолту они просто опять переворачивают с ног на голову всем пайплайн, чтобы все бежали покупали новые пропатченные ассеты и тому подобное говно.
Не чаще, а всегда. ИП это когда за проёб бизнеса отвечаешь своей квартирой, ООО это когда ты сам себе (и иногда сотрудникам) платишь зарплату.
Ну какая разница. Имеется в виду, что продавать можно от них как от разных лиц.
Значит у меня устаревшая информация.
Значит, за анрил ты платишь 5% при грубо говоря 12к за год (3 за квартал). А за юнити $299 при 100к за год. Что составляет меньше одного процента от дохода.
Красавчик, иди заплати анрилу и станешь ААА девелопером инфа 100%
Жиды из эпик совсем охуели. Замтряли где-то в прошлом десятилетии. Выкатили свой очередной редактор unreal tournament, практически никак не развивающийся уже более 20 лет, просят за это непотребство еще бешеные деньги и думают, что кому-то это надо.
Не удивительно, что юнити популярнее. Удивительно другое, как у уеча вообще может остаться какая-то популярность. Сейчас же не 2006 год, в конце концов.
>как у уеча вообще может остаться какая-то популярность.
Ну остается же, они действуют по обстоятельствам. Тут еще и миллиард с фортнайта привалил.
>и думают, что кому-то это надо.
Но ведь это кому-то надо. Почему трилогию mass effect сделали на анриле, а не на юнити, как думаешь?
>Но ведь это кому-то надо. Почему трилогию mass effect сделали на анриле, а не на юнити, как думаешь?
Почему в 19 веке ездили на телегах, а не на автомобилях, как думаешь?
>Но ведь это кому-то надо. Почему трилогию mass effect сделали на анриле, а не на юнити, как думаешь?
Не от хорошей жизни. Анончик выше написал историю фракталопососа с прошлым поколением соснулей, так вот унреал 3 в то время был единственным способом забороть это говно без сотен макакочасов байтоебства.
Потому что аналогичная игра на юнити будет на двух титанах лагать и следовательно продажи будут хуевыми. При этом она еще и выглядеть будет хуже.
>Почему трилогию mass effect сделали на анриле, а не на юнити, как думаешь?
Потому что на анриле уже всё готово под комнатный шутер. Осталось только добавить диалоги про лишний ствол.
Что-то у них одни пидары на сцене.
Юнитипидары, ВЫ СОВСЕМ АХУЕЛИ, ДЕМОНЫ ПИДАРСКИЕ БЛЯ? Свиной юнитипозор жеппный.
Квоты на пидоров, ничего не поделать.
Все юнитипользователи выглядят так, ты что не знал?
Странно, с прическами заморочились, а одежда конченная. Это две жены друг друга.
Так Гейропа же. У них светлоликого путлера нет вот и компенсируют. Загнили совсем
Заморочился же, нашел видео, просмотрел, скринов нафоткал, только чтобы в тред насрать. Тебе заняться нечем, кроме того чтобы с мельницами воевать? Мог бы игры делать например, прикинь
>Заморочился, нашел видео
Я вообще-то подписан на ютабе, оно само меня находит. Скрины делаются ножницами на горячие клавиши за 3секунды, вставляются в сообщение через копировать вставить без сохранения на комп. Текст обличительный писал дольше.
Ставьте дизлойсы
Да тут собственно все уже увидели что у тебя одержимость "войной с юнити в гд", так что можешь не оправдываться. То что ты настолько приноровился это делать говорит не в твою пользу
>На самом деле УЕ не плохой движок,
>глупо отрицать что он выглядит лучше чем юнити
Сейчас бы сравнивать движки по контенту и коду шейдеров
>войной с юнити в гд
Вообще-то в гд юнитипидорки бегают по всем тредам и везде срут, но особенно в годоттреде. Но я же не сру и не веду войну, просто смешное замечание по видосу.
>Тебе заняться нечем, кроме того чтобы с мельницами воевать? Мог бы игры делать например, прикинь
>заняться нечем, кроме того чтобы с мельницами воевать?
Какая война, это минут десять в день на все про все. Тебе самому по ходу заняться нечем.
Но тогда я знаю как их называть надо
Это юнитипидары, они считают, что геймдев это прикол
Розовые волосы, ебля в жопу, средний пол...
Хочешь поскорее в школку, юнитишкольник?
Ротейшн трансформа? думаю офсет текстуры затратней
Пиздец ебанутый вопрос. Закешировал уже трансформ то?
>почему евентсистем может доухя отъедать
Потому что unity ui написан на C# скриптомакаками нанятыми за еду и адово тормозит. Вот почему.
UI еще и в графическую систему срет значимо
Вgрочем, ты бы лучше игру делал а ЮИ потом помtняешь, ведь ты же не нарушал принципов SOLID )
включи дип профайл, посмотри по конкретным функциям чего и сколько жрёт.
ебать такие вопросы. что сделать то хочешь? разумеется текстура на террейн накладывается через сплат мапы. кто там как её наносит же зависит от потребностей проекта. так то разумеется пару тулзов сверху будет проще дописать, если хочется чтобы там под каждым деревом травы было поменьше, чтобы текстурка менялась в зависимости от наклона и прочее дерьмо. мы же не можем дать тебе рекомендации если не скажешь чё ты там получить хочешь и в чем твои трудности.
Никаких трудностей. Просто я изучаю шейдеры, а в туториалах используются Splat Map о которых я первый раз слышу. Представлял себе текстурирование террейнов по другому, например как текстурирование 3д моделей. Не понимаю что делать, если четырех текстур недостаточно для одного террейна.
с этого и надо было начинать же. разве не через дополнительные пассы следующие текстуры рендерятся? несколько лет назад мельком читал как там чё.
о. нашел. вот тут написано: https://alastaira.wordpress.com/2013/12/07/custom-unity-terrain-material-shaders/ во.
насколько я знаю оно до сих пор релевантно. террейн у юнити старый как говно мамонта и не менялся с тех пор почти. последний раз когда общался с одним хуем который что-то там шабуршал с 2017 юнити он говорил что всё так и есть. и что шейдоры террейна кудато запрятали в какую-то жопу, так что даже не почитать как оно там чё, так что ещё и угадывать приходится и пользоваться этими туториалами с 2013 года.
https://www.youtube.com/watch?v=k3hnLiT98qo
Я импортировал перетаскиванием. Ладно, ща поковыряюсь.
Все, разобрался, спасибо.
Кароче дали мне тестовое задание, очень необычное. Надо из https://openweathermap.org/api вставить погоду рандомного города в Text. Делаю по гайду https://www.youtube.com/watch?v=k91jTTdr0GM , но для чтения json надо библиотека Newtonsoft.Json. Я её скачал, всё норм, но через 5 минут она просто слетает, я починил, а теперь юнити просто ругается на строку using Newtonsoft.Json; и не хочет компилировать скрипт в проекте.
Уже задолбался с этим. Может кто то сталкивался с похожим и знает как чинить? Или просто сказать HR-ру что задание бредовое и в юнити оно не работает?
Ты просто не справился с заданием, ты профнепригоден.
Я не умею им пользоваться. Походу придётся сейчас научиться
А я к тебе и не прошусь уёбок, съебал нахуй
Компания расширяется и переходит на игры, только набирают команду. В данный момент ещё нет программистов, по этому без стажировки сразу брать будут. Главное сделать тестовое. На собеседовании я им понравился вроде как
До этого нигде не работал, надеюсь возьмут
Ну блять, не каждый день работаю с Json через интернет
Так мне сказали. Сейчас у них 3 менеджера, 1 прогер, не работавший ранее с Unity и HR
Опять же с их слов
ДАУН ТУПОЙ
Тебе за этот первый месяц заплатят? Точно заплатят? Договор подписан и прочитан?
>он не знает как нахаляву набирать таких вот даунов работать забесплатно первый месяц а потом по надуманной причине отпусткать
Хуй их знает, никаких договоров ещё не было, только тестовое же делаю
Что делать что бы не наебали, требовать договор?
Каким-либо образом требовать гарантий, что заплатят.
Иначе, тебе решать - стоит месяц горбатиться, с возможностью быть кинутым по окончанию.
Одну ошибку починил, теперь вот ругается на эту строку.
Подскажите то как починить, не понимаю почему пишет что не присвоено значени
Если оставить только переменные, то пустую строку выводит. Ну ёбана врот
Пошел нахуй.
Советую учить xenko прямо сейчас. Потому что через пару лет навыки юнити станут уже неактуальны.
Да пойми ты уже, что ты слишком тупой. Ты смотришь туториалы на руссков в ютубе, чтобы выполнить простейшие действия с API. Ты не знаешь как загружать файлы, как работать с json. Ты не знаешь как сделать это простейшее задание.
Ты же не сможешь ничего сделать с такими навыками. Какая тебе работа, маня?
Не позорься, а лучше-ка подучи юнити еще годик-два.
Пусть идет там на подсосе пару месяцев подрабует, и его выкинут нахуй без зарплаты, обозвав необучаемым тупым выблядком. Будет наука.
Ахуеть. Ты с рождения уже всё знаешь? С Json я знаю как работать, но с http дел не имел, по этому туплю
Прочитал. Всё оказалось проще, весь тот код удалил, переписал заново, вышло в пару строк через корутины
Пока что xenko - это голый движок с примитивным редактором уровней и ничего более. Там даже аниматора нету.
Преимущество юнити в удобстве создания контента.
Грешно над юродивыми издеваться. Их бог геймдева и так обидел.
Так это проблема конкурентности, а не юнити.
Я читаю книжку по .NET и чета немного охуеваю, что в Unity официальных гайдах не принято пользоваться средствами фреймворка.
Взять хотя бы класс Thread. Объясните, почему Юнитеки предлагают пользоваться Корутинами вместо него? Чем корутины удобнее и быстрее? Корутины не принимают аргументов, приходится же извращаться.
Может, Юнитеки просто не любят Мелкомягких и не хотят обучать ньюфагов работе с чужим фреймворком? Ок, понимаю, но только предупредите меня заранее, о каких полезных вещах в .NET Юнитеки молчат.
Врядли тебе кто-то толково ответит. Мы книжек по дотнету не читали. Мы видеоуроки по юнити смотрим!
Ну, в целом ты правильно предположил. Это корпоративные тёрки. Если команда юнити не будет изобретать свои велосипеды программирования, а будет пропагандировать наработки майков, то очень скоро выяснится, что игроры удобнее делать вовсе без юнити, просто подключая к вижуал студио нужные тебе сдк и апи. Модели и сцены можно удобно настраивать в майе/максе/блендере, сразу перегонять в нужный формат и подключать кодом, без задней мысли.
Популярность игровых редакторов сродни популярности RAD-студий. Котируется новичками. Профессионалу всё это елозанье мышкой по гизмам не нужно, он может ебашить код в блокноте. А сцена у него в голове, со всеми расставленными по ней объектами. Ну и корутины эти тоже вкусовщина, любой кодер выше среднего вполне без них обойдётся.
УЕЧ тоже грешит такой же как юнити хуйнёй. Вроде код на сях, но с высоким уровнем абстракции.
>Модели и сцены можно удобно настраивать в майе/максе/блендере, сразу перегонять в нужный формат и подключать кодом, без задней мысли.
Чё ты несешь, еблан. Давай опенворлд запили в блендере мне. Сделай тысячу камней, тысячу кустов и тысячу деревьев, и к каждом камню не забудь физику кодом подключить. Нахуй префабы, ну, нахуй террейн, всё мешами заебень. Мозгов же нету нихуя.
А вот и ожидаемый подрыв новичка, не понимающего сути всех модных баззвордов с которыми его заставили работать юнитеки.
Двачую, проиграл с еблана.
>Популярность игровых редакторов сродни популярности RAD-студий.
Всё так.
> Котируется новичками.
Ты красноглазых питухов со специалистами не путай. Нормальные люди работают в удобных средах работы в своих областях (не важно, будь то изобразительное исскуство, моделирование, разработка игр, асутп, инженерка). Пердолят блокнот и консольку - красноглазые прыщебляди и примкнувшие к ним долбоочквые геи-хипстеры с подворотами и ундеркатом на голове.
> Профессионалу всё это елозанье мышкой по гизмам не нужно, он может ебашить код в блокноте. А сцена у него в голове, со всеми расставленными по ней объектами
Пока мака спать не погонит.
> УЕЧ тоже грешит такой же как юнити хуйнёй. Вроде код на сях, но с высоким уровнем абстракции.
И это, внезапно, продуктивно. Пойми, эпоха пердолинга байтов красноглазыми пионерами закончилась с кармаком в 90-е. Сейчас даже в инхауз движках тамошних байтоёбов силком заставляют запиливать вменяемы средства разработки, удобные нормальным людям.
Вали нахуй демагог, сам придумал, как будто я что-то сказал, и предлагаешь мне опровергать.
>Нормальные люди работают в удобных средах работы в своих областях
Не спорю. Блокнот - знаменитый мем. Походе вы тут все достаточно молоды, что не знаете этого мема.
Естественно профи из моего поста пилит графон в удобном тридэ-редакторе, пилит музон в удобном аудиоредакторе, а соединяет всё это вместе в удобной ИДЕ. Об этом и была речь.
> то очень скоро выяснится, что игроры удобнее делать вовсе без юнити, просто подключая к вижуал студио нужные тебе сдк и апи.
Нет. Ключевой момент заключён в скорости итераций и в разделении труда. Тебе нужно чтобы дизайнеры могли быстро, в идеале мгновенно, видеть результаты.
> Профессионалу всё это елозанье мышкой по гизмам не нужно, он может ебашить код в блокноте.
Кек. Снова - скорость итераций, разделение труда. Пока ты там ебёшься с блокнотикам пацаны на уече прогонят десять прототипов.
>>20603
Потому что потоки и короутины это две разные вещи а люди неискушённые в погромировании потоками себе всё что ниже хуя отстрелят на раз?
Я тебе открою тайну, юнитеки вообще нихуя не изобрели, и никаких баззвордов они не продвигают, единственное что они сделали это более доступную и кроссплатформенную версию того что уже было до них, плюс ассет стор.
А то что ты пизданул про ненужность редакторов выдает в тебе знатного кукаретика, нихуя не знающего про левелдизайн.
Вот тебе первый попавшийся таймлапс левелдизайнера в юнити:
https://www.youtube.com/watch?v=W5wkUXk4RtA
Всё что требуется для загрузки этой сцены - простой террейн, пара тектурок травинки, моделька домика, пара моделек камней и гора на задник. И шейдер водички.
А теперь расскажи мне как ты попробуешь такую же сцену сделать блендером и кодом, и сколько она будет весить.
Ты мне распиши шаги и затраты времени на то чтобы подвинуть один камень на уровне, ага. А так же сделай так чтобы в блендере уровень выглядел так же как в игре.
Я это знаю, лолка.
Давай эксперимент проведи, сделать десять тысяч копий камня в блендере и загрузи в юнити, и скопируй десять тысяч копий одного камня в юнити, и посмотри что будет весить меньше и грузиться медленее.
Ты даун совсем, блендер 2.8 специально на это заточен, специально pbr сделали, и чтобы потом всю сцену экспортировать в движки. Хуйню несешь, пес дремучий тупой.
Единственный затупок тут это ты, то что там в блендере 2.8 добавили никого не ебет, потому что блендер уже много лет безрезультатно пытается стать движком, зачем - непонятно.
В других редакторах, в майе или 3д максе сделай такую сцену как в видео выше мне, сам увидишь как ты жидко сейчас обсираешься
>Давай эксперимент проведи, сделать десять тысяч копий камня в блендере и загрузи в юнити, и скопируй десять тысяч копий одного камня в юнити, и посмотри что будет весить меньше и грузиться медленее.
Зачем грузить в юнити игровой код 10000 копий меша? Чтобы что этим доказать? Ты на полном серьёзе, считаешь, что кроме юнити-префабов не существует других видов инстансинга? Или это демагогия такая?
Да мне похуй на терки. И на профи с блокнотом тоже.
Мне надо по быстрому гибкий и стабильный код писать.
Хуле они учат только средствам Unity, а про .NET умалчивают. Хотят, чтобы новичок написал велосипед для сортировки массивов или форматирования строк?
>>20613
Научи меня корутинам. Везде хуита про основы. Я тупо не могу передать ничего в корутину. Приходится сохранять во внешнюю переменную данные для выполнения корутины, корутина их подгружает, пиздец как неудобно.
Алсо, вместо срача про редакторы лучше бы рассказали про средства .NET, про которые молчат Юнитеки, но которые надо знать обязательно для игроразработки.
>БАБАХ
>>20641
>Ты на полном серьёзе, считаешь, что кроме юнити-префабов не существует других видов инстансинга?
Существуют, но в том виде в котором тут описывают "делать сцену в блендере/майе а код в блокноте" они отсутствуют. Если ты такой дохуя альтернативный гений, давай просвети меня, как ты планируешь создавать игры без редактора.
Я незнаю как ты не можешь ничего передать, напиши код как ты делаешь, может что не так изначально пишешь.
Мне почти тридцать но мема я такого незнаю, мне похуй на всякие мемы если честно
Ебанько, сцены также будут экспортироваться с префабами и террейнами, ты просто не интересовался, потому что тупой юнитипидар.
Да, волшебство, правда ещё в уече возможно. Главное шоб редактор был. Тогда магия сработает.
Нам юнитипидарам юнитеки запрещают изучать матчасть. Есть редактор, есть префабы - пили игоры, ни о чём не задумывайся.
Ты меня тралишь сука, не бывает таких баранов.
Террейн - это массив высот сука, сплатмапы текстур и мапы деталей вроде травы и дереаьев . то что ты там наскульптил в блендере и мышкой распихал деревьев ещё нихуя не значит. Попробуй сделать что-нибудь хотя бы среднего размера в пару квадратных километров и ты охуеешь это моделить и раскаривать и сколько это будет весить, уебан ты тупой
*раскрашивать
В блендере сделают такой же террейн, овца тупая, и будут экспортить, что тебе не ясно, даун? Ты думаешь, что это какие-то уникальные технологии?
Ну так как сделают так и приходи, даун, хули ты сейчас воняешь тут? И да изначально тезис был в ЛЮБОМ 3д-редакторе, не только в блендере, так что ты все равно обосрался
Я вообще не он, овца ебаная, ты начал пиздеть, что невозможно скопировать 10к камней и закинуть в юнити, чтобы работало так же быстро, ноты просто тупой и не врубаешься, что это вообще не вопрос.
Даже если есть какой то инстансинг то мне похуй на него, он не отменяет потребность в редакторе, и нормальный террейн это только один элемент из многих.
>он не отменяет потребность в редакторе
Само собой, но блендер это редактор. Есть движки у которых нет редактора и которые юзают блендер в качестве оного
Где?
>специально pbr сделали
Оно всё равно отличается от того что ты увидишь в игре. PBR там сделан для превью ассетов, не для целых уровней. В реальной игре тени и свет считается заметно по другому и проще. Ах да, это превью бесполезно если ты используешь какие то минимально сложные материалы в том же UE4. Вот как ты будешь делать превью если у тебя есть набор масок, каждая для разного материала и набор текстур? Например тривиальный камень которому ты можешь настраивать цвет сколов, цвет потёртых частей и цвет основного камня с дополнительными детальными текстурами скалирующимися в зависимости от размеров объекта? Никак. Ну можно поебаться с нодами в cycles, но это по сути повторение работы которую ты уже сделал.
И ты мне всё же шаги с затратами времени распиши.
>>20643
А что конкретно тебе мешает передать аргументы в короутину? Это по сути тупой IEnumerator с yield внутри. Ничего не мешает тебе передать туда аргументы.
>>20668
Ты на выходе получишь охуенный монолитный меш. Поинт нормального террейна - он тебе детализацию меша сам регулирует. Если не считать пачки масок.
>>20685
Легко.
1. Берём все части.
2. Собираем.
Или ты хочешь ещё и полноценный моделлинг в УНИТИ?
>Оно всё равно отличается от того что ты увидишь в игре. PBR там сделан для превью ассетов, не для целых уровней. В реальной игре тени и свет считается заметно по другому и проще. Ах да, это превью бесполезно если ты используешь какие то минимально сложные материалы в том же UE4. Вот как ты будешь делать превью если у тебя есть набор масок, каждая для разного материала и набор текстур? Например тривиальный камень которому ты можешь настраивать цвет сколов, цвет потёртых частей и цвет основного камня с дополнительными детальными текстурами скалирующимися в зависимости от размеров объекта? Никак.
Скорее всего полного экспорта из блендера в уеч не будет, но ты так пишешь, будто это невозможно в принципе. Открою твои тупые глаза на мир, это возможно, возможно конвертировать ноды блендера в ноды уеча.
>>20700
>Ты на выходе получишь охуенный монолитный меш. Поинт нормального террейна - он тебе детализацию меша сам регулирует. Если не считать пачки масок.
Ты какой-то ограниченный или отсталый. Я тебе еще раз говорю, если есть в юнити, то может быть где угодно точно такое же. Массив высот сложно сделать, ой ой.
>Скорее всего полного экспорта из блендера в уеч не будет, но ты так пишешь, будто это невозможно в принципе. Открою твои тупые глаза на мир, это возможно, возможно конвертировать ноды блендера в ноды уеча.
Знаешь анекдот про "в гамаке и стоя"?
>>20702
> Я тебе еще раз говорю, если есть в юнити, то может быть где угодно точно такое же. Массив высот сложно сделать, ой ой.
Предлагаю упражнение:
1. Сделать ландшафт в блендере.
2. Экспортировать его куда нибудь.
А для карт высот существуют на порядки более удобные инструменты вроде World Machine.
>1. Сделать ландшафт в блендере.
>2. Экспортировать его куда нибудь.
Такую возможность именно и обещали, когда денег собирали, вот только когда доделают вопрос.
То что это не гигантский монолитный меш и то что его детализация меняется в зависимости от расстояния? inb4 разделить на части и добавить lod'ы - стыки как будешь обрабатывать? Алсо, требует меньше памяти, сетка генерируется на ходу.
> Я тупо не могу передать ничего в корутину
Что значит "не могу"? Кто-то по рукам бьёт как только пробуешь передать или что?
Всё там передаётся как в обычный метод, только с ref и out пролёт.
раз: Самый лучший способ изменения свойств (которые с гетерами и сетерами) из инспектора.
два: Есть ускорение V - просто флоат, есть прилагаемые или не прилагаемые к нему каждый кадр изменения dV и есть коэффициент угасания ускорения Vu, который если единица, то угасания нет, а если 0,5, то через секунду ускорение уменьшится в два раза. Ну и есть апдейт в котором предполагается расчёт и уменьшение ускорения. Короче в лоб, как мы привыкли, через умножение на deltatime сделать не получилось поэтому нужна более хитрая формула. Или расскажите куда копать. Мне вообще кажется что тут каким-то матаном попахивает.
https://rutracker.org/forum/viewtopic.php?t=5509465
>Самый лучший способ изменения свойств (которые с гетерами и сетерами) из инспектора.
а его и нет. у юнити не комфортно писать интерфейсы если ты не напрямую с сериализуемыми полями возишься. лезь в OnInspectorGUI и пиши там интерфейс.
>два
а не проще просто иметь два значения? текущее и целевое и каждый тик смещать текущее к целевому на дельту помноженную на разницу.
>>20769
https://forum.unity.com/threads/release-new-external-forces-module.512867/ покопай в эту сторону
о каких дистанциях говорим то? скайбокс сделай со скриншотом гор лол и меняй его в зависимости от положения игрока.
Дистанция в несколько тыщ условных метров.
>скайбокс сделай со скриншотом гор лол и меняй его в зависимости от положения игрока.
Ок, попробую
да вообще несколько тыщь метров то можешь и просто в камере Clipping Planes выкрутить. пока не видишь з-файтинг то как-то и похуй.
>а его и нет.
Печаль, чё. И ладно, если для изменения свойств MonoBehaviour-a через эдитор можно мутить то, что нужно, но фейл будет если эти свойства лежат в сериализуемом классе, на который у моны есть только ссылка. Я пока придумал брать OnValidate моны и пробрасывать его во все подобные классы чтобы они чекали свои свойства. Короче как-то так: pastebin.com/6CfDAjbg
>а не проще просто иметь два значения?
Но ведь целевое значение всегда ноль. Не заработает.
Вот тут я накидал для анона, желающего повозиться: pastebin.com/zWK7MJ1v
>два: Есть ускорение V - просто флоат, есть прилагаемые или не прилагаемые к нему каждый кадр изменения dV и есть коэффициент угасания ускорения Vu
Нахрена два?
Угасание делай через негативный dV?
Не понял тебя. dV это можно сказать такое рандомное число, которое может прибавиться у текущему ускорению, но само ускорение должно угасать в зависимости от Vu.
Протерся, а не потерялся. Совсем от дрочки ослеп?
>>20828
вообще ты можешь сделать атрибуты для инспектора и ограничивать ввод значений через них. например как это было сделано в RangeAttribute. так то возится с пропертями имеет смысл если у тебя там какие-то пиздячие кондиции.
для проверок сериализации можешь наследоваться от ISerializationCallbackReceiver тогда сериализуемая хуита будет получать каллбэки когда оно там сериализуется и десериализуется.
ты как-то странно ставишь задачу. если через секунду оно уменьшится в два раза то целевое значение это половина от текущего ускорения. если тебе нужно уменьшение ускорения в течении двух секунд то хули ты. просто посчитай текущее ускорение поделенное на две секунды и сохрани уже это значение и вычитай из текущего ускорения его каждый апдейт, помноженное на дельту. до тех пор пока оно не станет меньше нуля.
>>20798
конечно есть, можешь например иметь камеру с выкрученым near plane которая рендерит ТОЛЬКО очень далёкие обьекты и только землю. но хотелось бы узнать что за хуйню ты там творишь чтобы давать более адекватные советы.
>ISerializationCallbackReceiver
Ништяк! Эта хреновина действительно полезна. Как минимум больше не нужно пробрасывать OnValidate.
Про ускорение. Дело в том, что я не могу изначально посчитать силу затухания. Потому что ускорение в любой момент может измениться.
А вообще, я думаю что можно использовать силу, постоянно влияющую на ускорение типа трения и будет угасание не В n раз за dt, а НА n единиц за dt. Как на пикрил. Короче этот вопрос тоже снят.
вообще она не так и полезна, советую просто проверять всю хуйню в OnEnable. каллбэк сериализации полезен для того чтобы делать сериализацию, но не так полезен для того чтобы делать десериализацию.
на самом деле я до сих пор не понимаю почему ты не можешь выразить текущее затухание как число и просто вычитать его из текущего. если хочется то можешь через AnimationCurve руками указать при каких значениях чего и сколько там меняется относительно такого-то значения.
а вообще. по моему ты хочешь какой-то сорт PID. погугли его, найдешь много интересного.
вообще пилю, разумеется. просто ничего интересного оттуда в треде не показать. может покажу скоро чего интересное. не так давно начал реализовывать одну клёвую идею над которой думал последние пару лет на тему вождения корованов. там весь мой интересный опыт с ИИ мегаполезен и даже почти все мои велосипеды.
хотя сейчас вернулся к пассфайндингу чтобы наконец полностью решить ворох некоторых старых проблем которые меня уже окончательно доебали. недавно придумал вот как решить одну злоебучую проблему связанную с вокселями весьма эффективно, но решение оказалось таким охуительным что если его применить ко всем остальным частям воксельной хуйни то оно ещё и решит много других проблем. в итоге сижу, рефакторю.
>вообще она не так и полезна
Для моей задачи вызова сеттера свойства при изменении его в инспекторе пока это лучший вариант.
Ну а затухание мне нужно для плавного движения камеры. Я просто начал велосипелить.
>выразить текущее затухание как число
Ты же имеешь ввиду вычислить его единожды в начале анимации? Я бы хотел изменять величину в зависимости только от её текущего значения и значения Vu в апдейте.
Кстати, с PID я давно знаком и хочу на нём соорудить балансирующую ёбу что на пике. Вот как у этого чувака: https://youtu.be/poWP-RpPa3g?list=PLXS5oK4Fh-ga5SWyy2fVNGFumG4SciRjn
но у него там сложно всё и в добавок к пиду ещё нечёткая логика используется.
List res=new List<Color>(length); res.Add(c1); res.Add(c2);... ?
Ок, а почему?
Можно вот так ещё. тот же самый ту лист
List<Color>ColorsList= new List<Color>(colors);
На скринах более понятно, о чем речь.
Если у кого есть идеи хоть какие буду рад услышать.
С меня тонны нефти.
Не, это когда длина всех строк одинакова.
сделают же.
>>20906
нужны, разумеется. но сейчас проект находится не в слишком адекватном виде чтобы принимать постороннюю помощь, плюс сейчас я все силы пускаю на навмеш.
после следующего апдейта у меня появится время на совместную работу с кем-то. если хочешь то дай мыло, или иной метод связи.
>>21042
сование массива в конструктор листа.
а вообще листы не очень если хранить там структы.
Это вроде только в бета версии так, они помечают префабы и просто обьекты. Но это не точно.
Это не бета, ето "предпочитаемая версия". Она типа стабильная и все такое. Но в ней нет кучи функций которые еще в начале года выпустили и показали, но до сих пор не добавили.
Алсо, ты меня не слушай, я сам в Юнити новичок.
Ну ладно, спасибо.
Где твой движок написанный на твоем собственном языке програмирования в твоей собственной ОСи?
Жду ответа, уверен, ты не полон говна
Ты забыл упомянуть, что компьютер он тоже должен был сам спаять, паяльником, который сам собрал.
Слился.
И металлы сам сплавить из железной руды, добытой из земли киркой, которую сам выточил из камней и дерева, которое сам вырастил из земли, которую сам создал из газопылевого облака, которое сам из Большого Взрыва создал.
И всё это должно работать на самостоятельно добытом электричестве.
Иди конструктор собирай, болезный. Твое преувеличение тут в не в тему.
Напишу твой шейдер за 500 рублей
Можно ли в шейдере вот так сделать: по сгенереному скриптом мешу, где заданы 4 вершины их цвета нарисовать две линии заданной ширины? Можно ли такое замутить в юнитивом новом редакторе шейдеров? Или может кто накидает код?
Сижу разбираюсь вот. Тот, который в юнити он медленный. А я хочу запилить быстрый)
Открывай профайлер и смотри кто там чего жрёт.
>но хотелось бы узнать что за хуйню ты там творишь чтобы давать более адекватные советы.
Задача в запиле карты размером примерно как в арме. С такого рода задачами я ещё не сталкивался, поэтому туплю.
Ага. Нашёл пару таких шейдеров. Пытаюсь в них разобраться. Чёт с нуля вообще туго идёт. Нужно больше теорией обмазаться.
Аноны, может запилите мне простой пример, где на входе вертексы, а на выходе квадраты в позициях этих вертексов?
Ну или вот этот пофиксите. Он вроде это и должен делать, только ещё не делает. https://pastebin.com/VAi8678D
да можно и по двум. например https://pastebin.com/SL7Hej9A
и совать в буффер структы вроде
public struct LineData {
public Vector3 a, b;
public Color color;
public float width;
}
>Можно ли такое замутить в юнитивом новом редакторе шейдеров?
неа
только нахуй тебе оно надо? быстрей чем юнити-линии выйдет врядли.
>>21528
ты сначала выкрути клиппинг плейн в масштабах проекта и посмотри сломается или нет.
1. в юнити заработает, но не будет кроссплатформенным. как туда интегрировать glsl шейдеры я уже не подскажу
2. программку скомпилируешь и посмотришь.
3. я думаю сможешь по аналогии и для cg сделать.
Ок. Тогда давай.
>быстрей чем юнити-линии выйдет врядли
Вот это быстрее https://www.assetstore.unity3d.com/#!/content/54118
Ща юнька включится посмотрю чё у тебя в пасте
ты сначала в лимиты прежнего упрись. юнити-линии конечно та ещё хуйня если хочется просто разноцветные отрезки порендерить, но к производительности никаких претензий лично у меня нет.
>>21659
я же написал. через буффер оно ставится. можно сделать собственный ComputeBuffer, сделать ему SetData с массивом всех линий, а потом сунуть всю хуйню в Material.SetBuffer
хуй знает как там с всякими сраными платформами вроде могилок. но вообще можно разумеется и из меша брать. хотя чтобы меш рендерить там и попроще и получше готовые решения есть.
Короче мне в общем-то линии и не нужны. Мне нужно именно по вертексам квадраты рисовать цветные. Собираюсь симулятор песочка сделать поэтому нужно чтобы было быстро. А про линии я написал потому что сейчас через этот плагин сделал пиксельную поверхность и там как раз по двум точкам пиксель строится. Не подумал что можно ещё быстрее.
Ещё есть проблема что то, что нарисовал шейдер нельзя освещать лампочкой. Это почему может быть?
почитал бы лучше про гпу партиклы и прочую смежную хуйню тогда https://habr.com/post/248755/ например
ты освещение то в своём шейдоре написал?
>ты сначала выкрути клиппинг плейн в масштабах проекта и посмотри сломается или нет.
Крутил, вроде норм.
>гпу партиклы
Вообще охеренная вещь! На хабре есть пара крутых демок для юнити.
https://github.com/sugi-cho/Unity-GPU-Particle
https://github.com/sugi-cho/GPU-Particle
Во второй у меня почему-то только в окне эдитора партиклы отображались.
Тут тебе и производительность и освещение работает, только тут посложнее, чем я тока могу осилить. Оставлю на будущее.
>ты освещение то в своём шейдоре написал?
Да не писал я шейдеров. просто взял тот, что из плагина и повыкидывал из него лишнее. Освещение в его полной версии тоже не работало.
Так получается что бы оно заработало нужно какой-то модуль добавить в шейдер?
А как взаимодействие этих частиц с физикой это вообще пушка!
Чтобы туда залить свои ассеты обязательно устанавливать юнити?
Здарова, девелоперы. В общем такая тема. В качестве Terrain по которому будут ходить используются другие объекты, пик 1 (такая небольшая платформа). Но вот незадача, куб проваливается в нее до террейна и ходит сквозь нее. Когда отключаю NavMeshAgent и включаю гравити, то куб становится на платформу. Итого получается что Куб с ригидбоди и гравитацией нормально становится на платформу с меш коллайдером. Как только я на нем включаю мешагент+гравити он проваливается и начинает дрожжать, но если выйти из платформы, то куб будет врезаться в нее. Вырубаю к хуям Gravity и ставлю галку на Is Kinematic, то он начинает адекватно себя вести, но проваливается(пик2). Вопрос, как сделать так, чтобы на платформе могли находиться другие объекты и не проваливаться?
Да
Антуаны, как, по вашему, реализована херня, которая красиво рассыпается и собирается назад, что бы убить ГГ?
Слишком сложный симулятор бега
Ладно, дрочилы. Разобрался от части без вас. Но появился другой вопрос. Как ставить деревья или объект, ту же самую платформу через кисти? Сама платформа и объекты имеют меш и саму текстуру. Где-то читал что хуй так получится, хотелось бы узнать как правильно кидать деревья на терраин.
>Антуаны, как, по вашему, реализована херня, которая красиво рассыпается и собирается назад, что бы убить ГГ?
Делал что-то похоже.
Скорее всего это просто импортированный скелет с анимацией, а объекты в скрипте располагаются относительно трансформов костей.
>Как ставить деревья или объект, ту же самую платформу через кисти?
не ставь их через кисти. нахуй ты вообще собрался платформы ставить как деревья, наркоман? в данный момент деревья в юнити отбитые, не пользуйся ими для этого.
но если конечно хочется очень сильно то можешь выбрать минимальный размер кисти и собрать себе хандлесы чтобы редактировать позицию и ротацию каждого дерева на террейне. или какую-нибудь другую хуйню чтобы совать инстансы деревьев по одному в чётко указанное место с чётко указанной ротацией.
> ComputeBuffer _vertexBuf = new ComputeBuffer(mesh.vertices.Length, Marshal.SizeOf(mesh.vertices[0]));
в качестве stride лучше укажи sizeof(float) * (3 + 3 + 4 + 1)
> _mat.SetBuffer(?????????, _vertexBuf);
имя буффера в ШЕЙДОРЕ. в моём случае line_data
а вообще хуль ты с линиями ебёшся? сделал бы аналогичную хуйню для квадратиков и указывал бы просто координату и цвет.
Ну ты ж мне для линий сделал. Я с этим сейчас разберусь и сделаю для вертексов.
>в моём случае line_data
аа. Так и думал. Прост в доках написано что нужно имя свойства, а у тебя свойств вообще нет.
>в качестве stride
size, да? А почему так?
https://pastebin.com/ABJMTWvc лол да на. заодно и пример использования на https://pastebin.com/T01fqXLV
не то что бы я был каким-то там экспертом в написании шейдоров, тут в общем-то та ещё хуйня написана.
хотя просто для вертексов можно и попроще и совать не структы и буффер а просто вертексы тягать из меша. я правда не помню какие там параметры указывать.
>size, да? А почему так?
хуй там знает как оно байтики посчитает. лучше указать так сразу.
>>21843
почитай уже документацию глубже. в интернете миллион вагон инструкций как сделать освещение. у юнити про сурфес шейдоры можешь почитать. https://docs.unity3d.com/Manual/SL-SurfaceShaderLightingExamples.html
eh. говна в экзамле написал. ну да и хуй с этим, думаю понятно че я в виду имел и какую ручку крутить.
Да норм. Пока свой скрипт переделал. Спасиба.
А если не через буффер, а через
mesh.SetVertices(vertices);
mesh.SetColors(colors);
и проперти шейдара для размера точки
это же ещё лучше будет?
А если мне допустим нужно сгенерировать лес в определенной области и прочую хуйню, то что делать? Генерировать я его должен из своих моделей.
скорее бесплатная альтернатива aStar с некоторыми специфичными фичами
взять можешь хоть сейчас https://www.assetstore.unity3d.com/en/#!/content/85181 на ассетсторе. там правда версия с начала лета. ближе к концу лета выложу следующую версию которая не генерит такое ебенячее количество мусора и не подыхает если в один чанк сунуть дохуилион обжектов. после этого останется отрефакторить ту часть которая разбивает контур на конвексные област и этим наверно даже можно будет нормально пользоваться.
>>21849
на самом деле как я уже сказал - для мешей там можно и попроще. у мешей же и так есть Mesh.colors можно сунуть меш и совать в шейдор собственно вертексы меша без всех этих выебонов с буффером. плюс не надо будет каждый раз совать весь буффер если захочется меш подрыгать.
лично у меня буффер просто чтобы иметь возможность указывать размер каждого вертекса, так как с этим проще дебажить.
>>21850
смотря че ты там генерить собрался и как. ничего тебе не мешает сгенерировать лес и сунуть его в террейн. дохуилион экзамплов процедурного террейна в юнити можно найти и как совать туда свои деревья. у меня например такая хуйня есть на скриншотиках. генерирует рандомные точки по маске, немножко разделяет и сует на эти точки деревья.
в террейн можно сунуть префаб дерева, а потом добавлять инстансы деревьев которые ссылаются на этот префаб.
>плюс не надо будет каждый раз совать весь буффер если захочется меш подрыгать
Ну у меня будет просто сетка из точек, и основная нагрузка будет на метод SetColors(). Нужно будет систему чанков сооружать, а с ними тоже есть косяк. Из-за странного ограничения по вершинам на меш не получится сделать чанк 256x256, а ведь не хватает всего 536 вершин! Хотя такой большой чанк наверное обновляться долго будет - хз.
Классный генератор. Тоже твой? И что за редактор?
у юнити же до этого вроде лимит был 65534 вершин, не? в любом случае какой-то сильно дохуя огромный чанк. как бы совать данные на видеокарту то далеко не самый быстрый процесс. вообще если ты карту высот собрался делать то сунул бы её как текстуру с картой высот собственно.
мой конечно. у юнити есть класс UnityEditor.Graphs с клёвым UI, на котором сделан этот UI для меканима. я заглянул чё там внутри, разобрал и собрал по моему вкусу. применил это чтобы сделать нодовый редактор хуйни для террейна. потратил неделю может. получилось ничётак. потом в свой проект суну.
Как решаешь проблему с травой, она же убер дофига фпс сжирает или у тебя не анимированная?
Действительно 65534. штош, херово гуглил значит.
Не, не для карты высот. Хочу сделать что-то типа the powder toy и cortex commamd.
А у тебя случайно не выживалка на острове будет? Давно залипал в stranded2 и с тех пор жду пока сделают что-то подобное. Сделали stranded deep, но это не совсем то. Даже сам начинал делать ещё на флеше, но меня хватило только на генератор поверхности острова.
чёт не замечал чтобы она что-то там сжирала особо сильно. фпс были за 60 даже если я выкручивал её на максимум.
один хуй я генератор делал, а не смотрел тормозит ли трава.
>>21862
в 3д чтоли? а то лол по нормальному то и не надо каждый партикл рендерить как какие-то квадратики, а просто рендерить их в текстуру и её рисовать. вообще есть такая игра как Jelly in the sky, где на танчиках в манной каше катаешься. https://habr.com/users/thisiszolden/posts/ можешь почитать публикации девелопера, может чего интересного увидишь.
нет конечно. просто генерировать острова довольно легко. 2.5 биомы, конечный размер мира. чтобы сделать какой-то базовый функционал самое то. делать очередной выживач сейчас это надо быть совсем дураком. страндед 2 с её обезьянами конечно был чем-то приятным в своё время, но это всё равно что клон пубг делать сейчас. мои потребности в клонах страндед вполне были удовлетворены the forest.
сейчас у меня есть 2 идеи. либо сделать что-то вроде помеси neo-scavenger и sir you are being hunted, но с намного более агрессивным ИИ и сделать упор на стелс. либо сделать симулятор менеджмента корована на манер скачи-мочи, или battle brothers но с фокусом на более мирную деятельность. думаю в итоге продолжу делать второе, гораздо проще довести это до играбельного состояния.
Пацаны как сделать 1пиксельный бордер вокруг кнопки? Это нужен спайрт 9х9 с прозрачным пикселем посередине? и типа его слайсишь там и растягиваешь? Или как? Рил пацаны надо всего просто бордер сделать и все. Ай, не бейте.
Вот так чтоб было!!!111 Там есть спрайты стандартные скругленные, но они нахуй не всрались.
Вот прям чтоб так — это надо отдельный спрайт ебошить. Потому как тот же Outline при белом цвете тебе просто копию основного спрайта пиздрячить будет ёпту бля.
Так епта как спрайт то ебошить, 9х9 с пикселем по середине покатит? Как мне бля буду фотошоп дауну пояснить что мне надо ? Пизда, стандартынй сука спрайт, юнити гандоны не догадались положить его в комплект.
Так, падажжи, ёбана. Тебе вообще чё надо?
Чтоб вокруг твоего спрайта была обводочка и всё такое? Ну так просто пиздани спрайт обводки и подложи его под основной, выставив ему Order in Layer меньше основного ёптанах.
Ну так нарисуй/закажи его.
Не, в 2d. Даже так будут проблемы с производительностью да и алгоритмы там намечаются непростые. Так что хоть бы плоское сделать.
Да, я читал статьи про Jelly in the sky и хотел в него поиграть особенно из-за того, что раньше очень нравились pocket tanks и думал будет что-то подобное, только с живой физикой и мультиплеером, но оказалось что на моей видюхе всё жутко лагало, а сама игра была всё-же сильно похожа на технодемку.
Ну neo-scavenger это же именно выживач. И как и battle brothers они двадешные и пошаговые. А если у тебя 3d, то наверное придётся жертвовать разнообразием и возможностями или растягивать разработку и допиливать функционал после релиза. А стелс вот лично мне как-то вообще не заходит.
Если у тебя острова небольшие, то как насчёт менеджера поселения каких-нибудь аборигенов как в римворлд?
В любом случае, когда начнёшь, пили какие-нибудь видосы. Было бы интересно следить за разработкой.
А нахрена спрайт-то? Просто имаге пустой белый под свой квадрат поставь, ну или да, как ты говорил, через спрайт эдитор. Только размер бери 8х8. Типа кратное двойке должно быть быстрее. Но это не точно.
Берёшь и без задней мысли вкатываешься.
Юнитикачество. Ничего нового.
Двачую вопрос. Тоже интересуюсь этой темой
Например, есть 2 массива:
Vector3[] position, speed; и такой код for (i = 0; i < 10000; i++) position += speed;
И есть такой код: for (i = 0; i < 10000; i++) components.position += components.speed;
Я так понимаю, что в первом случае данные все равно кешироваться, или все-таки лучше писать по второму?
Индексы проебались
ну вообще я про методы отрисовки в целом писал, потому как какие-то там чанки в общем-то не так и сильно нужны если ты можешь просто скейлить масштабы того что ты там отрисовываешь в текстуру.
neo-scavenger в целом такой-же выживач как fallout 1-2. он куда ближе к рпг чем к выживачу. не, первый вариант скорее что-то ближе к Rain World, только в 3д и в качестве ИИ выступала бы более целостная сущьность. второй вариант - battle brothers и скачи мочи их в целом объединяет то что это игры про путешествие из одной точки карты в другую. думаю можно сделать что-то интересное именно про этот аспект. второй вариант мне кажется проще. если в первом варианте это будет неиграбельно до тех пор пока ИИ не достигнет каких-то высот, то второй вариант играбелен почти сразу и его гораздо проще расширять.
острова то можно и сделать большими же. к тому-же игр про менеджмент поселений сейчас слишком много и они продолжают развиваться. не догнать.
лол это то само собой
>>22127
итерация по одному массиву разумеется всегда быстрей.
НО пример который ты привёл не покрывается только этим.
а) делая position += speed ты каждый раз лезешь в конструктор Vector3. вызов дохуилиона конструкторов у struct тоже не бесплатный
б) есть некоторая разница между массивом ссылок и массивом значений. массив с структами может целиком нормально залезть в кэш процессора и тогда итерация по нему быстрая-быстрая. тогда как итерация по массиву с ссылками сравнительно медленная.
например код: https://pastebin.com/0nE7cded результат на скриншоте на моём i7-2600k
если интересно то это можно ещё дальше оптимизировать инструкциями компилятора. https://docs.unity3d.com/Manual/IL2CPP-CompilerOptions.html можно отключить проверку границ массива, например.
а вообще. чё ты спрашиваешь то? сядь и проверь что быстрей. только один способ узнать.
хуй его знает как и что у тебя там. можно же например хранить и позицию и скорость в одном структе в хуй пойми каком виде чтобы байтики сэкономить и обновлять их вызывая метод, чтобы лезть по индексу только один раз. так то просторы для оптимизации определяются конкретными условиями.
>а вообще. чё ты спрашиваешь то?
Я спрашиваю вообще как подход лучше. Хочу написать убийцу юнитивского ECS.
а нахуя? быстрей чем кодкапотная магия у тебя явно не выйдет. можно какие-то узкие случаи сделать быстрей чем ECS, но что-то общее вряд-ли. https://jacksondunstan.com можешь почитать этот блог, там довольно много разжевываются вопросы оптимизации.
я мимопролетный но блог заценил.
Наконец-то узнал разницу между FixedUpdate и Update. 2 пива тебе
> Наконец-то узнал разницу между FixedUpdate и Update
Ебать ты пиздатый. Ещё узнай разницу между Start и Awake и все вообще охуеют.
Ну да, ведь статичные методы больше нигде не используются, только в юнити, угу.
Почему процессоры и компиляторы не оптимизируются под ООП? Это заговоров процедурщиков?
Ты ебанутый, я спрашиваю как вынести код в отдельынй файл. Так как оснвной класс и так большой, а лепить в нем еще один класс это пиздец
Так класс Mocha уже есть, если я еще один создам, будет конфилкт, надо как-то укзатаь что класс принадлежит другому классу.
Пропиши ему другой неймспейс
>отрисовываешь в текстуру
В том же cortex command сделано чанками, А с отрисовкой в текстуру через setPixels я делал. Там тоже чанки были и изменяя их размер я увидел как начинаются тормоза когда они становятся большими. Поэтому на шейдеры и перехожу.
Игруху нашёл где уже реализовано практически всё то, что я сейчас и пытаюсь делать. Rise to Ruins называется. Там свет чувак хитро сделал. Через отдельный слой тени, который делается прозрачным там, где должно быть светло. Это должно быть намного выгоднее, чем лампочки юнити.
Короче переделал я твой шейдер как рашьше писал, но что-то он багует. Не все вертексы отрисовывает и перемешивает порядок отрисовки относительно удаления от камеры вертекса. Подскажи как фиксить? https://pastebin.com/zBHdcbY6
>лол это то само собой
Искать на канале у тебя или тут?
вообще, видел, хоть особо и не вчитывался. вроде норм. а че не так то с ним?
>>22159
скейл то применил?
>>22260
namespace чтоли спрашиваешь? вообще ты можешь классы объявлять внутри других классов. можешь ещё и partial писать и разносить один и тот-же класс по разным файликам.
>>22285
потому что глупая машина не читает мысли и чем проще код тем лучше машина понимает что от неё хотят.
>>22316
>setPixels
да нет, я говорю что в текстуру на ГПУ прямо рисовать. держать весь буффер вокселей на ГПУ, менять этот буффер на ГПУ и прямо с ГПУ рисовать в RenderTexture которая там и остаётся. нет же нужды особо что-то из этого на ЦПУ возвращать и темболее рисовать им что-то.
>Не все вертексы отрисовывает
тут уже хуй знает что у тебя там не отрисовывает и почему. проверь содержание того что ты суёшь в буффер. проверь размер stride. хуй его знает что там у тебя то.
>перемешивает порядок отрисовки относительно удаления от камеры вертекса
потому что лол его там и нет. там же сверху написано ZWrite Off. я тебе пример того как менять геометрию дал, а не как шейдоры писать же. окунись уже в написание самих шейдоров, посмотри что там все эти магические слова делают.
>Искать на канале у тебя или тут?
да и тут и там.
>в текстуру на ГПУ прямо рисовать
Всё на ГПУ? Вообще не представляю как это. Куда гуглить-то?
У меня ж теперь без stride
>окунись уже в написание самих шейдоров
Так это, окунаюсь. Слова только эти пропустил чёт.
в сторону Compute Shaders, куда. уже посылал тебя туда, а ты все не идёшь. вон например имплементирует Conway's Game of Life https://youtu.be/qDk-WIOYUSY где вся хуйня на гпу. я не думаю что можно обьяснить это ещё более доходчиво.
почитай про все эти магические слова сверху шейдора и удели им внимание, с ними очень уж много важной магии.
Открываешь такой доки по System.Collections.Generic.List, а там вместо своств и методов класса ссылка на youtube-видео, где мудень с розовыми волосами 2 часа, мекая, рассказывает какие у листа методы.
А, сорян, уже иду.
Прост я посмотрел их не разбираясь и отложил, продолжив свои пиксели делать. Сейчас их в порядок приведу чтобы хоть что-то было и буду эти computы разбирать.
Надо со вторым кудрявым такую же сделать и с двумя сразу.
Это снова я. Вот тут кто-то спизданул, что компоненты хранятся сорированными по entity id
https://gamedev.stackexchange.com/questions/82030/how-are-entity-systems-cache-efficient
>Most ECS sort their component containers by Entity ID
Как вы это себе представляете? Не станет ли добавление и удаление компонентов боттлнеком, особенно при динамичном добавлении/удалении компонентов?
Чтобы быть дата ориентированными, компоненты нужно хранить в массиве один за другим, без пропусков, да еще и сортированными. Если я удалю компонент из середины списка, то это придется прошерстить половину массива!
Кажется дата ориентированный ECS это просто утопия, невозможная на практике
>Чтобы быть дата ориентированными, компоненты нужно хранить в массиве один за другим, без пропусков, да еще и сортированными.
не обязательно, тут суть чтобы в кеш влезало много мелких хуиток вместо одной жирной.
> Если я удалю компонент из середины списка, то это придется прошерстить половину массива!
То ты его не удаляешь, у тебя там просто будет флажок что компонент неактивен и обрабатывать его не нужно. При создании ты просто из списка свободных компонентов берешь компонент и назначаешь ему поля, снимая флажок.
Смотришь такой размер кеш-линии своего штеуда. Смотришь такой sizeof() твоей структуры, сравниваешь и думаешь - надо оно тебе или нет. Если занимает больше 2 кеш линий и объектов при этом больше тысячи - то определенно стоит.
>не обязательно, тут суть чтобы в кеш влезало много мелких хуиток вместо одной жирной.
Большинство систем работает не с одним компонентом, а с несколькими.
Смысл сортировки в том, что на практике в системах нам нужно получать список энтитей с определенными компонентами, а потом уже получать эти компоненты из списка энтитей.
что-то вроде
foreach (var entity in entities.GetEntities(new Group(typeof(TransformComponent), typeof(RenderComponent)))
{
// тут мы загружаем cache line с трансформами
// в идеале, компоненты должны идти один за другим, чтобы следующие компоненты были в этой cache line
// если компоненты не сортированы по entity ID, то например, компонент для entity 0, может быть в нулевом элементе массива, а компонент для entity 1 в 20 элементе массива! Будет постоянный random access по массиву
// следующие компоненты не в уже загруженном кеше, тут будет постоянно проебываться кеш и производительность!
var transform = entity.GetComponent<Transform>();
var render = entity.GetComponent<Render>();
}
>То ты его не удаляешь, у тебя там просто будет флажок что компонент неактивен и обрабатывать его не нужно
И будет в кеше куча дырок и проеб кеша,
У меня встал вопрос. Правда не по юнити, а по 3d моделированию. Короче если я свой шейдор накидываю на обычную модельку, то все квадраты рисуются белым. Цветными они становятся после того, как я вертексам назначаю цвета через mesh.SetColors. А можно эти цвета назначить заранее на модельку?
Либо может можно сохранить сгенеренный меш? Тогда ещё лучше. Можно редактор запилить.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
List<List<int>> arr = new List<List<int>>();
void Start () {
arr.Add(new List<int>(){1,2,3,4});
arr.Add(new List<int>(){5,6,7,8});
Debug.Log(arr.Contains());
}
}
Там обязательно должно быть равно
4,5,6,7 != 5,4,7,6 даже если все те же цифры
1:1 должно быть, иначепиши свой сравнивалку
Да у меня вообще не запускается, красным подчеркивает. А через Contains нельзя разве?
>performance by default (ECS и их новый job system)
Где можно прочитать про это?
И че серьезно, писать в MonoBehaviour это уже моветон?
Наверное где то в аниматоре прописывал траектори для каждого объекта а потом все в месте скомпонировал.
>А через Contains нельзя разве?
Нельзя, потому что в данном случае это ссылочный тип данных и он не сравнивается по значению.
>Ссылки хуилки, говно какое-то, констракт лучше, там такой хуйни нету.
Красавелло братуха всё чётко базаришь
Кажется я понял как работают job системы в юнити.
Суть примерно такая https://pastebin.com/dUKusvVp
не-не в блендоре же есть скейл для имплорта а есть скейл самой модели
>>22441
хули ты вообще какой-то отдельный метод ищешь для такой хуйни? ебанул бы в for лупе вложенный другой for луп с флажочком.
>>22547
что за хуйню ты творишь то? ты пытаешься свой велосипед сделать, или что?
может документацию лучше почитаешь, не? в этот раз даже что там под капотом почитать можно немного https://github.com/Unity-Technologies/UnityCsReference/tree/15562ea1a55a98587abcea8f0c4aa5bfa379788c/Runtime/Jobs/Managed
>хули ты вообще какой-то отдельный метод ищешь для такой хуйни?
Я не искал, я хотел понять почему этот не работает. И до сих пор не понимаю, ну да и похуй.
>что за хуйню ты творишь то? ты пытаешься свой велосипед сделать, или что?
Я делаю свою ECS, потому что та, которая в юнити - говно.
в чём твоя проблема то с ним? м? что ты там за хуйню творишь? ты же понимаешь что юнити тебя нахуй будет посылать регулярно с твоими потугами на многопоточность? если тебе не нравится стул с пиками то всегда можешь пересесть на Entitas, или LeoECS
>в чём твоя проблема то с ним?
В том, что его пиарят уже больше года, и до сих нет ни одной строчки документации (посылают смотреть выступления каких-то бомжей). В том, что там всратый невменяемый API (единственный нормальный пример как пользоваться этой хуйней я нашел на сайте интела(!) https://software.intel.com/en-us/articles/get-started-with-the-unity-entity-component-system-ecs-c-sharp-job-system-and-burst-compiler)
Очевидно, что очередная маркетинговая хуита, которая загнется как только в юнити придумают новый модный слоган. Как впрочем, что в юнити сделали в последнее время.
>посылают смотреть выступления каких-то бомжей
https://unity3d.com/ru/learn/tutorials/topics/scripting/introduction-ecs?playlist=17117 на, посиди, посмотри ужатую версию выступления этих бомжей.
>единственный нормальный пример как пользоваться этой хуйней я нашел на сайте интела
в котором используется хуита с выступления этих самых бомжей. сходил бы ты знаешь куда? на гитхаб. https://github.com/Unity-Technologies/EntityComponentSystemSamples
вместо того чтобы сидеть и выдумывать очередной велосипед лучше бы API изучил и игры делал
>юнити тебя нахуй будет посылать регулярно с твоими потугами на многопоточность
Многопоточность там в принципе является оптимизацией сборки компонентов из ентитей. Сами ентити можно обновлять в главном треде и все равно получить прирост скорости (наверное).
Да говно эти видео для школьников. Ты мне конспекты предлагаешь по ним писать? Это же все моментально вылетает из головы.
бгг. отличная идея. (нет)
темболее что сам ECS не про многопоточность а про то как хранить всё это в памяти не через жопу. для меня является большой загадкой нахуй городить велосипед, если уже есть другой и ещё другой и ещё третьй и четвёртый. просто из-за того что не можешь посмотреть видосики с инструкцией.
>>22582
конспекты по пятиминутным видео? сходил бы к врачу, голову проверил. если у тебя там что-то из головый вылетает то сядь короче, открой видяшечку на втором мониторе и повторяй то что там происходит. там вот куб заставляют крутится. круто, да? вот хопа можно сесть и за пять минут научится крутить куб! вместо того чтобы сидеть и вечерами писать своего убийцу ECS
>бгг. отличная идея. (нет)
Алсо, Job System по сути никак не связан с юнитивским ECS. Это просто система, которая возвращает жобы. Можно сделать более лучший враппер для job system и встроить в любую существующую ECS.
Нет, ты просто мечтаешь запилить пубг на юнити, гаденыш.
хоспаде, этот мемный ебучий петух у них уже вместо официальной документации
Как сделать змейку типа пикрил, только чтобы сама змейка была плоской, в виде полигонов?
Я уже полторы недели не могу сделать.
Если вы не моя армия и т.п. скажите хотя бы в правильном ли направлении смотрю, вот супер вкратце мой код
Map > blocks[ , , ] индексы это позиция в пространстве
Block > faces[6] (у кубика 6 сторон)
Класс Snake двигает пустышку по пространству и манипулирует фейсами в классе Map типо такого
map.SetFace(snake.pos, snake.up, null)
... move snake ...
map.SetFace(snake.pos, snake.up, new SnakeHeadFace(snake.up))
Лол, дело не в этом, а вот что мне нужно например спавнить еду, а чтобы её заспавнить нужно найти пустую клетку, вот я и не ебу как организовать отслеживание пустых\занятых клеток
да но что бы проверить наличие там объекта нужно сначало это объект туда засунуть или высунуть когда он движется в пространстве, так?
Нет у тебя уже есть объекты, которые расположены на поверхности куба, ты берешь и в for сравниваешь координаты тех объектов и предполагаемым местом еды, если совпало выбираешь другие координаты где нету объекта.
Бля это понятно
Есть спрайт, просто квадрат, допустим мне нужно изменить его цвет во время игры. Я делаю это при помощи color(r, g, b). Но как мне изменить только половину цвета этого квадрата? Или еще круче - изменять его цвет понемногу чтобы он окрасился снизу вверх и это было видно?
надеюсь я внятно объяснил
>Но как мне изменить только половину цвета этого квадрата?
Покрути настройки градиентной шкалы.
>Или еще круче - изменять его цвет понемногу чтобы он окрасился снизу вверх и это было видно?
Через корутины, берешь компонент градиента и крутишь настройки в коде.
если ты дно в програмировании и не умеешь пока супер внимательно читать доки, советую обойтись без корутин.
Но ведь в корутинах нихуя сложного.
WPF своеобразная штука. Когда к ней привыкнешь оказывается вполне себе удобной. Но нюанс в том, что даже сотрудники микрософта, которые читают по ней лекции, толком не знают как она под капотом работает.
Ну просто я привык что в юнити вот он объект в иерархии, вот они его компоненты, вот я скрипт хуйнул и к нему присобачил.
А в WPFе же так не прокатит?
>Псаны, тяжко ли переходить с Юнити на WPF
Ну и да, особых проблем быть не должно. ах если бы в юнити гуи на ксамле рисовать можно было
>А в WPFе же так не прокатит?
Так - нет. Там ты нахуячил свойств и комманд во вьюмодели, забиндил на них элементы гуя и все.
Ты ебан, чем мне их отрисовывать, тысячей кубов блядь? Лайнрендерер и прочее говно можешь себе в очко забить
хули тебя в лайн рендерере то не устраивает?
Твой выбор - годот
Можно еще меньше, если отключить кое что.
Радуйся что так мало. VS 2015 вообще нельзя было настроить и он качал все 30 гигабайт говна.
Так это нормально что ли? Я думал лишнего чего-то по юнитипидарской ошибке накачать хочет.
Там около 3 гб самый минимум. В расширенных настройках выключи все что можно.
При чем тут Юнити вообще, еблан криворукий? VS -- продукт майкрософт, ты точно такой же VS будешь качать для UE4 или CryEngine.
>Жалко 3 гб места
>Не могу снять галочки в инсталлере
>Это юнити говна в жопу залило!
Откуда вы, долбоебы, лезите
Он автоматически устанавливается по указке юньки, ебанушка, по гнилой указке юнитиговна. И не работает нихуя.
30минут устанавливалось, установилось до 99.99% и воть.
Короче, скорее всего это потому что у меня ломаная виндавс 10 лгбт с отключенными обновлениями. Ничего не поделаешь.
> это потому что у меня ломаная виндавс 10 лгбт с отключенными обновлениями
Мда, охуительное мнение анимедебила Димона за 8-го класса.
Ты подразумевал ltsb? Ну так вот у меня тоже ltsb, тоже ломаная, но почему-то всё работает.
Не лезь с таким мозгом в кодинг, только время зря потеряешь.
Ты ебанутый? Зачем ты штудию через упити устанавливаешь?
Скачай студию отдельно, выключи все кроме поддержки unyti (там есть прямо в установщике), убери галку с установки унити (т.к. он уже у тебя установлен). Все!
>охуительное мнение анимедебила Димона за 8-го класса
Это не мое мнение, так написано в комментах к ошибкам майкрософтамцами. Пишут, что накатил обновлений и все заработало. Тебе лишь бы пернуть, сволота.
>>22996
Да она устанавливается и работает, хули вы такие тупые, нет автозавершения для юнитиговна и вообще НИЧЕГО НЕЕЕЕТТТТТ!!!
>Это не мое мнение, так написано в комментах к ошибкам майкрософтамцами. Пишут, что накатил обновлений и все заработало. Тебе лишь бы пернуть, сволота.
Ты серьёзно сравниваешь установку студии и настройку её под юнити с написанием самой студии?
Мда.
В том и дело, но у некоторых альтернативно одарённых всё таки приходится, судя по теме.
Ты все хочешь продолжать этот разговор, юнитипидарка? Совсем ебанулись уже юнитипидары, ошибки юнитиновна перекладывают на беззащитных пользователей. Не устанавливается - это не юнитиговно виновато, это ты виноват, что не можешь их ошибку обойти. Ох уж эти юнитипидары юнитиговна.
У всех устанавливается, а у тебя — нет.
Но ты не расстраивайся, ты не дебил, ты просто ОСОБЕННЫЙ. Это твой дар.
Какой ты молодец.
> тупо название функции кинул и збс.
Ну кидай строку с именем метода на вход, а потом через Invoke вызывай.
ни понял типо такого?
void AddListener(string eventName, Action listener);
Sosacher.AddListener("Obosralsya", funcToCall);
сделать на евентах проще и всё готовое, тебе остается только
Sosacher.onObosralsya += func;
либо
Sosacher.onObosralsya.addListener(func);
bydlo
AddComponent<>() - работает только с классами но не экземплярами
Создаешь объект, на него вешаешь, в чем дело?
> работает только с классами но не экземплярами
Чё?
https://docs.unity3d.com/ScriptReference/GameObject.AddComponent.html
Ты не можешь инстансить объекты, которые наследуют от Component, они добавляются напрямую, по типу инжекшен.
Инстансь ГО и потом сразу вешай компонент.
Если Tiles твой кастомный компонент - наследую соответственно от Monobehav/Component
RB
А вобще так можно, использовать спижженые асеты в коммерческих проектах? Дядя Хельгасон за жеппу не возьмет?
>А вобще так можно, использовать спижженые асеты в коммерческих проектах?
Конечно можно, не будь дауном.
Официально типа нельзя, а по факту всем похуй.
Первая ссылка документации майкрасофт:
Ключевое слово ref указывает на значение, переданное по ссылке.
Моё пояснение:
В с# по умолчанию объекты и массивы не явно передаются с помощью ref (от слова reference, ссылка).
Типы значений int, float, struct и т.д. в свою очередь передаются как копия. Если функция поменяет переданную в неё структуру(struct) измениться только копия переданная в функцию, вне функции всё останется как прежде.
Передавая тип значения при помощи ref, передается ссылка.
Дополню, что так же есть и out. Почти та же хуйня, но не нуждающаяся в инициализации.
Кароч смотри. Вот есть у тебя метод, который принимает float. Ну и он там с ним чёто делает, хуё-моё, ну и как бы похуй. То есть он принял именно значение, а не саму переменную, и если он с этим float'ом чёто там делал, то это никак не скажется на ту переменную, которую ты в него передал.
А тут ты такой ХУЯК и приписываешь ref, и пиздец, теперь ты работаешь не со значением, а с самой переменной, и теперь метод ебёт её как сучку и каждая метаморфоза это уже не просто число, а значение передаваемой переменной.
нахуи мне здоровье? мне нужны друзья, работа и социализация
>мне нужны друзья,
плеб
> работа
смотря какая работа, да
> и социализация
плеб
итого - быдло обыкновенное, мухосранское
15к мухосранск, за ручку в садике держался. зож на крестах не из-за принципов, а не с кем
Ну здоровье тоже заебись, ну чё ты ну
Чотко обьяснил, по-пацански. Уважаю
Типа такого деления или как это назвать, спиздил тут кста https://github.com/Zaphyk/project-skylines/blob/5d027460fc5ab4b8965118e9adcb10f72e56ba4d/Assets/World.cs#L95
30 >> 5 = 0
32 >> 5 = 1
64 >> 5 = 2
если ты навичок, то оно тебе наъуй не нужно. Если бы было нужно из за интереса, нашел бы сам довольно быстро и легко.
bitshift ?? звучит как bullshit. (можно смеятца)
Спасибо за охуенно информативный ответ, но может все таки сделаешь его чуть более информативным и подскажешь?
Сюда загляни, может чё полезное увидишь
https://unity3d.com/ru/learn/tutorials/topics/interface-essentials/building-custom-inspector
А вообще не парься, инспектор это так, пыль на рояле.
Я ебу? Мне просто скучно вот и пишу от нехуй делать. Если хочешь упороться можешь писать свои дополнения для инспектора(гугли custom inspector) Если не хочешь открой доки и юзай атрибуты типа space, header. Хотя смысла в этом не вижу чесно говоря для 90% проектов.
Всё пиздец. Трамп следит за мной лично и майнит моим компом зарабатывая свои грязные доллары. Как дальше жить не понимаю
Посоны, рассудите двух долбоёбов.
Вот мой товарищ пишет локальные переменные с маленькой буквы, а глобальные — с большой.
Я же пишу с маленькой все переменные, а с большой только методы.
Как же всё таки ПРАВИЛЬНО и существует ли это самое "правильно" вообще?
Ссылка на пост приклеилась, пардон.
По моему правильно это следовать одному стилю, а какому конкретно решать тебе. А вообще для всех языков существуют рекомендации по оформлению кода.
В веб-програмировании принято писать глобальные переменные с большой. Стайл гайды решарпера по-умолчанию тоже к этому подталкивают. В тех туториалах по юнити что я видел пишут с маленькой буквы, в api движка в данном случае тоже пишут с маленькой. Отака вот хуйня, малята.
если интересно то результат сортировки и результат всего сегмента кода.
>>23900
я поддерживаю написание всех переменных с маленькой буквы. а если сильно надо разделение то добавляю _ перед приватными переменными.
>>23715
ты какую-то удивительную хуйню творишь а которую можно смотреть разве что с лицом того мужыка который смотрел как орангутан молотком по гвоздям стучит. "что он пытается сделать? зачем? почему?". но ты продолжай. интересно смотреть!
Ебаный майкрософт со своими большими буквами и семантикой в именах членов.
С большой буквы пишутся все, что может выполнить код: методы, проперти, эвенты.
надо бы проверить, да. сейчас то я хуй чего проверю из-за того сколько там дебага везде воткнуто.
хотя кстати обычно в сбилженном виде разница у подобной оптимизации ещё более заметна.
>>23957
ну так. квиксорт это рекурсивный алгоритм. сортируется право и лево, потом право и лево от права и лева и так далее. вообще кстати интересно как бы его написать не рекурсивно.
>>23958
задаёт тут этот вопрос. написал так потому как у кондиций есть паттерн который так проще увидеть.
не ебу шо это, но судя по скринам всё работает. Скажу только одно К Р А С И В О.
мой навмеш, конечно же! вообще даже могу поделится моим ходом мысли. я в начале месяца >>18766 открыл хитрый метод как же мне хранить воксели. изобрёл линкел лист, но 2д и для структов. где в int next первого слоя хранится валидность значения и если значение валидное, то индекс следующего значения, если оно есть. получилось заебись, все воксели компактно хранятся в одном массиве, плюс рядом массив с пуллом свободных индексов. все пересечения минимальной и максимальной высоты собираются в один комок на этапе добавления. что до этого занимало ощутимое количество времени. и чёто это всё так круто и замечательно было что я в итоге переписал собирание всех вокселей этим методом, а не только для не конвексных фигур. после чего понадобилось отрефакторить дальнейшую обработку всех этих вокселей.
сделал чтобы все воксели шли один за другим, а разделения по x,z хранились как структ с индексом где воксели в этом столбе начинаются и сколько их там. получилось ещё лучше и быстрей, соседство между вокселями теперь можно хранить в short или даже sbyte. но появилась другая проблема - раньше результат за каждый меш хранился раздельно и объединялись в один большой только если могли объединится. а теперь они все слипаются в один большой ком. а надо же как-то разделять воксели на несколько 2д гридов чтобы триангулировать их. пробовал сделать чтобы в качестве грида выступал слой на котором воксели расположены. для 1 и 2 слоёв это работает нормально. а вот для всего остального оно начинает сильно фрагментироваться. и при кондициях с первого скриншотика кусок навмеша может вовсе скакать со слоя на слой, потому как между ними нет никаких границ.
теперь вот эту хуйню сделал. отсортировал все воксели по Y, если Y одинаковый то отсортировать по Z, если Z одинаковый то отсортировать по X. а дальше последовательно проверяю. если воксель содержит соседа у которого слой определён, то он пытается попасть на этот слой, если соседов у которых слой определён больше одного то делается попытка объединить разные слои, а если нет ни одного соседа с слоём то создается новый слой. в итоге получается это разделение на 2д регионы. довольно прожорливый метод, но по моему даёт лучший результат.
вообще кстати методов разделения на 2д регионы довольно много. есть например ещё такой популярный на втором скриншотике который несколько быстрей. когда для каждого вокселя считается расстояние до границы навмеша. а потом последовательно вся эта хуйня "затапливается". получаются довольно небольшие регионы которые легко триангулировать. но результат может быть довольно далёким от идеала. (по моему он кстати до сих пор в UE используется)
мой навмеш, конечно же! вообще даже могу поделится моим ходом мысли. я в начале месяца >>18766 открыл хитрый метод как же мне хранить воксели. изобрёл линкел лист, но 2д и для структов. где в int next первого слоя хранится валидность значения и если значение валидное, то индекс следующего значения, если оно есть. получилось заебись, все воксели компактно хранятся в одном массиве, плюс рядом массив с пуллом свободных индексов. все пересечения минимальной и максимальной высоты собираются в один комок на этапе добавления. что до этого занимало ощутимое количество времени. и чёто это всё так круто и замечательно было что я в итоге переписал собирание всех вокселей этим методом, а не только для не конвексных фигур. после чего понадобилось отрефакторить дальнейшую обработку всех этих вокселей.
сделал чтобы все воксели шли один за другим, а разделения по x,z хранились как структ с индексом где воксели в этом столбе начинаются и сколько их там. получилось ещё лучше и быстрей, соседство между вокселями теперь можно хранить в short или даже sbyte. но появилась другая проблема - раньше результат за каждый меш хранился раздельно и объединялись в один большой только если могли объединится. а теперь они все слипаются в один большой ком. а надо же как-то разделять воксели на несколько 2д гридов чтобы триангулировать их. пробовал сделать чтобы в качестве грида выступал слой на котором воксели расположены. для 1 и 2 слоёв это работает нормально. а вот для всего остального оно начинает сильно фрагментироваться. и при кондициях с первого скриншотика кусок навмеша может вовсе скакать со слоя на слой, потому как между ними нет никаких границ.
теперь вот эту хуйню сделал. отсортировал все воксели по Y, если Y одинаковый то отсортировать по Z, если Z одинаковый то отсортировать по X. а дальше последовательно проверяю. если воксель содержит соседа у которого слой определён, то он пытается попасть на этот слой, если соседов у которых слой определён больше одного то делается попытка объединить разные слои, а если нет ни одного соседа с слоём то создается новый слой. в итоге получается это разделение на 2д регионы. довольно прожорливый метод, но по моему даёт лучший результат.
вообще кстати методов разделения на 2д регионы довольно много. есть например ещё такой популярный на втором скриншотике который несколько быстрей. когда для каждого вокселя считается расстояние до границы навмеша. а потом последовательно вся эта хуйня "затапливается". получаются довольно небольшие регионы которые легко триангулировать. но результат может быть довольно далёким от идеала. (по моему он кстати до сих пор в UE используется)
надо бы с чем-нибудь ещё заебать! я не виноват что кроме меня никто в тред ничего такого не тащит сейчас.
стоит сказать что я и на тупые вопросы в треде иногда отвечаю. считаю что это делает мою карму нейтральной.
почему нет пакеджей в меню как в туториале? из стора качаю, импортируются вроде, но в этом меню всеравно пусто. как быть?
версея 2018.2.4
лучше следовать правилам принятым в языке.
в Go вообще код форматируется под единый стандарт. это избавляет от вечных споров.
однажды был свидетелем того как целый день оешали переносить скобки на новую строку или нет в проекте.
если говорить пользе которая заключается в разнице между прошлым и новым методом то пожалуй главное отличие в том что раньше всё хранилось в памяти через жопу, что ощутимо влияло на производительность. а теперь я и нормально могу организовать пулл массивов и вся эта хуйня скорей всего залезет в кэш процессора и можно ещё и сверху инструкциями компилятора обмазать. в 3-4 раза быстрей эти воксели сейчас. плюс раньше количество фигур увеличивало сложность в квадратной прогрессии, теперь ближе к log(n) и зависит больше от площади добавляемой фигуры, чем от их количества.
хотя лол стоит сказать что проблема началась с того что я обнаружил что юнити теперь может иметь много коллайдеров у деревьев. и помимо нужды починить не конвексные коллайдеры у меня была нужда сделать добавление новых фигур в воксели быстрым-быстрым. а то лесочек на скриншотике мог целую секунду обрабатываться вместо 15-25 мс.
а так. если говорить об общей пользе то навигация оказалась таким крутым микроскопом что им не то что гвозди, можно сваи забивать.
>>23999
а я делаю. просто пока ничего интересного не показать.
>>24003
при загрузке юнити указываешь надо ли тебе стандартные ассеты. вообще, у юнити на экране загрузки есть вот эта кнопка с смешным названием в русской версии сайта. но она сейчас не работает. скачай стандартные ассеты с ассет стора и добавь нужные.
>>24007
йеп. только более современное решение и с большим спиком фич. местами сомнительных.
в прошлом треде были картинки, видео. можешь поглядеть. >>516941
братан, конечно, спасибо большое, но попробуй скачать. там file not found.
пробовал скачать из ассет стора - шото импортится в роект, но в меню пакажей так же не появляется ничего.
яж говорю что поломали эти дураки кнопку, она как минимум с 2018 не работает. попробуй это, beta.unity3d.com/download/66642ce3456a/WindowsStandardAssetsInstaller/UnityStandardAssetsSetup.exe с страницы с бетой вроде ссылка до сих пор работает. то что с ассет стора импортится в проект оно в меню не добавляется.
ебать я вглаза долблюсь. поиду затестю.
как у юнити с бесшовными локациями?
> как у юнити с бесшовными локациями?
Смотря какого размера.
Скайрим в одну сцену запихать не выйдет, например.
С полного нуля в пол года уложишся что бы сделать прототип. Но нахуя если для тебя придумали RGP мейкеры и т.п. хуйню
в фолаче-скаиримах все подгружается походу. лоды во все поля у тереинов, домов и тп. на низких настройках дома появляются из воздуха за 10 метров.
хотел бы, если возможно, развернутый ответ.
>>24060
со сталкером долбился много лет, много наработок, идеи осталось. есть знание шарпа. многих готовых вещеи мне кажется не наити.
да и хочется чтото типо a-life. когда нпс реально живут, ходят по локам, теребят свои стеит машины, имеют прогресс, а не как в коридорных играх грузятся каж раз по новой.
делаю чисто для души, если что.
> хотел бы, если возможно, развернутый ответ
Не совсем развёрнуто, но всё же.
Пару тредов назад кидали видео, где баба из Ледорубов рассказывала что они даже свой город в одну сцену запихать не смогли. С лодами и всё такое, да. Так что город у них сидит в 4-ёх сценах, которые как-то без палева между собой сменяются и типа даже не заметно.
Если видео найду - скину, она там рассказывала как они это лечили.
Во. Примерно с 7:40, но можешь и полностью посмотреть, раз обмазаться бесшовностью решил
https://www.youtube.com/watch?v=KJ56UGClpUE
Terrain используй.
В видео несколькими постам выше всё объяснено.
как траву фиксили непонял ниче
Видео посмотри, поймёшь.
Как тогда выгружать ненужные части освобождая ресурсы?
>и можно вызывать кучу GUI одновременно
А нафига тебе это? Не лучше сделать ограничение на один одновременно вызванный гуи?
да это без проблем, но проблема остается - другой интерфейс остается активным. т.е кликабельных элементов на экране полно и все можно активировать, вызвав их gui. все они разные, с разными тегами и в разных префабах.
Бля ну хуй знает, братан. Это такая сложная проблема, что вряд ли кто-то здесь сможет ее решить. Говорят конечно что можно отключить второй канвас через gameobject.setactive, но это далеко не каждому дается. Но если ты не боишься сложных задач, то можешь попробовать.
а если этого канваса нет? он инициализируется при клике на предмет, а значит и отключать нечего при инициализации предыдущего. если только в update не выключать всё подряд до бесконечности, но разве это выход?
Ну поставь на активный канвас невидимую панельку на весь экран, чтобы она заслоняла все остальные канвасы от кликов.
Есть такой слой, называется Ignore Raycast. Вот туда канвас временно и переноси, а потом назад возвращай.
Как понять особенности масштабирования? Юнити не может квадратом отрисовать один пиксель цi шо?
Бля пиздец какой-то, встрять на такой залупе
Двадцать лет учить матан нужно, чтобы понять, почему происходит так и как поправить.
выходное разрешение должно быть кратно исходному
Ну, окей, скажи, ты знаешь, как это фиксить?
И почему тогда, например, в том же фш все норм с любым масштабом?
Что значит нормально? Вот разные разрешения, в одном случае когда не кратное - на букве W палки разной ширины. В другом при кратном увеличении - одинаковой.
Нельзя поделить целый пиксель на не кратное число что бы не было искажений.
Тьфу блять, умножить.
Вот на что только юнити бабло тратит? Не может даже в пиксель перфект камеру искаропки.
При билде под ведроид такая вот ерунда, при этом что в самом редакторе этого нет всё ровно. Что это может быть ?
Может дело в кодировке? Есть разные кодировки например UNICODE, ANSI, ASCII и разные кодировки окончания линий CR, LF, CR+LF. Попробуй в блокноте нажать "Сохранить как" и выбери другую кодировку, например юникод
Но мне кажется проще сделать на Scriptable Objects'ах твои диалоги или поискать готовую систему диалогов
>>24426
вы все поехвашие. какой матан 20 лет. это обычное поведение когда масштабируешь лоурес изоображение. чтобы это пофиксить достаточно изменить алгоритм ресаиза на "nearest neghbour". ищи можно ли это сделать в унити.
кто не верит попробуйте нарисовать пик 10х10 и поресаизить ниарест нибором и остальными алгоритмами.
Спасибо, анончик, уже набрел на этот путь. Пытался масштабить свой пиксельарт в фш в 3 раза, но все размывалось и шло по пизде. Нагуглил про интерполяцию "по соседним" и пошло-поехало. сейчас поищу про это же в юньке.
Я решил эту проблему. Для других анонов: для pixel perfect отображения ваших шедевров ставите разрешение 16:9 и размер камеры (ортографической) высчитываете по формуле Size = finalResHeight / PPU / 2, где finalResHeight – высота вашего финального (желаемого) разрешения, PPU – Pixels Per Unit (см. параметры спрайта в инспекторе). Надеюсь, кому-нибудь поможет.
И еще. Скорее всего, даже так в Юньке отображатся будет местами некорректно, но если забилдить и запустить, то все будет красиво и четко.
Человек который ставит линукс потому что ему это надо и он знает что делает такой вопрос не задал бы. Ставь windows 10 и не еби себе и другим мозг.
Кнопки тоggle нужны для открытия двери (дверь получает true/false).
Как только я выключаю setactive элемента UI(вместе с кнопками) он вместо true начинает слать false хотя когда включен шлет true.
Я совсем тупой, подскажите где я проебался? Типа после выключения кнопки перестают слать свои значения?
Может ли это быть потому, что я кидал скрипт на кнопки а не на сам canvas и вместе с дизейблом кнопок дизейблятся и скрипты?
У меня не тянет windows на минималках
Казалось бы, простое действие, вкл-выкл, которое должно работать искаропки, но оказывается даже здесь нужна анальная гимнастика.
https://www.youtube.com/watch?v=lTql0YKS3VU
Для тех, очевидно, кому не нравится huge lag spike when activating a UI.
Можно ли теперь как-то наложить эффект потертости на поверхности всего здания?
Если я буду рисовать потертости в substaince painter, то он в итоге выдаст огромную текстуру, размером со всю 3D-модель, которую надо будет наложить на здание.
Я же хочу, чтобы к зданию всегда была наложена та маленькая текстура-паттерн.
либо отдельными спрайтами либо как ты сказал одной текстурой. если сделаешь паттерн, выглядеть этто будет убого сам подумай
Текстуру паттерн делать надо для игр вроде майнкрафта где одинаковые кубы, а для обычных моделей делают одну текстуру. Как ты иначе добавишь всякие графити и тп. дрисню
окей, убедил
Ебош квады на здание с альфа текстурой потертости, в местах где потертостость нужна. Можешь хоть всю игру и аллаха этими потертостями утыкать, и паттерн твой нетронут.
void OnTriggerEnter(Collider collider) {
if (collider.tag == "weapon")
SendMessage("OnWeaponPickup", collider);
}
> Ты просто переписываешь код, вылупив глаза
> Как таким способом можно получить знания?
Таким — никак. А вот если пытаться разобраться в алгоритме и гуглить всё непонятное, а не просто переписывать, то очень даже можно.
Прочитай пост ещё раз, залетный ребенок. Я лично даже не берусь делать всякие лут-системы, это неактуально уже лет 5. Опыта от этого не больше нуля, т.к. объяснять "гуру" абсолютно не умеют, большинство вообще косноязычны.
>>25089
Ну это очевидно, но нужны же промежуточные знания. Это как научить ребенка ездить на велосипеде, а затем заставить делать трюки. Просто жалко школьников, которые это смотрят, а затем, бездумно повторив всё, чувствуют себя крутыми погромистами и называют всех тупыми, как дитя выше. Хотя ни разу не открывали Computer science c# на языке оригинала. Возможно, они и сами записывают уроки, но это отдельная тема, довольно-таки смешная.
> смотрят, а затем, бездумно повторив всё, чувствуют себя крутыми погромистами
Ну на самом деле это нормальное явление, даже закономерное.
> Возможно, они и сами записывают уроки
Ой блять, ты даже не знаешь насколько ты угадал. Ёбаный в рот, я от одного такого ролика получил настолько незабываемые ощущения, что по сей день его помню, и помню как в комментариях детишки писали что это просто мастер-скилл и готовая игра, хотя по сути там просто сосницкий ассеты по сцене таскал.
Какой-то агрессивный школотрон пожаловал в наш благородный юнити-тред.
Васяны с ютуба перед ним виноваты, понимаешь ли, за то, что не рассказали как сделать заебись.
Дефолтный текст - тяжёлый медленный и мыльный, особенно на мобилках, советуют этот.
Пока заценить самому недовелось.
> Реквестирую нормальный гайд по работе с id из массива.
Что тут может быть непонятного, что ради этого нужен целый гайд?
foreach MyIDMassivType Item in MyListOf<MyIDMassivType> {Item.RabotatSItemom(CONSTANTA_NAPRIMER)}
Мимо ОП годотреда.
Поработал со списками. Списки лучше массивов.
Доделываю 3д игорь на мобилки (гонки), хочу обкашлять с экспертами несколько вопросов:
1.Если обьект на сцене но отключем в иерархии, то он загружается в билд игры и сцены?
2.Unity Analitics - стандартный зонд, он один или уже завезли ещё новых? В мобильных играх не создают проблем ?
3.Кто нибудь вообще может доебаться на счёт ассетов? Например те 2 что нельзя скачать я куплю, а ещё несколько, например дома и деревья - скачаю. Они могут попросить пруф что они у меня куплены на аке или что? А если куплены на другом аке а чтобы выложить в стор я создам новый? Кто знает просвятите.
4.У кого есть статистика чё там щас, сколько людей на 4,5 ведрах ещё?
5.Есть же сервис куда можно залить АПК и посмотреть как работает на разных девайсах, какой норм, в гугле встроенный вроде есть да?
6.Vulkan на мобилах что скажете?
7.Годный ассет на оптимизон, есть ли он ? ахуел совсем
Вообщем дискач
>нужны же промежуточные знания
промежуточные знания ты должен сам получать, если уже получил основы, также как и с велосипедом. Если ребенок умеет ездить, он всему научится сам, и потом уже сам придет делать трюки если захочет
1. Да
3.Нет
7.Самый годный оптимизон это mesh baker по моему опыту, может тебе всю сцену в один меш захуярить, я так фпс в разы подымал
Сейчас запустил свою игру на телефоне, поиграл пять минут. Судя по статистике андроида, потратил 1.2 мб трафика. Это пиздец как много или терпимо?
> Это пиздец как много или терпимо?
Ну смотря что там у тебя за игра.
Но вообще нормально, уже давно не 2005-ый.
За Mesh Baker спс
Игра мультиплеерная аркада для двоих. Очень важно положение игроков, поэтому я его часто синхронизирую.
> часто синхронизирую
> поиграл пять минут, потратил 1.2 мб трафика
Нормально всё, не парься. У меня интернет-радио больше сжирает.
Откуда тогда столько? Ты хоть инпут синхронизируешь, или пытаешься весь стейт каждый тик пихать?
Так-то это очень дохуя по сравнению с возможным, но важно оно будет для относительно немногих.
Имей ввиду, что за дополнительный трафик тебе придётся платить. Но вряд ли ты выйдешь за пределы бесплатного трафика.
>All plans come with a free traffic amount of 3 GB per plan CCU. E.g. 20 plan CCU = 20 * 3 GB = 60 GB. Additional fees apply for each month and region the free amount is exceeded in.
Потом можешь оптимизировать передаваемые данные, если игра взлетит. Если у тебя X может быть только в пределах -100..100, то нет смысла использовать под него 4 байта. Как пример.
Делай меньше синхронизаций в секунду и экстраполируй
В том то и дело, что это обычные спрайты, на маленьких постерах бокс колижн, который активирует большой постер как картинку в UI. Рейкаст таргеты галки убраны, скейл 1.
Пролагивает только в первый раз. Но у меня несколько кликабельных объектов из разных тайлсетов идут подряд и при активации каждого микрофриз. Может все люди каким то образом заранее подгружают элементы UI каким то иным образом про который я не знаю, а не enabled'ом?
В редакторе постоянно фризы происходят, даже на мощных машинах. Проверь в релиз билде, может всё окей. Если фризы и там будут, то запускай профайлер, он всё покажет 100%
У тебя poster.enabled = false вызывается каждый фрейм, может быть в этом дело? Запихни так
if (getmousedown && isTrigger){ poster.enabled = true } else poster.enabled = false
Вообще у тебя странный код. Добавь poster.enabled = false
лучше в OnMouseExit
Самое смешное, что в редакторе все чисто, фризы в билде под ПК и webGL.
Алсо, ты что, новый вегас пилишь? Кек.
Префабы используются? Может из-за них фризит. Можно попробовать подгружать их заранее, чтобы юнити не обращался к файлам.
Никаких префабов, вообще ничего кроме канваса, картинки и скрипта.
Походу что то с WillRenderCanvas и GC.Alloc
Вход в триггер и открытие картинки на Е, при выходе из триггера - автозакрытие картинки.
Вруби в визуалке поиск по KeyCode.E. Может ты что-нибудь дебажное повесил на эту клавишу.
>Вруби в визуалке поиск по KeyCode.E
Ничего нет, это единственное место где используется клавиша E.
Какой нибудь еба-лайаут включен на много элементов? Алсо, если юнька старая - обнови
>Какой нибудь еба-лайаут включен на много элементов?
Три картинки которые включаются по кнопке и триггеру. Все.
Юнька новая, сегодня обновлял.
Где художника найти? Вообще, где вы искали художников?
И кстати на фрилансе начинающие тоже есть, так что там по дешевке тоже можно сделать
Однажды я кинул клич в этом проекте оставив левый ящик, и блядь мне туда понаписали человек 20 художников, моделлеров и прочих. Было это, всего то, в 15 году. Но потом у меня был переезд, диплом и мне было не до игор. А теперь я пришел сюда - тут тоже пытаются себя продать. Где же команды энтузиастов которые собирались с нуля?
Да, можно и за 20 тысяч сделать, смотря какую
Что это и зачем, можно ли удалить? Память жрёт наверное да?
Ебать, а что тебе сказать? Что такое сериализация? В гугле забанили или что?
Это преобразование одной хуйни в другую хуйню, если тебе надо "вкратце".
Хотеть что-то ты можешь только уже имея налаженные отношения с лансером после нескольких заказов, а хуев с горы и без тебя полные интеренеты.
А еще лучше - прозрачность в пол вдави. Хз что там эти ебаблеты вызывают под капотом
Не делать такие уебищные стены например? Делай цельными мешами здания и не будет проблем
1. алгоритм считает два меша отдельными стенами
2. числа float не точны, если 3.0 + 1.0 = 3.999... то между такими мешами всегда будет зазор
это тут не причем, я имелл ввиду то что манипуляции в пространстве в конечном итоге всегда конвертсяться во float, и не важно что ты там будешь юзать до этого, всё ядро на флоатах сделано, все алгоритмы
> всегда конвертсяться во float
Вообще-то в double, если что.
А потом уже интерпретируется во float, да.
Чё заткнулись-то? Что такое float, я вас спрашиваю, грамотеи? Что, double это не float? А single это не float? Интерпретируется, блядь. Грамотеи хуевы! Еще считают себя вправе советы давать таким же даунам. Ебать у меня пригорело!
Смотрим на скриншоты и задаём себе вопрос, что ж за такая волшебная интерпретация происходит, когда мы значение double присваиваем float (он же single)?
Так что в дабле пойнт не флоатин?
Юв карты пробовал и без зазора между островами и с зазорами - до конца эта херня не проходит.
Generate Lightmaps UV включено.
>>25401
А какой нынче по дефолту размер лайтмап для мобилок и ПК?
>>25402
Я бы согласился, что в этом проблема, но в Блендер всё на float и рендерится без вот этих вот говняных швов.
Во многих играх все из таких кубов в движке и нет швов. Неужели в Юнити это тупик и нет вариантов это исправить?
И еще, насколько адекватно использовать Invoke для методов чтобы после задержки их вызывать? У меня почему-то какое-то предвзятое отношение к нему.
Мне нраица
Он паходу карутины с интирхейсами папутал.
Двачую. Геоидный террейн в блендере делается до безобразия легко: Добавляем новую ico-сферу, выделяем рандомные вершины, скейлим немношк. Вуаля!
Принцип как в гугл картах, чем больше ты приближаешь тем больше деталей подгружается и наоборот. Работы огромное количество.
сижу в бункере на юнити 2017.4
> Работы огромное количество.
Я вообще с некоторых игр ахуеваю, как им удается столько засунуть, юнька от трех деревьев лагает.
https://youtu.be/p-nKttWT7JM?t=172
Начнем с того, что это фростбайт, а не юнька. Мы с тобой его код не видели, а те кто видел, ничего не говорят, а только ехидно ухмыляются при словах "юнька", "компоненты", "ECS".
быстрее ecs игровой код ты в принципе не напишешь.
проблема в том, что юнити не использует ecs по дефолту. рендеринг у юнити скорее всего неэффективный, устаревшая многопоточность по одной системе на поток.
Только эта игра выполняется на ферме из 10 видеокарт а на деле там будет тривиальная графика чтобы камплюктеры васяна тянули.
Персонажи из Bioware говорили (Blood, Sweat and Pixels) что работа с фростбайтом сродни посадки на бутыль.
Тебе главное игру делать, или чтобы одноклассники уважали?
Если у них оклюжн куллинг сделан путём софтрендера на CPU лоуполи-лодов в разрешении 320х240, что тут уж про бутылку говорить.
Кто-нибудь пробовал кстати эту хрень? Я смотрю она в топе ассет стора, видимо неплохая штука
Ебать ты че фоткал экран? Скорее всего ты забыл добавить rigidbody, без него коллизия не работает.
На ноуте сдох вайфай, что же я делать-то буду. Вот и фоткаю.
Спасибо за подсказку. Оно все так просто, оказывается, а я в прошлой игрушке аж писал свой собственный обработчик столкновений.
Сука, как это починить целый день проебался с игрой и эта залупа вылезла при попытка билда. В скрипте ошибок нет! В эдиторе все работает, но если попытаться построить то вылазит эта хуета. ПОМОГИТЕ!
А, все решил. Юнити не хотел мне сообщать, что нельзя использовать библиотеку UnityEngine.Editor в билде.
лол это наверно меня так саммонят в этот тред. задач множество с которыми он не может справится. или когда может сделать тривиальные задачи не тривиальными. например. вот есть у тебя таверна, как сделать так чтобы пьяные пираты могли заползать под стол? как диференциировать когда пират должен сесть на корачки чтобы залезть под стол? как отличить путь на столе от пути под столом? как найти ближайший стол под который можно залезть?
>>25868
он же сообщает, не? то что у тебя там Editor ложи в папку Editor чтобы оно исключалось из билда. или пользуйся https://docs.unity3d.com/Manual/PlatformDependentCompilation.html и пиши везде где код для эдитора if UNITY_EDITOR
как будешь отличать когда пират на столе а когда под столом? не будут же они ползать на столе, а будут танцевать. как сделаешь цену передвижения под столом ниже? вот идет пьяный пират мимо стола ещё грога поцонам взять, задел немного стол, что теперь, приседать ему? на обратном пути грог расплескает.
То-то и оно, что он должен не "мочь" присесть, а должен приседать только тогда, когда под столом он проползёт быстрее, нежели в обход.
При этом ползёт он скорее всего медленнее.
Но! Это идеальные условия, в которых пьяный пират весьма сознателен и математически подкован. Я бы, занимаясь реализацией этого балагана, всё-таки запилил бы какой-то простецкий рандомный твик к пути пирата. Типа, может полезть, а может и не полезть - хуй его маму знает.
Или стол в разные моменты времени является или не является препятствием для пирата.
Он же пьяный, хули. Он может и кругами ходить по пути за грогом.
Энивей, интересные задачи у этого губошлёпа! >>25876
https://www.youtube.com/watch?v=CU4YjSZNTnY
>как будешь отличать когда пират на столе а когда под столом?
Машиной состояний.
> не будут же они ползать на столе, а будут танцевать.
Само собой.
>как сделаешь цену передвижения под столом ниже?
Очевидно, что рандомом от 0 до 1 с ограничением в 0.25f
>вот идет пьяный пират мимо стола ещё грога поцонам взять, задел немного стол, что теперь, приседать ему?
Он принимает решение "а полезу-ка я под столом" с вероятностью в 0.25f
> на обратном пути грог расплескает.
Компонент "грог" приаатаченный к сущности "пират" будет отключать компонент "ползание под столом".
можно много придумать способов как усложнить задачу, да! например после того как пират попал под стол он бы переключался на режим с рандомным ползанием и вместо того чтобы искать конкретный путь он начинал ползать по графу рандомно. залез на развилку - повернул в случайную сторону. и так и ползает пока из под стола не вылезет. и орать начинал бы ещё после 4-5 развилки и на помощь звать.
>>25903
>Машиной состояний.
а машина состояний то откуда сведения эти брать будет? нельзя же нормально из залезания на стол брать эти сведения. а то вот так залезет пират на стол, а рядом другой стол и че теперь когда он перелезет с стола А на стол Б то что тогда? слез он со стола, или нет? а что если рядом со столом стоит стул? и пират может залезть туда как по лесенке и тогда ему даже не придется пользоватся анимацией залазанья? нееет стол должен иметь свою отдельную зону, которая используется исключительно для фурнитуры. если пират входит в эту зону то может танцевать. альтернативным решением может быть сование на каждый сраный стол, барную стойку и прочую фурнитуру триггеры. типа если ты тут то можешь танцевать. но это звучит как множество ручного труда. к тому-же пират не сможет активно искать ближайший стол на котором можно потанцевать.
>Очевидно, что рандомом от 0 до 1 с ограничением в 0.25f
от чего к чему?
а вообще фикс *выше
а то пираты под столом этим жить будут
>Он принимает решение "а полезу-ка я под столом" с вероятностью в 0.25f
а сами решения в задаче не учавствуют. потому как обсуждаем имплементацию навигации.
>Компонент "грог" приаатаченный к сущности "пират" будет отключать компонент "ползание под столом".
этак у тебя любой компонент будет отключать ползанье под столом. как пираты будут пить грог под столом? а?! пират должен мочь пить грог в любом состоянии и позе!
а вообще. заковырка этой задачи заключается в том что в обычной имплементации высота агента всего одна. и даже если ты сделаешь навмеш где будут правильно расставлены зоны под столом и на столе, то агент будет иметь изначально неправильную высоту расчитанную столько на лазанье под столом. и это подкинет множество иных задач. и придется уже вместо того чтобы учить пиратов лазить под столом учить их переставать залезать в иные места. в всякие там книжные полки, камины, сундуки, пальмы и прочее окружающее говно которое так легко и не учесть. где они гарантированно будут застревать. технически можно решить это наличием нескольких наборов навмешей, чтобы пират при приближении к столу переходил с одного навмеша на другой. но расстановка столов превратится в стратегическую задачу. такая фича в обычной имплементации может прилично так человекочасов сожрать то. а ведь пираты под столом то звучит просто замечательно
а вообще я и смежных задач могу подкинуть с которыми уже не совладать так легко
можно много придумать способов как усложнить задачу, да! например после того как пират попал под стол он бы переключался на режим с рандомным ползанием и вместо того чтобы искать конкретный путь он начинал ползать по графу рандомно. залез на развилку - повернул в случайную сторону. и так и ползает пока из под стола не вылезет. и орать начинал бы ещё после 4-5 развилки и на помощь звать.
>>25903
>Машиной состояний.
а машина состояний то откуда сведения эти брать будет? нельзя же нормально из залезания на стол брать эти сведения. а то вот так залезет пират на стол, а рядом другой стол и че теперь когда он перелезет с стола А на стол Б то что тогда? слез он со стола, или нет? а что если рядом со столом стоит стул? и пират может залезть туда как по лесенке и тогда ему даже не придется пользоватся анимацией залазанья? нееет стол должен иметь свою отдельную зону, которая используется исключительно для фурнитуры. если пират входит в эту зону то может танцевать. альтернативным решением может быть сование на каждый сраный стол, барную стойку и прочую фурнитуру триггеры. типа если ты тут то можешь танцевать. но это звучит как множество ручного труда. к тому-же пират не сможет активно искать ближайший стол на котором можно потанцевать.
>Очевидно, что рандомом от 0 до 1 с ограничением в 0.25f
от чего к чему?
а вообще фикс *выше
а то пираты под столом этим жить будут
>Он принимает решение "а полезу-ка я под столом" с вероятностью в 0.25f
а сами решения в задаче не учавствуют. потому как обсуждаем имплементацию навигации.
>Компонент "грог" приаатаченный к сущности "пират" будет отключать компонент "ползание под столом".
этак у тебя любой компонент будет отключать ползанье под столом. как пираты будут пить грог под столом? а?! пират должен мочь пить грог в любом состоянии и позе!
а вообще. заковырка этой задачи заключается в том что в обычной имплементации высота агента всего одна. и даже если ты сделаешь навмеш где будут правильно расставлены зоны под столом и на столе, то агент будет иметь изначально неправильную высоту расчитанную столько на лазанье под столом. и это подкинет множество иных задач. и придется уже вместо того чтобы учить пиратов лазить под столом учить их переставать залезать в иные места. в всякие там книжные полки, камины, сундуки, пальмы и прочее окружающее говно которое так легко и не учесть. где они гарантированно будут застревать. технически можно решить это наличием нескольких наборов навмешей, чтобы пират при приближении к столу переходил с одного навмеша на другой. но расстановка столов превратится в стратегическую задачу. такая фича в обычной имплементации может прилично так человекочасов сожрать то. а ведь пираты под столом то звучит просто замечательно
а вообще я и смежных задач могу подкинуть с которыми уже не совладать так легко
Охуенно чё, у меня правда большая часть подобных уже есть, но многим пригодиться
https://www.youtube.com/watch?v=_Z5hxyn3COw
Первый вариант. Используется шейдер. Видел в ассет сторе вроде готовый есть. Ещё можно на гитхабе найти реализации.
https://www.youtube.com/watch?v=jkBF_wvJTTk
Кстати, сам персонаж не двигается. Это мир динамически создаётся и прокручиваются. Ну, по крайней мере, я бы так сделал, а как оно на деле - хз.
Спасибо большое! Но можешь объяснить, почему более предпочтительный вариант с движением мира, вместо движения игрока?
Очевидно потому что мир рандомно генерится и вообще не существует без игрока
Смотри когда игрок движется ему вписываются x, y координаты и есть риск что игрок будет долго не проигрывать и будет переполнение переменой.
Не могу, к сожалению, посмотреть сайт даже под ВПН.
Можешь пдф скинуть или как-то еще? Интересно очень, как к каллингу относится генерирование лодов низкого разрешения.
Посадкой на бутылку.
На форумах пусто, будто мы с этим хуем одни такие. Какой-то костыль вообще есть для этого?
Пытаюсь по аналогии и методом научного тыка курвить меш по оси х, но чёто нихуя не выходит, только деревья гнутся. Подскажите, пожалуйста, как это реализовать. Шейдер
https://drive.google.com/file/d/1tAqVZyQGBJhSQQZ4zMRFm_zsoeZrgzRP/view
Если корутина будет юзать yield return null (ожидание следущего вызова Update'a) то очевидно всё будет как раньше. А если всё что нужно от корутины это выделенный zaloop с контролируемым интервалом вызова, то можно юзать return new WaitForSeconds, либо простейший таймер сам захуячь в корутине
PlayerState - компонент без логики. Хранит health, velocity, grounded и прочие значения. Может вызывать коллбеки на различные действия, типа OnShoot, OnDied. Этот компонент используют другие компоненты персонажа и внешний код, например UI. Значения в этот компонент может передавать как Игрок, так и ИИ.
PlayerView - работает с моделью персонажа. Задаёт анимацию, вращает модельку, создаёт различные эффекты, проигрывает звуки. Например, если в PlayerState произошло событие OnDied, то создаёт эффект смерти.
PlayerMotion - обновляет движение персонажа, применяет гравитацию, обрабатывает прыжки.
PlayerHealth - принимает входящий урон, тип урона, источник урона. Обрабатывает хиллки и смерть персонажа.
PlayerCombat - управляет боевой системой персонажа. Переключает оружие, активирует выстрелы/удары. Бросает гранаты.
Компонент - это по-определению то, что ты можешь повесить на различные типы энтитек в различном сочетании.
А у тебя все завязано на один тип, что смысла никакого не имеет.
Ну и собсно логики в компонентах вообще желательно не иметь, только данные.
>Ну и собсно логики в компонентах вообще желательно не иметь, только данные.
А логику куда тогда деть?
Он, видимо, про юнитевский ECS. Там компоненты - тупо набор данных, а логика находится в JobSystem'ах, который проходит по компонентам.
А я писал про обычный MonoBehaviour.
Это к любой компонентной архитектуре относится, не только к эталонной екс.
Смысл в том, что навешивать компоненты - это домен дезигнера, которому поебать на код, а делать их функционал - домен программера, которому поебать куда их в итоге навесят. И даже если ты и то и то в одну харю делаешь, все равно при рефакторинге так будет удобнее.
> домен дезигнера
Вот бы наши дезигнеры всё сами на сцене расставляли, а не просто клепали спрайты и fbx.
Мечты-мечты.
Похоже на дивный манямир супер абстракций.
Поцоны, вопрос жизни и смерти! Вот есть у меня подобный плейн, как на гифке. Каким образом возможно реализовать генерацию таких же плейнов, чтоб они стыковались, при том, что каждый новый плейн изгибается в рандомных направлениях по x и y. То есть должен генерироваться как один бесконечный плейн с этими самыми случайными поворотами. HELP!
Фикс; Вопрос всем, а не только этому молодому человеку.
В каждый такой префаб добавь пустые геймобжекты, которые будут указывать конец и начало. Там поймёшь, куда цеплять объекты. У их Transform можешь брать значение forward например.
Гениально! Вот только эту часть я не понял >У их Transform можешь брать значение forward например.
Как я могу узнать его y-высоту в произвольной точке (x;z)?
То есть, я, конечно, могу сбрасывать на него маленький коллайдер-сферу в нужной точке.
Но наверняка же есть более достойное решение.
Можно рейкастом, просто посылаешь луч прямо вниз с произвольной точки сверху и получаешь пойнт по хиту с поверхностью,
но я думаю, что есть решение еще проще.
если ты его сам генеришь и тебе не нужен колайдер, то можно и без рейкастов обойтись
Рисовать такие террейны планирую вручную в блендере. Коллайдер не нужен. Более того, было бы вредно его иметь, потому что, ну, нужно его ещё и отдельно формировать из карты высот, которую тоже надо экспортировать из меша в блендере. Короче пиздец.
Ну, вот, собственно, и поправка к условиям: нет на меше коллайдера. Он не выпуклый.
Но учитель, ведь Mesh Collider должен быть выпуклым! И ещё у него лютое ограничение на число полигонов.
>формировать из карты высот
Так у тебя есть карта высот? Ну так просто вычисляй математически через неё.
Да, теперь есть. Я, короче, конвертировал меш в террейн, и теперь у меня меш несёт на себе текстуру, а у него в детишках сидит совпадающий с ним по геометрии террейн без рендера, с одним только террейн-коллайдером.
Вроде всё ок, но мне кажется, что я какой-то лютой хуетой занимаюсь только ради того, чтобы иметь лоу-поли местность.
Господи, какой я мудак.
Кусок ебача, блять.
255 треугольников - только для выпуклого коллайдера. А он мне и не нужен.
Блять. Я сутки над этой хуйнёй ебался.
Как же стыдно стало.
БЛЯТЬ)))))
Спасибо, анон.
можешь через код рисовать себе меш совпадающий с террейном. но вообще если тебе надо просто знать высоту на XY то хули, карта высот есть. найди между какими из четырех высот находится нужная тебе координата, найди какой из двух треугольников тебе нужен, найди высоту в этом треугольнике в XY. задачу то легко разбить. а вообще нахуй ты с этим ебёшся то? если надо террейн то можешь в шейдор залезть и вычислять нормаль в геометри шейдоре, или по XY положению текстуры найти нужный тебе треугольник. у юнити там есть некоторый оптимизончик с очередью отрисовки террейна, так что если тебе нужен оптимизончик то советую залезть в шейдор. если оптимизончик не нужен то хули, можешь и через код собирать себе меш из карты высот, собственно, террейна.
Там всё было немного не так. И я всё переделал. Но всё равно спасибо, анон.
Получается такая история: Если в UI начался диалог - он отсылает метод в скрипт на камере, из которого вызывается метод на игроке, чтобы отключить ему возможность перемещаться, например. Плюс мне видится в том, что UI вообще похуй на игрока, он просто отсылает в "узел" свое состояние и больше ему ничего проверять не надо, игрока даже может не быть в сцене, а диалог может быть между двумя НПС.
С другой стороны, не является ли это "божественным объектом", который вроде как антипаттерн? Как тогда сделать это иначе, ведь если объекты будут общаться напрямую по каждому поводу, то потом хрен разберешь как это всё взаимодействует.
Которая про ECS? Мне казалось что эта штука еще в сыром виде, хотел через годик вкатиться в неё.
Конкретно в твоём случае я бы заюзал юнитевские ивенты. Это не только UnityEvent, это ещё и EventSystem через который можно рассылать события не конкретным компонентам, а просто объектам:
https://docs.unity3d.com/ru/current/Manual/MessagingSystem.html
Штука полезная. Это должно помочь отвязать все 3 игровых объекта от друг друга. И ты сможешь тестировать их по отдельности.
>This code will execute the function Message1 on any components on the GameObject target that implement the ICustomMessageTarget interface. The scripting documentation for the ExecuteEvents class covers other forms of the Execute functions, such as Executing in children or in parents.
Спасибо большое за наводку, вчера просмотрел гайды по использованию, внедрил в свою игру и это действительно намного лучше того что я навелосипедил
>поясните так
Поясняю. Задействуешь божественный ECS и рассылаешь сообщения, чтобы твои ТМР принимали сообщения и совершали действия.
Что там подсеть нельзя настроить? Лол, ну и говно.
Ты про олбачный фотон или вообще про что? В облачном фотоне есть только регионы. В настройках указываешь доступные регионы и автовыбор из доступного списка. Хули тебе ещё надо?
Очевидный текст меш про.
Пиздит твоя мать шлюха, а нормальные люди говорят. Не к тебе вопрос, пошел нахуй.
Имеется ввиду, что нужно менять все материалы одного шейдера.
Пытаюсь задать переменной в шейдере вектор
rend.material.shader.SetGlobalVector("_VectorValue",VectorValue);
выдает эрор
UnityEngine.Shader.SetGlobalVector(string, UnityEngine.Vector4)' cannot be accessed with an instance reference, qualify it with a type name instead
Меняю на Shader.SetGlobalVector("_VectorValue",VectorValue);
Нормально компилируется, но когда я меняю значения вектора, текстурка дёргается лол, но желаемый результат не происходит. Скорее всего не работает должным образом из-за того, что шейдер создан через Amplify shader editor, через обычный shaderLab всё работало как надо.
Короче, решение найдено благодаря Иисусу. Если вдруг кому-то пригодится, в amplify shader есть глобальные переменные, вот их нужно было юзать, чтоб поменять проперти в шейдере.
>а сами решения в задаче не учавствуют
Шёл пират по таверне, видит стол стоит. Залез под него и провалился под текстуры
Пират идущий из одного угла таверны в другой и казуально срезающий путь под столом -
идеальный контент для ютуб нарезок "топ 100 инди фейлов".
Столы, под которые можно залезать, и на которых в то же время можно танцевать, создаются как интерактивные объекты, взаимодействие с которыми осуществляется на уровне АИ. Во время обычного перемещения Пират вообще должен считать их обстаклами.
>юзать в игре чужие гифки
Вор ебаный, бездарь, будешь под шконкой плакать с раздолбанным дуплом.
Боюсь, чтоб больше ста процентов прибыли отобрали, так сказать, уйти хотя бы в ноль.
1. Либо петушиное качество лайтмапов с квадратиками и грязью от компрессии самой лайтмапы (а степень компрессии как выбрать сука почему нельзя???)
2. Либо лайтмапы без компрессии - все классно, только 150-200 мегов одних лайтмап для мобильного приложения это дохуя.
Сука пробовал и размер лайтмапы увеличить и сам запекатель переключать - говно одно. БЕСИТ СУКА ПОЧЕМУ В 2К18 НЕЛЬЯЗ ЗАПЕЧЬ НОРМАЛЬНЫЕ ПРОСТЫЕ НО НЕ ОБОССАНЫЕ ПО КАЧЕСТВУ ЛАЙТМАПЫ СУКА ЮНИТИ БЛЯТЬ СКАЖИ МНЕ.
>Столы, под которые можно залезать, и на которых в то же время можно танцевать, создаются как интерактивные объекты, взаимодействие с которыми осуществляется на уровне АИ. Во время обычного перемещения Пират вообще должен считать их обстаклами.
У тебя иерархия действий в обратную сторону, наркоман. ИИ не может перестать считать их обстаклами если он может перемещаться там изначально. Не понятно что-ли что эта проблема заключается в низком контроле над навигацией? Ты как предлагаешь то? Сделать стол, сунуть под него споты куда пират может залезть если подойдет к какому-то месту рядом с столом? Можно конечно сделать и так, но это а) громозкое решение б) пират не сможет вылезть с другой стороны стола. Тогда как если у тебя есть полный контроль над навигацией то ты хоп можешь сказать "исключить из поиска пути все места где можно ползать" и так и произойдет.
Кстати в навигации юнити по моему до сих пор не сделали возможность совать какое-то юзер-дефайнед говно в навмеш. Нельзя в навмеш сунуть что-то а потом сказать "хуйня, найди это говно находясь здесь". Что несколько усложняет адекватный метод поиска спотов чтобы залезть на стол или под стол.
Можно ли сделать такой шейдер, который проходил бы по большому множеству текстур и сгенерировать новую текстуру?
Хочу попрактиковаться в расчётах на GPU в юнити. Входные данные - N текстур, выходные - готовая текстура.
>ИИ не может перестать считать их обстаклами если он может перемещаться там изначально.
Про динамические обстаклы никогда не слышал, мм? Если стол может двигаться, то дырка в навмеше движется вслед за ним. А двигаться по этому месту, не взаимодействуя со столом он всё равно не сможет.
>а) громозкое решение
Не то что встраивать столы в навмеш)))) Стоит добавить ещё фонарик и пылесос.
>б) пират не сможет вылезть с другой стороны стола
Что ему помешает? Ты можешь сделать любое количество точек входа/выхода.
>адекватный метод поиска спотов
Ну это вообще пушка. Можно ли от агента найти путь до интерактивного объекта, находящегося на навмеше?! Дошли ли технологии до такого уровня?!?!?!
>Про динамические обстаклы никогда не слышал, мм? Если стол может двигаться, то дырка в навмеше движется вслед за ним. А двигаться по этому месту, не взаимодействуя со столом он всё равно не сможет.
да ты это и с обычным навмешем и без динамичных обстаклов можешь сделать. навмеш юнити в рантайме уже довольно давно можно делать. да вот бида - рост у агента все равно один. но всетаки. как же ты предлагаешь реализовать залезающих под стол пиратов то?
>Что ему помешает? Ты можешь сделать любое количество точек входа/выхода.
ну а как ты соединишь свою мурню с иными решениями? ты же не можешь сказать "найди путь сюда на навмеше, пролезь под столом сюда, возьми поворот сюда, вылези тут и дальше двигайся на навмеше"
>Ну это вообще пушка. Можно ли от агента найти путь до интерактивного объекта, находящегося на навмеше?! Дошли ли технологии до такого уровня?!?!?!
а у тебя одно место чтоли с которого под стол можно залезть? а если их два? какое выберешь?
>да вот бида - рост у агента все равно один
Ты ещё не проснулся? Стол - вне навмеша. Причём тут рост агента?
>ты же не можешь сказать "найди путь сюда на навмеше, пролезь под столом сюда, возьми поворот сюда, вылези тут и дальше двигайся на навмеше"
В том то и дело, что могу. Может воспользуешься глобальной сетью интернет для поиска информации по практике создания интерактивных объектов в играх?
>какое выберешь?
Такую задачу АИ решить просто не в состоянии. Например, ближайшую? Или другую, соответствующую обстановке.
1032x696, 0:20
>Ты ещё не проснулся? Стол - вне навмеша. Причём тут рост агента?
а где у тебя стол то? вообще причем тут динамические и вообще какие либо обстаклы то? если че то они для всех агентов сразу. ты давай, описывай схему.
>В том то и дело, что могу. Может воспользуешься глобальной сетью интернет для поиска информации по практике создания интерактивных объектов в играх?
не-а. потому как для построения пути через граф навмеша (который в стандартном решении даже не дают) нужен весь граф.
вообще где это обросшее мхом видео. чего-то подобного в стандартных решениях несколько проблемно сделать.
>Такую задачу АИ решить просто не в состоянии. Например, ближайшую? Или другую, соответствующую обстановке.
типа как ближайшую то? вот есть у тебя в таверне двадцать спотов с которых можно залезть под стол. и типа что. агент перед тем как принять решение под какой стол лезть сначала поочередно найдет путь для каждого спота, а потом базируясь на дистанции примет решение куда лезть и лезть ли вообще?
Раскладку проверь.
Нука-нука, и какой платный софт для текстурирования ты хочешь тут бесплатно пропиарить? Давай уже, бесплатный долбоёб, скажи это!
А ты то что на скрине каким софтом создавал ?
Ищешь любой шейдер юнити. Они почти все имеют на входе несколько текстур и 1 на выходе
Вот знал, что тут сидят долбоёбы, но не до такой же степени
var _distance = new Vector3.Distance;
gameObject <List> stul;
if (_distance < 15) {
stul.transform.scale = stul.transform * (float)_distance
}
Оптимальней всего разумеется шейдором, но если ты нихуя в них не понимаешь то ебош этим смешным методом со скейлом.
>>27268
Перезапуск юнити помогает чаще всего.
>>27261
Ты где и как массив текстур хранить то собрался? Че хочешь получить?
>>27299
Оно же ещё в бете не? Выглядит заебись, я ещё не заценил. Ещё и террейн там запихнули. А мне не верили что префабы сделают!
Нет, я сижу на 2017 юнити. Проекто здоровый, сыкотно обновляться, вдруг чё поломается
>Ты где и как массив текстур хранить то собрался? Че хочешь получить?
Есть один ассет - amplify shader editor (ASE). С помощью него сделан шейдер. В этот шейдер хочу добавить возможность переключать последовательность текстур. В ASE есть такое понятие, как массив текстур и даже представлен пример префаба, но как его создавать в документации я не нашел. Я бы скопировал тот префаб, и просто заменил текстурки на свои, но куда пихать эти текстурки я не нашел, в инспекторе нет такого меню. Могу также обойтись без массива текстур префабом, а просто хранить массив в скрипте без префаба. Но тогда мне нужно понять, как назначить мейнтекстуру в этом самом ase.
>Оно же ещё в бете не?
Да, в бете. Я как раз начал новый проект в бетке. Буду обмазываться вложенными префабами по полной.
У кого-нибудь есть этот ассет с анимашками?
https://assetstore.unity.com/packages/3d/animations/everyday-motion-pack-116611
И еще, кто-нить фапает на новую Job System или всем на нее похуй? В чем ее прикол тоже объясните кто понял.
Как заставить шейдер посчитать результат из кода на C#?
Что если у меня 65536 текстур на входе?
>И еще, кто-нить фапает на новую Job System или всем на нее похуй? В чем ее прикол тоже объясните кто понял.
Вкратце - вместе с ECS большой шаг юнити от уровня одноядерного XRay 2006 года к современным движкам. В 2к18 году, спустя овер 10 лет с момента первых многоядерных движков, юнька наконец стала полноценно-современной, а не архитектурно-устаревшим говном мамонта уровня сталкердвига.
Миха оптимизаторный пришёл и начал исправлять в консерватории.
У местных ООП-дебилов от этого бугурт, теперь их ООП-блотваре в одно ядро официально признано устаревшим и слито.
>Что если у меня 65536 текстур на входе?
1) Атлас
2) https://docs.unity3d.com/Manual/SL-TextureArrays.html
собственно ничего особо и не мешало писать на юнити многопоточный код и до этого. реально почти ничего не поменялось. разве что теперь можно скипнуть этап копания руды и приступить сразу к сварке рамы велосипеда в некоторых случаях.
на мой вкус польза Job System довольно сомнительная, учитывая что синхронизируется вся эта хуйня все равно в основном потоке.
ECS нишевой подход к решению задач. Для большинства игр он нахуй не нужен. Вон, васяны для своих пиксельных инди-хуинди вообще 1-2 класса используют и им заебись.
Очередня сырая недоделка, которая будет брошена на половине, сделанная чтобы показывать на unite-эвентах восторженным дебилам, как это всегда у юнити.
Отношении юнити к ECS емко определяется тем, что вся оффициальная документация по ECS ограничивается отправлением смотреть ролики на ютубе.
да не. хорошо что сделали, там есть клевые фичи вроде этого копирования памяти в потоки. для большинства случаев этого более чем достаточно. просто все это говно не имеет такого широкого применения какого ожидают некоторые дебилы. которые даже не знают нахуй эта многопоточность и че с ней делать.
>да не. хорошо что сделали
а как пользоваться рассказать забыли.
видимо в юнити сами не до конца понимают, зачем это нужно кроме демок.
повторятеся история с их unet
че не сказали то? достаточно много сказали. https://docs.unity3d.com/Manual/JobSystem.html экзамплы тоже легко найти. или тебе и к лопате инструкция нужна?
>повторятеся история с их unet
Кстати, да. Фотоновцы тоже охуели с такой "поддержки" и в результате выпилили uNet из своих разработок. Теперь это говноподелка нахуй никому не нужна. Особенно с их неадекватными тарифами за трафик.
Создаёшь текстовый файл с записанными в него вариантами всех реплик, снабжаешь реплики тэгами. Затем просто, без задней мысли грузишь в игру, фильтруя по тэгам.
ScriptableObject, либо JSON (в юнити есть класс, который парсит JSON).
что за предупреждения в консоли и у одного меня не хочет обновляться пробилдер?
Не загружай его из ассет стора. Там старая версия. Качай из Window -> Package Manager.
1144x816, 0:25
надо будет ещё ебануть возможность добавлять модификаторы пути. чтобы например близость пути к какому-то месту вычитала или прибавляла какое-то значение к стоимости пути.
песдата
Так там мелким шрифтом указано, что если подписаться таким образом, то оно будет снимать деньги даже при отмене подписки. Можно конечно трюк провернуть, создать отдельную карточку и на нее подписаться на ежемесячную, а денег закинуть на 1 месяц. Только боюсь юнити таких хитрецов забанят навечно
И что с этим делать? Анус себе щекотать?
job system не нужен без ECS. ECS в unity это сырая недоделка без документации и нормальной поддержки редактора. Воистину демка для пиара на конференциях.
Делайте игры лучше
>оптимизировать готовую игру
сразу видно мамкиного эксперта.
это не представляется возможным глубоко оптимизировать готовую архитектуру, потому что это означает переписывание всей игры
В аду им всем гореть.
Ну там можно разных агентов считать.
> А ведь предупреждали что так будет. Через год они про ECS забудут, будут дрочить на новую мегафишку. Как оно всегда было.
https://www.youtube.com/watch?v=v2Q_zHG3vqg
Как обычно, впрочем.
Ну, то есть, у людей уже какое по счету поколение более лучшего подхода к мультитредингу, а у юнитихолопов по-прежнему в одно ядро как у сталкача и тормоза на мобилках.
Ну по идее они уже давно вынесли кучу всего из этого одного потока. Один поток есть для пользовательского кода. Ну а в остальном так оно и есть.
1000x734, 0:27
теперь можно сделать например чтобы негр прыгал за бананами, но только если рядом нет других опасных негров. или напротив. опасный негр выбирал те бананы где рядом слабые негры.
>>27702
лол как уже и было сказанно
>которые даже не знают нахуй эта многопоточность и че с ней делать.
если чё то обе эти хуйни полезны по отдельности, просто вместе вообще заебись
>>27858
когда не представляется возможным оптимизировать архитектуру то это означает что виноват тот мудила который не углядел момент когда проект перешагнул ту ступень когда базовые его части должны были выйти из состояния прототипа.
а вообще нынче модно выбирать арихитектуры которые изначально рассчитаны под многопоточность.
>>27846
а не проще наследоватся от Image и написать в нем чтобы он сам свою хуйню в свой шейдор совал?
>Ну, то есть, у людей уже какое по счету поколение более лучшего подхода к мультитредингу, а у юнитихолопов по-прежнему в одно ядро как у сталкача и тормоза на мобилках.
Единственная игра, где реально сделали масштабирующуюся многококочность (видно по тестам рязани, у которой потанцевал раскрывается только в этой игре) - это последняя ларка.
>которые даже не знают нахуй эта многопоточность и че с ней делать.
Судя по треду, они хотят писать опенворлд-выживач, хуярить в геймлогику быдлокод и потом чтобы он ещё на китайских мобилках позапрошлого года в 60фпс цпу-баунд работал по волшебству.
И самое главное - что хуй они даже с многококочностью сделают 60фпс на телефоне где даже уй ведра после обнов уже тормозит.
Преждевременная оптимизация мозга, услышали что в ААА оптимизируют и давай тоже.
При том что столько контента, и такой геймплей, где эта оптимизация даст о себе знать они не осилят тупо по объёмам работы. А сержант графоуни и так достаточно ок в юньке оптимизирован и больше от него и не нужно.
>А сержант графоуни и так достаточно ок в юньке оптимизирован и больше от него и не нужно.
И то - полностью раскрыть даже потанцевал графона юньки им тупо кошелек не позволит. Какая, нахуй, мультикокочность? Тем более у нормальных людей интел и у бедных нормальных - гиперпень, там с однопотоком всё норм, а амудедебилы и нищеброды, которые ещё не сменили тормозящий калькулятор на новый - идут нахуй.
Вообще-то упереться в потолок возможностей юнити можно уже с несколькими десятками объектов.
Проблема даже не в отсутствии многопоточности, а в случайном доступе к памяти (данные компонентов разбросаны по памяти), в итоге процессор тупо 99% времени ничего не делает, а просто ждет когда ему прилетят данные из медленной памяти.
А ты думаешь что в это время твой i7 пыхтит, обрабатывая мощи юнитивского движка? Как бы не так.
нука встань с дивана и приведи ка пример. было бы очень забавно почитать такое чтиво!
а вообще описанную проблему решает ECS.
да и всегда можно по своему структурировать логику а с юнити общаться через специальную дырку, чтобы оно только рендерило. это то оно всегда может.
забыл чем закончился предыдущий посыл? пойди посмотри что цветные мудаки говорят со сцены, раз тебе и правда нужна инструкция к лопате.
>инструкция к лопате
лолшто. юнитивские демки ECS это скорее что-то вроде демки adam, где они все с нуля запилили, в том числе с платными ассетами и изменением исходных кодов движка, о чем почему-то забыли написать в ролике.
вот так заманивают дурачков.
>амудедебилы и нищеброды, которые ещё не сменили тормозящий калькулятор на новый - идут нахуй.
Охуенный подход к высоким продажам, к успеху идешь
Антош, а мне вот интересно, кто все эти люди, кому ваша контора продает железо с поделками на юнити? Зачем им вообще покупать какие-то самописки на Юнити (не в плохом смысле), что они с ними делают?
используют ECS...
Я тестировал билд отдельно, не в редакторе(
И всегда в одних и тех же точках в локации, странно.
Это копия, сохраненная 23 августа 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.