>>570005 (OP) лол, оп-пикча вообще с 3.хуй.говно-версии, ей лет эдак 5-6 уже. там и шрифт другой и в названии 3D присутствует, сейчас убрали когда ДВ делал, этот сплеш знатно меня заебал
>>570005 (OP) Да блин, у вас гугл с картинками сломался? Нельзя было что-то более интересное повесить в шапку? Теперь опять 1000 постов придётся смотреть на ЭТО.
Юноны, подскажите, можно ли сделать так чтобы материал1 всегда отрисовывался поверх материала2, при том что материал2 имеет sortingLayer выше?
Если конкретнее, у меня есть спрайт травы и спрайт игрока в одном sortingLayer, мне нужно чтобы спрайт тени который находится в другом sortingLayer отрисовывался всегда поверх травы, но всегда под игроком. Это ведь шейдерами нужно пилить, я правильно понимаю?
Анон, как сделать ПОЛНУЮ ресет кнопку? Ну, чтобы все произведённое действия и переменные вернулись к их начальным значениям? Пробовал ресет сцены делать, но нихуя, ничего не возвращается к начальным значениям.
>>570312 Можно. А потом тебе понадобится, чтобы был объект с функционалом МойЕбучийКласс и вдобавок МойПиздатыйКласс, но чтобы в нём не было свойства МоёХуёвоеСвойство из класса МойЕбучийКласс, а остальные чтобы были. И тогда ты, роняя кал из пригоревшего пердака, побежишь переделывать 90% кода. В то время, как ЕЦС-бояре сразу будут делать компоненты МойЕбучийКомпонент, МойПиздатыйКомпонент, МойХуёвыйКомпонент. И делать композицию: >ГейОбджект ебучаяПизда -> ( АддКомпонент(МойЕбучийКомпонент, МойПиздатыйКомпонент) ) >ГейОбджект пиздатыйХуй -> ( МойПиздатыйКомпонент, МойХуёвыйКомпонент) >ГейОбджект ебучийХуй -> ( МойЕбучийКомпонент, МойХуёвыйКомпонент) И когда тебе потребуется функционал гуся, сыра или джигурды, тебе не надо будет переписывать объектное дерево с горой наследований, а достаточно будет создать пару новых компонентов и композировать их, где нужно.
Аноны, пытаюсь делать игру по устаревшему руководству. В последней части анимирую босса. http://websketches.ru/blog/2d-igra-na-unity-podrobnoye-rukovodstvo-p8 До всего этого дошел нормально, код подправил где надо. Тут тоже основные косяки кода исправил вроде, но выглядело кривовато. Например в анимации Hit не мгновенно передвигались нужные спрайты. Но большую часть проблем убрал. Однако босс совершенно не крутится в режиме игры. Тобишь не вертится в анимации атаки и не покачивается в идле. На сцене все анимации отображаются корректно. В чем там дело?
>>570390 >В чем там дело? Может в этом? >Аноны, пытаюсь делать игру по устаревшему руководству. И не называй этот процесс "делать игру", это называется "проходить нахуй не нужное устаревшее руководство".
>>570416 Это, конечно, ахуенное замечание, только сути это не меняет. Мне всего лишь нужно понять, где напартачено/не актуально для современных версий руководство чтоб допилить свой 2D-высер. А вообще я сейчас делаю актуальную версию этого гайда, с новыми скриншотами, правками кода и т.п. Все до этого момента запилил, только с анимацией не могу разобраться. Сам-то я не шарю, но вот такое дали ТЗ
Чё скачать из ассетстора для простых анимаций(типа увеличивающих объект, делающих чтобы он с нелинейной интерполяцией по дуге пролетел и т.д. и чтобы это было совместимо с интерфейсом)? Чтобы было очень много возможностей из коробки. Раньше пользовалься iTween, но может и получше что есть?
>>570005 (OP) Стоит ли покупать курсы от Udemy или unity3dschool.ru ? С одной стороны, цена небольшая (700-900 за курс), с другой стороны, стоят ли эти курсы даже этих денег?
>>570701 cgpeers - скачай оттуда этот курс и сам решай, стоит покупать или нет. Из минусов - там качество видео не очень, ну, и субтитров нет, для тех кому с устным плохо. Я хотел было купить курс по освещению в юнити в udemy, но нашел этот курс в cgpeers, порадовался, что не купил. Ничего нового не узнал, никаких хитростям и тонкостям и не научили, хотя мои базовые знания - из мдокументации unity
На андроиде после установки новой версии игры поверх старой, при запуске открывается чёрный экран и зависает. Фиксится перезагрузкой устройства или само проходит через какое-то время. Если удалять старую версию перед установкой новой, таких проблем не возникает. Сталкивался кто-нибудь? Куда копать?
>>570775 PlayerPrefs храню и ещё несколько json-ов с текущим прогрессом в PersistentDataPath. Но когда бага проходит, все файлы на месте и нормально читаются.
В папке assets туева куча всякого хлама, почти на гиг, в игру используется только 0,1% от всего этого. Когда компилю игру под PC, то все происходит быстро, готовая игра весит 50 мб. А вот щас решил сгенерить apk, так вот, начался перебор всех ассетов. Прошло минут 15, потом выдало ошибку, но не суть. Я правильно понимаю, что не все файлы, которые находятся в папке assets, записываются в архив игры, а только сцены, префабы ... и что-то там еще? Нужно ли делать чистку в папке assets перед генерацией игры? А то вот например standart assets весит дохрена, но мне оттуда нужен только префаб персонажа
Мне нужно анимировать платформу. Я использовал контроллер анимации, потому что мне надо их переключать. Дальше я сделал анимационный клип через запись, подвигал платформу, сделал ключи. Закидываю этот клип в контроллер а он пишет что legacy not allowed in animation controller.
В гугле пишут что надо зайти в модельку и переставить галочку с легаси на дженерик. Но у меня нет модельки, просто куб с правой кнопки.
https://www.unrealengine.com/en-US/blog/unreal-engine-4-22-released Ну что, защеканцы, заценили, как нормальные движки проводят релизы? Посоны не просто наваливают новых модных фич как юнитеки, забивая при этом на старые и фикс багов, кочующих из версии в версию, они не постремались залезть в самое ядро движка и отрефакторить систему отрисовки мешей и скелетные анимации - то, что уже и так неплохо работало, только с одной целью - сделать это еще быстрее. Посоны, сидящие на уече, просто обновят двиг с 4.21 до 4.22 и получат буст производительности, а также сокращение время компиляции плюсов в несколько раз. Охуенно. А от юнити вы хуй когда такого дождетесь, если что-то кое-как работает - они не будут это оптимизировать в угоду новым фичам и хомяк-ориентированному маркетингу.
>>571158 Анриал обосрал ВСЕ блюпринтами, можно как угодно улучшать движок, на юнити это не повлияет. Если конечно, не выкинуть нахуй блюпринтоговно и сделать сишарпу. Ну или что они там новый анриалскрипт через пару лет запилят, посмотрим.
>>571165 >и сделать сишарпу Хуярпу тебе только могут сделать. Проблемы сишарпо-импотентов, которые не могут ни во что другое, мало кого интересует. Для сложной логики уже давно есть божественные плюсы, блюпринты нужны для ad-hoc скриптинга мелочевки на уровнях, типа открыть дверь по триггеру, то что на любом языке программировать зашкварно. >>571167 Ты анрил с годотом не путаешь, случаем? В анриле уже давно есть многоступенчатый куллинг, до которого юнити как до Китая раком. https://docs.unrealengine.com/en-us/Engine/Rendering/VisibilityCulling
>>571171 >Проблемы сишарпо-импотентов, которые не могут ни во что другое, мало кого интересует. Ну и пошел нахуй тогда с треда, обоссанный анриалодаун.
>>571186 Действительно, ведь все мы знаем, что до существования юнити игр не существовало в принципе, даже на денди не было игр, пока туда не завезли юнити, чтобы там на шишарпике можно было писать и оссеты по сценке таскать.
>>571188 До существования юнити такие долбоебы как ты не задумывались о разработке игр, а с появлением юнити они начали протекать во всякие разделы гд и срать в профильных тредах. Скажи спасибо юнити что ты имешь возможность высрать свой свиной пост.
>>571186 Ты вообще в курсе, что можно и свой маленький движок написать под личные нужды? Но тебе конечно проще писать огромные скрипты, чем разбираться в ООП.
>>571203 >писать огромные скрипты Вроде суть движков как раз в том,чтоб сразу делать игру а не писать "огромные скрипты" велосипедов. >можно и свой маленький движок написать под личные нужды
>>571192 Пора бы тебе понять, что не все такие, как ты. Для кого-то юнити - единственный способ прикоснуться к геймдеву, без этого они ни на что не способны. А кого-то отсутствие движка с порогом входа для дегенератов не остановит - индюшатину пилили еще в девяностых под ДОС.
>>571207 Если ты до сих пор считаешь что умение программировать - это всего лишь на 100% знать все магические словечки и писать их с памяти, то ты не понял сути. Программирование - это умение решать проблемы, раскладывать их на более мелкие части, планировать и видеть на перед.
Нужно чтобы когда пуля врезалась в препятствие происходил бёрст частиц. Какая практика лучшая для этого? Не слишком ли жирно будет вешать Particle System на каждую пулю? Она просто выглядит довольно тяжеловесно, юнити выдержит 30-40 таких пуль?
Просто есть идея сделать так чтобы одна Particle System телепортировалась каждый раз когда пуля врезается куда-то и высирала частицы, стоит такую штуку делать, или нет смысла большого?
>>571314 Ну моя тестовая сцена конечно выдержит. Мне потенциально еще дохуя нужно навешать на игру. Я то могу потратить время и выяснить это всё сам, но неужели нет какой-то общепризнанной практики?
>>571316 Ты прав. Просто есть некоторые вещи которым нужно следовать даже если тебе похуй на оптимизацию, потому что они просто объективно плохи, как например не крутить FindObject в апдейте.
Частицы вроде часто используют, я подумал что уже какие-то базовые правила существуют для них тоже.
Сколько стоит денег и времени написать С# сервер чтоб он принимал стрим данных с нескольких бирж (трейды, ордербуки), сохранял их в базу, а тем кто залогинен мог отдавать данные как с БД так и пришедшие со стрима. В общем суть затеи иметь возможность смотреть графики цен реалтайм/историю. Также нужен простой аккаунт менеджмент бан, систем месседж и чат ))). Какие могут быть подводные камни при найме?
Сейчас считаю все на своем пука, в три инстанса фризит на сильных мувах.
>>571323 У меня двадэ игра с мультяшными медленными пулями от которых можно увернуться и которые могут быть разного цвета и с разной анимацией. Я сильно не вникал в тот пример который ты скинул сложно, но насколько я понимаю это не мой случай?
>>571328 ну вместо Vector3 используй Vector2, добавь Color и какой-то индекс того что должно рисоваться в нужном месте, или имей несколько массивов на каждй тип снаряда. большое дело что-ли поменять как пуля выглядит. заодно и разберешься как можно рендерить какую-то хуйню без геймобжектов.
или можешь то-же самое сделать с помощью ECS. там чуть поменьше кода потребуется.
>>571372 откуда мы, блять, знаем какие у тебя проблемы в повторении устаревшего туториала? предлагаешь чтобы мы всматривались в туториал и одновременно посматривая в хрустальный шар пытались понять что же у тебя могло пойти не так?
>>570005 (OP) Аноны, очень нужна помощь в создании приложения в Unity, да, вы не ослышались - приложение в Unity. суть в том, что нужна помощь в создании UI. напишите в тг пожалуйста @ShinjiYakuma
>>570005 (OP) Зигхай анончик. Пишу я значит сейчас скрипты на свой 2д платформер, пилю под андроид и делаю упор на производительность. У меня встал вопрос по поводу отсчёта времени для определённых действий. Решить можно двумя путями: 1)Выделить int переменную и вести в ней отсчёт каждую итерацию. 2)Использовать юнитивский Time.time + задать новую переменную float 1 раз. Что будет меньше жрать? Как я полагаю Time.time счёт идёт всегда и второй способ будет быстрее.
>>571421>>571327 вообще, а хуй его знает чего и сколько такое стоит. у меня некого спросить. слишком специфичное чето. сервер с чятиком написать много мозгов не надо. сервер принимающий стрим от бирж это уже звучит как то с чем я вряд-ли вообще когда-либо буду иметь дело.
>>571469 ололо а вдруг кадр не фиксированное время идёт? рот открыть можно что такой хуйней занимаются люди.
кстати об оптимизации. недавно обнаружил что выстрелил себе в ногу слегонца. наверно с пол годика назад (а то и больше) в проект сунул пулл массивов. когда его делал то он представлял собой Dictionary<int, Stack<T>> где int это размер массива. вот вроде логично, я говорю какой размер массива хочу, оно дает, если есть. потом подумал что чет много сущностный пложу, пускай возвращает опционально массивы в степени двойки. а теперь обнаружил что во время поиска пути поиск в словаре по int занимает 15-20% времени. открыл рот, решил что чето хуево. решил что пускай пулл возвращает массивы размером только в степени двойки, а весь пулл хранится в Stack<T>[32], покрутил байтики, стало гораздо быстрей. вот только массивы из пулла тягаются в 250+ местах и некоторые части кода написаны с расчетом что размер массива совпадает с размером запрашиваемого массива. теперь наблюдаю интересную хуйню местами. больше причин вернутся и отрефакторить отрефактореное. полагаю мораль заключается в том что не следует использовать хуйню с обычными хэшами если потенциально она будет в критическом для производительности коде. история о том как проебать несколько дней вникуда.
>>571480 >как проебать несколько дней вникуда Да это ладно, не парься, как говорится, в масштабах вселенной это все мелочи. Хорошо, что ты вообще в таком разбираешься. А мне до твоего уровня надо проебать так еще где-то пол годика, лол.
>>570005 (OP) Как заставить анимацию полностью проиграться после того, как разово был установлен параметр? В данном случае на момент устанавливается Melee в true, начинает играться Attack, играется ровно столько, сколько идёт транзишен, и резко обрывается. Если поставить Transition Duration в 0 (то есть без перехода), то анимация не играется вообще.
>>571532 HasExitTime поставь и длину ему от анимации воткни 1 в 1. Я щас пилю на тачи контролер, и чтобы чар не двигался ещё во время атаки втыкаю блок на инпут движения на время анимации, только атака, а то с включенным HasExitTime передвижение во время анимации глупо смотрится. >>571480 >ололо а вдруг кадр не фиксированное время идёт? Будет другое решение. >рот открыть можно Какая у тебя ебанутая манера речи.
Есть одна кривая, необходимо рисовать на ней каждые 10 метров красную линию. Как это сделать? Сейчас у меня есть эта кривая, рисовать красные линии на ней получается, но не каждые 10 метров, а хуй знает как. Вот чисто логически я не понимаю, что именно мне следует использовать, чтобы реализовать это? Цикл For? А как расстояние посчитать на кривой?
Вопрос ебанутый, согласен, давайте попроще. Видите, линии в одну сторону смотрят все. А должны перпендикулярно кривой становиться. Я использовал Vector3.right * 30f; чтобы рисовать такие полосочки. Как их сделать параллельными то?
Сорян за нубские вопросы, можете не отвечать, просто уже заебался с этой кривой.
лол. о да. определенно это самый оптимальный путь!
>>571562 >Какая у тебя ебанутая манера речи. неужели этот фразеологизм настолько устарел?
>>571584 задавал в прошлом треде этот вопрос но хитрого ответа мне никто не дал. найди точки кривой, найди дистанцию между всеми отрезками кривой, сложи эти дистанции, используй эту сумму и дистанцию между отрезками для интерполяции вдоль кривой.
>>571587 >о да. определенно это самый оптимальный путь! Хз как объяснить, я тестю всё сходу и костылей там "не почувствовал" во время игры на сматфоне, удобно получилось. Но это всё привязано только к моему случаю, и мало ли там у него ещё что нужно.
>>571587 >неужели этот фразеологизм настолько устарел? Он сразу был дурацким, лучше говори - "ахуеть можно" или "ебануться, хуя ты даун, до сих пор ебешься с патфиндером"
Спасибо, разобрался. Проблема была в том, что состоянию ничего не мешало перейти в Idle, так как все анимации идут от AnyState. Пришлось сделать посложнее структуру.
>>571587 Я придумал только что максимальный костыль для определения длины кривой и разделения её на части: пускаю по ней двигаться "костыльный" обьект, в котором есть скрипт, что если он проходит, например, 50 метров, то делается запись в список о том, что по таким-то координатам надо поставить линию. Пиздец, но по идее может сработать. За твой вариант спасибо, тоже так попробую, найти общую сумму и поделить её на части, вроде понял. А то там видишь, на скрине, в изгибах как раз больше точек, чем по прямой.
Вы пришли к какому-нибудь единому способу организации проектов в Юнити? Структура папок, правила именования - вот это всё.
Что я для себя отметил: - Для ассетов игры нужна отдельная корневая папка с названием вашей организации, либо можно просто назвать папку Game. Всё это для того, чтобы ассеты игры не перемешивались со сторонними ассетами. - В папке Content текстуры, анимации, звуки. В папке Config скриптаблеобжекты. Остальные папки: Prefabs, Scripts, Resources. - Сторонние ассеты с контентом можно складировать в папке AssetStore. При этом ассеты-сервисы лучше не перемещать и не трогать. Типа Google Play Services и тому подобное. - Не использовать пробелы в названиях для папок и ассетов. Хотя насчет именования ассетов не совсем определился. Как и с именами объектов на сцене.
Ребят, снова очень нужна помощь. У меня есть скрипт диалога, все работает, предложения идут по порядку с прописанной в скрипте задержкой, но! Мне нужно, чтобы предложения(sting) переключались нажатием кнопки, то бишь (Input.GetKeyDown(DialogueInput). Куда бы я не вставлял этот кусок, ничего не работает, диалог либо вообще не запускается, либо предложения не переключаются и все зависает на первом. Сам чувствую, что решение простое, но не могу осилить. Надеюсь на вашу помощь.
>>571668 Нет, просто условия изменились и теперь мне нужно сделать, чтобы предложения можно было скипать нажатием клавиши. И я не знаю, как это сделать. Все.
>>571649 Тут сложно что-либо посоветовать, потому что у тебя полностью ебаклакский код и, видимо, минимальные познания в кодинге.
Ну, скажем так, ты можешь использовать StopCoroutine: - сохраняем корутину, Startcoroutine её возвращает - по нажатию на клавишу вызываем StopCoroutine - увеличиваем index++
>>571668 А как же теория создай по методу манкиду игру крестикинолики. Разберись с кодом и постепенно усложняй свою игру, увеличивай и усложняй код пока не получишь ведбмак 3, не?
>>571587 Ахаха, ковырялся в скриптах ассета, который рисует эту кривую, и как ожидалось, нашел там функцию, измеряющую длину кривой. В тему о том, как проебать два дня, лол. Так, длина есть, теперь надо, зная длину, наебашить каждые 50 метров по отрезку...
>>571719 >>571721 Ну плиз, ну не тральте, можно ли как-то поменять ? Я видел там есть екстернал функции, и можно менять назване окна, но может юнити что-то такое позвоялет делать,
Может быть кто-то сталкивался? В шейдерграфе в HDRP, когда пытаюсь создать Master PBR ноду, то там не отображается превьюшка.
А если пытаюсь делать все по этому гайду, то вроде все получается, но вместо PBR ноды использую Master Lit. Но по итогу, шейдер получается, текстурка и полосочки есть, но не двигаются, хотя все как у него, кроме выходной ноды. https://www.youtube.com/watch?v=KGGB5LFEejg&t=43s
Вдруг кто-то тоже делал такой шейдер в Unity HDRP...
>>571943 Ааа, ебать, я понял, он не двигался, пока игра была не запущена. А когда её запускаешь, все работает. Блин, надо просто найти, как включить отображение шейдеров в режиме редактора.
Если я в цикле с много итераций обращаюсь к одному и тому же элементу списка дважды, есть ли смысл вытащить элемент в локальную переменную и уже к ней обращаться?
Если я кручу цикл 50к итераций с условием i < array.Count, каждый раз оно проверяет каунт листа?А может каунт тоже кешировать надо?
Есть одно место где надо крутить цикл, в которому нужно еще вращать циклы, заметно просаживает, но пока не критчно.
>>571938 Крч воткнул и тот и тот наборы скриптов и префаб с анимациями генерится, но лишние спрайты в нём есть, их дизэйблю и всё сексуальненько работает. Костыль конечно, но зато анимацию легко делать.
>>572045 > Если я в цикле с много итераций обращаюсь к одному и тому же элементу списка дважды, есть ли смысл вытащить элемент в локальную переменную и уже к ней обращаться?
Если элементом является экземпляр класса с кучей полей - однозначно лучше в переменную кидать. Только не локальную, а глобальную (чтоб память уже была веделена).
> Если я кручу цикл 50к итераций с условием i < array.Count, каждый раз оно проверяет каунт листа?А может каунт тоже кешировать надо?
Да, проверяет. Идет обращение к полю листа (каунт). Лучше кеш ровать, так тв получишь -50к операций за тик.
> Есть одно место где надо крутить цикл, в которому нужно еще вращать циклы, заметно просаживает, но пока не критчно.
А че лист в массив не переведешь? Массивы обрабатываются значительно быстрей. У тебя там че динамическое изменение кол-ва элементов?
>>572226 Свет не прямой. Под действием гравитации пространство искривляется и направление потоков света тоже. Прямой свет это упрощение чтоб юнити не тормозило.
>>572233 Долбоебу так припекло что на нейтральное замечание он извлек из своего микроскопического кубка нейронов все ругательства которые знал. Классический юнитиребенок.
Кароч. я ебанутый художник. вот теперь хочу высирать свои художества еще и в виде .exe
Собсн всё норм, но одну хуйню ники не догоню. Значит речь о текстурах. Вот, например в тридэхе я накидал хуйню из восьми разных кубов. И хочу на всех них ебануть текстуру_нэйм. Чо происходит. Все кубы обтягиваются текстурой одинаково X1. Можно потайлить, но потайлю для одного кубика - попидарасит остальные.
Раньше я как-то делал такое, что текстурва отлипает от UV и ложится на все объекты с одинаковым тайлингом.
Памахи блядь вспомнить, пездец же я ебал. пол-бороды вырвал уже, ну
>>572283 Хуйня. У меня кубами ухуярено пол-левела. Они - стена, они - потолок. Они всё. Вот это вот всё говно надо залить зернистой текстурой. Я хочу, чтобы она легла одинаковым масштабом и я знаю, что это можно. Только я забыл как
блядь. ебаться с развёртками для пятнадцати потолков, шестидесяти стен и целой кучи всякой поеботы это пиздец, сочленять одну длинную стену из двух маленьких, это еще больший пиздец. вывод: пизданулись в конец, да?
Засранцы! Я - повелитель шейдера! Запомните, вашу мать, это лицо! Там где шейдер, там, вашу мать, это лицо! Я знаю, как обращаться с этим дерьмом. Никто не владеет шейдером, как я. Ни этот гавнюк. Ни вы, гавнюки вонючие, там, в зале. Я шейдером командую. Когда доходит до дела, Я вот что с ним делаю. Я щипаю его вот так... Ах ты, гавнючок... Трусь об него носом...
>>572214 >А че лист в массив не переведешь? Массивы обрабатываются значительно быстрей. У тебя там че динамическое изменение кол-ва элементов? Да, динамические, постоянно набиваю их данными, ну вообще наверное можно было бы лучше сделать, но не буду, так как этим вообще должен заниматься сервер, а я пока что прототипирую.
Помогите ньюфогу только недавно открывшему юнити. Значит захотел сделать игру типа пикрелейтед, создал класс окна, наследовал блокнот с терминалом и вроде бы все работает, окна теперь двигаются туда сюда, растягиваются, тоси боси, но вот как сделать таскбар вообще представить не могу. Чтобы на панельке отображались иконки запущенных программ и с нее же можно было запускать установленные, как в макоси.
Я так понимаю нужно в массиве хранить объекты со скриптами окон на одном родительском объекте? А где хранить установленные программы? Куда копать ёбаный спасите
>>572303 Я понял, что он хочет, тоже не знаю, как это сделать. На ум приходят шейдеры. Может быть и есть где-то в юньке настройка материала такая, чтоб он не растягивал текстуру, но сам не нашел тоже. Если кто знает вдруг, как это обойти- пишите.
>>572578 Сложноватый ты для ньюфага выбрал проект, как мне кажется. Если сам не понимаешь- отложи, придумай что-то попроще, вернись попозже, когда такие вещи вопросов вызывать не будут. Хотя тебе могут конечно помочь, но ты захочешь сделать следующую фишку, и опять сюда придешь спрашивать? Если ньюфаг, то изучай документации, пробуй, экспериментируй, делай как считаешь нужным, со временем все придет.
>>572783 Ты применение форсес через че назначать собираешься, манюня? Вот хочешь ты по нажатию кнопки вызвать функцию addforce, ты этот вызов в апдейте должен делать.
Пишу редактор уровня. Есть кнопка. Она делает Instaniate префаба, но на сцене создается не префаб, который синенький кубик в иерархии, который имеет связь с префабом, а простой геймобджект, серый куб, который не связан с префабом. Понимаете? Как делать Instaniate именно префаба, чтоб создавался синенький кубик в иерархии, а не просто копия, которая не связана с префабом?
Я уже нахуй плавлюсь. Есть цикл for, в нем нужно сгенерить 5 рандомных значений. Unity.Random.Range(x, y) генерит одни и те же значения ("23" пять раз, скажем). System.Random делает тоже самое. Говорят: "Делай одну инстанцию, в ней Random.Next() будет нормально работать," — а вот хуй там, блядь!
Как быть? Впихнуть WaitForSeconds(), чтобы менять сид?
Пишу редактор уровня. Есть кнопка. Она делает Instaniate префаба, но на сцене создается не префаб, который синенький кубик в иерархии, который имеет связь с префабом, а простой геймобджект, серый куб, который не связан с префабом. Понимаете? Как делать Instaniate именно префаба, чтоб создавался синенький кубик в иерархии, а не просто копия, которая не связана с префабом?
Ой, сорян, два раза отправил. >>572914 Написал кастомный редактор уровня, с его помощью расставляю условные "монетки" по уровню. Хотел бы, чтоб изменяя префаб, менялись все "монетки" на уровне автоматом.
>>572925 Так погоди, в теории так и должно быть же. Если ты попробуешь изменить инстанцию "монеты", тебе будет предложено сохранить изменения в префаб. Оно работает и в обратную сторону. Ах ты пидор, заставил меня удалить кусок окошка.
>>572914 > Я уже нахуй плавлюсь. > Есть цикл for, в нем нужно сгенерить 5 рандомных значений. Unity.Random.Range(x, y) генерит одни и те же значения ("23" пять раз, скажем). System.Random делает тоже самое. Говорят: "Делай одну инстанцию, в ней Random.Next() будет нормально работать," — а вот хуй там, кукарекуууу!
Void Loopa{ for (int i =0; i <5; i++) { Zaloopa(Random.range(0f, 100f)); } }
Нубский вопрос: как сделать функцию которая будет ждать 2 секунды перед тем как продолжить, но если я вызову другую функцию во время этих двух секунд то она отменит себя
Юзаю воду из стандартных ассетов, как сделать,чтобы источники света отражались? На скриншоте деревья подсвечивает point light, хотелось бы, чтобы он и в воде он не виден..
>>573244 Да у меня во всех выпусках последних такое. еще раньше было, что при запуске игры черный экран, нужно было галочку с dof снять, потом пофиксили. Сейчас скачал последний билд опять эта хуйня вернулась.
Почему в юнити нельзя просто загружать из массива разные анимашон клипы динамически и запускать на аниматоре? Вдобавок нужно как анрилодебил на блююпринтах, таскать анимации в аниматоре и мазать лапшу из стрелочек. Какая же сранина, слов нет.
>>573437 >нахуй так жить? ну например: Есть основной аниматор с состояниями ходить, бегать, итд. Есть сотни возможных абилок с уникальными анимациями, которыми не желательно забивать основной, иначе это организация через жопу, игрок будет юзать от силы 5%, а мы зато держим весь хлам в памяти контроллера, а теперь представь как весело с таким аниматором работать (см. сотни возможных абилок с уникальными анимациями).
Погуглив я обнаружил знакомую ситуацию - проблема уходит еще в 2011, но функционала добавить стейт/клип, убрать клип и тд так и не добавили, хотя спустя какое то время накинули сверху костыль (оверрайд контроллер) который не решает проблему сверху, т.к. чтобы оверрайдить что-то нужно чтобы это что-то сначала в контроллере было.
Забавно что в старой системе, от которой отговаривают все мануалы, этот функционал походу был.
>>573475 Ну это понятно. Я просто хотел, чтобы в начале было 000000 очков написано, ты такой подобрал монетку, и стало 000150 очков, понимаешь? Просто можно наговнокодить всякого разного, но наверняка есть какой-то простой метод, чтобы считать такое.
>>573291 Че "это", шизоид? Ты можешь мысли четче выражать? В первом листинге ты просто 5 раз подряд отнимаешь от temp рандомное число. Итого у тебя ОДИН результат только - после 5-го отнимания.
Во втором листинге ты после каждого отнимания присваиваешь результат элементу массива, итого у тебя уже 5 результатов получается, хоть там и не полный код у тебя дан, похоже, т.к. назначения x через temp не видно.
>>573579 Ого, какую хуйню я написал в pastebin. х присваивается значение "temp - Unity.Random()". Если делать это в одном цикле, все переменные в x[] получают свои рандомные значения и в MonoBehaviour в текстовом объекте они будут соответствующими. Если в MonoBehaviour отправлять их в отдельном цикле, то всем MonoBehaviour, какого-то хуя, присваивалось последнее значение из x[].
>>573487 в старой такого крутого блендинга не было. вообще при желании его можно и воспроизвести на коленке. http://runevision.com/thesis/rune_skovbo_johansen_thesis.pdf можно взять локомоушен с которого можно сказать меканим делался, он до сих пор в открытом доступе. очень интересное чтиво внутри.
>>573526 вычти из одного кватерниона другой, подели на время. чтобы вычесть воспользуйся Quaternion.Inverse на одном и помножь другой на него чтобы получить дельта-ротацию. ну а дальше лерпом воспользуйся например если хочется поделить.
>>573623 Таблетки прими, шизик, которые тебе врач прописал, ты хуйню какую-то бессвязную несешь. И пройди пару уроков по циклам, а то с таким пониманием тебе место за кассой в макдаке нищебродов обслуживать.
Когда назначаешь smoothnes map, unity также смотрит на uv - развертку, как в albedo? Вот скажем, есть модель двери. У корпуса двери - metallic и smoothness равны 0, а у дверной ручки 1. Можно ли одним материалом сделать разные части модели с различными уровнями гладкости?
>>573936 сукка как же бесит эта раздутая опухоль из терминов и "нововведений" за щеку почему эти дебилы не могут в keep it simple, я же 1ma наберут блять пакистанцев и индусов по квоте и те плодят сущности чтобы не уволили, пора чтоли к движку поскромнее присматриваться хз
Можно ли как то поставить катсцену, сделанную с помощью таймлайна, на паузу, при этом не ставя на паузу всю игру? Ну, что бы продвижение по тайлмлайну остановилось на некоторое время.
>>573773 >Посоветуйте годных русскоязычных туториалов на ютубе. Попробовал посмотреть, так там какие-то косноязычные омежки в топах. Бамп вопросу, пока не началось.
>>574599 Смотря какие задачи ты хочешь решить Думаю книжки и дока решит сэкономит тебе время больше, чем ты будешь слушать и смотреть получасовые ролики
Насколько сложно в юнити сделать йоба-онлайн игру? Небольшую пошаговую стратегию например. Сложно будет разбираться с онлайн-частью ? Можно ли к уже готовой игре прикрутить мульти-плеер?
Что это за поебень? Выкрутил normal bias только для того, чтобы лучше было видно. Избавиться от этого можно только если сильно приблизить или отдалить камеру. Как ещё можно избавиться от этого круга, которого нет?
В кратце скажите: 1. кому всрался новый гарбадж коллектор? Это какой-то выигрышь в производительности для мегапроектов или любому нубу это пригодится? 2. Че таймлайн кто-нибудь уже освоивает? Кому-нибудь она всралась? расскажите
>>575857 >1. кому всрался новый гарбадж коллектор? Это какой-то выигрышь в производительности для мегапроектов или любому нубу это пригодится? Просто неплохо иметь альтернативу.
>>575857 IGC это, конечно, хорошо и нужно, но! Раньше говнистость кода ограничивали лагспайки GC (BTW как эти говнокодеры умудряются в языке с value types так засрать всё объектами? Даже в майнкрафте такого нет, а ведь там каждый ебучий вектор - объект), а теперь ещё один гвоздь в дамбе им. Говна заржавел и можно ожидать ещё больше мозговыносящих техник.
Для нормальных разработчиков профит разве что в играх с открытым миром, когда много параши приходится подгружать и забрасывать на лету.
>>575869 >BTW как эти говнокодеры умудряются в языке с value types так засрать всё объектами? Даже в майнкрафте такого нет, а ведь там каждый ебучий вектор - объект Можно пример этого? Я сам кодер но не вдуплил о чем речь
>>576003 Ты не рефлексируй, школьник ебаный, а книжки по программированию почитай, там где базовая теория, про типы данных, про то как память в кудахтере работает. Тогда может быть потом тебя меньше будут обоссывать за твою пидорашью полуграмотность, КОДЕР, блядь, хуев.
>>576008 У тебя мозги в кашу, просто, манька. Там только имбецил-пидораха не поймет. Но не всем де людьми быть, верно, пидоран? Кто-то типа тебя и за кассой должен хуи сосать.
>>576027 Пидораха, акстись, я из тебя человека пытаюсь сделать, а ты знай себе нахрюкиваешь "хрююю ни мишай мине бить тупорылой пидорахой! Нихачу ничо знать хачу погромировать! Кукарекууу!" Ты, пидорундель ебаный, лучше послушай че тебе лбди оьразованные говорят, подучи основы программирования, поом уже лезьпроьоваться в гд. А пока твои нахрюки только людям насмех, всосал, хрюндель?
>>576030 я знаю основы программирования, расслабься, маня. Ты приведешь пример: >как эти говнокодеры умудряются в языке с value types так засрать всё объектами? Даже в майнкрафте такого нет, а ведь там каждый ебучий вектор - объект Или ты это спизданул так, чтобы себя умным показать, типо ты чето знаешь?
>>576031 Детектор чини, пидораха ебаная, я не тот анон. Знал бы ты основы, без сторонней помощи бы вдуплил что речь о структурах. Но ты тупая пидораха, которая, судя по всему, только итт узнала что оказываются бывают разные типы данных, но все равно настолько тупорылая что не знаешь базовой хуйни как можно структуры юзать, а как классы (объекты), какая память используется в разных случаях. Нассал тебе в рот тугой струей, в общем, пидорашка.
>>576033 а может просто тот еблан так изъясняется, что ничего не понятно? Я Value types блять и чего? При чем тут структуры? Ты тоже свой детектор чини шлюха, я знаком со структурами. >>576035 Да тут просто один петушара решил показать, что он тут главный в программировании. Ну что, братцы, зададим ему люлей?
Объясните про мультиплеер в Юнити: сложно за него браться новичку? Я имею ввиду создать какие-то базовые вещи типо передвижения игроков по карте, чтобы у всех в клиенте передвигаемый ящик там передвигался и т.д.? Это типо просто как и создать меш: прочел туториал небольшой и сделал? Или там какая-то ниибацо серьезная настройка проекта нужна перед этим?
Я просто боюсь вкатываться, думаю не потяну мультиплеер.
>>576159 >посему глубокое знание сетей не критично Оно там вообще не нужно, по большому счёту. На шарпе код взаимодействия с сетью занимает несколько строк, на плюсах сервер у меня занял пол страницы. Ладно, я с сетями работал сколько себя помню. Но вот даже если бы не знал, то по инструкциям написать заняло бы очень немного времени. Но я не использовал юнитивозможности. Я использовал тупо шарп + кресты. >>576158 Основная ебля у тебя будет с синхронизациями, попытка что-то придумал для борьбы с неправильным поведением игроков (ты же планируешь закладывать устойчивость к читам/хакам/подмене пакетов и данных в дизайне?). В любом случае, сеть - не основная вещь, о которой тебе придётся волноваться.
Только недавно вкатился: насколько приемлима реализация тайкуна/менджмент игры через простой InvokeRepeating, когда каждые полсекунды идет один день игры и следовательно все вычисления геймплея? Можно ли как-то по другому или этого достаточно
Что за пиздец? Захотел сделать простую консольку акка логгер, ебашу канвас отдельынй, ебашу туда панель на панель кидаю 20 элементов с text, как только появилось новое сообщение или скролл, в цикле каждуому элементу меняется текст, элементы пересоздавать не нужно, просто выключил лишние если сообщение одно или вовсе нет. Смотрю профайлер, а там 5 мс при прокрутке говна, что это блядь такое, не ну я поинмаю что этому говну нужно пересобрать весь канвас, но хули там собирать можно 5 мс? Я хуею, что может быть? Погуглил, пару советы уровня выключить pixel perfect непомогло. Жить можно, но я негодую схуяли так медленно.
>>576241 >InvokeRepeating Хотел бы тебя отхуесосить, но мне так лень. Короче, пиши нормальный менеджер в коде, который будет задачи управлять. Можешь корутины использовать ещё, но с менеджером они не пригодятся.
>>576269 Делаешь, пока не заработало: галочки на текст static -> выпиливание (не выключение!) затайленных картинок -> выключение аутлайнов -> молитва Кодзиме.
Тут есть кто пользуется успешно системой частиц в юнити? Как вы справляетесь с тем что она очень ограниченная? Например, мне нужно чтобы размер частиц менялся с пройденной дистанцией, но такого модуля нет. Лезть под капот и каждый кадр это всё вручную делать, получается? У меня просто такое ощущение сложилось что это совсем крайний метод, там проблемы всякие с куллингом возникают если через код частицы менять.
Начал пользоваться коробочными юнитевскими тайлмапами в 2018.3.
Вчера словил баг с тем, что часть образцов из TilePalette не рисовала ничего на тайлмапе, при этом сами образцы в окне TilePalette были закрашены. Реимпортнул, похуй, вроде поправилось.
Сегодня начал тестить кастомные тайлы, не поставил проверку на null для GO в StartUp() - вся среда пошла по пизде, в сцене рандомно заспавнились GO, которые невозможно увидеть в иерархии и, соответственно, невозможно удалить при этом они реально существуют в игре и обсчитываются физикой, лол. В окне TilePalette - визуальные артефакты из этих GO, которые, само собой, тоже не убрать. Помог только перезапуск редактора.
Вопрос: стоит ли вообще использовать это говно или лучше писать свой инструментарий?
Юнитисты, поясните по хардкору почему получение компонентов считается такой "no-no-no" операцией в смысле производительности? Я не знаю внутрянки GameObject-а, но варианта два: либо там какая-то мапа (у вас в шарпе это называется Dictionary, вроде бы), либо простая коллекция/массив. В любом случае, даже если сложность O(n) - компонентов обычно не так много, и поиск займёт не так много времени. Так почему такой вайн стоит? Конечно очевидно, что нужно кэшировать если есть возможность.
У меня этот вопрос назрел потому что мне один юнити-профессионал затирал про эту хуйню, а потом я заметил что у него в апдейте два раза вызывается Camera.main.
>>576680 Привет. Я ньюфаг шарпа, но хотел спросить тебя как спеца, как можно в шарпе заставить картинки с форматом png выводить прозрачными? Да как вообще там можно реализовать прозрачность, полупрозрачность?
>>576680 Да нет никакой проблемы с GetComponent. Просто кэшируешь по возможности, чтобы избежать лишних вызовов и чтобы код был более читаемым.
>мне один юнити-профессионал Знаю я этих профессиАНАЛОВ. В одной геймдев студии мне затирали про foreach, что нельзя их использовать, это грешно, создает мусор, ломает игру.
На днях обнаружил что если ГетКомпонент возвращает нул то он аллочит мусор, немного, но все же если я проверяю компоненты через апдейт то это будет неочень. Гугол скозал что мусор этот из за какой то внутренней строки, т.е. юнити профайлер хуярит какой то варнинг-строку самому себе, типа "не нашел нихуя, лол, возвращаю нул".
Отсюда следует что в билде этого не должно быть, если это профайлер? Отсюда вопрос - как в билде проверить gc allocations? Если какой то доступ у GC сколько говна у него в данный момент? В какую сторону воевать?
>>576772 >Отсюда следует что в билде этого не должно быть, если это профайлер? Да. В билде эксепшен при отсутствии компонента не поднимается. Если тебе прям очень это печёт, GetComponents ничего не аллоцирует даже в редакторе.
>>576848 Что-то не нашел. ? >>576926 GetComponents не проверял, но полезно будет знать в будущем, спасибо. Решил не копротивляться движку, поскольку я делаю рейкаст на геймобжекты, указал там слой маску чтобы он рейкастил и геткомпонентил только на тех, у кого этот компонент точно будет (чтобы нулл не было).
>>576680 Потому что с каждым таким вызовом (не кэшируя) ты создаешь новую ссылку на объект, который сам по себе является ссылочным типом данных, что само по себе уже пизда, потом эта куча ссылок будет чиститься сборщиком мусора (gc).
Сейчас бы заниматься преждевременной оптимизацией. Игру сначала захуярь, а потом профайлером уже смотри где тормозит. Обычно проблемы с оптимизацией графики возникают, а не со скриптами, лол.
>>577127 это как в казино - сделал механику, хочется продолжать ее кодить пока у тебя удача, микрооптимизировать, кажется что еще чуть чуть и сделаешь совсем пиздато, нужно чуть поднажать, и проходит день за днем, месяц за месяцем лечится только евтаназией
Ребзя, можете подсказать, как лучше организовать физику воды? Ибо в юнити эта вещь (по крайней мере, что я нашел) очень костыльная и реализуется она либо маленькими "треугольничками", либо ассетом (но там она выглядит так себе), потому что у меня сама идея проекта держится на переливании и смешивании различных жидкостей
Здрасте. Не подскажете, где я обосрался с физикой? На объект постоянно действует сила (ForceMode.VelocityChange). На пикче - красным цветом. Чего ожидаю я: объект упирается в коллайдер и начитает по нему скользить (синий вектор), а затем продолжает движение как обычно. Что получается - объект наглухо прилипает к стене. Пробовал выкручивать фрикшен на 0 - не помогает. Это так и задумано и нужно самому через скрипт симулировать такое поведение?
Как допиливаются ассеты с маркета до рабочего состояния?? Импортируется ассет в сцену и в итоге 500 материалов в кадре, тормоза и игра не играбельна. Как ассеты то юзать? Чем оптимизировать
>>570005 (OP) Сап. Вкатываюсь в Юнити. Посоветуйте бесплатных видеоуроков, не таких как это https://www.youtube.com/watch?v=L_Bzcw9tqTc Очень раздражающий голос и лицо идиотическое. Желательно на русском, но и инглиш подойдёт.
>>570005 (OP) Насколько критично использовать при разработке игры всякие МВЦ, обджект пулы, абстракные фабрики, обсерверы и прочее? Реально ли это даёт какие-то преимущества или наоборот потом хуй разберёшься в этом нагромождении классов?
>>578150 А можно поподробнее? Вот у меня есть Игрок, у него есть скрипт и моделька, в скрипте есть функция движения вперёд. Я делаю кнопку, вешаю на неё эту функцию, нажимаю и моделька Игрока движется вперёд весело попёрдывая. Всё просто и понятно. Тут же мне приходится раздербанить Игрока на десять классов, модель в одном месте, движение в другом, пердёж в третьем. При нажатии на кнопку нихрена не вызывается функция движения, а создаётся уведомление о нажатии кнопки, которое потом специальный класс будет получать и ту функцию вызывать. Почему второй подход считается лучше первого?
>>578152 Я думаю второй подход это композиция и нужен если игра больше тетриса и есть разные юниты или модели поведения. Чтобы избежать нагромождения или повторения кода, надо разбить функционал на мелкие куски и их скреплять уже как надо. Иначе получится yandere simulator. мимо попёрдывал
Карочи такая проблема.Есть кнопка, которую можно нажимать мышкой и есть объекты на сцене, которые тоже можно нажимать мышкой. Если объект оказывается "за" кнопкой, то при нажатии кнопки нажимается и объект. Собственно, вопрос. Как сделать так, что бы при нажатии кнопки нажималась только кнопка?
Sup Задействовал ассеты которые убрали из магаза уже например, думал ну типо сперва сделаю игорь а патом под конец куплю. Шас как-раз скидочки майские подвезли и я заплатил за основные. Но некоторых в в сторе уже нет (устарели или нет обновлений до новых версий юнити) как с ними быть например? Кто может предьявить за эти ассеты вообще, их ктонибудь проверяет или как? Просто Play уже настолько забит говном что я думаю что врятли.
>>578146 >обжект пулы Для любого game object-а, который создаётся-удаляется больше ~сотни раз в минуту - мастхэв. Каноничный пример - всякие снаряды. Для обычных C# объектов надо тестить конкретный случай. Я бы лично скалкой пиздил за пуллинг условного вектора.
А вообще тесты-тесты-тесты. Работает понятно, как нужно и не губит фпс - не лезь. >>578152 Вообще я бы советовал использовать новый инпут https://github.com/Unity-Technologies/InputSystem - для клавамыши он уже на 99% стабилен, а пока игра выйдет - будет на 100%. В этом случае проблема сводится к скрипту PlayerController, который конкретно подписывается на C# эвенты инпута, и, в зависимости от комплексности игры, двигает игрока напрямую либо через прокладку аля CharacterMovement (общий для всех персонажей компонент). Соответственно, другой компонент уже управляет инпут контекстом и следит, чтобы WASD не двигали персонажа когда игрок смотрит в инвентарь, например. Этому InputContext-скрипту даже не нужно знать про скрипт PlayerController - тот просто не получит инпут, если контекст не располагает. Хотя для верности там есть эвенты контекст свича, емнип.
>>578349 Старая была вонючей горой дерьма. Старый юнити на самом деле почти весь - большая куча говна. Ну, на другое у них ресурсов и не было. Зато сейчас попёрла годнота. Новая InputSystem - конфетка, а SRP с его божественным Shader Graph-ом - манна небесная.
>>578361 По сути она была неюзабельна изкаропки. Тебе нужно либо было писать свой уровень абстракции и интерфейс, либо же пользоваться популярными ассетами типо Rewired/inControl, которыми пользовались все успешные инди-игры.
>>578374 >как Покупаешь ардуино и датчики, собираешь прототип. Когда MVP заработал - снимаешь датчики с ардуины и делаешь нормальную плату на обычном контроллере.
>>578341 >В этом случае проблема сводится к скрипту PlayerController, который конкретно подписывается на C# эвенты инпута, и, в зависимости от комплексности игры, двигает игрока напрямую либо через прокладку аля CharacterMovement (общий для всех персонажей компонент). Соответственно, другой компонент уже управляет инпут контекстом и следит, чтобы WASD не двигали персонажа когда игрок смотрит в инвентарь, например. Хоспаде, какой ужас! Мы поместили контекст в контекст, чтобы ты девелопил пока девелопишь.
Как же я заебался с этим аниматором. Есть анимация из последовательности спрайтов. Её нужно запустить проигрываться программно, чтобы она проигралась один раз и остановилась до следующего раза. Как мне это сделать?
Еботня начинается с того, что это единственный клип в аниматоре, соответственно, из Entry к нему идёт стрелочка, и он начинает проигрываться сразу со стартом. И уже на старте мне нужно дизейблить аниматор, чтобы ничего не проигрывалось. Почему нет нормального интерфейса к нему: Play, Pause, Stop ёбаный рот этого казино.
>>578555 Ладно, это я понял. Создал пустой стейт, пусть он будет дефолтным. Далее, допустим, создал булев параметр Start, и по нему из Any State запускается мой стейт с анимацей. Как теперь сделать так, чтобы анимация проигралась один раз и ушла в дефлотный стейт или на выход?
>>578628 Либо принять и смириться, либо сменить движок. Про статтеры в юнити уже давно говорили, править это не будут, ибо лошье и так несет деньги, зачем напрягаться.
Аноны, есть задача сделать так, чтобы игрок мог вращать объект с помощью мыши. Задача довольно стандартная, поэтому спрашиваю, есть ли уже готовые скрипты или ассеты, решающие эту задачу?
Есть какие-то негласные(или гласные?) правила, какими должны быть скрипты(чтобы было не стыдно их куда-то выложить, чтобы кто-то другой мог имм пользоваться)? Вот я обычно просто без задней мысли беру и делаю скрипт class Jopa { public int hui; public lel; private float ffff; void Start() ... } Должен ли я по дефолту везде предусматривать сериализацию? А какие-нибудь обработки событий?
>>578822 Ну вот в том же C++ в классах надо в идеале реализовывать мув семантику и безопасность с точки зрения исключений, чтобы этим классом кто-то другой мог нормально пользоваться. Но при этом можно даже не знать что это такое и тупа пилить говно без всех этих нюансов. Вот такого уровня важные вещи в шарпе в контексте юнити есть?
>>578850 С# в разы надежнее плюсов, не парься. Так к тому же еще и Юнити все равно держит все эксепшены. Так что пили максимально говняный код и будь счастлив.
Посоны, главный юнити поток добавляет элементы в список, во втором нужно считывать, какие могут быть подводные камни если несколько потоков читают один массив или список данных? Подразумевается только доступ по индексу.
Дорогая ли операция по присвоению объекту родителя? Мне надо, чтобы на десятую часть секунды один объект становился потомком другого (чтобы они вместе перемещались), а потом обратно становился независимым. Нормальное ли решение для такой задачи или лучше вручную их координаты синхронизировать?
>>570005 (OP) Что насчёт оптимизации ассетов под разные конфигурации? Допустим, пилю 2d с расчётом на Full HD. Нужно ли иметь картинки разного размера под меньшие разрешения? Или под худшее качество картинки. Например, игра отъедает мегабайт 500-1000 видеопамяти, не у всех такое есть, многие люди на встройке сидят. Или юнити сама этим занимается? В какую сторону гуглить? Заранее спасибо.
>>579038 >Что насчёт оптимизации ассетов под разные конфигурации? Допустим, пилю 2d с расчётом на Full HD. Нужно ли иметь картинки разного размера под меньшие разрешения? Или под худшее качество картинки. Например, игра отъедает мегабайт 500-1000 видеопамяти, не у всех такое есть, многие люди на встройке сидят. Или юнити сама этим занимается? В какую сторону гуглить? Заранее спасибо.
Пилю таймкиллер со СЛОВАМИ, не суть. Имеется база рузке слов под 50к, необходимо рандомно брать слово из базы, желательно по указанной длине. Думаю, можно было бы эту базу отсортировтаь по длине и разбить. В общем как лучше реализовать чтение из таких баз и выборку рандомного слова, чтобы не нагружало и быстро и всё такое.
>>579662 Лучше всего вообще создать свою специализированную коллекцию связанных елементов, иначе будет ОЧЕНЬ медленно дял 50к слов.
Тупой вариант: банально пройтись по всей базе и забить Dictionary по схеме: (int , string[]), где ключ - число означающее длину, а массив строк - сами слова этой длины. Выбирать можно так: slovar[длина].MyRandomGetter();
>>570005 (OP) Нужно создать условно бесконечную плоскость фиксированной ширины в 3d, т.е. дорожку, по которой персонаж будет бежать. Как это лучше всего можно реализовать?
>>579747 Самый простой способ - делаешь стандартный объект типа quad или plane и скриптом подставляешь на нужные координаты. Можно два объекта переставлять - тот который ушел за экран телепортировать вперед. Более красивый способ будет это генерировать меш в скрипте по вершинам. Но это сложнее и может нафиг и не нужно
Решил в юните в параметре "Api Compatibility Level" выставить значение .Net 4.x, что бы поддерживалась динамическая типизация в C#хочу динамически десерилозовать json. Какие подводные камни? Потери в производительности? Может ли так случится, что где то просто всё пойдёт по пизде? Алсо, игру пилю под Андроид подумываю и на iOS потом портануть, но это не точно
Разрабатываю онлайн игру под андроид с сервером на джанге. Как лучше всего выполнять регистрацию и авторизацию? Обязательно ли нужно запрашивать email, а потом слать на него подтверждение? Как сделать так, что бы при входе в приложение авторизация выполнялась автоматически, что бы пользователю каждый раз не приходилось вводить логин и пароль? В гугл плей выкладывать игру не собираюсь, поэтому его возможностями воспользоваться ну могу.
>>579865 >Как сделать так, что бы при входе в приложение авторизация выполнялась автоматически, что бы пользователю каждый раз не приходилось вводить логин и пароль? Приложение должно сохранять пароль в текстовом виде, при входе проверяется есть ли пароль в том текстовом файле, если есть автоматически отсылает на сервер получает токен и пускает в игру.
Сап, /gd/. Делаю кликер для ведроида, хочу сделать проигрыш анимации и некоторую математику на нажатие на экран. Ебусь с разными вариантами всю ночь, пытаюсь гуглить и я либо делаю кнопку, по которой анимация проигрывается и останавливается на последнем кадре, а после нажатия ничего не происходит, либо не понимаю, как правильно впихнуть простой тап по экрану. В документации всякие Moved, Began и прочая поебень, вставив которую Юнити выдаёт мне Index out of bounds за одно нажатие. Если плохо понятно, извините, я волосы на себе рву уже целую ночь из-за того что не могу ебучую анимацию по нажатию на экран сделать и найти нормальный ответ. Пример кода в пикриле.
>>580501 Наконец-то сделал, блять. Всего-то надо было транзишн со стейта с анимацией сделать на пустой стейт. Теперь ещё большой вопрос как разобраться с управлением.
Аноны, мне нужно добавить в мою игру ТРАВУ, такая, что бы травинки плотно прилегали друг к другу, но при этом она жрала ресурсов по минимуму (пилю под днишевые мобилки). Т.е. максимум дёшево и просто, без анимаций, без выебонов. Какие есть варианты? Алсо, у меня игровое поле разбито на клетках и траву я тоже хочу размещать по клеткам.
UNITY - значит единство. Скоро в движке будет полноценные плагины: создание 3d объектов, материалов, создание музыки, и все остальное, чтобы игру . можно делать, не вылазив в другие капиталистические программы. Вот увидите
>>581421 Уже есть ассеты, позволяющие почти не вылазить. Анимации уже можно пилить и делать риг прямо в движке. Модель только наебашь и импортируй, можно даже не красить, тоже в юнити делается. Уровни строить пробилдером.
>>581287 ue4 регулярно отваливает unity бабла, чтобы те не особо заморачивались над графонием. Если они наконец сделают там графон уровня eu4, им просто будет нечего кушать, все уйдут. Монстроподобный ue отсосет легкому но мощному юнити. Одни эти огромные иконки стиля 2000 года чего стоят
Сап. Если я использую крякнутую Unity Plus или Pro, за мной не приедет пативэн и/или мою игру не изымут из Google Play? А также не прилетит ли бан на /gd/ за такой вопрос
Что значит эта ошибка? >Script error (Saver_script): Update() can not take parameters. Вроде бы всё работает нормально, но всё равно стрёмно. Жалуется на функцию, для параметра которой объект я создаю при вызове: Update(new Obj(...)); Чо ему не нравится?
Поясните за эту хуитку. На нём реально сделать хотя бы что-то уровня обычного кодинга на сисярпе? Просто я туповат для обычного кодинга, может быть это мой выход. нуфаня
>>570005 (OP) Выручайте анончики. Делаю игрушку простенькую на андроид, подхожу к релизу. И тут у меня в сбилденной версии в сценке игры не влазиет юайка в камеру и сама камера смещена так, что видно синий фон справа немного. Камера перспективная, в сценке стартового меню камера ортографическая и такого бага нет. И на пк в тесте через смартфон камера сидит правильно. Подскажите куда копать, может разрешение нужно форсированное задать? В настройках камеры есть viewport rect, если его дрочить похожее говнецо вылазиет в несбилденной версии.
>>582183 >>582185 Бля, ну переделывать под такое разрешение не вариант, смартфоны то с разным соотношением сторон бывают. Unity Remote адекватно скейлит 16:9 под моё 5:3 ведро. Как добиться этого в готовой сбилженной версии?
>>582193 Короч отбой, сделал пошире фоновый спрайт, перепривязал юайку на камеру, через ворлдспейс дочерним к камере, и подрихтовал скрипты с генерацией фона под новые размеры. Поигрался на разных аспектах - везде адекватно смотрится.
>>582240 Там по сменно, но это не важно. Важно то что разница между высококвалифицированной макакой, способной в 2-3 рыла зарабатывать своему хозяину льёны рублей, не превышает зарплату какого то продавана с функцией скана штрихкодов. Вот я листаю вакансии в своей мухосране и даже ебаные грузчики будут иметь такую же зарплату как и разработчик на языкнейм. Про таксистов и водителей я вообще молчу. Ну что это за хуйня.
>>582245 >Там по сменно, Похуенно. Нив одной пятерочке не соблюдают смены. Гугли "все работы хороши youtube" к примеру. В списке рекомендации будет еще 984568654869 видосов с той же историей - никаких выходных, никакой четкой смены. ХуерочкА, ухегнит и все эти сети - ВСЕ одинаковы.
>>582246 Ты уебок я тебе вообще о другом. Но если на то дело пошло то в геймдеве ты быстрее сдохнешь от инсульта чем на любой другой работке. От каждой первой крупной студии по несколько раз за неделю всплывает очередная новость про переработки сотрудников по несколько месяцев подряд, что люди так же до полуночи сидят и делают свою хуйню. И так же всем похуй на законы. Только тут ты будешь предельно сконцентрирован 12 часов подряд на столько, что когда встанешь из за монитора жидко пернув пизданешься в обморок. А на быдло работе можно всю смену чесать яйцо и зевать. Один хуй получишь столько же плюс минус.
Сап. Как в шарпе проверить увеличилось ли число? Делаю систему уровней, в геймплее работает нормально, но то как исполняется мне не нравится совсем. Сначала у меня идёт просто увеличение уровня и потом увеличение статов, усложнение игры, etc. Можно ли как-то сделать так, чтобы игра меняла статы именно в зависимости от уровня, а не вместе с ним?
Можно ли пиздиить данные с помощью юнити? Могу ли я снять дамп винта, пиздить буфер и делать скриншоты рабочего стола тех кто юзает мой экзешник? Есть один хуесос который наебал поцанов на деньги можно так сказать, а я вот думаю не выести ли его на чистую воду.
Как реализовать бафф таким образом, чтобы он применился один раз за нажатие? Допустим, есть шкала, которая заполняется на определённое значение (Пусть будет X) при определённом действии. И этот самый X я хочу увеличивать каждый раз на одно число, когда нажимаю на кнопку. Проблема в том, что запихнув метод, который отвечает за этот бафф, в Update(), при нажатии на кнопку он начинает бесконечно увеличиваться. Более того, функция кнопки у меня указана в отдельном методе, который отвечает за так называемые "читы". Система несколько сложная и анон, наверное, задаётся вопросом "А почему тебе бы просто не сделать увеличение числа на нажатие кнопки? Это куда проще.", но я хочу сделать позже этот бафф доступным через магазин и только оттуда и мне нужно будет вести учёт их количества. А кнопка только для теста. В общем у меня вопрос. Куда пихать метод с вычислением, чтобы результат прибавился к Х только при нажатии кнопки и остановился? Я пробовал пока только вставить его в Start(), но ничего не сработало. Ещё пробовал создать на экране кнопку, по которой будет вызываться метод через скрипт, но там идёт уже слишком сильное сложение, вплоть до того, что начинает прибавляться по 50-65 за клик, когда надо всего 5. Что использовать? Я долго гуглил тему с баффами и все используют разные способы, вплоть до совсем уже жестких и ненужных мне. StartCoroutine не годится, так как бафф нужен постоянный на всю игру. Были варианты с override, но я так и не понимаю как он работает и за что он отвечает в данном случае. Если мне кто-нибудь что-нибудь объяснит, буду очень благодарен, потому что без баффа играть становится невозможно где-то после 6-8 уровня. Большая часть механик уже готова и эта - единственная над которой я ломаю голову больше суток. Я в движке недавно, поэтому мало что понимаю. P. S. Это не просьба написать за меня мой же код.
>>582402 Поможет, программа на юнити и я выкатываю апдейты. Крыса положила себе в карман 50k$ и думает что об этом никто не знает. Вот хотелось бы знать побольше о червепидоре, хоть это по сути и не мое дело.
>>582411 Нахуй тебе вообще юнити сдался для таких целей? Пиши обычный вирусняк и ищи способ запустить на его компе. Через юньку ты только интерфейс себе сделаешь. Если тебе так критично сделать именно игру, ты можешь заразить ехе-шник игры, причём любой игры. MonoBehaviour и ECS тебе в этом не помогут ничем.
>>582410 Кажется, решил. Сделал учёт количества баффов отдельно от них самих и в магазине будет отображаться именно переменная, отвечающая за них. Но если есть способ получше, более удобный и более гибкий, то очень хотелось бы узнать о нём.
Поясните что делать со шрифтами - скачал кастомные шрифты, естесна инглиш онил. При переключении на рузке шрифт ставится дефолтный (Arial). Скачал кастомный для кириллицы, но как указать ему альтернативный шрифт при смене языка? Через скрипты менять шрифты каждому Text, или может можно как то сделать по другому? Типо объеденить шрифты, или через инспектор, не ебу..
аааааа, не понимаю что за прекол такой с ассет бандлами, почему все шейдеры слетают?? поставил некоторые в предзагрузку(типа олвэйс он), но стандартные шейдеры туда не закинешь. типа унлит или партиклес. чо делать ппц
>>582385 Никак. Для твоих нужд надо использовать меш-колижн, т.е. поверхностью, от которой расчитывается положение плавающего объекта, должен выступать треугольник меша.
Загружаю тоже через чтение линий. В общем пол дня ебусь и этот вариант вроде как рабочий, ошибок нет (плагин для логов не пишет ничего необычного, игра ведет себя так, как должна при рабочем сохранении) но сука если выйти, закрыть процесс и включить снова - сохранений будто и нету. Кто тут с андроидами работал, может есть пример, желательно без WWW.
>>582913 при этом файл остается после закрытия игры и так жже находится там после запуска. Если удалить - создает заново после сохранения. То есть как бы проблема в загрузке, но вообще не пойму в чем именно. Вот код:
>>582918 ага, но сохраняет он в /storage/emulated/0/Android/data/com.MyCompany.MyProdyctName/files/save.dat а загружает с /data/com.MyCompany.MyProdyctName/files/save.dat
как указать директорию верную, не прописывать же всевозможные варианты и искать, где там у пользователя что хранится
>>582765 Мань, вместо глупых вопросов уже бы мог самостоятельно все решить. В гугле вбиваешь "boat on waves unity" и тебе сразу дюжина примеров реализации выпадает, выбирай че нужно под задачу, анализируй и допиливай, если надо, либо хуячь и в продакш.
Делал анимацию покоя в 2d на бесплатных ассетах по 3 урокам и у меня каждый раз лагает эта анимация. Просто пропускаются кадры как будто. В дорожке стоят спрайты на каждый кадр, а на деле видно только 3-4 кадра из 10. Что за хуйня? Я же делал в точности, как на видосах.
Двач, помоги, может я вообще кардинально не те решения использую. В общем решил заполнить приложение на юнити базу данных ms sql так как напрямую в юнити даже при помощи доп модулей нельзя контактировать с базой, использую asp.net для апи. В самой бд если таблицы пользователей и лобби В лобби хранятся ид лобби, ид юзера и готовность юзера. В приложении отображается список лобби и когда он нажимает на одно из них посылаю на апи пост запрос с ид лобби и юзера что бы там произвести update, но вот в чем проблема есть необходимость сделать как бы Кик из лобби если за 30 секунд не нажал кнопку "готов" т.е. если в бд user3_ready = 0, то user3 =1. Пробовал триггеры на update вешать, бесполезно при waitfor delay виснет поток. В итоге сейчас я думаю добавить в таблицу лобби поле в котором будет написано дата и время конца сеанса и делать триггер на selext и сверять время или же вторым способом Это попробовать после response.write() запускать асинк метод после чего проверять готовность. В приложении на данный момент каждые 3 секунды обращаюсь по апи в дальнейшем думаю мб через пуш как-то сделать что бы реализовать меньшую нагрузку на сервер. Уже несколько дней ломаю голову. Может есть какая более простая альтернатива? Выбрать не asp.net и ms sql а что-то другое и как можно это более оптимально все реализовать? Мб какую литературу лучше почитать что бы лучше понимать?
Кто нибудь работал с unity monetization? Тот ассет юнити из стора. Проблема такая - в эдиторе всё работает, но на сотовом ничего не появляется, хотя Advertisement.IsReady() = true. ИД проверял, тестовый режим вырубил. Или тут система как с адмоб, когда реклама появляется только после n запросов?
Не срабатывает OnPointerEnter. Просто нихуя не срабатывает. На других сценах всё норм, а на этой почему то хуйня. Смотрел через отладчик - просто не вызывается это функция, когда я навожу мышку на объект.
>>583450 покеж инспектор с настройками и недайбох там isTrigger >>583454 ригидбоди требует коллайдер и сам его вешает при добавлении >>583453 дебагай рейкастом, вдруг во что-то врезается
Попробовал выпустить рейкасты из камеры по интерфейсу. Итог: рейкасты спокойно попадают в объекты на сцене, но не попадают по интерфейсу. Если за интерфейсом нет никого объекта, то просто в рейкасте ничего не попадает. Какого хуя? Может я рейкасты не правильно делаю?
>>583455 >ригидбоди требует коллайдер и сам его вешает при добавлении Не требует, хули ты пиздишь про что не знаешь, только что добавил на кубик ригидбоди и ничего не потребовал. Сука, лишь бы наебать.
>>570005 (OP) Ребята! Какая там последняя технология для интернета? Фатон клауд так и юзают большинство? Юнитеки уже выкатили новую версию низкого/высокого программирования для работы с сетью? Что можно использовать хотя-бы как клиент для мультиплеерных запросов
Аноны, хочу вкатиться в юнити, но для этого нужен и С#. Так вот, выбрал себе книги "The C# Player's guide" и "Unity in Action". Хочу узнать ваше мнение, хуйню выбрал? Если хуйню, то прошу посоветовать более годную литературу. Заранее спасибо
Как сделать такую рамку вокрог кнопки? Нужен спрайт, но как его сделать, что трбуется от фотошопера? 3х3 спрайт где посередине черный пиксель и ты туда ебашишь пивот или как? Пиздец блядь почему не могли готовый спрайт положить.
>>583780 >>583781 бля ну обычный 9-patch, загуглил бы быстрее. > 3х3 спрайт где посередине черный пиксель да. только не 3х3, а там 32х32, потому что хуюнити любительница шакалить картинки. потом в спрайт едиторе размечаешь границы
Посоны, есть апи запрос, но если результат не вернутся, то зависнет, так как испольузется в одном потоке, как оберунть так что можно было установить максимальное время ожидания?
Если я создаю объект с помощью Instantiate, то Awake вызывается сразу, Start вызывается перед первым Update. Но когда вызывается Update, в том же кадре, что я создал объект, или в следующем, или это не определено? У меня в тестах Update вызывается в следующем кадре, но вдруг это от случайности зависит, и нельзя на это полагаться. В документации это прописано?
Джва года не качал Юнити, 2017 версия для меня пик технологий (а вообще долгострой у меня на 5.3.5 Так вот, шо такое Юнити Хаб? Я могу и сам прочитать, но братишки же итт лучше объяснят.
>>583997 > Хаб 1 Короче я понял, єто приблуда для контроля установленіх версий юнити? И шо, удобная штука или нахуй не нужная? 2 Есть ли возможность скачать версии юнити без этого говна? 3 Что нового и интересного появилось в юнити после 2017 версии?
>>584010 Очень много новых фич, ты любишь себе на ровном месте придумывать задачи и проблемы, ну вот и разъебывайся сам, игру, конечно, можешь отложить.
Пиздец грустно смотреть, как движок умирает, ебучий SRP настолько кривой, что нихуя не работает, а дефолтный рендер пайплайн они уже называют ЛЕГАСИ и хотят выбросить.
>>584364 > Пиздец грустно смотреть, как движок умирает То-то я смотрю на тред, а в нём нихуя никто не постит. Раньше (года 3 назад) треды один за другим в бамплимит уходили, что за хуйня?
>>584368 >что за хуйня? Потому что появился порнотред. Там же видимость, что можно скачать готовую телку, подвигать хуи в дазе и зарабатывать на потреоне легко и просто, а игру делать сложно. Вот все и съебали в порнотред, и он самый живой на доске, это мерзотный рак, но ничего не поделаешь.
>>584368 Хуй знает, анонче, что тут творится, я два года назад съебал на другую борду из-за ублюдочной модерации. Эту вспомнил потому что та рипнулась и свои мысли высказать негде, а припекает пиздец как. Все версии юнити после 2018.3 в той или иной степени сломаны, причём поломки "накапливаются" и хаки для обхода проблем перестают работать. В первую очередь это касается HDRP, дошло до того, что юнька крашится при добавлении текстуры в материал. Шейдер граф. Я даже баг репорт не отправил, потому что нашёл этот баг на трекере "пофикшенный" хуй знает когда, но он, сука, вернулся в новой версии и всем похуй.
>>584376 > А ты дохуя постишь? Я раньше много постил, перекатывал иногда, ещё и такой бессмысленной хуйнёй страдал - архивировал зачем-то и следил на нумерацией. А потом как-то общение в треде (количество постов в час) резко и внезапно стало затухать.
>>584399 Так а про что общаться? Если есть игра у чела, он создает свой тред и там общается. Если нужно посрать - иди в порнотред к дебилам. Что тут обсуждать? Только конкретные вопросы по программированию.
>>584403 > Только конкретные вопросы по программированию. Ну так их было много. Да и делится в общем треде своими наработками западло что ли? Хуле вдруг все такими индивидуалистами стали. Личный тред для любого говна.
>Я съебал на 2 года с этого говна >Я раньше много постил, потом перестал. Почему общение стало затухать? >Можно же делиться, почему вы не делитесь? Вы должны больше общаться и делиться! Понятно.
>>584404 Там кто-то из конфоблядков сделал раздел и забыл про него, торчало там полтора анона и один шизик. >>584390 Я посмотрю, что там будет, когда теперешний рендеринг выбросят к хуям. В SRP столько подводных камней, что охуеть просто. Даже одно то, что старые шейдеры превращаются в тыкву, а новые писать не выйдет, уже пиздец. А от намеренного выпиливания возможности переназначить шейдеры дитейл мешей террейна мне пичот уже две недели. Зато пообещали возможность ковырять террейн в 2019 бете. Не добавили.
Что бы не было такой хуйни не нужно использовать GameObject.Find. Анончик, ну ты что, совсем ебанат? Сериализуй эту ебалу и перетащи в инспекторе. Если не хочется так, имей нормальную иерархию что бы найти через GetComponentInChildren/Parent. Или имей какой-то топ левел манагер который будет ловить ивенты твоей хуйни и обновлять твои текст обьекты. Ну бля, чё ты меня так расстраиваешь
Вечер в хату. Пишу аркадный фпс виар шутер на коленке. Основные фичи - bullet hell, вертикальный геймплей за счёт хуков, минимализм и превью пакеты во все поля Собственно, вопросов нет, просто решил запостить видосик прототипа хуков.
Пачаны, я вот не понимаю, на кой хуй всё так сложно с этими локальными\глобальными трансформами? Я имею ввиду да, всё просто если помнить, что есть локальные и есть глобальные, но я не понимаю нахуя это всё было вообще придумано? почему нельзя было использовать просто глобальные координаты и в хуй не дуть? это же пиздец какой то, нахуй так жить? в чём преимущество?
>>585088 Ну так-то глобальных координат не существует, есть только локальные, то есть, координаты относительно родительского объекта в иерархии. Когда ты получаешь глобальные координаты, ты просто получаешь сумму координат всех объектов в иерархии. Когда ты задаёшь глобальные координаты, то unity просто вычитает из заданных координат, сумму всех ВЫШЕСТОЯЩИХ объектов в иерархии и устанавливает локальные координаты твоего объекта на получившееся число
>>585088 Вангую, что ты парентишь объекты и проёбывается позиция. А ты не знаешь про Transform.SetParent и флаг worldPositionStays. В любом случае, по всем вопросам надо читать скриптинг референс. Вот например https://docs.unity3d.com/ScriptReference/Transform.InverseTransformPoint.html >>585107 Берёшь создаёшь куб, устанавливаешь позицию 999999. Относительно глобальных координат куб хуй знает где. Получаем ворнинг про флоат прецишн. Хуярим в этот куб ещё один куб с позицией -999999. Относительно глобальных координат он в нуле - никаких ворнингов уже нет. Но относительно родителя он хуй знает где умножить на два. Выводы - локальных координат не существует.
>>585119 Так стоп. Про то, что каких-то координат не существует, соглашусь, любому понятно, что хранить и то, и другое глупо. Но почему не существует именно локальных?
>>585067 Двощь, вот я и пришёл с вопросом. На вебманьке у меня виден эффект "движения" хуй знает как это называется, который я создал частицами. Который ещё при движении крутится всегда в направлении вектора движения игрока. Собственно, сделано это всё на vfx graph. Хочу отрефакторить чтобы не крутился эффект, а чтобы честно прорисовывал звёзды и скейлил их в зависимости от положения в пространстве.
Проблема вот в чём: как можно сохранить между фреймами старую позицию в vfx graph? аттрибут oldPos чёт нихуя не хочет работать.
Не совсем релейтед вопрос, но не у вг-даунов же спрашивать. Есть одна игра на юнити, при запуске окошко конфигурации оно не показывает, а сразу запускается в фуллскрине (причём по краям слева и справа чёрные полосы, сама область с игрой квадратная.)
Чё насоветуете, можно как-то такую игру в окне запустить? Сам знаю только один гарантированно рабочий вариант - поставить игру в виртуалочку (ВМварь например), но это же пиздец. У меня Десятка, если что. Может существуют какие-нибудь "виртуальные дисплеи"? У меня всегда только один монитор был, как организована работа с несколькими в десятке я не представляю. Но вдруг можно создать "виртуальный монитор" нужного разрешения, запустить там игру , а на деле рендерить этот "второй" экран внутри первого.
>>585123 Я же говорю, мы куб закидываем к чёрту на рога, у него позиция заходит за разумный лимит. Юнити выдаёшь предупреждение, что ты слишком далеко. Закидываем дочерний куб, который относительно первого тоже слишком далеко, но ошибок уже нет, ведь мы вернулись в глобальное начало координат. Кстати, стоит вспомнить, что в видяху всё равно засылать данные относительно начала координат. Можно, конечно, пересчитывать 60 раз за фрейм. Или даже закешировать. >>585128 Допиши к ярлыку -show-screen-selector. Ну или зажми контрол, шифт или альт. Что-то должно сработать, лол.
>>585137 Окей, тогда тогда один момент, глупо на это смотреть, но всё-таки: у нас есть компонент transform в unity. мы можем на него смотреть, двигать ЛОКАЛЬНЫЕ координаты, и тд. Выводить в инспектор можно только переменные, отследить изменение переменной без while(true) нельзя. Так вот вопрос, если они хранят переменный локальных координат а они их точно хранят, иначе их не вывезти, то нах им глобальные?
>>585137 >Допиши к ярлыку -show-screen-selector. Ну, я через консольку запустил экзешник с этим аргументом, если ты это имелл ввиду - без изменений. >Ну или зажми контрол, шифт или альт. Что-то должно сработать, лол. При альт + даблклике открываются виндовые свойства, при контрол/шифт - без изменений.
>>585150 >Даблклик и сразу нажимаешь после второго клика альт Это как вообще? Ну, даблкликаю я по экзешнику, нажимаю сразу после этого альт - без изменений, игра успевает запуститься ещё до альта, если что.
>>585143 На самом деле хранится гораздо больше, чем выводит компонент трансформ. Есть transform.position, а есть transform.localPosition. Есть ещё дохерища всего. Можно вспомнить ещё rotation. Конечно, есть локальный, есть глобальный. В редакторе на вид вектор3 обычный, но нет, это углы эйлера. А хранится оно всё в кватернионах. Потому получить ротейшн.х мы можем, а задать уже нет. Я уж молчу про матрицы. А надо это всё, чтобы видеокарта смогла нарисовать картинку.
>>585147 Значит при билде выбросили этот диалог полностью, пробуй аргумент -screen-fullscreen 0 -screen-height 600 -screen-width 600 Высоту и ширину задай уже сам.
>>585155 ДА НУ, Я-ТО И НЕ ДОГАДЫВАЛСЯ. Перечитай >>585128 - я не спрашивал "можно ли включить окно конфига если девелопер зачем-то его порезал". Предпогал конечно что может он и не до конца порезал, но не особо надеялся. >>585157 >-screen-fullscreen 0 -screen-height 600 -screen-width 600 Лол, на пару секунд появилось окошко (видимо 600x600) с лого юнити, но потом оно закрылось и игра запустилась как обычно. Кстати, а список всех опций доступных у экзешника получить можно?
>>585160 https://docs.unity3d.com/Manual/CommandLineArguments.html Воот тут. Но у тебя разработчик игры видимо пидор, не должно оно закрываться, если отдельно не прописана "защита" от не-фуллскрина. Хуй знает, зачем так делать. Возможно тебя спасёт ебля реестра через regedit. HKEY_CURRENT_USER -> Software -> COMPANY_NAME -> PRODUCT_NAME Но вряд ли, вряд ли. Если игра собрана через C#, то может ещё спасти ебля Assembly-UnityScript-firstpass.dll через ilspy, но могли собрать и через кресты, тогда пиздос. Короче забей, игру снеси и не еби себе мозг.
>>585280 Да. Методом тыка понял, что проблема где то в шейдоре. У меня чужой код использует метод Shader.load(...) и shader.mainTexture = ... Шейдор написан на шейдор графе и по какой то причине текстура толи не прогужается, толи оверрайдится, толи не рендерится вообще. Сейчас вот ковыряюсь в коде шейдора чтобы понять как исправить.
>>585283 Пофиксил. Хз что за хуйня там была, но я просто удалил чужой код и переписал ассайнмент материала. Вместо динамического создания сделал просто присвоение материала из ресурсов и всё. В пизду эту хуйню, уже часа 3 ебусь
>>585289 Это оптимизон размера билда. Короче если при билде редактор не видит ссылки на ассет, то и в билде его не будет. Либо указывать ссылку на ассет в каком-нибудь скрипте заранее, либо в настройках есть "всегда загружать то-то и то-то".
>>585320 Не, больше похоже на какой то баг в юньковском шейдор графе. Дефолтное значение не грузило в стендэлон билде хотя текстура была заебашена в прелодинг в конфиге. Просто я юзаю старую версию SteamVR либы, которая не адаптирована под srp, модели контроллеров по пизде пошли. А модели билдятся в скрипте, используя старые шейдоры, не совместимые с srp. При замене шейдора по какой то непонятной мне причине Shader.load возвращает материал без дефолтных текстур вот и всё. Просто переопределил метод рендера моделей и плюнул.
>>585322 Resources всегда в билде кроме объектов с тегом EditorOnly. Но загружать текстуры в рантайме можно не только оттуда. Тот же AssetDatabase.FindAssets будет гарантированно работать в эдиторе, а в билде уже может и нахуй послать.
>>585336 >старые шейдоры, не совместимые с srp Если шейдоры без освещения, то всё похуй. Но вообще хуй знает, что у тебя там как - заработало и заебись. Srp всё ещё странная кривая ебанина. >Shader.load А может Shader.Find?
>>585347 >А может Shader.Find? Он самый. Ты меня понял. Я просто ёбнул загрузку вместо шейдора - материала и плюнул. Никогда не умел работать нормально с шейдерными программами, нечо и начинать.
более стабильный фпс и улучшенная картинка. а то видос выше как то распидорасило непонятно
>>585347 >Srp всё ещё странная кривая ебанина. Да юнька весь кривой, но тем не менее lwrp ебошит как боженька. шейдорные графы не сравнятся пока с СУБСТАНЦИЕЙ, но тоже неплохо, а визуал графен графы просто бомба. такие то партиклы, такой то графоний. И это при моём то уровне понимания всего этого говна. Боги написания шейдоров и кодирования партиклов, уверен, создадут просто шодеворы уровня крузис в кубе
>>570005 (OP) ребятки котятки блин блинский есть ли какой-нибудь нормальный туториал по созданию ферст персон игр? а то блять ищу ищу нахуй, а там люди в первом уроке строят мир нахуй текстурки натягивают?
доволен. заимплементил более крутую версию растеризации террейна, сделал мультисамплинг чтобы если разрешения дополнительных карт не совпадают с вокселями то они не превращались в кривой пиздец. и добавил возможность читать карты с травой. вот вы только подумойте. ИИ может прятатся в траве, или наоборот обходить её стороной!
>>585423 а чего бы и нет? напиши себе генератор и генерируй. написать то их довольно легко. например покажу генератор который наверно за неделю собрал пару лет назад.
>>586104 а я кстати делаю, но пока показать просто нечего. начал очередную сварку убойного велосипеда. в этот раз планровщик для ИИ на всей этой мошне с ECS+Jobs+Burst. будет просто заебись.
Если поподробнее - нужны "комнаты", подобные таковым из the binding of isaac. Грубо говоря, если это подземелье или здание, то оно генерится сразу (подземки - как инстанс), а открытые локации - при переходе на них (как в майнкрафте, ога).
В иске Эванс говорит, что рабочее место «было сильно сексуализировано». Эванс говорит, что Ричциелло и другие мужчины на руководящих должностях «открыто говорили о женщинах сексуально, совершали сексистские шутки, флиртовали и преследовали сексуальные отношения с работницами и подрядчиками. »
>>586162 Эванс была уже в процессе увольнения за превышение служебных полномочий. >a third-party investigation found Evans “engaged in serious misconduct and established multiple instances in which she demonstrated a gross lapse in judgment.” >Mulay ended up following through and making an official allegation against Evans. Evans was cleared of the charges but investigators found she had accepted gifts in the past from Mulay, which the company said was against its policy.
Вангую, что Эванс присядет на бутылку, а Мулю уволят нахуй.
>>586167 Но так-то анрил говно, тогда уж, прости господи, лумберярд осваивать, если случится невозможное.
>>586168 Да, они купили в январе разрабов скукумскрипта и свини писал на реддите, что пилят очередной анриалскрипт. Но видимо еще не скоро. >>586169 > лумберярд осваивать Ты школьник что ли? Нельзя юзать непопулярное говно, миллионы подводных.
>>586170 Та же Муля на пике, которая состояла в сексуальных отношениях с Эванс и жаловалась на неё за сексуальные домогательства(!), выступит от лица фемок. Парад абсурда нахуй, но должно сработать.
>>586171 >Нельзя юзать непопулярное говно Ясно, уеч вычёркиваем второй раз. Тем более, учитывая общую пизданутость уе4, это могли они и устроить, в Китае любые методы борьбы в почёте.
>>586473 Последний раз, когда я проверял, юнити компилил в одном потоке. Но 2 ядра для разработки - ну вообще пиздец. Как ты живёшь так? И советую либо взять 3600х за 250, либо докинуть 50 и взять 3700х. Так ты получишь одинаковый с интелами однопоток и супериор многопоток.
>>586535 Тайловые игрушки наподобие Террарии кладут лоуэнд ПК на лопатки при размере мира уже 100х100, если представлять каждый тайл как отдельный геймобжект. Приходится городить всякие умные системы с чанками и общими мешами. Туда ECS должен как член в руку войти.
>>586534 да нихуя там не делали почти, меняли то как там говно инициализируется туда-сюда, переименования, но эти изменения легко внести. там разумеется не будут менять то как ты создаешь всякие там архетипы и всю вот эту концепцию. а на ней строится код хуйни на юнити, а не на именах пары функций.
>>586536 >Тайловые игрушки наподобие Террарии кладут лоуэнд ПК на лопатки при размере мира уже 100х100, если представлять каждый тайл как отдельный геймобжект лол тут и екс будет бессильно если такую хуйню творить. сделать собственный рендерер для тайлов чтоли мозгов не хватило
>>586546 >екс будет бессильно >сделать собственный рендерер для тайлов Чанковый рендер само собой разумеющееся, но там ~половина оверхэда на геймобжекты приходится, а ведь иногда ещё и кастомные данные на тайле хочется хранить без велосипедов, и коллайдеры на тайлах хочется. В общем ECS - огромный плюс. >сделать собственный рендерер для тайлов
чето большой вопрос как сделать так чтобы агенты не застревали на углах когда двигаются в противоположные стороны. даже зная теорию не могу придумать хорошего решения.
>>586550 да можно и все что на видеокарту отсылать это текстуры с мешаниной и байтоебством, а там уже прямо на месте генерировать из неё геометрию, хуйню, муйню. а для кастомных данных проще уж карту кастомных данных иметь, которую проще хранить и оптимизировать отдельно чем пытаться впихнуть в тайлы. а коллайдеры на тайлах - с этим говном проще уж и физон свой написать! че мелочится, все что надо от юнити это чтобы оно рендерило все это!
Хочу добавить в редактор кастомный функционал. Например, возможность создавать ноды и двигать их, как на пиках (это из ассета Ferr2D). В какую сторону копать?
Ищу напарника Решил пойти на такой шаг, потому что вечно забрасываю все проекты спустя неделю-две. Давай вместе запилим что-то относительно довольно простое, хотя бы для начала. Чтобы оба участника добавляли что-то в проект и была искренняя отдача.
На крайний случай, ищу абсолютно не шарящего в юнити типа, но который БЕЗУМНО хочет разбираться как ебать кубы и стремится делать игры. Безумно значит, что не я буду всё объяснять с пустого места, а ты будешь спрашивать по ходу дела и я подсказывать. тг @unitysoc
Здрасьте, чёт заинтересовался юнити, решил какую-нибудь простенькую игру в нём написать, а там сишарп, сам я крестоблядь, есть какой-то brief course по перекату в шарписты с плюсов? Или различия незначительны и я в целом сам разберусь по ходу дела?
>>586714 Да похож на плюса. Просто все по умолчанию ссылка. Вместо стл System.collections, ну лямбды через =>, читни про LINQ - базовая фунциональщина, как с 14го где-то в кресты потянули, вместо указателей на функции делегаты (для колбеков в основном). А так та же лапша ифов и ООП говна (с пропертями из коробки). В самом Юнити все на получении компонентов, что неплохо. Инфо полно , но ты просто код писать начинай
Хочу в 3д платформере веревку для перса. Веревка жесткая, можно только раскачиваться и отцепиться. Гравитация и инерция тоже должна действовать. Как реализовать?
>>586569 это очень плохое решение и сработает нормально только с гридом
>>586573 лол а я по твоему кто. юзеры пожаловались что с локал авойденсом агенты встретившись в углах могут застрять. делаю лучше.
>>586724 возьми конфигурабл джойнт да сунь ему констрейнов по дистанции, че ты
>>586714 прочитай про различия reference и value типов в шарпе. прочитай про struct в шарпе, который бесполезен в плюсах, а в шарпе мегаполезен. в шарпе нельзя множественное наследование, только через интерфейсы. и про делегаты ещё почитай, в плюсах вместо них какая-то хуита, тогда как в шарпе вообще заебись.
>>586802 >в плюсах вместо них какая-то хуита, тогда как в шарпе вообще заебись. Указатель на функцию же? Ну ещё есть std::function. Чому хуита? По остальному уже читаю, добрый анон скинул https://en.wikibooks.org/wiki/C_Sharp_Programming прям то что нужно
>>586802 >джойнт да сунь ему констрейнов по дистанции Да, но кроме этого я хочу чтоб было ограничение по движению во внутрь, чтоб перс двигался только по поверхности сферы как на жесткой палке.
>>586892 В эпоху еспорта и мультиплеерных игр у самого крупного и популярного коммерческого движка нет абсолютно никаких решений для мультиплеерных игр. Притом что в уече сеть была с первых версий.
>>586897 Зато есть Photon с различными рабочими решениями. Плюс они готовят к релизу новый ECS движок Quantum. Для Юнити этих решений более чем достаточно.
>>586816 когда я последний раз смотрел плюсы не очень то могли анонимные делегаты и тем более не могли нормально складывать делегаты. ну и всякая клевая хуйня вроде Action и Func есть ещё. шарп этим говном целиком пропитан.
>>587137 Да, им ещё далеко до них. А вот Фотоновцы уже близки к этому. Взял пощупать их квантум. Там отдельно пишешь проект с симуляцией мира на ECS. Есть поддержка откатов, есть реплеи, детерминированная физика. Сетевого кода как такового нет. Просто пишешь симуляцию, а потом уже запускаешь её в режиме Локал, Мультиплеер или Реплей. Код одинаковый для всех режимов. В общем интересная штука. Юнитеки как обычно заслоупочили и всё проебали.
>>570005 (OP) Можно ли как-то в плеймоде сохранить данные в геймобджекте, чтобы они там остались после выхода? Или только в файл писать?
Допустим, у меня есть симуляция, и я хочу, чтобы она себя корректировала - то есть меняла данные в геймобджекте каком-то, которые бы сохранялись после выхода из плеймода.
>>587176 We are using a middleware solution called Photon by Exitgames. The Exitgames guys are really helpful, they are based in Hamburg and we are from Berlin, so we have been able to meet a few times. Photon offers a lot of functionality, but we are using only the most basic stuff, i.e. we are using it only as a message transport layer. Most of the actual network logic is very specific to our game.
Но вряд ли они используют квантум. Он ещё не релизнулся. Да и перенести на него игру существующую игру не так просто. Тебе считай полностью нужно всю логику переписать на ECS.
>>587180 Да, пиздец они страдают. Лучше потратить годик на написание своего решения, а потом ещё пару на отлов багов. Вот это норм план для создания игры.
>>570005 (OP) Почаны, как сделать патч к уже готовой игре? Например я создал куб, создал скрипт в котором он поворачивается с определенной скорость. Сбилдил игру. Какие файлы мне необходимо заменить, чтобы изменить скорость вращения? Это вопрос в вакууме, в реальном проекте необходимо будет менять название переменных уже в готовом билде.
>>587196 Именно. Кто угодно, чтобы это было настолько легко, что даже обезбяна смогла ее пропатчить. Желательно обычной заменой файлов. Это вообще возможно?
>>587199 как насчёт не задавать нужные параметры, а читать их из файла с определённым названием? Встроенные параметры оставить, но только как значения по умолчанию. есть встроенные СкоростьВращенияПоОсиХ, СВПОУ, СВПОЗ, МасштабированиеКуба. Скрипт вида назначить переменным стандартные значения -> проверить наличие файла CubeSettings.ini -> файл есть? -> скан первой строки -> есть совпадение с названием переменной -> присвоить переменной значение после названия -> скан следующей строки Это если менять ты собираешься не все параметры. Если ТОЧНО все будут указаны в файле, то можно не сканить, а просто СВПОХ присвоить значение первой строки, СВПОУ присвоить значение второй строки и тд.
юнити конечно билдит в файлы своих форматов, но думаю это можно как нибудь сделать. Подобные параметры в обычных текстовых файлах используются много где, и при желании можно в файлах игры копаться и изменять параметры, спокойно читеря.
>>587205 >как насчёт не задавать нужные параметры, а читать их из файла с определённым названием? А это хороший вариант. Проверять наличие файла, если есть - берем параметры из него, если нет - берем дефолтные.
Я больше косился в сторону ассетбандлов или бинарных патчером во я дебил. Спасибо!
>>587194 Делай как Тодд Говард (гений): Игра при запуске читает ресурсные файлы: мастер-файл (esm) и патч-файлы (esp). Каждый из файлов является архивом, способным объединяться в единый архив из которого игра берёт данные для работы. При наличии в патч-файле сущности с идентификатором, аналогичным в мастер-файле, в итоговый архив попадает сущность их патч-файла. При наличии в более позднем патч-файле сущности с идентификатором из более раннего патч-файла, в итоговый архив попадает сущность из позднего.
Пацаны, спасайте. Как называется штука, которую нужно прописать, чтобы блок кода исполнялся только на андроид Он прописывается что-то вроде ##IfAndroid
>>587708 Делись, а то я из под студии их пилил, но в Юнити ругается на ассемблис и приходится assembly definition под ifdef держать, и все равно ворнинги
>>587775 Не то что мне нужно. Я хочу, чтобы когда сжимаешь/растягиваешь само окно с игрой, его стороны сжимались/растягивались пропорционально 16:9, или 3:4. Так в хартстоуне сделано например.
>>587760 Да я в общем-то по этому туториалу делал лол https://dancerscode.com/2018/12/05/how-to-set-up-a-unity-test-project/ Просто создаешь asmdef ассет в корне Assets и тогда все скрипты вместо Assembly-CSharp библиотеки переносятся в эту. Потом ее указываешь в референсах тестового asmdef и все. Проблема в том, что юнити сейчас использует эти asmdef в своих новых модулях, и если создать asmdef в корне Assets то пропадает автоматическое добавление референсов этих библиотек и сыпятся ошибки "тип такой-то не найден". Ну там в принципе надо ручками найти и добавить нужные asmdef всех модулей в референсы.
Не очень удобно, учитывая что там этих asmdef дохуя и непонятно какие надо добавлять
>>587938 Юнити стала тем, чем она есть не благодаря сложным херовинам. Сейчас же убери монобех - да больше половины разработчиков отвалится. Ухлопать всю готовую кодовую базу тоже нельзя, так что монобех останется в движке. Я видел только одну игру на ECS, которая ещё не вышла, но выглядит чем-то, на игру похожим. Рашн девелопер, кстати. И у них не чистый ECS. Вместо гибрида с прокси, гоняющим данные туда-сюда надо было запаковывать это всё глубже, упрощать базовые компоненты и параллелить сам монобех. А сейчас ECS обещает перформанс в обмен на сложность разработки, поддержки, отладки. Но на самом деле медленнее старой системы.
>>587998 По факту, да, если упустить пиздёж про парадигмы. Система новых компонентов, которые заменяют дефолтные геймобъекты, трансформы и т.д, но при этом даже не отображаются в редакторе и создаются только кодом. Все дефолтные компоненты разбиваются на наборы мелких компонентов, якобы так быстрее. Может, допилят, так как в данный момент это херня кривая и даже события юнити не воспринимает, нужны обёртки на монобехе. Монобех для ЕЦС, кстати, как бы использоваться не должен, но без него всё равно нихуя работать не будет. Поясняют юнитеки нужду в ецс тем, что тысячи апдейтов монобеха это медленно как будто мы не знали и "чистые классы" быстрее. На деле весь профит пока что ? только в гибридном рендере, который рисует через drawinstanced, а значит быстро. И по дефолту ецс должен использоваться в связке с пакетами бёрст компилер и джоб систем, без них эффект не тот.
>>588000 >тысячи апдейтов монобеха это медленно как будто мы не знали Это из-за него юнити медленное говно? Лол, не знал. В чистых классах исчезнут тысячи апдейтов?
>>588002 Юнити никогда не был медленным говном. Но десять тысяч вызовов апдейта жрут 10-20 мс на мобилках, даже десять тысяч пустых апдейтов без логики. Естественно, если использовать менеджеры, как белые люди, и не плодить триллионы скриптов на объектах, то проблемы никакой нет. >исчезнут тысячи апдейтов? Раньше ты брал скрипт, писал в апдейте Transform.translate и эта ебатория на шарпе вызывалась из крестов. В одном потоке. Теперь ты берёшь компонент и добавляешь к нему компонент translate, который потом вызывается системой задач, которая сама по себе многопоточна. Плюс там ещё дохуя магии с выделением памяти и прочим. По факту да, исчезнут.
>>588003 Конечно, не для замены. Потому они в блоге и пишут, что старая система компонентов говно, устарела и медленная. Потому евангелисты и продвигают DOTS Data Oriented Technology Stack, потому и физон новый на нём же пишут. На самом деле - два разных физона. Конечно, не для замены старых систем. В конце-концов, они ведь не выпилили boo и js, не выпилят и монобех. Скоро, правда, в обязательные пакеты HDRP добавится весь дотс, но это хуйня. Не для замены.
>>588005 Понял, спасибо. >на мобилках, А на каком масштабе эти проблемы будут вылазить на компе? Думал над мультиплеерным буллет хелом и насколько много снарядов можно сделать.
>>588005 >Юнити никогда не был медленным говном >Но десять тысяч вызовов апдейта жрут 10-20 мс на мобилках, даже десять тысяч пустых апдейтов без логики Проблема даже не в апдейтах, а в том, что любой вызов юнитивского API это интероп с С++ и копирование памяти. Скриптовое говно в принципе быстрым не может быть по определению.
>>588031 >это интероп с С++ и копирование памяти. >и эта ебатория на шарпе вызывалась из крестов Упоминал же. Причём апдейты потому и медленные, что их вызывают каждый раз из крестов. Потому юнити и выкатили IL2CPP, а сейчас ещё и Burst. Но это не так страшно, до тех пор, пока ты не ограничен одним потоком. C памятью в ECS особая магия с прицелом вообще в кеши процессора. А отказываться от скриптового говна - ну его нахуй. Кстати, в юнити уже выкатили тягание флоуграфов блюпринтов. Но это снова ECS. Монобех всё.
>>588022 На компе лично я упирался в CPU при большом количестве объектов, причём загрузка даже не дракулами, а кулингом. На каждый Go тратятся ресурсы достаточно большие. Так что советовал бы присмотреться к ECS. Прикручиваю эту хуйню для разных трав, работает быстро. 10к префабов в сцене. В принципе, если всегда писал не накидыванием скриптов на объекты, то похуй, каким образом общаться с юнити, через моно или ecs.
>>588045 Хуита. Юнити решили пойти самым ебанутым путем и встроить куски C# в C++. В итоге же высрали какую-то дичь на которой совершенно невозможно программировать, и даже сами юнитифаги не могут ничего на этом сделать уже который год, без ошибок и багов.
Никогда пользователи юнити не перейдут на ECS. В юнити тратят столько времени на функции, которые никому не нужны. Там в руководстве после прихода Джона Ричителло совсем долбоебы работают. Понятно, что нужно что-то вместо легаси тормозного говна. Но я бы на месте юнити сделал 2 продукта: классический юнити и новый юнити ECS. А не пытался скрестить ежа с ослом.
Очень проебывают сейчас юнити с этим форсом DOTS. Потеряют корону топового движка скоро я это чувствую.
>>588096 >Если только ты ебанулся. У меня почти всё на классах без наследования от монобеха. Кстати, анон, не знаешь хороший способ отделения данные от логики? Мне нравится сама идея ЕКС, но очень не нравится реализация от юнити. Хотелось бы в пределах монобехов и скриптаблобжектов использовать подобный подход.
>>588100 Бля, анон, хочешь разделять - разделяй и властвуй! Посмотри на идею MVC, например. >Хотелось бы в пределах монобехов и скриптаблобжектов Так тебя особо никто не заставляет отказываться от монобеха ради ECS. Пиши в пределах моно, но для создания объектов на сцене используй ECS. И для всего общения с API тоже, желательно. Вообще тебе должно хотеться держаться от монобеха подальше, мне вот хочется.
Я понимаю как работает веревка в червях, она превращает линейное движение в сферическое с центром в месте попадания веревки. Это хорошо видно когда ты на скорости отцепляешь веревку и продолжаешь лететь с той же скоростью но уже линейно (с учетом тяжести). 38:23 https://www.youtube.com/watch?v=PtaMXeFRm-s&t=2685s
Все хорошо если ты единственный двигающийся объект. Но еще есть физический объект который может врезаться в перса на веревке и передать ему импульс. Как внешний линейный импульс преобразовать в сферический для перса?
Не предлагайте джоинты, они непонятно как работают и их настроить их так как надо трудно. К тому же физика по формулам работает стабильно и предсказуема, в нее можно натренироваться. Так, например, распрыжка и рокетджампы, стрейфы и пр. в квейке.
Буду рад любым советам по созданию собственной физики с использованием ригидбодей в юнити.
>>587957 >Сейчас же убери монобех - да больше половины разработчиков отвалится. они не противопоставляются друг другу. >Я видел только одну игру на ECS, которая ещё не вышла, но выглядит чем-то, на игру похожим. лол и че там типа интерфейс на ECS, небо на ECS, аллах на ECS? наркоман ты чтоли? я потрогал ECS и он заебись. некоторого функционала не хватает, но так ваще клёво. ещё бы нормальный API ебанули для LLVM а не эту хуиту было бы вообще заебись. >А сейчас ECS обещает перформанс в обмен на сложность разработки, поддержки, отладки. Но на самом деле медленнее старой системы. только если руки через жопу. массив структов всегда был быстрей ссылающейся друг на друга лапши.
>>588000 >На деле весь профит пока что ? только в гибридном рендере, который рисует через drawinstanced, а значит быстро. лол да это ты и раньше делать мог. DOTS кроме Burst ничего особо нового и не добавляет в итоге, все что новое просто раньше велосипедилось. а теперь заебись, не надо сваривать раму очередного велосипеда когда нужна какая-то мешанина из структов.
>>588005 >даже десять тысяч пустых апдейтов без логики зачем? надо быть круглым идиотом для этого.
>>588022 >Думал над мультиплеерным буллет хелом и насколько много снарядов можно сделать. можешь дохуилион снарядов сделать, в проблемы мультиплеера уткнешся раньше проблем производительности.
>>588179 >проблемы мультиплеера Это не из-за той ли корявой системы когда игрок может управлять всеми префабами и чтобы этого не происходило на каждый префаб вешается скрипт который пропускает инпуты нужного игрока?
Делал тогда лабу, думал: "сделаю клиент с 3д модельками и инпутами, сервер который хранит переменные для всего, а игроки могут менять только свои переменные, ведь до этого делал с нуля сетевую прогу и там это работало так". А https://www.youtube.com/watch?v=03MHC4Zund4 , я тогда хорошенько пригорел.
>>588180 >Это не из-за той ли корявой системы когда игрок может управлять всеми префабами и чтобы этого не происходило на каждый префаб вешается скрипт который пропускает инпуты нужного игрока? скорее из-за того что его нет. а то чем есть пользоваться очень трудно. один хуй ни одно встроенное решение не сделает ебучий буллет хелл щелчком пальцев, тут уже придется собирать свой велосипед. а ты хуй даже знает о чем говоришь, у юнити раньше был четкий способ того как указывать какие объекты клиент может теребить, а какие нет. https://docs.unity3d.com/Manual/UNetAuthority.html
>>588123 Больше, чем 16 мс на кадр на целевой платформе, анон. Так-то я хуй знает. Но моно медленный и, что самое хуёвое, он однопоточный. Можно создать поток самому, но доступ к апи есть только из главного. Если игра плюс-минус сложная, то я бы смотрел на эти самые job system. Всегда в этот момент мне говорят, что есть же корутины, но они вызываются из основного потока и тоже хуйня.
>>588179 Лень расписвать на счёт всего. Не противопоставляются? Окей. На HDRP не рендерится трава. И не будет, потому что новая трава будет из коробки делаться через DOTS. Заебись, да? Теперь либо DOTS либо нихуя не работает. Плюс юнитеки никогда не поддерживали старое говно дольше двух лет. Выйдет ecs из превью, два года - и монобех выпилят. Это очевидно. >интерфейс на ECS, небо на ECS, аллах на ECS? Физон гибрид, UI моно. Остальное ECS. Но они пытались и это перекинуть в ECS. >только если руки через жопу Я особо не тыкал эту хуйню, но судя по пикам GC и провалам фпс до 15 - хуй знает. Для инстансирования травы хорошо зашло, там почти не видно. А когда скормил скинмеш этой ебатории, вообще охуел, лол, юнька едва переваривала, но рендерить его всё равно не стала. Конвертация из Go пиздец, короче. >DOTS кроме Burst ничего особо нового и не добавляет в итоге Энтити это совсем не Go, почитай блог. >Creating/destroying them requires a mutex lock to modify the global list of id->objectpointers. All GameObjects have a name. Each one gets a C# wrapper object that points to the C++ one. That C# object could be anywhere in memory. The C++ object can also be anywhere in memory. Cache misses galore. То есть теоретически новые энтити быстрее намного должны быть. Даже без Jobs и Burst. И это раньше никак не велосипедилось. > проблемы мультиплеера уткнешся В момент выстрела не пересылаем всем игрокам все снаряды, отправляем id этого типа выстрела из словаря. Где хранятся все типы выстрелов с количеством снарядов. А дальше дельта сжатие.
Поясните за stuttering при казалось бы стабильных 60 фпс. Отчего это происходит и как фиксить? Происходит в любой сцене, нагруженной объектами или нет. При этом если отключаю vsync, фпс взлетает до 120, всё становится слишком быстро, диалоговые менюшки проматываются со скоростью света, так не подходит. С включённым vsync наблюдаю "дёрганые" движения камеры, при том просадок фпс по счётчику нет. В разных туториалах упоминалась эта проблема, но как это фиксить так и не вдуплил.
>>588286 Зависит от того, что ты вкладываешь в смысл слова "stuttering". Frame stuttering ли же микро-фризы из-за GC? Если первое, то стндартный vsync всегда вызывал и будет вызывать stuttering, ибо 100% стабильные х-кадров нельзя иметь в принципе. Да и даже в идеальных условиях, если частота монитора разнится с ФПС и не является 2x или /2 от ФПс - будет "stuttering". Победить можно разными способами - убрать vsync и залочить FPS, но тогда будет tearing. Использовать Vsync c Triple Buffering или же Nvidia FastSync. FreeSync или Gsync.
>>588233 >И не будет, потому что новая трава будет из коробки делаться через DOTS. Заебись, да? Теперь либо DOTS либо нихуя не работает. а не похуй ли как там трава рендерится? >люс юнитеки никогда не поддерживали старое говно дольше двух лет. Выйдет ecs из превью, два года - и монобех выпилят. Это очевидно. ты наркоман чтоли. никуда компоненты и прочая мусорная архитектура из юнити не денется. всякие там интерфейсы, анимацию и прочее говно разумеется не сделать иначе. >Физон гибрид, UI моно. Остальное ECS. Но они пытались и это перекинуть в ECS. лол и че, как это вообще в ECS то реализовать? какое-то натягивание совы на глобус. >Я особо не тыкал эту хуйню зато я потыкал. сижу пишу STRIPS планировщик для ECS. в общем-то заебись сделали, особенно когда добавили буффер хуйни для ентити и можно коллекции к ним добавлять с гибким размером. а ты видимо какую-то хуйню творил и че ты там делал загадочно. >Энтити это совсем не Go, почитай блог. лол конечно он не GO, это ебучий массив со структами. >То есть теоретически новые энтити быстрее намного должны быть. лол они разумеется быстрей. настолько-же быстрей насколько быстрей массив структов массива классов. >И это раньше никак не велосипедилось. да что ты. навскидку: https://github.com/sschmid/Entitas-CSharp https://github.com/Leopotam/ecs даже в конфе гд бабун свой ECS решил сделать с игрищами и блудницами. так то там нет особых хитростей, в разных формах его и раньше исполнял массив структов. >В момент выстрела не пересылаем всем игрокам все снаряды, отправляем id этого типа выстрела из словаря. Где хранятся все типы выстрелов с количеством снарядов. А дальше дельта сжатие. а потом хопана БУЛЛЕТХЕЛЛ
>>588321 и че заебись в УЕ 2д? пиксель перфект камеру уже смог? от лапши не охуел ещё? каждый раз когда меня посещают такие идеи я заглядываю сюда: https://blueprintsfromhell.tumblr.com и меня они сразу покидают
>>588378 в той уже есть, Window/Package Manager там включи чтобы отображалось всё отовсюду. вообще забэкапся и обновись. может разве что террейн поломается немного. давно бы уже качал другие версии юнити через юнити-хуб
>>588401 Я не говорил про ничего не делать, школьник, игру пусть продолжает пилить, и не тратит время попусту. У меня тестовый проект с несколькими модельками сломался между последними версиями, даже небо пропало, сиди заново все это восстанавливай/настраивай, и так на каждую новую версию, делать то больше нечего.
>>588420 В инди можно, чай корову не закладывали. Серьезный бизнес очевидно упирается в сроки, и там предпочтут выкинуть функциональность, а не переписывать код.
Анонсы, выручайте. Создаю билд на ПК. Запускаю и... игра запускается в фуллскрине, блять. Хотя в настройках написано ВИНДОВЕД. Что ему ещё надо? Он меня уже доебал.
>>588375 Как же будет похуй, когда уже месяца три, когда она не рендерится вообще в одном из двух скриптовых рендеров? Но я потыкал hdrp месяцок и он, походу, говно. Да и накладные расходы неоправданно велики. > как это вообще в ECS то реализовать? А как юнитеки реализовали? Есть же project tiny, который работает на чистом ецс. Причём фичи из него уже пообещали перекинуть в базовую поставку юнити, например, отображение ёбаных энтити в иерархии. Меканим написан с ипользованием SIMD библиотеки и совместим с ецс, Animation C# Jobs выкатили ещё в юнити 2018. Ну я ж не могу не пиздануть про юнайт Остин, ну ты понял. Но это было нерелевантное демо. >а ты видимо какую-то хуйню творил У меня инстансируется дохуя объектов в рантайме, так что я заменил пару строк кода на код инстансирования из гитхабовского демо. Юнити это переварить не сумела, а GC вообще обезумел. Но кубы спавнятся исправно, работают быстро. Нахуй кубы. >лол они разумеется быстрей. В данный момент - хуя с два. >да что ты. навскидку: И что? Это говно говна по сравнению с юнитековским ецс. Всю магию без переписывания крестового ядра реализовать было невозможно. Да они, блядь, свой компонент на трансформы вешают, а ты мне говоришь, что это то же самое.
>>570005 (OP) Сап аноны, срочно нужна ваща помощь. Делаю 2Д платформер на Юнити 5.6.4p . Нужно сделать так что бы при попадании персонажа с тегом Плеер в Коллайдер 2Д с отметкой Триггер появлялся спрайт и исчезал когда персонаж находится вне Коллайдера 2Д Хэлп рандомпик
>>588464 Главная претензия - ебать он медленный. Команда этого пайплайна говорит, что это из-за того, что скрипты делают много работы наперёд. Якобы у дефолтного рендера стоимость добавления эффектов линейная, а hd сделал много работы наперёд и добавление новых эффектов обработки почти ничего не стоит. Потому дефолтный умрёт на 10 эффектах, а hd переварит их с тем же фпс, что и без эффектов вообще. На самом деле это тупо наебалово и дела обстоят ровно наоборот - hd выдаёт фпс процентов на 20-30 ниже дефолтного без эффектов вообще и ещё меньше с кучей эффектов. Эти же эффекты дефолтный рендер переваривает с тем же фпс, который показывает hd на пустой сцене нахуй. Вообще у меня к srp дохуя претензий, к lwrp тоже.
>>588507 >Я делаю игру >Сделайте за меня, чтоли https://pastebin.com/VT5wy9Ce И помни, такие скрипты это плохо. Теги это очень плохо. А для тех, кто просит готовый код, уже готов отдельный котёл. И да, если не работает - допили сам, мне похуй.
>>588508 Хуй знает, на lwrp перекатился. Из всех проблем-то, это меньше каскадов теней и отсутствие деффереда. Зато срп батчер заработал, без всякого оптимизона у меня 100 персонажей в сцене и 200 фпс там, где на hdrp было 35. Поц эффекты использовал те же, так что графон не страдает. Мне бы ещё геометри шейдеры и мультитредед апи и было бы заебись.
>>588580 Хуй знает. Никогда скорее всего. Сейчас вот смотрю на ецс и он выглядит каким-то хуёвым, хочется накатить класс, который заменит дефолтный энтити, будет хранить ссылки на компонеты и всё такое. Ну фактически ручками прописать старые гейобъекты с трансформами. Будет, наверное, медленнее монобеха. Зато юнити апи в отдельных потоках на самом деле нет.
>>588590 По ютубу не сможешь, а по текстовым гайдам и скриптинг референсу - как нехуй делать.
>>588608 >накатить класс, который заменит дефолтный энтити, будет хранить ссылки на компонеты Дети, посты этого дяди читайте осторожно, это даун, который считает себя самым умным, можно нахвататься плохого.
>>588590 >Можно ли сделать игрулю на юнити, ничего не понимая и делая всё руководствуясь гайдам на ютубе? Ну, например, известный всем Копатель так и создавался, лол. Его разработчик вообще не шарил. Он просто смотрел гайды и по ним кое-как собрал игру.
>>588375 >Физон гибрид, UI моно. Они пытались и это перекинуть в ECS. >лол и че, как это вообще в ECS то реализовать? Как обычно: UI - сущность с компонентами, компоненты - сущности с компонентами. Поверх них системы: система главного меню. Система визуального дисплея (HUD), система меню схоронений, система меню настроек и т.п. Физон - сущность с компонентами, компоненты - сущности с компонентами. Поверх них системы: система статических тел, система динамических тел, система обработки столкновений и т.п.
Суп. Хочу в редакторе сделать скрипт для генерации объектов из префабов. Эти объекты потом будут использоваться как болванки для дальнейшего создания префабов. Я их создаю из объектов на которых мешрендерер. Можно ли как-то потом после создания все эти меши по быстрому объединить в один меш? Чтобы не было оверхеда из-за большого количества объектов. Там по сути в основном полы и стены из плиток.
>>588624 Так ты критикуя предлагай. Семплы юнити - это создание сотен идентичных кубов. Спасибо, это мы умели и раньше. Если я реально хочу создать объект, то мне хочется просто вызвать конструктор, а не накидывать компоненты каждый раз. Естественно, что хочется закопать весь ецс поглубже и не видеть его вообще. Но нужен ли он? Я вот после одного вечера тыкания палкой в ецс почему-то решил, что он мне не нужен. Даже линейное расположение в памяти и попадание в кеши в реальных проектах будет проёбано. Вот джоб систем заебись, бёрст компилер "быстрее, чем С++" со слов юнити технолоджис. Другое дело, почему именно он такой быстрый, это разочаровывает.
>>588656 https://docs.unity3d.com/Manual/GPUInstancing.html Если у тебя lwrp, то достаточно включить srp batcher. Если hdrp, то ничего не работает потому что иди нахуй, вот почему. Если боишься расходов на GameObject'ы, то лучше комбайнить заранее либо ебучий ецс. Комбайнить в рантайме достаточно накладно по процессору.
>>588668 Да мне именно в редакторе нужно, потому что сейчас для одного префаба сотни gameobject'ов. А если будет сотня таких префабов на сцене, то это слишком большой оверхед выходит.
Хахаха, выдумываешь такой классы и системы, чтобы можно было импортнуть модель, прорейкастить её сверху, кастануть на неё правильно грид из квадратиков, а потом по координатам расставить нужное количество травы и деревьев (моделями меньшего размера), а потом смотришь, как это у других сделано, особенно в бесплатных ассетах из магазина, и находишь пример с ТЕРРЕЙНОМ. Смотришь - это стандартный набор юнити, в террейне есть инструменты чтобы террейн деформировать, менять текстуры, добавлять и удалять траву и деревья. А ещё в юнити есть ТРИ ЭДИТОР нахуй.
>>588668 >просто вызвать конструктор Фабрику сделай. Суть энтити в том, что это просто id, который присваивается одному из компонентов из массива. ООП подход там в принципе не к месту. Ну и очевидно, что есть вещи, которые удобнее сделать через монобех. В моем поделии есть сцена, где игрок конструирует крафт, каждый кусок уникален и содержит какое-то поведение, там я использую монобехи, в сцене с симуляцией использую ецс, просто потому что сложное поведение из конструктора мне не требуется, а требуется быстро процессить крафты, состоящие из тысяч деталей. >будет проёбано Нормально делай - нормально будет.
В общем задачка про ецс. Есть пачка entity, есть SaveGameSystem. Там в OnUpdate() происходит магия, и сериализованные данные улетают в переменную или на диск. Ну естественно сделано if (boo), чтобы писало не каждый фрейм, а только когда я выставляю флаг. Вопрос. Как заставить это вот всё работать синхронно? Т.е. мне надо сохранить сцену перед тем, как её разрушить, но в текущем виде мне нужно знать о разрушении за 1 фрейм, чтобы все сделалось.
ГПУ лайтмапер фолбечится на цпу ссылаясь на недостаток памяти. Сцена не большая, карточка 1060. Смена драйвера с game ready на studio улучшила чуток ситуацию, но не решила. Как можно ещё решить данную проблему?
>>588747 чет я нихуя не понял брателло у каждой энтити есть OnUpdate который пишет в файл? какты вообще собрался писать в файл сразу с нескольких энтити одновременно? вообще, юнети обходит энтити по одному за раз, так что да, записать то ты можешь (разумеется сперва в стринг, а уж потом в файл, иначе на открытие/закрытие времени больше потратишь), но тогда откуда вопрос с синхронностью, если там один хуй обход поочередный? >мне нужно знать о разрушении за очевидный yield return
>>588755 избыточное решение, а в попытках допилить напильником уникальные функции для своего шутана будешь неделю стрелять себе по ногам. проще свой контроллер с нуля запилить, для 95% игорей достаточно будет
>>588764 а, тогда всё правильно делаешь, просто добавь корутину c ожиданием завершения процесса сохраниения и вырубай сцену нахуй. но мне кажется что я всё ещё тебя не понимаю.
>>588135 Нашел нужное направление, делать через velocity все, менять вектор движения.
Но как всегда не все так просто. Задал направление движения по горизонтальной оси через фывц с нулевым значением на y, видно было что гравитация работала, но перезаписывалась на 0 и от этого перс падал медленно. Я знаю что галочку на гравитации можно убрать, но не значит ли это что я не могу полностью менять вектора как мне хочется?
Например, я хочу чтоб объект от столкновения по оси Х полетел с той же скоростью по оси У и не сместился на Х. Без галочек на осях через скрипты такое возможно?
На видосе происходит какая то хрень, я иду вправо и поворачиваю. Это от не отключенной гравитации, типа коллайдер об землю долбится? Если я уберу галочку гравитации, мне придется ее самому включать и выключать? Выключать чтоб не долбилось.
>>588814 Изменяю velocity каждый кадр. Проблемы? Для персонажа не нужна реалистичная физика.
Обычно я разделяю скорость на 2 компонента: пользовательский ввод и внешние силы (гравитация, толчки от взрыва, например), которые обновляются независимо друг от друга, а потом просто складываю их.
>>588814 Ну и как мне свое поведение движения создавать? AddForce наверняка сложнее и заковыристее, MovePosition двигает как будто рывками, зажав кнопку об стену будешь дергаться пытаясь пройти сквозь нее.
>>588697 >Фабрику сделай. Божественные классы это плохо, п'нятненько? >ООП подход там в принципе не к месту. Да он везде к месту. Я не хочу переучивать юнити на новые фокусы и ебать сами ентити. Грубо говоря, есть класс с логикой персонажа. Убили персонажа - вызывается charaсter.Kill(), внутри метода добавляем к ентити компонент. Хранить логику в компонентах это же чудовищно неудобно. И, кстати, это медленно - в ецс не меньше магических методов, чем в монобехавиор. >Нормально делай - нормально будет Убер фича - попадание в кеши - в том, что память выделяется линейно благодаря группированию ентитей по компонентам. И выигрыш в скорости будет тем меньше, чем более неоднородные компоненты использовать. Но я все равно уже решил, что негоже энтити использовать, тем более скиннед меши не поддерживаются.
>>588723 Если у тебя HDRP - пикрил. Способ второй - удаляешь в менеджере пакетов пост процессинг стак, качаешь его с жидхаба, закидываешь в проект.
>>588819 >The traditional Doom-style first person controls are not physically realistic. The character runs 90 miles per hour, comes to a halt immediately and turns on a dime. Because it is so unrealistic, use of Rigidbodies and physics to create this behavior is impractical and will feel wrong. The solution is the specialized Character Controller.
Так, то есть его я могу спокойно двигать как мне хочется, без непредвиденных явлений? А если понадобится оттолкнуть такой коллайдер из вне (оружие которое толкает или платформа) это через скрипты писать?
>>588833 Смогу ли я сам сделать коллайдер другой формы, который как и этот компонент не слишком физичен, но останавливается об стены? Например, кубики летающие вокруг персонажа, которыми он может управлять, кидаться ими во врагов или закрываться.
>>588830 >Божественные классы Не неси хуйню, фабрика это класс с одной обязанностью. >Убили персонажа - вызывается charaсter.Kill() ЕЦС подход работает не так. DealDamageSystem снимает хп. Когда хп падает до нуля, KillSystem убирает из энтити компоненты Run, Shoot, Targeting (условно), чтобы соответсвующие системы перестали её процессить. >И выигрыш в скорости будет тем меньше, чем более неоднородные компоненты использовать. Все компоненты TvoyaMamkaComponent лежат в памяти линейно. Если у половины из них есть WhoreComponent, то эта половина будет тоже сгруппирована вместе.
>>588861 Наоборот. Нужно добавить данные - делаешь компонент, нужно поведение - систему с одной обязанностью. Связанности нет, все красиво и легко модифицируется. Хотя вообще я не против, можешь писать на чем тебе хочется.
>>588845 >ЕЦС подход работает не так. Потому он и хуёвый. >KillSystem убирает из энтити компоненты Run, Shoot, Targeting Чтобы игрок нажал "воскреснуть" и через кадр опять всю хуйню вернуть обратно. Компоненты добавляются обратно, списки сортируются, никто нихуя не понимает, откуда статтеры. Смысла убирать эти компоненты нет ни малейшего, даже если убит бот и он не воскреснет, просто закидываем его в пул и переиспользуем. Блядь, мы проходили точно то же самое с монобехами - сначала накидываем скрипты на ГО, потом становимся умнее и пишем менеджеры. Это быстрее и удобнее. А ецс мы получили просто из-за хайпа на микросервисы, которые, кстати, говно. >эта половина будет тоже сгруппирована Это два компонента. Повторюсь, выигрыш тем меньше, чем больше компонентов. В реальных проектах энтропия гораздо выше. Список будет фрагментированным и бесполезным. >>588861 Ну SendMessage-то зачем? Он медленный, это же рефлекшн.
>>588893 >это же рефлекшн Нет. Все методы кешируется в момент отправки сообщения. Получается не сильно медленее вызовов Update(), которые работают так-же
>>588893 Все так. Юнитивская архитектура заточена под быструю итерацию по статичным компонентам. Быстро динамичное добавление и удаление компонентов на самом деле не дешевая операция.
На самом деле главный прирост производительности в юнитивских ECS демках не потому что ECS что-то ускоряет, а потому что убираются тормоза поштучного обновления трансформов каждого объекта, вместо этого все данные о трансформах всех объектов батчятся одним куском памяти.
Ищем соратников на геймджем с 1 июля: https://itch.io/jam/devsquad-summer-jam Нас уже двое - программист (зарабатывающий кодингом, но не на Unity) и художник с несколькими курсами по 2D и CGI за плечами. Кого ищем: 1) программиста, знакомого с Unity для 2D (я пока заканчиваю туториал по 2D Roguelike); 2) художника-анимаатора для персонажей; 3) геймдизайнера; 4?) композитора (возможно, справимся своими силами, но если хотите поучаствовать - пишите). @hurrdurrrderp /id10954653 @mchscrt
>>588928 Твои хуёвые идеи нахуй никому не упали, когда вы уже поймёте. Ты либо полноценный геймдизайнер который может перебрать кучу цифр в Экселе, сделать анимированные наброски/собрать своими руками черновой прототип, либо хуй. Ты - хуй.
>>588893 >никто нихуя не понимает, откуда статтеры Набросал систему, которая берет пачку энтити, и каждой четной добавляет/удаляет компонент. Работает в один поток, без жобов и прочих бёрстов. 1000 штук процессится за 2 мс, 100000 штук процессится примерно за 150 мс. Хотя не знаю, зачем я с тобой спорю. Мне в принципе насрать, просто раздражает напыщенность, которую ты отъел на местных нюфанях.
>>588985 >1000 штук процессится за 2 мс Хуя себе 500 компонентов отжирают 2 мс. Для 120 кадров в секунду (это же якобы система с расчетом на будущее) это 25% всего времени кадра на то, чтобы просто обновить 500 компонентов!
Есть какой-то ультимативный гайд по юнитям для погромистов? Типа чтобы все по хардкору объясняли, как со всеми кнопочками интерфейса обращаться, из чего обычно состоят модели в играх, как работают анимации и все прочее. Официальный мануал бедный, а уроки для школьников слишком узконаправленные (скачайте ассеты, тыкните кнопку, ура вы сделали игру). Хочу более общие знания, чтобы самому решать где и как применять. Или нормальные материалы только за бабло?
>>588909 https://forum.unity.com/threads/is-sendmessage-really-that-bad.38094/ Я понимаю, что старьё ёбаное, но вряд ли что-то изменилось со времени последнего поста. Не медленнее апдейта, но я тут распинался, что апдейт медленный, лол. Так-то никогда сендмесседж не использовал, может, и кеширует. Да только геткомпонент тоже кешируются, а руками закешированный всё равно быстрее.
>>588985 >в один поток, без жобов и прочих бёрстов Если ты думаешь, что добавление компонентов в джобсах работает в многопоточном режиме, то ошибаешься. Апи всё ещё однопоточное и добавление компонентов тоже. Вот тебе вебм, 100 000 кубов, удаляем рандомную тысячу. В пизду ецс. Я даже джобсы не использовал, 60 строк кода и никакой магии.
Вопрос телепатам. Я загружаю карту из текстовика, все геймобжекты, статы, всё-всё-всё делаю, получаю 200 мегов "инфы", которая добавляется в диспетчере задач к процессу юньки. Затем я не выходя из игры карту удаляю, удаляю все геймобжекты, подтираю списки и ссылки, зову сборщик мусора в конце концов - эти 200 мегов не удаляются, а остаются привязанными к процессу. Если снова загружу карту, то добавятся ещё 200 мегов дополнительно, обнуляются они только если выйти из игры и затем запустить её заново. В билде "инфа" тоже накапливается.
В чём моя проблема? Почему сборщик мусора не видит этот мусор? Оно понятно, что скорее всего я что-то не заметил в массивах и листах со словарями, где-то же накапливается это говно, но может быть это очередная фича юнити, о которой я ещё не знаю?
>>589127 >Но, скорее всего, твои типы данных должны освобождать память вручную через вызов Dispose(); Текстуры и меши, наверное? Спасибо, поищу в этом ключе решение.
>>589233 -2. Если не знаешь английский на уровне хотя-бы "ну общий смысл я понял" - забудь. Сперва иди учить язык. -1. Если не знаешь программирование в принципе - забудь. Сперва иди учись кодить на базовом уровне (50 часов +-). Идеально, если это будет C# или Java, но любого опыта достаточно. 0. Гуглишь "unity for beginners". Читаешь/смотришь гайд посвежее. Обязательно иметь открытый редактор под рукой и повторять за гайдом. Если гайд больше ~5 часов - дропаешь его. Очевидно, там начался понос из всякой ненужной тебе хуйни. 1. Придумываешь себе простенькое приложение и начинаешь его ебашить. Гуглишь конкретные вопросы, которые у тебя возникают в процессе работы. 2. Когда разработка сегодня уже заебала - гуглишь что-то типа "unity tips" и "unity talk". Это чтобы повысить QoL и не открывать все подводные камни на своём опыте. Когда они кончатся - можно на юнитифорумах читать что-то интересненькое или книжки тематические. 3. Много, много практики. Ебашь всякую хуйню пока руки не заболят. Флаппи бёрдс, морда для криптобиржи, agar.io 3D - да всё что угодно. Со временем повышай сложность. Если получается что-то интересное - заливай на гитхаб. Когда начнёшь изучать технологии за пределами движка, потому что в нём самом ты уже разбираешься - ты готов к следующему этапу. Однако это не значит, что этот этап ты завершаешь, десу. Ты в нём будешь всю жизнь. 4. ... 5. Профит. Ты готов пополнить ряды джунов-за-30к или мамкиных инди разработчиков. Советую первое - в инди в любой момент можно вернуться.
>>589258 Ну ок, спасибо. Как раз алгоритмы всякие я могу хуячить, но вот хотелось бы какой-то систематизированной инфы по разным аспектам 3д игр, чтобы все в одном месте было. Идея вполне определенная есть, очередная кар-драйвинг игруля со своим видением. Отсюда сразу куча вопросов возникает как сделать хорошо и правильно. Но надо, видимо, разбивать задачу на части, и постепенно осваивать и выполнять.
>>589127 >>589131 Пощёлкал туда-сюда, через Destroy удалял все динамически созданные текстуры и меши при отгрузке, но не, если и помогает, то очень незначительно.
Как мне IDisposable к текстурам и мешам прикрутить-то? Сделать свой класс, наследующий от текстурок или мешей, и к нему интерфейс приделать?
Как сделать чтоб обычный Button блокировал вызов OnBeginDrag и не передавал его своему родителю? Пока что вручную добавляю компонент EventTrigger с этим самым вызовом к каждой кнопке, есть ли способ получше?
Как в раннере двигая мир под игроком лучше реализовать повороты дороги? Не на 90 градусов, как в темпл ране, а тип сабвея, чтоль. Чтоб путь немного вихлялся, не абсолютно прямой был.
Дублирую вопрос из анриал треда, так как я даунич, который пытается войти в тему
"У меня возник вопрос, на который не могу найти ответ: хочу замоделить квартальчик в максе и закинуть модель в какой нибудь движок, поставить свет, кое где анимацию, ну и выкинуть так, чтобы на этой сцене можно было спокойно походить. То есть применить игровой движок для архвиза. Какой лучше подойдет для этого: юнити или анриал? Я так понимаю, что если выбирать анриал, то накладывать текстуры надо в нем, а не в сторонней проге. Юнити вроде как проще."
почему вдруг заинтересовал юнити в этом деле? после этого видса https://www.youtube.com/watch?v=0Nqq4B-gLGU То есть при каком скилле и сколько времени надо потратить, чтобы научится в такие же текстуры на юнити? Или, как я писал выше, затекстурить можно всю сцену в максе ,потом импортировать в юнити?
>>590374 >затекстурить можно всю сцену в максе ,потом импортировать в юнити?
Не ебу как в максе, но наверно также как в блендере - через сраку, т.к. принцип везде одинаков. Объединяй в один меш, запекай текстуры в отдельную картинку, импортируй голую сцену, потом картинку (атлас) используй для материала. Материалы из блендера не импортируются нормально, например.
>>590374 Желательно, чтобы ты квартальчик свой разбил на модули и собирал в кучу уже в движке. Так можно сэкономить ресурсы компухтера. >в такие же текстуры на юнити Так текстуры в юнити не делаются, разве что процедурные. Делай в сабстансах. >>590389 >из блендера не импортируются нормально С сабстансом, 3д максом и прочим торидешным софтом работает нормально, просто блендер кривой.
Решил потыкать палкой в ецс. Для чего его использовать? Для гуя? Конвертация в энтити выбивает ошибку. Да и событий нет. Для персонажей? Нет поддержки скинмешей. Для статиков? Проёбывается оптимизон и лайтмаппинг. Окей, каких-нибудь динамических объектов. Хер там, в ецс проёбан дельтатайм и весь физон привязан к фреймтайму. Выше фпс - выше скорость. Прямо как в фоллаут 76. Хуйня без задач, чтоли?
>>590421 Амазоновский Дровосексуал перекатился на ецс и, внезапно, это не оказалось чем-то уровня "забудьте всё, что вы знаете", как у юнити. Юнити обещает дохуя производительности при использовании ецс, но не даёт возможности его использовать. Какого хуя? Игра без логики\систем\объектов работает быстро? Логично.
>>590434 Какая разница, какие фичи в уе4, если там ядро говно? Да и фичи эти в юнити тыщу лет назад народ запиливал\учил запиливать. Речь не о том шла.
>>590434 Забавно что уечедети в качестве примеров превосходства уеча приводят в качестве "фич" фришный контент в маркетплейсе, который выбрасывают будто кости собаке. Причем там контент уровня домик, красивый куст и меч для рпг, из которых вообще нихуя не слепить. Но уечекуколды продолжают терпеливо ждать нового контента, потому что своего они сделать не смогут.
Короче, мужики, такая проблема. Делаю кликер, и пытаюсь въебать инвентарь. Две сцены, первая - игровая, на ней объект, на него кликаешь и одно из 15-ти значений увеличивается на один. Вторая сцена - инвентарь, на ней Скрол Вью, в контенте которого должны появляться префабы-ячейки, когда это нужно(т.е когда появляется новый предмет). И у меня появилась проблема - мне нужно перекидывать данные с одной сцены в другую. Ебусь с этим уже две недели, и вообще в голову ничего рабочего не приходит
>>590441 Не пизди, я ЮНИТЕК! И я вижу щедрость анриала и завидую. Когда анриал каждый месяц выдает годный контент, юнити выкатили 300 материалов из которых разные только 10. Нахуй они высирают свои ненужные демки? Они поди стоят каждая по 5кк долларов, кузнец, книга мертвых, адам, еретик, ты понимаешь, что вместо каждой из них могла быть суперфича или гора контента так нужная для индюков? ТЫ ПЫНЯМАЕШЬ?
>>590450 >Нахуй они высирают свои ненужные демки? Только для борьбы с стереотипом что в юнити плохой графон из за самого движка. За тебя контент и графон никто не сделает, такова жизнь. Он и так тебе дали бесплатный двиг, тебе еще нужен контент, а игру за тебя не сделать?
>>590457 >Анриал делает и раздает То, что 99% пользоватей нахуй не нужно. ААА-студии рисуют свой графон, любители закрашивают пиксели в пол-экрана - им это 3д не нужно. Ну и какая целевая аудитория у этих ассетов?
>>590450 Ты в курсе, что контент демок разрешено использовать в коммерческих проектах? И вот вся твоя "щедрость уе4" уже не щедрость, а крохи, ведь тебе дают нахаляву арта и кода из десятка демок "по 5кк долларов" каждая.
>>590451 >3Д ААА КОНТЕНТ >СРЕДНЕВЕКОВАЯ ДЕРЕВНЯ >@ >ХАЛУПЫ СОБРАНЫ НА САМОРЕЗАХ >@ >ЗАТО БЕСПЛАТНО >On Sale:₴1,569.74 >ЦЕЛЫЙ МЕСЯЦ БЕСПЛАТНО!
>>590462 >>590461 >ыыы ты ничего не можешь, тебе не нужны ассеты ыыы Нахуй вы это пишете, быдло ебаное, анриал выкатывает ассеты, юнити видосики, только даун-пидараха может верещать - а нам и нинада, пусть все деньги на видосики тратят.
>>590465 >ЦЕЛЫЙ МЕСЯЦ БЕСПЛАТНО! Не месяц, а если в этот месяц ты нажал приобрести то это навсегда твое, просто через месяц для других закроется возможность >Ты в курсе, что контент демок разрешено использовать в коммерческих проектах? Было мутно там, когда их на форуме спрашивали можно ли юзать листву из книги мертвых они отсылали смотреть лицензию мегаскана или чего-то подобного. Как-то неоднозначно тогда стоял вопрос, может сейчас изменилось.
>>590468 >Было мутно там Пиздец мутняк, нихуя не понятно для анрилодаунов.
Q: Can we use this content in commercial projects? A: Yes! Please do. As much as you like. Some components have custom licensing, but these are very permissive licenses (see ThirdPartyNotices.txt for details). Everything else is governed by the non-restrictive asset Unity Asset Store End User License Agreement; this includes the excellent content graciously provided by Quixel.
>>590467 Пока анриал выкатывал ненужные ассеты, юнити делали редакторы контента, чтобы ты сам мог делать ассеты легким движением мышки. Из последнего например новый террейн https://www.youtube.com/watch?v=aExdxF4OKBo
>>590471 Что еще за некоторые компоненты? На каждый листик лицензию проверять. >>590472 Только террейн, немножко обновили, за два года родили и на том спасибо. А остальное ecs которое никто не будет юзать никогда, кроме полутора долбоебов.
>>590473 Так почитай тиэксти. Там только некоторый код сторонних поставщиков нельзя себе в проект скопировать. Остальное всё свободно распространяется.
>>590475 >Там только некоторый код сторонних поставщиков нельзя себе в проект скопировать. Остальное всё свободно распространяется. Это круто, работаем братья! >пробилдир Ненужно, 3д редакторы всегда будут лучше >ригинг ситуп Ну, наверное, круто, индюки не будут юзать, потому что и так сойдет. >виэфэкс Ну да, это круто.
>>590391 НУ смотри, у меня в планах каждое здание квартальчика пеервести в мэш или единый объект, запечь текстуру, и потом ипортировать три д с запеченной текстурой в сцену в юнити. Праивльно думаю?
Хотелось бы еще и деревья с такой колыхающейся листвой поставить и птичек летающих, эх
>>590477 >Ненужно Вообще, для справки, в разделе ворлдбилдинга 90% тем о пробилдере. Остальное - "хули террейн не работает с hdrp?". Как замена грейбоксингу пробилдер просто охуенная вещь. По ригинг сетапу ещё есть интересные видосы с анимейшн джобс - фулл боди IK, вот это всё. >Ну да, это круто. Тогда смотри шейдер граф и дотс вижуал скриптинг. Такого же плана вещи.
>>590478 Это будет работать, ясное дело. Накати hdrp, если прицел в ммаксимум графон. Но я бы выбрал lwrp, даже для графона. Там же и шейдеры делать легко и просто. Те же покачивания листвы и всей херни. Когда увидишь, что упираешься в производительность - гугли модульные постройки и гпу инстансинг.
>>590555 >постпроцессинг туфтовый Так постэффекты для hdrp и lwrp это один и тот же пакет. В целом картинка незначительно хуже, тени страдают больше всего, но можно колдовать с каскадами. Hdrp медленный, как чугунный каток.
>>590744 Край запускается на мобилках вообще? Да и для пекарен я лучше повыпекаю, лишних 10-20 фпс в гейммоде будет.
Хинт дня, лол. Кого заебало ждать отзыва после нажатия кнопки "Play" - обновляете юнити до 2019.3, заходите в "проджект сеттнгс", "editor", там выключаете Reload Domain. Статик переменные перестают сбрасываться автоматически. Зато вход в плей мод занимает миллисекунды.
Всем привет. Получилось таак что я сделал игорь на 50% из разных ассетов и в итоге меня это заебало и я признал что Пора. Сам я больше ГД, но всё-таки без этого никуда.
Итак, с чего начать изучать кодинг на C# ? Как вот эти скобки ставить, запятые, всю эту пунктуацию и т.д. В шапке банальнейшие ссылки на офиц туторы, а мне нужна основа основ. Слышал что C# в Unity слегка (а может и не слегка) отличается от обычного C#, если да то чем и насколько? Кароче с чего мне начать чтобы написать к примеру своё меню с настройками, но и не влезая в глубокое изучение основ которые уже не используются и никогда не понадобятся?
Посмотрел 4 часа контента с Иисусом который хайпит ДОТСы. Планирую вкатываться, пожелайте удачи. Кто нибудь кстати знает как кастомные пассы под СкриптаблРендерПайплайн писать?
>>590420 Беру свои слова обратно, лол. ECS пиздатая вещь. Думаю - начну делать что-нибудь с сетью. Написал контроллер куба, начал сервер. Его тоже на ecs. Так вот нахуярил уже десяток классов, службы, компоненты, джобсы, а до соединения ещё даже не дошёл. Идеальная вещь, можно годами писать код, а до дела так и не дойти.
>>591464 >Adding pure ECS to a MonoBehaviour project Компетенция автора ниже среднего, обсёр с терминологией. >TransformAccessArray Deprecated API. Итого, статья говно и не заслуживает внимания.
>>591453 Продолжаю ковырять это дело. В перспективе можно будет копипастить целые компоненты и системы, работающие в юнити и будет работать. Ну, кроме апи, ясное дело, юнитевские длл решил не включать в проект. В душе не ебу, быстрее ли это будет, чем объектная система, но более гибко это точно. Заодно закопался в конкурентные структуры и кольцевые буферы, интересно. Списки всех служб получаю через рефлексию при инициализации, в рантайме можно просто добавить компонент, автоматически запустится система, если таковая есть. Пулы пока не прикручивал, как запилить архетипы неизвестно, хотя эти две вещи точно мастхев. ECS это пиздец весело, но слишком много кода для такого прокрастинатора, как я.
Как устроится на юнити джуна? Опыта работы нет, я до этого 4 года писал код за еду фрилансил, но в несвязанной с геймдевом сфере, поэтому на гитхабе один бэкэнд и тулсы. Если я за пару месяцев запилю какую-нибудь игрушку, этого хватит? Или лучше несколько демо поменьше?
>>591786 Я аутист и вопрос прокормиться меня не волнует. Я честно не понимаю как люди умудряются тратить столько денег. Веб - это раковник, который пожирает человеческие души. Не хочу одним прекрасным утром проснуться в намыленной петле. В геймдеве меня больше всего цепляет реакция игроков. Буквально каждый день проверяю ютуб/форумы на новые видео/отзывы к своим модам. В такие моменты я ощущаю себя живым. Так есть мысли по теме, сколько нужно сделать перед тем как вкатиться? В скилле своём уверен.
>>591790 Берёшь и делаешь парочку мини игр(не андроид говно), выкладуешь на инди сайты, всё, вот и портфолио. Если сделаешь бедно, но душевно, применяя интересный подход это будет заметно.
Вопрос от начинающего, прям вот уровня плинтуса. Смотрю видеоурок, там чел создаёт террейн украшает его горами/лесом и грит теперь тут мона погулять прям на изи. Лезем говорит в assets - импорт - (ну и там контроллер персонажа и еще много че вкусного) это говорит станадртно в юнити заложено. Так вот я туда лезу, и что я там вижу? Жирную дулю. Видеоурок видимо уже старенький, может юнити в какое-то другое место в версии 19го года запихнули? короче мне надо чтоб прям взять тыкнуть как имбецил в кнопку и появился персонаж управляемый от первого лица. Ну или в три кнопки хотя бы.