>>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 Наконец-то сделал, блять. Всего-то надо было транзишн со стейта с анимацией сделать на пустой стейт. Теперь ещё большой вопрос как разобраться с управлением.
Аноны, мне нужно добавить в мою игру ТРАВУ, такая, что бы травинки плотно прилегали друг к другу, но при этом она жрала ресурсов по минимуму (пилю под днишевые мобилки). Т.е. максимум дёшево и просто, без анимаций, без выебонов. Какие есть варианты? Алсо, у меня игровое поле разбито на клетках и траву я тоже хочу размещать по клеткам.