На Unity сделано много замечательных игр: Hearthstone, VRChat, Escape from Tarkov, Valheim, Genshin Impact, Subnautica, Albion Online, Endless Space, Beat Saber, Boneworks, Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие.
Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.
Какие у Unity сильные стороны? Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.
Какие у Unity слабые стороны? Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.
На каких платформах работают созданные с помощью Unity игры? Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.
Часто вижу скриншоты с красивой природой на Unity. Как такое создать? Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.
Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки? Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).
Бесплатен ли Unity? Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.
Обучение по книгам (печатные издания, актуальные электронные версии книг можно скачать на официальных сайтах издателей)
Обучение языку C# книги на русском языке:
1. C# для чайников Автор книги – Джон Пол Мюллер 2. Программирование на C# для начинающих 2е части Автор: Алексей Васильев 3. Head First. Изучаем C# 4е издание Авторы: Эндрю Стиллмен, Дженнифер Грин 4. Unity и C#. Геймдев от идеи до реализации Автор: Джереми Гибсон Бонд 5. Язык программирования C# 7 и платформы .NET и .NET Core Авторы: Филипп Джепикс, Эндрю Троелсен
Для людей абсолютно не знакомых с движком есть 3и основные книги на русском языке:
1. Разработка игр на Unity 2018 за 24 часа Майка Гейга (Знакомство с движком, изучение редактора, создание 4х простых игр практически без кода, отличное пособие для полных новичков). 2. Изучаем C# через разработку игр на Unity. 5-е издание Харрисон Ферроне (Пошаговое освоение всех базовых знаний по программированию на языке С# в редакторе юнити, создание одной игры стрелялки от первого лица, написание искусственного интеллекта врага, книга переведена не совсем корректно и порой встречаются не просто опечатки, а серьёзные неточности перевода.) 3. Unity в действии. Мультиплатформенная разработка на C#. 3-е межд. издание Хокинг Джозеф (Правильное построение архитектуры кода для сложных проектов, углублённое изучение программированию на C#, создание 4х полноценных игр на движке, обязательно нужно скачать код проектов, так как в книге он местами уже устарел.)
на юнити я уже могу сделать игру и продать - в ней все есть а твой говнот только когда-нибудь в будущем будет доделан - а будет ли это будущее или хуан поедет крышей и начнет дрочить
Аноны, полный ноль в программировании, планирую изучить с# для кодинга своих индюшек. Вопрос к обучению. Увидел книжечки в шапке и обучалки от самого Юнити, могу начать с них, но есть ли адекватный видео курс по всему этому делу? Или без обратной связи пиратский же, смысла в курсах нет?
Пытаюсь сделать графу с вводимым именем игрока и охуеваю с реализации UI/InputField. Вот в нем изначально есть два объекта (Placeholder и Text) с компонентом Text. В Placeholder в редакторе написано "Enter text...", Text соответственно пустой. Запускаю игру кликаю на графу, где будет имя игрока - курсор прыгает в начало строки. Начинаю там писать "Ivanov_Michail_Alekseevich", "Enter text..." в Placeholder затирается и теперь в обоих объектах в редакторе написано "Ivanov_Michail_Alekseevich". И здесь все работает просто охуенно - можно ткнуть курсором в любую точку и начать редактировать имя, в компонентах Text обоих объектов (Placeholder и Text) в редакторе отображается один и тот же текст. Теперь я пишу скрипт в котором достаю из ключа сохраненное имя "Ivanov_Michail_Alekseevich" и пытаюсь воссоздать ситуацию одним текстом в обоих объектах. В старте у меня условно задается: placeholder_.text = "Ivanov_Michail_Alekseevich"; text_.text = "Ivanov_Michail_Alekseevich"; И тут я просто охуеваю, ебаный text_.text, который ничем не отличается от placeholder_.text нихуя не прописывается ни через старт, ни вообще никак. Он тупо всегда пустой, пока ты не начнеш вводить в него текст через игру. В итоге в объекте Placeholder стоит "Ivanov_Michail_Alekseevich". В объекте Text нихуя. При попытке отредактировать текст с именем игрока, например, с "Ivanov_Michail_Alekseevich" на "Ivanov_Michail_Alekseevich_theBest", курсор прыгает в начало строки, т.к. text_.text пустой. И все имя просто затирается нахуй. Зачем делать такую реализацию для меня большая загадка, почему два объекта которые в принципе идентичны ведут себя по разному. Кому бы помешала возможность ввести текст через скрипт? Не хочешь не вводи, блеать, он будет пустой. Нухуя просто выключать такую возможность без объяснений. Въебал полдня на экспериментах с кодом, просто пиздец
Почсоны, наверное задам глупый вопрос, но в Darkwood ,что делана на Юнити, эффект 3д деревьев это именно 3д деревья(собственно сделана ли игра в 3д проекте) или же это 2д эффект?
>>933367 не скажу точно, но скорее всего 2д эффект, особенно тень вокруг круглого ствола его создаёт, а так может несколько спрайтов использовалось для параллакса
Эх, сколько раз себе говорил, не переутомляйся, делай большие паузы между делом, весь день не работай. Вчера весь день с 11:00 до 01:00 следующих суток ебашил код и ковырялся в редакторе, отвлекаясь максимум на минут 20, на пожрать и посрать, Сейчас у меня болит башка, мозг нихуя не соображает, глаза щиплет, настроение поганое, болит спина и шея. И это не впервые, иногда вот что-то заставляет тебя сильно ебашить, то ли желание поскорее закончить, то ли просто силушки появились хз, но чрезмерно ебашить - это проблемы. Еще по работе сегодня дали задание (гд - это хобби), простое, но мозг тупит и соображает хуево. Ладно, сегодня отдыхаю и ничего не делаю и самое главное ни о чем не думаю
Года два-три назад и более здесь сидело много анонов. Куда пропали эти люди, хотящие делать игры? Кризис заставил людей больше работать, не отвлекаясь на гд? Мобилизовали? Или годот переманил их?
Unity-аноны... Просто хочу поделиться моментом, в котором я сейчас нахожусь. Три с половиной года вкатываюсь в айти. Год - в геймдев. С июля 2023 года - в Unity. За эти полгода я прошел несколько курсов, сейчас сижу и пушу проекты по Unity на ГитХаб. У меня куча идей, хочу их реализовать - и возможно стать мультимиллионером. Также чувствую, что-то еще немного поднажать, пару месяцев - и смогу претендовать на позицию джуна (наверное). Не в одно другое направление айти я так глубоко не вкатывался, как сюда - хотя перепробовал практически все.
Но в то же время я не уважаю геймдев. "Посмотрите, игры он разрабатывает", "Тебе сколько лет?", "А тебе это вообще интересно, игрульки?" Нет, не интересно. В игры, кроме гиперказуалок типа Vampire Survivors и прочего не играю. И не уважаю. Но в голове засела идея, что в геймдеве я заработаю миллионы.
В принципе, пара проектов на ГитХаб, публикация проектов в Google Play, Steam, Yandex играх - и можно если не грести деньги лопатой, то хотя бы искать работу. Но найду ли я работу?
Может не стоит сюда лезть, раз не уважаю геймдев? На работу ходить не хочу, хочу получать деньги, сидя дома.
Я даже для себя вопрос сформулировать не могу, не то что для вас. Но попробую. Два стула. Первый: поднажать, выпустить в Google Play / Steam / Yandex играх несколько игр. Забить на чувство неуверенности, "Это дело я не уважаю", в голове. Начать получать деньги с разработки игр - и надеяться что деньги перебьют чувство неуверенности. Мол, вот подниму я денег, куплю себе квартиру, автомобиль, найду себе красивую девушку - и все это благодаря деньгам с геймдева. Увижу респект со стороны коллег и игроков - после этого всего мысли в голове встанут на место.
Второй стул: забить на геймдев, на год учебы, вкатываться в веб - и надеяться что найду работу, на которой смогу работать по удаленке (ибо ножками я никуда ходить не буду). Ибо веб я уважаю больше, чем геймдев (именно уважаю, но не люблю - делать приложения скучнее, чем игры).
Третий стул (а точнее сидение посередке, на двух стульях): вкатываться и туда и сюда. Задумывался над тем, что если исключить все лишнее из жизни, то 6 часов в день я могу тратить на изучение геймдева, а еще 6 - на веб.
Не сочтите за наглость, но очень прошу вашего мнения (и личного опыта по данному вопросу).
>>933367 Заметь, что там тень только от ствола без веток. т.е. реализация в 2д крайне простая (вращают вытянутую трапецию вокруг ствола с простой формулой трансформации в зависимости от приближения игрока), реализация в 3д крайне Не затратная по ресурсам. В общем оба варианта годятся, но я думаю это чистое 3д
>>933001 >ObjCanvas.transform.GetChild(0).GetChild(0).GetChild(0).GetChild(0).GetComponent<TextMeshProUGUI>(); Ебать это страшно! Юзай трансформ поиск по названию. В твоем случае получится типа такого Canvas/Panel/Button/Text. Если обьектов много по похоже пути то вносишь начальный путь Canvas/Panel/Panel в переменную и делаешь так String+"/Button/Text".
>>933530 Лично я съебал в годо, и нихуя не жалею даже. Юнити движок нихуя не для соло разработки, я без шуток тупо заебался ждать ебучей компиляции, что тащемто и стало главным тригером, ну и шизик ричитело еще добавил уверенности в том что надо валить с тонущего корабля.
>>931357 (OP) Cап, на связи начинающий юнити энджойер. Буквально несколько дней осваиваю редактор, еще толком нихуя не разобрался. Хочу спросить, есть ли пиратские ассеты, где их искать и как устанавливать? уже пробовал поставить какую-то спираченную херню, но не встало из-за несоответствий версии
>>933726 Все эти сайты free assets злоебучие просто пиздец. То просто 404 по всем ссылкам, то ругается на адблок, которого в браузере нет, и не дает скачивать, в общем, как будто специально все сделано так, чтобы хуй ты до этого контента добрался.
>>933740 Так смотри что у него в контроллере, апдейты там всякие, еще чекни если есть инерция в коде она может быть. Еще вариант что не перс ползет а камера или задник.
>>933748 >Еще вариант что не перс ползет а камера или задник. Мде. Советчик из тебя так себе. >>933740 Сейчас назову причину со 100% попаданием. Во первых для перемещения ты юзаешь телепортацию, то есть transform.position, а не физику, ибо при перемещении перс так же летит в сторону. Во вторых, при старте коллизия перса и коллизия врага сталкиваются и по физике отталкиваются, поэтому персонаж летит в сторону по инерции. А летит он как раз из за первого пункта. Тут конечно же последует логичный вопрос, а чому враг тогда не летит в другую сторону, ну а тут есть два варианта ответа, если он так же двигается телепортацией, то по факту он все еще летит в другую сторону по физике, просто это не заметно ибо позиция меняется в каждом кадре, убрав коллизию враг чудесным образом побежит быстрее, ну а второй вариант то что двигается по физике, поэтому и не отлетает.
Добавил Rigidboy, в GUI Unity добавил Rigidbody в пустое поле - вылезают следующие ошибки: NullReferenceException: Object reference not set to an instance of an object
ArgumentNullException: Value cannot be null. Parameter name: _unity_self
ArgumentNullException: Value cannot be null. Parameter name: _unity_self
>>933758 Хуй знает че первый екзепшен вылетает, а на следующие можешь забить, это база юнити, так называемая основа. Еще раз закинуть попробуй. >>933759 >Снова закинул Rigidbody в поле для него, включил игру - ошибок нет. А ну это классика, привыкай. >Но Player стоит на месте, не двигается. Тому что скорость маленькая, у тебя же вон в шебме видно что позиция у тела меняется, поставь скорость 100-250. Слушай че скажу, всю физику пихаешь в FixedUpdate, ищи сам почему, и убирай умножение на дельту в определении скорости.
Глупый вопрос, наверное. Вот делаю я игру по курсу, там управление под ПК - WASD и стрелки мыши. Если я захочу сбилдить этот код под Android - мне придется его переписывать, вместо GetAxisRaw("Horizontal") писать что-то другое? Или есть какой-то другой способ создания управления под мобильные платформы?
Просто сколько курсов не смотрел - все под ПК игру делают.
>>934003 >GetAxisRaw("Horizontal") нет Это самое правильное, зайди в настройки проекта, там все кнопки можно переписать под подобную шляпу. Например прыжок вместо space кнопки, назначают что то вроде "Jump", а в настройке проекта можно привязать к этому слову клавишу space и ещё несколько альтернативных клавиш под консоль.
Единственно, как тебе писали, нужно будет адаптировать под стикеры, так как там свои средства ввода.
И не удивительно, что все туторы ничего не пишут под андроид, так как несмотря на кажущуюся простоту, мобильная разработка представляется более сложной разработкой из-за кучи подводных камней, типо разрешений экрана, а так как туторы рассчитаны в большинстве своём на новичков, поэтому обычно никто не усложняет материал в видео, но и такие туторы по юнити есть, их нужно просто поискать.
Столкнулся со странной проблемой. Есть два куска кода, которые должны выполняться в методе Start Первый выглядит вот так: if (weaponEquipped) { if (weaponType == "Longsword") { Debug.Log("For the queen!"); } } else { Debug.Log("Fists aren't going to work against armor..."); }
Второй вот так: if (currentGold > 50) { Debug.Log("You got a fuckload of money! Be careful"); } else if (currentGold < 15) { Debug.Log("Looks like you are broke. That's sad."); } else { Debug.Log("It seems you have just the right amount of money."); }
При запуске игры первый код вообще не отрабатывает как будто. В консоли не появляются сообщения. Второй отрабатывает и сообщения появляются. Я не могу понять почему так получается.
>>934225 Еще вылазит следующая ошибка. NullReferenceException: Object reference not set to an instance of an object EnemyMovement.Start () (at Assets/Scripts/EnemyMovement.cs:17)
>>934092 >>934093 Оба фрагмента кода взяты из книги с приложенной картинки. Я их по сути повторил в VS в процессе обучения чтобы закрепить тему условных конструкций. Сами фрагменты кода прикрепляю так как они выглядят в VS.
Как я понимаю в случае того когда, который не работает (первый фрагмент кода), есть блок else. и если два блока if при проверке возвращают false, то по идее должен отработать блок else. При этом оба if должны возвращать true, так как проверяемые переменные имеют искомые значения.
Короче я пока не понимаю почему так выходит. Возможно ошибка в самой книге, что значит не того человека неучем назвали. Попробую последовать совету и заставить этот код работать.
>>934310 К сожаленью для тебя у меня есть эта книга на столе. Читаем, что там написано.
стр 109 верхний абзац
>Если первый оператор if имеет значение false, то код перейдёт к оператору else и выполнит его. Если второй оператор if тоже будет иметь значение false, то ничего не выведется, поскольку блока else у него нет.
Мы всё правильно назвали. Ты неуч.
>Возможно ошибка в самой книге На самом деле хорошая книга, да там есть несколько неприятных опечаток, которые можно упустить по невнимательности, но книга всяко лучше юнити в действии.
Там может десяток быть причин, причём если код не выдаёт ошибки, значит скорее всего ты проебал, что-то в инспекторе или физик бокс на спрайте врага огромный и ты не замечаешь его или твои враги не умирают, а просто становятся невидимыми, или ты где-то зоны сделал, которые дамажут игрока.
Следи за кодом игрока пересмотри его поведение и код на получения дамага.
>>934315 Ты такой молодец и самоутверждаешься за счет других. Сказать что при сравнении двух строк второй if тоже возвращал false, и поэтому код не работал так как ожидалось, ты видимо не можешь в силу своего скверного характера.
>>934323 >самоутверждаешься за счет других поплачь.
>ты видимо не можешь в силу своего скверного характера. Да, не могу, потому что в своё время когда я приходил сюда с подобными вопросами, меня просто поливали грязью и отправляли читать документацию.
>>934320 Нет, ты просто такой же лоускилл лол, там нихуя знать не надо для того что бы увидеть в чем проблема. >>934225 >private void OnCollisionEnter2D(Collision2D collision) Ну это же литерали шизофриния у тебя творится там чел. Ты вообще читал про колизии и то как их детектить? У тебя при любой коллизиции вызывается эта строчка: >if(PlayerHealth.instance.tag == "Player" && hitCounter <= 0f) Очевидно ты лееры не настраивал в физике проекта, да ты наверное даже их не добавлял скорее всего, поэтому враги когда сталкиваются друг с другом у них в скрипте вызывается OnCollisionEnter2D, а так как ты в строчке выше ищешь игрока по синглтону, лол, то проверка для получение урона срабатывает в любом случае, даже если твоего перса никто не касается. Смотри пикрил и пробуй.
>>934411 >там нихуя знать не надо для того что бы увидеть в чем проблема. Ааххаха, ты ничем не лучше него. Такой же нубарь, но думающий что знает всё. Как раз из-за не знания точно что в проекте у пчелика легко можно делать ложные выводы.
>>934411 Спасибо, помогло. Только теперь OnCollisionEnter2D подчеркнуто зеленым - и надпись: UNT0006 Incorrect message signature This Unity message uses an incorrect method signature.
А при запуске игры (игра играется, все ОК) вылазит следующая ошибка: Script error: OnCollisionEnter2D This message parameter has to be of type: Collision2D The message will be ignored.
>>934447 Что именно не работает? Если ты в физике взаимодействие слоев выставлял, то не забудь игроку поставь слой игрока а врагу врага. Дебаг строку добавь в блок if, Debug.Log("Current"), так же добавь блок else и в нем тоже Debug.Log("Error" + " " + collision.gameobject.tag + " not player").
>>934458 >Подчеркивает красным GetComponent Мда, ну значит пиши collision.gameobject.GetComponent<PlayerHealth>(), сложно догадаться чтоль. >Правда теперь враги вообще проходят сквозь друг друга. Ну так ты отключил у них столкновение колизий, естественно будут проходить.
>>934459 Проблема была не в физике, а в том что твой код дерьмище ебаное, так нельзя писать, неужели ты этого не понимаешь, поэтому и не работает нихера нормально. Ты вот прям сейчас, оставь свой код, добавь в сцену квадрат, повесь на него колайдер и поставь тег плеер, в плеймоде начни этим квадратом водить по врагам, а потом доставь фотку своего лица.
>>934429 TextMeshProUGUI text = ObjCanvas.transform.Find("Твой/Путь/До/Компонента").GetComponent<TextMeshProUGUI>(); имей в виду что если поменяется путь к компоненту, то тебе и в коде его менять придется а у сериализированных/публичных полей такой проблемы нет - перетащил и куда хочешь двигай. так что решай сам что тебе удобнее
>>934461 >Мда, ну значит пиши collision.gameobject.GetComponent<PlayerHealth>(), сложно догадаться чтоль. Из-за этого первоначально код неправильно написал. Сейчас исправил - все заработало, без слоев и их отключения. Спасибо.
Аноны , может кто-нибудь знает почему не получается нажимать на кнопки в меню (хочу сделать меню в 3d) , как только пытаюсь зафиксировать курсор посередине с помощью "Cursor.lockState = CursorLockMode.Locked;" - сразу кнопки перестают нажиматься (хочу вместо курсора небольшую черную точку с помощью канваса) Прикрепляю скрины настроек канваса и скрипта камеры Прикрепляю видео (на нём бандикам не записал курсор , он там нажимает нормально на кнопки , а когда я его прячу ничего не нажимается)
Реализую исчезновение врагов, которые находятся слишком далеко от игрока.
Когда запускаю игру, сначала все ОК, но потом игра останавливается со следующими ошибками: 1) ObjectDisposedException: SerializedProperty spawnedEnemies.Array.data[11] has disappeared!
2) type is not a supported pptr value UnityEditor.RetainedMode:UpdateSchedulers ()
Беру два экземпляра префаба врага. Второму экземпляру меняю дефолтную анимацию. У первого врага анимация тоже меняется. Как сделать, чтобы у разных врагов была разная анимация?
>>936902 Нашел ответ. Я брал для экземпляра префаба врага - и менял анимацию второму врагу, после чего делал из него префаб. НО я не менял второму префабу amimator - на обоих врагах был один и тот же Animator 1, а там соответственно одна и та же анимация.
Господа миддлы и сеньоры. У меня на канвасе висит scaler на width&height. Работает четко, на экранах всех разрешений все выглядит с одинаковыми пропорциями. Однако есть ui элемент, который я всегда хочу держать в указанных размерах 6px на 6px - это перекрестие. Выносить в отдельный канвас считаю глупо. Посоветуйте как решить проблемы.
>>937156 Ага абсолютно все: перекрестие, кнопки: Новая игра, продолжить, настройки, выход. И панель: настройки со слайдерами (громкость, чувсвитетнльность) и dropdown (качество, язык).
Много, правда? Надо бы все хорошенько переорганизовать на обособленные канвасы, не правда ли?
Как-то можно сделать так чтобы Drag у Rigidbody по разному влиял на движение в разных координатах. Мне нужно чтобы при толкании вправо влево персонаж тормозил почти сразу, а для прыжков физика отрабатывала как обычно и он не падал очень медленно
Поясните, накидал простую 2д сцену с тайлмапом и персонажами, добавил несколько скриптов, но после любого изменения скрипта компиляция и запуск сцены занимает 20-25 секунд. Это так должно работать? У вас так же или я что то не так настроил? Я сейчас выбираю между юнити и годот, юнити выглядит проще, больше функций, ассетов, туториалов и т.д. Но вот эта компиляция просто вымораживает, по сути делая его не юзабельным т.к постоянно меняю код и проверяю. Мне кажется так не должно быть и у меня что то не так настроено, но я изначально ничего не менял.
Я стал senior-ом. Я могу писать код минут 10 и более, не отвлекаясь на мини-тесты, и он по итогу при запуске юнити он будет работать без ошибок. Компиляция уже проходит в моей голове
Подскажите в чем может быть проблема с дерганьем спрайтов. Есть персонаж, движение задается через увеличение velocity в FixedUpdate, прыжок тоже через velocity в Update.
Пробовал делать следящую камеру через сinemachine и просто скриптом. Но получалось, что фон начинается неравномерно дергаться при движении. Если закидывать скрипт камеры в LateUpdate. Фон становится плавнее, но дергаются спрайты при прыжке (эффект легкого качания). Уже несколько дней борюсь с этим и пока не могу найти причину проблемы.
>>937754 Помогло отключение плавного слежение за персонажем ( выставление damping в 0 в сinemachine). Но хочется оставить слежение и не использовать жесткую привязку камеры к персонажу
>>937754 Просто забей лол, что бы это пофиксить нужно очко наизнанку вывернуть. Я наверное больше месяца ебался с этой хуйней в надежде когда нибудь пофиксить, в итоге просто послал нахуй юнити и ушёл в годо ибо там это фиксится нажатием 1 кнопки лол. Юнити нихуя не приспособлен для 2д игр, что бы сделать банальные на вид вещи нужно такие велосипеды с костылями строить что ахуеть можно, а нахуя это надо адекватному человеку. Поэтому либо меняй движок, либо выдергивай рендер текстуру и пытайся по ней камерой водить.
>>937990 >почему всё через жопу при работе с dots? Ты 1й день с юнити, да?
>Нахуя продвигать стек который не работает Да. С подключением.
Так всегда было, нихуя толком в юнити не работает. Все лучшее - это сторонние пакеты (как правило, платные), либо in-house разработки. Но голову тебе на собесах энивей выебут по теме технологий, с которыми хуй-то нормально поработаешь.
>>937992 > Ты 1й день с юнити, да? Лет 10 знаком > Так всегда было, нихуя толком в юнити не работает. Да как будто бы на этой поебени, я конкретно про точки, даже игры в релиз выходят, а как сам работать начинаешь так каждый раз какой-то пиздец и чем глубже закапываешься тем пиздецовее становится
>>937994 Ну если столько знаком, то должен был застать project tiny, мл и прочую поебень. На сколько направлений юнити вообще не забила хуй? Из моего опыта, они умудрились даже обосрать то, что кое-как работало, в т.ч. работало без них. Недавно вот охуевал от реализации iron source, который просто не работал на определенной версии юнити и версии пакета, что с пердолингом, что без. При этом люди как-то используют его.
>даже игры в релиз выходят Я только гиперкеж знаю, который дотс использовал, с очень коротким периодом жизни. Т.е. не надо особо парится о поддержке. Все остальные компании используют кастомные решения. Вообще, ецс и дотс сильно переоценены. Достаточно просто оптимизировать написанный код и не писать через жопу.
>>937994 > даже игры в релиз выходят С дотсом? Да, наприер ситиес скайлайн 2. Помнишь как они обосрались? Потому что куллинга в хдрп дотс рендере нормального не было и пришлось писать свой, который был говном. А можно было изначально дотс не юзать и просто распараллелить джобами или там паттерн флайвейт или че ещё.
Хелпаните новичку — как настроить масштаб террейна? Создаю как надо, через тулзу, задаю параметры 500х500 или 1000х1000, террейн создается, но он сука маленький шопиздец, занимает всего одну клеточку, при этом это в новом проекте, где я вообще ничего никаких параметров не трогал. Не могу найти, где это настраивается. И еще такой вопрос - как настроить высоту, чтобы горы в потолок не упирались?
>>938137 Я тебе больше скажу, хорошие м3 проекты - пиздец какой челлендж по нормальному перформансу, скрытого деливери сжатого контента, архитектуре, расширяемости и поддержке кода (что бы все не развалилось и 10 лет подряд припизднутые гд с джунами могли накидывать фичи) и прочим и прочим хайлоад и оптимизационным штукам, о которых БОЛЬШИЕ СЕРЬЕЗНЫЕ ПРОЕКТЫ даже и не думают, а тупо быдлокодят. Только вот доказывать это заебешься очередной хрюше или надутому дяде, который над БОЛЬШИМ СЕРЬЕЗНЫМ ПРОЕКТОМ работал в БОЛЬШОЙ УВАЖАЕМОЙ КОМПАНИИ, а не эти ваши хуйни для домохозяек.
Сяп, девелоперы. Я так понимаю, в вашей юньке не получится создавать крупные природные локации без огромного багажа знаний по оптимизации? В редакторе даже небольшие но заполненные локи ощутимо так просаживают фпс хотя и плавно, без раскадровки, при этом нет даже никаких выкрутасов со светом или хайрез текстур. В запуске игры от лица юзера будет всё так же хуево? Комп у меня не то, чтобы топовый, но и не калькулятор — i5, 1060super, 16 озу на борту.
>>938146 Нигде не получится. Анрил вообще обсирается на большие дистанции. Физика процессов одна и та же - сколько отдал объектов на рендеринг - столько гпу и будет усираться. Хоть юнити, хоть нет. Методы оптимизации тоже везде одни и те же - лоды, трейторы, батчинг, отключение объектов.
Объясните нубу, что я делаю не так. Начал проходить курс на ютубе. Повторяю все за автором, хоть он и многие моменты не объясняет, но я сам разобрался. Что я имею. Игра запускается, код ощибки мне не выдает, но персонаж не двигается. Уже в юнити ошибку выдает ArgumentException: Input Axis horizontal is not setup. Гуглил, пытался настроить, но перс не двигается. В геймдеве новичок, как и в программировании.
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Player : MonoBehaviour { [Header("Input")] public KeyCode attackKey = KeyCode.Mouse0; public KeyCode jumpKey = KeyCode.Space; public string xMoveAxis = "Horizontal";
[Header("Movement")] public float speed =5f; public float jumpForce = 6f; public float groundedLeeway = 0.1f;
>>938298 Ты читать не умеешь? > Input Axis horizontal is not setup. У тебя проблема со стрингом.
Это хуета public string xMoveAxis = "Horizontal"; Не соответствует названию настроенном у тебя в проекте, двачую там "horizontal", перейди в Edit-> Settings -> Input и запиши в переменную тот стринг, который указан там.
>>938311 Бля, ты думаешь я совсем тупой? Я понимаю, что проблема со стрингом, но она нихуя не решается. Я уже часа 3 сижу из-за этой хуйни. Столько методов перепробовал, что пиздец. Нигде нормально ничего не объясняют, заебали. Я, если что, первый раз юнити открыл.
>Edit-> Settings -> Input и запиши в переменную тот стринг, который указан там.
Вот это я не понимаю. У меня по другому выглядит это. Edit- Project Settings - Input Manager. Пикрил. Куда тут стринг записывать?
Алсо, он и другие ошибки выдает. При попытке дебага (Assembly-CSharp.csproj' does not support debugging. No launchable target found.) С этой хуйней тоже заебался возиться.
>>938314 Ну ты вот сам логично подумай нахуя это писать? Наверное чтобы кнопки работали у тебя на прикл=репе пустые кнопки и ты хочешь чтобы они работали?
И да просто возьми и тупо скопипасть стринг Horizontal, у тебя может быть пробел и ты просто его не видишь.
>>938319 Завтра попробую, отпишусь. Это пиздец какой то. Я думал об этом, но мне показалось это нелогично. Мол, нахуя в ручную писать, если я в коде это указал. Ну и я еще думал, что строка в коде уже имеет встроенную функцию добавления кнопок управления, ибо пидарас с ютуба просто написал его, закрыл, запустил и у него все работает.
Алсо, вопрос на засыпку, эта книга >>934310 норм для полного нуля в программировании? Нормальных уроков и курсов пока не нашел. Везде что то не договаривают, нормально не объясняют и т.п. Думаю уже книгу взять, может в них адекватно расписывают азы.
>>938328 >норм для полного нуля в программировании
Эта книга идеальная для полного нуля, неиронично всякие юнити в действии рядом не валялись с ней. Единственно внимательно читай код, там есть мелкие опечатки, но не кртичичне, буквально 2-3и на всю книгу, внимательно читай код и делай всё что советует автор.
>>938328 >эта книга >>934310 норм для полного нуля в программировании
Хуйня полнейшая даже не трать время. Там тебе будут ебать мозги в итоге ты не научишься ни юнити ни программировать.
Послушай совет - научись сначала писать на си шарпе. Не нужен уровень профессионала, но чтобы ты понимал немного из адвансед топиков типа классов и ООП принципов в си шарпе, эвентов, делегатов, интерфейсов, как ты это учить будешь - по книге или курсу какомуто - твое дело. Но уже в самом начале игродельства ты столкнешься с эвентами, делегатами, корутинами, словарями и прочими понятиями, которые без знаний си шарпа ты не осилишь. Так что не пытайся и рыбку съесть и на хуй сесть, выучи хотя бы приблизительно си шарп, заодно базовые вещи программировать научишься. И потом уже влетай в юнити.
Поверь, я перевернул достаточно и книг и курсов по юнити, ни один из них не научит тебя программированию с нуля. Они могут научить тебя базовым техникам в юнити, но код даже если ты будешь +- понимать написать заново такой же не сможешь.
Так что лучше потрать сейчас месяц-два-три сколько у тебя это возьмет чем ты потратишь год или больше пытаясь выучить программирование по туториалам и прочему в юнити и в итоге так нихуя и не сможешь ни код писать ни игру в юнити сделать.
>>934310 https://www.youtube.com/watch?v=TyNTsjOALbI&list=PL2Q8rFbm-4ru_qCllHPOgkpU8XtO25Wh3 Вот неплохой плейлист по си шарпу, но на одном нем ты не уедешь далеко ибо там короткие видосы по 5-6 минут чисто чтобы объяснить базу. Опыт только с написанием кода приходит так что найди какойнить курс Юдеми(проверь рутрекер) или чето подобное чтоб тебя учили писать код и давали упражнения. Книги для вката на самом деле хуево подходят потому что тебя будут ебать вообще левыми ненужными вещами и 20 листов расписывать то что тебе нахуй не нужно будет. Так как в книгах обычно расписывают вообще все что есть в языке, а не то что тебе конкретно может пригодиться когда код будешь писать. В итоге можно задохнуться и дропнуть. Но если найдешь какуюто книгу где тебя не будут грузить 100500 способами отформатировать вывод в консоли и прочей хуйней, которая тупо есть в наличии у си шарпа и поэтому про нее надо 10 страниц написать, а в которой введут в курс дела и дадут задачи сидеть писать код то можешь попробовать. Но опять же велика вероятность задохнуться и дропнуть к хуям.
Главное пиши побольше кода, здесь только работой руками ты чтото поймешь, если писать будешь мало или вообще не будешь никогда ничему не научишься.
>>938351 Естественно, ещё есть DevX, на гите крякнутый лежит если поискать, с помощью него можно вообще юнити проект собрать, кривой конечно но чому бы и нет.
>>938339 >>938335 Я понял, ты просто конкурента обрубаешь ещё в начале. Ты даже туторы ему предлагаешь на ангельском, чтобы он точно ничего не понял. Умно.
Знаешь я тоже вкатывался в C# и по курсам юдеми и по туторам и ничему кроме как повторению за автором не научился, потому что сам тутор не подразумевает глубокое понимание языка, другое дело книга которая структурирована и достаточно информативна. > эвентами, делегатами, корутинами, словарями всё это в достаточном объёме разложено в книге выше, с наглядными примерами в самом движке, а не сферический конь в вакупе на консоле.
И я не думаю, что в начале для его первых проектов ему понадобятся > эвентами, делегатами, корутинами, словарями
Главное понимать, что такое поля, методы, переменные, конструкции условий, циклы, свичи и списки этого для начало с головой хватит и всё опять даётся в книге выше с примерами внурт движка.
>>938358 > даже туторы ему предлагаешь на ангельском Чел, если ты связался с кодингом - ангельский это твоя лингва франка, иначе сразу можешь идти нахуй. >>938358 >другое дело книга которая на 800 страниц из которых тебе нужны будут чтоб код писать дай бог треть, остальным ты просто не будешь пользоваться как например jagged array который заменяется простым двумерным массивом в 95% случаев, но про эту хуйню тебе обязательно расскажут в книге а на позиции вкатуна ты не можешь фильтровать информацию на полезную и нет, ты будешь пылесосить страницу за страницей в итоге потратив хуеву тучу времени и ограничив мыслительный ресурс, ибо запомнить все на свете невозможно, ты в любом случае запомнишь только то, чем пользовался. Опять же, я написал выше, как угодно, либо книга либо курс но лично на моем опыте учиться по книге это та еще хуйня. Если конкретно ты по книге лучше научился чем по курсу ну молодец, значит тебе эта модель обучения подходит больше.
Я это написал не к тому что нужно прям курс хуюрс или индуса на ютубе, я это написал к тому что если обучение по книге не пойдет то он попробовал другой вариант ну или наоборот. >всё это в достаточном объёме разложено в книге выше, с наглядными примерами в самом движке, а не сферический конь в вакупе на консоле.
Разложено. На 1100й странице. Дойдет ли он до туда или дропнет нахуй на 500й еле как освоив массивы? >>938358 >И я не думаю, что в начале для его первых проектов ему понадобятся Понадобятся еще и как. Корутина и эвенты это буквально первое на что ты натыкаешься когда начинаешь писать игру.
>Главное понимать, что такое поля, методы, переменные, конструкции условий, циклы, свичи и списки этого для начало с головой хватит и всё опять даётся в книге выше с примерами внурт движка. Это все БАЗОВЫЙ си шарп ты понимаешь что этого блядь вообще не хватает ни разу когда ты садишься и пытаешься либо учиться по видосам индусов либо тем более писать код сам. А как ты собираешься писать код сам когда твой потолок это одномерные массивы для меня вообще загадка. Так что ты пойдешь и так же найдешь тутор индуса, который тебе во втором видео пропишет эвенты чтобы сделать управление а ты будешь сидеть гуглить что такое субскрайбер и как эта хуйня вообще работает. Я тебе это говорю потому что это ровно то через что прошел я.
Учить программирование с нуля через юнити это через жопу. Можешь че угодно говорить. Это попытка сесть на два стула но в итоге ты и на хуйцах дроченых посидишь и на пиках точеных.
>>938354 Запустил Bluestacks, посмотрел туториалы, нашел папку в которой лежат игры, чтобы их импортировать. В папке пусто. Посмторел несколько туториалов - все объясняют как перенести картину или аудио файл с компа на Bluestacks и наоборот. Ни один туториал ни объяснил как перенести APK-файл, как его вообще увидеть. Может быть ты знаешь.
>>938331 >>938335 >>938339 >>938358 >>938364 Фига вы тут дискуссию устроили лол. Спасибо, анончики. Начну пока с основ программирования, ибо я в этом полный ноль.
>>938339 Я пока начал смотреть уроки Brackeys. Вот моя первая самостоятельная программа после двух уроков. Мне кажется слишком колхозно выглядит код, в плане изменения цвета текста, и думаю есть вариант сделать проще, но пока так.
>>938441 Щас вообще не заморачивайся по поводу колхозно\не колхозно. Тебе сейчас главное научиться писать код который будет работать. И не зависай надолго на этом базовом дрочиве консоли и прочего, твоя цель в итоге вкатиться в юнити. Поиграться с кодом, попробовать то да се это заебись и полезно но в целом не зацикливайся, продвигайся.
Не удивительно, что я застрял на if else. Вот код, в последнем примере, если я ставлю (num == 2), то программа показывает, что ответ не верный т.е. переключается на Else, но если поставить (num >= 2), то она переключается на If и говорит, что ответ верный, даже если он неверный. Я понимаю, что что то упускаю, но пока не понял что именно. Мне кажется, между примерами должно быть разделение, или же они не должны находиться в одном поле. Где я ошибаюсь и почему?
using System;
namespace Home_Work { class Program { static void Main(string[] args) { Console.Title = "MathGame"; Console.ForegroundColor = ConsoleColor.Red; Console.WindowHeight = 20;
Console.WriteLine("Let's play some math!"); Console.WriteLine("Solve following example!"); Console.ForegroundColor = ConsoleColor.White; Console.ReadLine();
if (num == 2){ Console.WriteLine("Great!"); } else{ Console.WriteLine("Why so studpid???"); }
Но если num = Convert.ToInt32(Console.ReadLine()); поставить выше, на Console.ReadLine();, то он дает ответ после двух нажатий. Т.е. он работает, но немного не так, как надо.
>>938564 > Либо я с самого начала что то неправильно сделал. Да. Кинул консольное приложение в Юнити тред. чел бля ты после первой проверки не считываешь значение
поменять знак на ">", то все робит, хиллка летит к игроку. Почему-то Unity не видит, что дистанция между хиллкой и игроком в какой-то момент уменьшилась.
Аноны, а что вы думаете про быстродействие просчета дистанции между трансформами в Юнити? Скажем, я хочу знать расстояние от игрока до пары десятков разных точек, причем одномоментно. Если я буду раз в секунду проверять в цикле расстояние до каждой точки, то Юнити не будет подтормаживать в этот момент?
Может стоит лучше воткнуть async метод чтобы не тормозить поток основного геймлупа?
>>938735 >Быстродействие просчета дистанции между трансформами в Юнити? Зависит от количества выполняемых операций во фрейм, цпу игрока.
>от игрока до пары десятков разных точек, причем одномоментно. 10? Да 10 это хуйня, вот если где-то под сотню, тут да, ебашить во фрейм не желательно. Если очкуешь, то просто расспыляй их просчёт в течение пол/секунды, а так советую не париться и ебашить просчет во фрейм. Если реально будет просадка просто поправь.
>>938738 >>938740 Спасибо. Пока что с многопоточностью не буду париться. Лучше возьму и за 1 кадр буду проверять дистанцию до одной точки, просто размажу ресурсоемкую задачу на все кадры. Если у игрока не древний Интел Селерон, то вряд ли на производительности это значительно скажется.
Алсо, а асинхронные методы в таких случаях не помогают что ли? Я думал что они позволяют размазать задачу по нескольким кадрам.
>>938747 >Пока что с многопоточностью не буду париться. Поверь к ней лучше вообще не прикасаться, вот вообще. Обычным инди девам там делать нехуй. Сделай понятный костыль и забудь.
Даже если у тебя 1к вычислений, то лучше ручками реализуй распределение на секунду чем ебстись с потоками.
Ктото может мне объяснить что за ебаный бред происходит? Внизу есть коллайдер, когда шарик его пересекает пишется лог в консоль об этом. Когда я меняю код на тот что на картинке - тригеррится колайдер спустя какоето время. ШАРИК БЛЯДЬ НЕДВИГАЯСЬ СТОИТ НА РАКЕТКЕ. Если я меняю код на transform.position = new Vector2(paddle1.transform.position.x, transform.position.y); то коллайдер не триггерится. Но я хочу приклеить ебаный шарик к ракетке программно по дельта игрек, почему я получаю триггеры коллайдера если шарик намертво приклеен к ракетке по оси игрек?
>>938750 >Поверь к ней лучше вообще не прикасаться, вот вообще. Обычным инди девам там делать нехуй. Есть еще один вариант. Насколько я понимаю, async Task не предлагает полноценную многопоточность. Но он выносит все асинхронные задачи в другой служебный поток, который не блокирует основной. Только есть недостаток в том что этот служебный поток может продолжать выполняться после завершения основного кода игры.
А вот >>938740 скорее для ECS, для простых задач явный оверкилл.
Блядь мне кажется это баг ебучей новой версии, нахуя я обновлялся. Шарик всегда в одном и том же месте коллайдер триггерит. Даже если я вообще не двигаю мышкой и он стоит на месте.
>>938721 Видимо никто не подскажет почему не работает... Ладно.
В последнее время задумываюсь, что делаю что-то не так. Точнее, хватаю информацию то там то сям, но трачу слишком много времени чтобы понять слишком очевидные вещи.
Есть ли какой-то годный курс по Unity, который подскажет не только как писать код и работать с Unity, но и как организовывать рабочий процесс?
Вот сделал я простенькую игру для Android. Куда ее заливать? На Google Play залить могу (я не из России), но там тестить игру надо 14 тестерами. Есть варианты попроще?
Суп. Пытаюсь осваивать Юнити. Качаю бесплатные ассеты с юнити стора и постоянно сталкиваюсь с пинк текстурами. Может кто-нибудь объяснить почему это происходит и как раз и на всегда решить проблему.
>>938999 это материалы из другого рендерера. В юнити есть 3 основных - built-in, URP, HDRP. Если ты качаешь ассет для Built-in то на URP он у тебя будет розовый. Погугли как конвертировать или просто создай новый материал и засунь в него те текстуры которые были в старом и всё.
>>938901 Ну типа var distance = Vector3.Distance(transform.position, player.transform.position); Debug.Log($"distance: {distance}, check {distance< player.pickupRange}, range {player.pickupRange});
>>939100 Спасибо за подсказку. Мне кажется что дело в разных версиях Unity - в курсе, по которому я делаю клон Vampire Survivors, версия 2021.3.2, но игру я делаю в версии 2022.3.4 LTS. Видимо в этой версии есть какая-то ошибка коллайдеров (про это Сакутин вроде как в своем курсе по Unity говорил).
>>939230 Анончик дело говорит. Попробуй перед вычислениями преобразование к Vector2 выполнить и из него считай в окошки логов есть кнопка collapse - если ее тыкнуть у тебя одинаковые логи будут сжиматься в один лог
в целом 2023 год прошел для Unity успешнее 2022-го. Компания завершила его с выручкой в $2,18 млрд при чистом убытке в $826 млн. В 2022 году она сообщала о выручке в $1,4 млрд и чистом убытке в $919,5 млн; за 2024 год компания рассчитывает заработать $1,76-1,8 млрд.
Извините за тупой вопрос. Решил поработать с Unity на ноутбуке. Создал проект, залил его на ГитХаб. С ноутбука скачал проект - скрипты есть, 3D моделей нет.
>>931357 (OP) как сделать пикрил скалы? Это отдельные модели или просто по террэйну текстурой нарисовано? Там же вроде не настолько высокая точность кистей
Челы, есть у кого-нибудь 3ds Max? Можете помочь переконвертировать модель из .max в fbx, если скину ссылку на модель? У меня нет возможности установить его
>>939495 >спецверсию для китая Народ на юнитифоруме охренел от такой новости. Но самое интересное, можно зайти в китайскии раздел юнити под своим логином и скачать китайский спец.хаб и уже потом скачать специальную китайскую версию юнити.
Знаете в чем ирония? Я могу повторить простенький проект на Unity. Я могу повторить и сложный проект на Unity. Но только по туториалу.
Вот сделал я этот перепрыгивающий через препятствия куб. Понимаю как это работает.
Хочу сделать сцену "Меню", где после проигрыша будет выводиться счет/лучший счет - и не могу.
До этого делал игры с разными сценами, повторяя туториал. Переменную со счетом надо записывать в GameManager, потом эту переменную в новой открывшейся сцене присваивать тексту...
На словах вроде понимаю, на деле вчера весь вечер провозился - и нифига не сделал.
>>939802 >Я могу повторить >Но только по туториалу.
Ахуитительная способность, братан. Никто так больше не может. Учись дальше, чё. Я, когда только начинал учиться кодить, тоже думал что дохуя умный и мне все просто даётся, но когда в первый раз попробовал немного отойти от учебника и попробовать создать что-то своё то тут и охуел. Я буквально понять не мог, почему эта параша не работает или работает через жопу, но это нормально, люди так и учатся.
>>939802 >Может разработка игр это не мое... Если тебе не интересно пытаться делать игру, учиться делать игру, и руки опускаются после пары часов дрочи в редакторе то да, это не твоё совершенно точно. А если же тебя напрягает то что нету быстрой и понятной прогрессии, то просто продолжай делать дальше. Эксперементируй, делай костыли. В гейдеве работает идеальное правило -> Чем больше ты сидишь делаешь игру, пусть и криво, косо, через миллиард костылей, тем больше экспы ты лутаешь, т.к 50% разработки это не про код а про архитектуру, какие скрипты с чем стыкуются, где хранить, куда посылать и т.п, тут только опыт решает, в туторах об этом невозможно рассказать. А без опыта смотреть уже готовые решения тоже почти нет смысла, т.к нет понимания почему сделано именно так. И еще миллион всего...
>>939825 >про код а про архитектуру, какие скрипты с чем стыкуются, где хранить, куда посылать > в туторах об этом невозможно рассказать Вот, готовая идея для обучающего курса.
>>939834 Слишком много неизвестных и сторонних факторов. Нельзя просто сказать вот делайте так т.к это правильно, удобно, и в будущем удобно расширяемо. Игра слишком сложная штука чтоб можно было так упростить. Только опыт и личные предпочтения.
Забил на видео уроки в свое время, когда понял, что 95% рассказанного и показанного я уже знаю. А все потому что читал доки, хоть и по диагонали. Что мне делать, вечно проматывать видосы что ли?
Как блядь починить эту обоссанную кисть, заебало просто пиздец. То и дело рандомно меняет диапазоны размеров, выбираю 1 нажимаю Enter и нихуя не меняется, как было 9 с хуем так и осталось, иногда числа другие выдает. От чего вообще эта хуйня зависит? Неделю уже блядь нихрена не могу нормально террейн доделать в своем проекте
Почему в геймдеве такой лютый дроч на сроки? Ну, отодвиньте срок еще на месяц, два, три, полгода, допилите, чтобы все было без ошибок, и чтобы все было так, как задумано. Делать игры - это же не огород пахать, где точно можно рассчитать сроки - умножаешь расстояние грядки на свою скорость, а сломалась лопата - идешь, покупаешь новую. Тут ведь куча нюансов. Кризис творчества, баги, улучшение, убирание лишнего и т.п. Тот же киберпук77, вышло забагованное говно по началу. Ну, отодвинули бы на месяц, заработали бы те же миллионы, зато все бы были довольны. Хуй знает, я бы не выдержал. Хотя, наверное мне было бы похуй, лишь бы зарплату платили. Но все равно как то тупо.
Пацаны, такая проблема. Собираюсь писать свой первый с# скрипт, все делаю строго по гайду. Visual Studio в юньку встроена, проверил в package manager, но в этом контекстном меню визуала нет. Как открыть?
пацаны, когда билдите игру - делает clean build. У меня один материал иногда отваливался после билдинга. clean build помог. И не понятно, какие еще косяки там копятся. Короче, clean
Ананасы, нубский вопрос наверное. Как предпочтительнее делать управление персонажем : через отдельный объект Controller который будет деркать персонажа или через самого персонажа? И чому так?
>>940378 Отдельные компоненты маст хэв. Возможность разделить области прав и потом если что править что-то одну намного лучше чем всё накиданное лапшой вместе.
>>940199 "Эффективные менеджеры" мозги ебут типа все в такой срок должно выйти, иначе инвесторы недовольны будут. Хотя тот же Baldur's Gate вышел после примерно 7 лет разработки и нормально всё прошло. Баги были но небольшие. То есть можно нормально допилить без кранчей, сделать норм оптимизация и пофиксить баги, но большие дяди как всегда торопят и вмё руинят.
Листал эти ваши обзоры по ДОтвин, а потом смотрю последний видос у чела и чот демотивацию словил.
А что если это путь всех энтузиастов на юнити? Итог один - нет вакансий с достойно зп, нет вакансий для джуна (давайте не обманывайте нахуй, я знаю что при позции джуна у многих эйчаров требования как к мидлу, блядь, потому что никому нахуй не нужно воспитывать ещё одного игродебила), а само двигло чисто для 2-5 кабанчиков, способных хоть что-то родить за 2 года разработки, какие-то супер редкие ситуации когда михуо нанимает 500 сотрудников на один проект вообще можно в расчёт не брать, без переписи движка такие вещи в принципе невозможны.
Но его аргумент про переработки конечно глупость, это ж не имеет отношение к двиглу, будет он джуном на джаве тоже будет перерабатывать, что бы хоть что-то успеть.
>>940378 ну чел, почитай про принципы ооп.. это ж база
Пролистай книжку Х. Ферроне - Изучаем C# через разработку игр на Unity Имхо оче легкий старт с пояснением почему так или иначе, в том числе и ответ на твой вопрос есть. Разбивай всё что только можешь на составные части, не только для удобства читаемости, но и для использования кода где-то ещё без ктрл_с ктрл_в
>>931357 (OP) Юнитач, подскажи. Можно ли технически реализовать что бы определенная часть спрайта динамически становилась прозрачной? Ну то есть что бы по спрайту перемещалась "дырка" в которой был бы виден предыдущий слой
Может знает кто-то. Параллельно с разработкой игр занимаюсь разработкой приложений под Android. Можно зарегать два аккаунта Google Play Console, или как-то разделить один аккаунт, чтобы игры и приложения были отделены друг от друга?
Как нормально переключаться между префабами и объектами в юнити? В Райдере я как боженька переключаюсь между тысячи классов, охуенно помогают команды shift+shift, ctrl+e, ctrl+shift+f, за 30 сек я могу фикснуть 10-20 файлов. В юнити - переключился между префабами, пук среньк, окно навигации обнулилось и надо заново бегать по папочкам искать префабы или спрайты, просто пиздец. Постоянно нажимать на ебучий замочек или держать в окнах проперти. Какая-то ебанина ебучая для простейших действий, может я что-то не так делаю?
Как просто быстро переключаться между хотя бы 2-3мя префабами, которые лежат в разных папках далеко друг от друга?
>>940995 >>940996 Может есть какой-нибудь плагин, вот здесь например дофига места, было бы удобно чтобы там были табы с предыдущими открытыми префабами.
читаю тут как получить доступ к объекту из скрипта прикрелпнного к другому, на примере базовых мейнкамера и дирикЛайт.
И не понимаю как родительские классы могут знать об условных детях? Если до этого я читал и было написано обратное - наследники знают о родителях, родители не знаю о наследниках.
>GameObject.Find("Directional Light");
если геймОбжект это родитель этого директЛайт, как класс может знать об объекте? У меня это мозг выносит.
Могу предположить, что метод .find() лезет в какой-то глобальный список объектов сцены и возвращает найденный по имени? Если так, то почему нельзя просто обратится к какому-нибудь глобальному имени этой сцены напрямую, почему надо через какой-то метод какого-то класса это делать? Код встроенных типов, классов и их методов ведь не посмотреть в бесплатной версии юнити?
>>941142 >родительские классы могут знать об условных детях? Если до этого я читал и было написано обратное - наследники знают о родителях, родители не знаю о наследниках. Похоже ты путаешь концепцию наследования, и концепцию иерархии в сцене. >Могу предположить, что метод .find() лезет в какой-то глобальный список объектов сцены и возвращает найденный по имени? Скорее всего так и есть, но возможно каждый объект просто знает локальный список детей. А вообще я юнити только на уровне вводных туториалов знаю. Так там советуют не искать, а сделать поле [SerializedField] private _directLight; Тогда в инспекторе можно будет мышкой перетащить один компонент в это поле. А для мейн камеры есть какой то встроенный объект для быстрого доступа. Более сложный подход будет через Dependency Injection, но его я не копал.
>>941148 > но возможно каждый объект так это не объект, это просто класс.. Ну и потом как это он "просто" знать может, слишком дохуя информации в каждом объекте хранить о каждому другом.
>>941151 Нет, find это именно поиск в рантайме в дереве сцены, инстанса геймобджекта. Класс тут вообще не участвует. (Хотя вроде есть какие то вариант find by type, но это просто вид фильтра)
>>941152 ну так ты пишешь, что каждый объект знает о других, это значит что внутри него есть информация, что нелогично. Другое дело что через метод класса геймобжект есть доступ ко всей сцене. Так я и спрашиваю - почему нельзя напрямую обращаться к сцене для поиска в ней объектов, с чего вдруг через геймобжект. Костыль какой-то.
Я конечно извиняюсь, но зачем вы вообще пользуетесь поиском объектов? У вас все объекты должны быть в пуллах или списках, которые вы уже в свою очередь шерстите по нужным параметрам. Какие нахуй поиски по сцене??
>>941248 Как кстати в urp отрендерить текстуру глубины со второй камеры через шейдер матерьяла? Потому что он берет глубину с главной камеры. лол, выглядит как баг.
>>941255 >urp сосет на 12% А не, ошибся, он сосет аж на 25%. Сцена с планарным отражением, дополнительной камерой для вывода текстуры с другого ракурса, и тестом текстуры глубины (черный куб, в отражении соответственно глубина не рабоает)
>>941029 Двачую этого >>941290 Уже давно берешь любую игру сделаную на юньки и просто вскрываешь и смотришь. Без рук и опыта можно посмотреть все внутренности.
Как вообще логически правильно делать игру по типу вампайр сурвайвл.
Если персонаж всегда в центре экрана, то нужно двигать все объекты сцены относительно игрока когда тот "передвигается", или только самого игрока? если представить, что карта безграничная во все направления, а мобов может быть до сотни Как тут понять что экономичней по ресурсам, а может никакой разницы?
>>931357 (OP) Игра с камерой TPS гта-лайк. Персонаж подходит к котику, можно присесеть и погладить(не кат-цена, просто живой мир) Как сделать так, чтобы в обычном положении камеры(как в гта, около 3.5м позади героя, и 2.5-3м над землей) не было никаких звуков кроме эмбиента игрового мира, НО можно было колесиком мышки приблизить камеру поближе к герою и услышать мурчание кошки?
>>931357 (OP) Давно работаю в юнити и меня всё мучает вопрос. Для чего нужна кнопка Save project, если по дефолту нажимая Save происходит сохранение сцены? Всегда жмякаю их по очереди, но интересует функциональный вопрос, зачем она? Что делает?
Сцена же сохраняется просто Save, остальное в проекте динамически и так сэйвится при любом пуке.
>>941640 Только проблема в том что когда допустим ты меняешь что-то в ресурсах, в том же аудио, спрайтах, 3д моделях, оно не дает что либо дальше делать пока ты либо не применишь или отменишь изменения. Какое-то масло масляное получается.
>>941644 я охуевал что всем норм такое положение дел и эту концепцию я не понимаю и не приемлю. схуя бы проект игры не файл как говорит юнете. адоба так же устроена и не выёбывается. костыль красноглазых, не иначе
На этом занятии мы познакомим вас с новыми функциями HD Render Pipeline (HDRP), которые помогут вам создавать более реалистичную среду и персонажей. Узнайте, как создавать динамичное ночное небо, улучшать объемные облака, улучшать водные эффекты и использовать расширенные функции освещения, чтобы воплотить все эти выражения в жизнь. Кроме того, вы узнаете, как работать с Unity Weta Tools, чтобы рисовать реалистичных персонажей, которые лучше вписываются в ваш мир и игровой процесс. Докладчик: Матье Мюллер (технический менеджер по продукту, Unity)
>>940900 Отвечает разработчик с 8 годами опыта. Да. Итог либо свитчиться на другой стек, либо делать свой бизнес. Последнее без денег и связей или удачи не выйдет.
Требования к джуну как к мидлу - отчасти правда. Но это во всей айтихе. Я еще 9 лет назад, будучи студентотой, охуевал от требуемой базы знаний на джун .нет-обезьяну в ебучем ЕПАМЕ, блять. Охуевал я и позже, уже будучи миддлом-синьором. Причина охуевания - вопросы и требуемые знания, проверки были практически идентичными. Старые же пердуны, которые эти знания проверяли, могли быть вкатунами просто по наличию англюсика или владеть компом и быть просто не тупыми дебилами, как остальной плебс. С другой же стороны, будучи техлидом ко мне в команду попал джун. За 3 месяца как был овощем на уровне трейни, так и остался. Никакой теор.базы, никакого желания, никаких намеков на развитие. Поэтому - по разному бывает. (сейчас такое совсем вряд ли, ибо рыночек в жопе, но об этом ниже)
Многие ХРюши игнорят и откровенно по-уебски ведут себя, даже когда у тебя синьорная лычка и 5-8-10 лет опыта. Особенно сейчас. Опять же, в годах, где-то, 2018-2020 еще кое-как нализывали жеппу. После ковида - уебанское поведение - норма.
Вакансий и проектов мало. Интересных проектов - еще меньше и я даже не знаю, как туда попасть. Вот пилят, например, Broken Arrow на юнити, или тот же тарков. Да много интересных проектов есть на юнити, на самом деле. Как туда попасть с улицы и без знакомства в 2к24-ом - в душе не ебу, меня не брали. Платят на интересных проектах откровенно мало, ниже среднего. Инфа - уточнял вилки на собесе, говорил с ребятами из команд, лично знаю разрабов. Известные компании, у которых хуевые зп, о которых знаю лично: Saber, Weappy Studios, CM Games, tinyBuild (эти еще и припизднутый процесс интервью с тестовым выкатили и взяли чувака за меньшие бабки, просил что-то около 3.2к дол. на крепкую син.позицию). + придется въебывать, разумеется
Большой технический объем знаний. Тебе РЕАЛЬНО надо хотя бы в общем понимать, как устроена графика и как происходит отрисовка, нюансы, как и почему работает сжатие, как используется гпу и т.д. Надо понимать шейдеры. Надо понимать пайплайн рендеринга. Надо понимать особенности мобилок. Во многих проектах надо знать математику на уровне университета. Надо понимать юнити движок и все его заебы и нюансы, как им жонглировать. Надо понимать особенности реализации той или иной фичи. А все ты знать и опробовать в коммерческой разработке ты тупо не сможешь, тем не менее это ожидают увидеть. Далее - многие компании хотят видеть опыт в клиент-серверной разработке. Фотон, например. Все серверные фреймворки - отдельные истории, у них куча нюансов, там отдельно можно год-два на изучение убить. А взять этот опыт (коммерческий) тупо негде. Добавь к этому ЭКС-шизов. Да, некоторые компании хотят видеть опыт экс. Опять же - на изучение и наработку мастерства нужно время, это отдельная технология и заебов еще больше. Еще одно отдельное направление - VR/AR, которое опять же требует огромного времени. И теперь ко всему этому добавь огромный пласт .нет, который от тебя тоже ожидают на супер-уровне. Если метишь на тех или тим-лида, то, скорее всего, будут заебывать менеджерским опытом. Ты уже знаешь вопрос - взять его негде.
Что же должен знать интепрайз-хуесос для успешной карьеры и лута денег? Ну, тот же условный .нет, немного баз данных, популярный фреймворк и знание какого-нибудь авс-сервиса. ВСЕ! Ровно в половину меньше, чем на юнити. Тем не менее, интепрайз-хуесосы будут смотреть на тебя свысока. Разумеется, мы не говорим про говно-шлепов на монобехах и прочих быдлокодеров. Их крайне дохуя в юнити-сфере, но и в интерпрайзе откровенных имбецилов не меньше (особенно ты можешь прочувствовать это, когда работаешь с .нет бэкендерами).
Хорошо. Думаешь освоил юнити, имеешь опыт и все будет заебись? АВОТХУЙ! Многие компании воротят носом, если ты не имеешь опыта с специфичным фреймворком или не писал специфичный ГЕЙМПЛЕЙ СУКА! Все вышеперечисленное: Не работал с фотоном или клиент-сервером - идешь на хуй. Вакансия отсеивается. Не работал с вр - идешь на хуй. Вакансия отсеивается. Не работал с экс - вакансия отсеивается. Не писал какой-то жанр - правильно, отсеиваешься. Т.е., например, делал ты матч-3 игры, а компания хуярила скуфо-игры про машинки в грязи (привет, сейбер!). Тебя пошлют нахуй. Или в целом ты писал под мобилки, а они хотят видеть пека-опыт (в юнити, блять, движке под мобилки!). Или хотят видеть серверно-проектный опыт. Да, это полный идиотизм и ебаный бред. Казалось бы - есть опыт юнити и тех.стека, что там стоит понять особенности реализации какой-то фичи, это же минимальное обучение, если обучение вообще. А вот нет, компании выебываются по полной.
Далее. Мало опытных людей. Очень много говно-кодеров. Перенимать опыт практически не у кого, получать опыт с специфичными вещами выше - негде и, опять же, не с кем. Опытные люди, как правило, собираются в стартапы и пилят что-то свое. Обычно, по знакомству, по массовому уходу из какой-то компании. Шаринга опыта просто нет внутри студий. Я уже много их повидал и как правило это большие выебоны на собесе и жидкий пук в проекте ИРЛ. Опыт-курсы к-синдиката отчасти спасают.
Нет гигантов. У тебя не будет цели большой-компании, типа ФААНГ, где ты неиронично будешь лутать 500к долларов в год. Ты вряд ли сможешь лутать даже 8к ГРОСС как ИП (что изи для другого стека), это потолок. Ты не сможешь совмещать несколько работ. Я таких ребят в юнити тупо не знаю. Максы - мелкие подработки.
Сложный перекат в США. Могу напиздеть, но сколько бы я не смотрел вакансий - все какая-то хуйня (даже не игры, а разработка условных интерактивных презентаций для других заказчиков), мало вакансий и крайне сомневаюсь, что они будут заморачиваться с перекатом чурки вне США. В дерьманию и англию зовут. Но предлагаемые зарплаты - пиздец, ниже снг даже. Во время бума инвестиций и самых жирных зп предлагали в год 80-90к без учета налогов. Т.е. считай примерно 5k чистыми на руки. В Берлине или Ландане, с их ценами.
Какие плюсы у геймдева? Ну, считается, что это должно быть весело. Лучше пикрилейтеда этот миф сложно развеять. По факту весело делать прототипы, весело строить "архитектуры". Делать же игры, т.е. создавать работающий продукт, - не весело. Надо чистить вилкой баги и устранять недочеты, пердолиться с расширением кодовой базы и т.д. и т.п. рутина, т.е. это обычная работа.
>>941779 Ах да, сейчас вакансии, спрос и зп драматически просели. Сурс - личный опыт собесов в компании, инфа от хрюш, инфа от знакомых опытных челов. Инфляция и стоимость жизни во всем мире при этом выросла. Когда пойдет обратный тренд и пойдет ли он вообще - хз. Такая хуйня.
>>941779 Ты это про гейдев? Так то у нас чел из епама работает, не могу сказать что сильно вкалывает, но считается норм сеньёром.
А после ковида в ИТ вообще рай и царство Б-жие на земле начлось. Раньше удаленка была единичным исключением, на которое челику с улицы попасть не реально было. А сейчас это стандарт отрасли. И зарплаты с 2016 выросли раз в 5. И заказчиков очередь, спасиб самоходному деду за сосанкции.
мимо джава помидор из систем электронного документооборота
>>941783 В ковид - царство. После ковида - нет. Инвестиции массово ушли, затем война - еще больший отток. Работодатели все чаще настаивают на гибридном варианте - таскать свою жопу несколько раз в офис.
>>941790 100к чего? Рупий в месяц? Если так, то выбирай буквально любую офисную работу, да и не офисную тоже, такие деньги реально каждый дурачок может на изи делать, зачем тебе геймдев? Если 100к долларов в год, то в обозримых вакансиях такие деньги никто не предлагает, похуй интересный или не интересный проект. Но и что значит "интересный"? Ты точно так же будешь жопу рвать ради прибыли рандомного дяди, это точно такая же работа.
Пример охуительной "интересной" вакансии из всж пространства. Нужен 3х-летний юнити-лид с опытом ммо и фотона, строго уметь писать именно экшен-игры, а также он должен быть охуенным дев-опсом, который и дженкинс настроит, и скрипт на пайтоне запилит. Платят что-то около 4-5к гросс (уже не первый раз от шитшторма вакансию вижу и как-то даже уточнял детали)
>>941813 > таскать свою жопу несколько раз в офис. Я ходил по собесам примерно год назад. Примерно 20 общений с херками. Везде была полная удаленка. Только в одном месте попросили поездить в офис первый месяц, но я сразу послал их. Может сейчас стата другая, не знаю
>>941783 >А после ковида в ИТ вообще рай и царство Б-жие на земле начлось. Двачую эту жабу. Сам жабист, после ковида сычую дома попукивая в кровать лениво печатая 10 строк кода в день. Сомнительная идея работать в гейдеве, там же надо вкалывать как чорт. А вот инди хобби на юнити норм, один хуй играть не в чего.
>>941843 >Сомнительная идея работать в гейдеве Именно. Меня когда спрашивают как вкатиться в геймдев, я говорю не вздумай работать на дядю. Хочешь работать на дядю - иди в бэкенд. Там платят прилично и работа простенькая, не нужно голову ебать, всё за тебя уже давно придумали.
>>941825 В швитой европке хотят видеть он-сайт (в офисе т.е.) или как минимум гибрид, 2-3 раза в неделю. Речь про Берлин-Лондон-Мюнхен-Гамбург-Манчестер. Про другие города хз. В Польше тоже такое часто вижу.
>>941843 >>941853 Все так и есть. Думаю, когда я выбрал хуюнити - я свернул не туда. С теми же усилиями и въебанным временем я давно мог бы давно чиллить в долине.
Геймдев только как хобби (сомнительная хуйня, но окей), либо как свой стартап (тоже крайне сомнительная хуйня). В качестве карьеры - полная хуйня без перспектив.
Я не буду вас слушать. Вы наверняка те самые 2% дерьма вечно всем недовольные, пока остальные наслаждаются лучшей работе на планете и купаются в деньгах.
Поясните нубу, как добавлять на террейн текстуры, аналогичные материалам. Вот например создал материал с отражающей грязью, на plane он выглядит как надо, с высотами, нормалями и отражениями. Но на террейне может быть только стандартная текстура, которая только нормали и бумпмап поддерживает.
>>931357 (OP) Перешел на HDRP, закинул ассеты из библиотеки на деревья, практически все они стали розовыми, на тех что смогли отобразиться розове шейдеры. В URP такой хуйни нет, плюс судя по описанию, все ассеты под HDRP адаптированы, как фиксить?
>>942050 >жирные лысые скуфы. недавн смотрел интервью всяких пердов чьи говноподелки взлетали в сторах, чел что копирку онлиапа запилил рассказывал об "успехе". Спустя несколько суток его поделку забанили в гуглсторе вместе с аккаунтом.
>>941939 >с какими крупными проектами работал А мне это нахуя? Что бы не знающая языка рандомная анонимная мелкобуква свой апрув дала? Мб еще ссылочку на линкедин оставить? Лол.
>>931357 (OP) Сап, вопрос к бывалым, ньюфаги и безыгорники идут лесом. До 1 ляма поликов в камере за кадр это гуд или много? Кадры редко падают ниже 60ти, но чёт я очкую. У меня казуальные рассчитанная на некропека, но на своём рабочем пк мне сложно оценить требования к графикуону.
>>931357 (OP) Сап, вопрос к бывалым, ньюфаги и безыгорники идут лесом. До 1 ляма поликов в камере за кадр это гуд или много? Кадры редко падают ниже 60ти, но чёт я очкую. У меня казуальные рассчитанная на некропека, но на своём рабочем пк мне сложно оценить требования к графикуону.
>>931357 (OP) Почему у всех Mesh.uv тип Vector2 а не Vector4? Как поменять z и w у uv? У ProBuilderMesh, например, SetUVs принимает Vector4, но uv0 и uv1 z и w остаются нулями. Откуда вообще берутся такие ограничения на uv?
This property is supported for backwards compatibility, but the newer GetUVs and SetUVs functions allow you to access the same data in a more user-friendly way, and use a Vector3 or Vector4 value if you need to.
>>942142 >uv тип Vector2 Потому что uv это координата на текстуре, а текстура двумерна (варианты с массивами и 3д текстурами опустим как нестандартные) > ProBuilderMesh, например, SetUVs принимает Vector4 Скорее всего он принимает по другим причинам, может быть потому что все другие функции принимают Vec4. Там в доках в любом случае сказано что неиспользуемая часть отбрасывается. Алсо, часто, например в шейдерах, uv это просто синонимы xy.
Читаю книжку по юньке, там чел в примерах суёт управление персонажем через риджитБади, засовывая всю логику в FixedUpdate(). Ну и офк кнопки там не всегда срабатывают наху.. В апдейте норм, в фиксед апдейт нихуя.
Меня наёбывают? Я так понимаю лучше проверять какие кнопки нажаты в апдейте, а всю логику поведения через взаимодействие с риджитБади уже в фиксед апдейт кидать?
>>942193 ну так я думал, что bounds это и есть рёбра моего коллайдера. Как я к этому иначе должен был бы прийти?
>RTFM, люк. Так а что я тут узнаю из этой сухой справки по чек боксу или бокс коллайдеру? >The world space bounding volume of the collider (Read Only). ну и как я понять должен как это считается в реальности? Я был готов поспорить что это считается без учета поворота относительно глобальных координат. В свою защиту скажу, что у челов полно таких же непоняток и проблем из-за этого. Описание какой-то долбоёб на нерде писал к этим методам.
И потом, зачем зная ворлдспейс, ещё и кватернионы передавать в чекБокс? Тоже этот момент совершенно не выкупил.. Не похуй ли на какой угол коробка повёрнута, если в итоге считается "ворлдспейс", который из себя представляет коробку большего размера просто без наклонов к мировому пространству.
Создаю два куба, один как пол растягивают, второй на него сваливается. Подрубаю им риджибади соответственно. У первого ставлю галки на фриз всех х,у,z. Запускаю игру. Когда один на другой сваливается, тот что сверху меееедленно, но начинает сдвигаться в стороне, будто ветром сдувает. И на уголок проходит сквозь зафриженный куб.
Когда прикручиваю свайп как в этом видео - https://www.youtube.com/watch?v=g0GmovbaCRE&ab_channel=HamzaHerbou - свайп работает, НО свайпаются объекты не один раз, а до упора, пора есть такая возможность (в начале видео я стрелками свайпаю - все работает нормально, потом мышкой начинаю). Как это исправить?
>>942410 Включи голову. Без этого ты ничему не научишься. У тебя MoveTile происходит, когда swipeDirection == одному из направлений. Как сделать, чтобы после MoveTile второй раз это не происходило?
>>942425 Даю очень жирную подсказку. Тебе надо, чтобы в следующий раз при проверке swipeDirection не был равен ни одному из направлений ("Left", "Right"). Что ему можно присвоить, чтобы так вышло? Где это надо сделать, когда результат прошлый уже не нужен?
>>942435 Смотри. Update вызывается каждый кадр. if !waiting временно отключает управление, тут все понятно. if (Input.GetKeyDown проверяет, нажата ли кнопка именно сейчас, в этом кадре. Для swipe у тебя такой логики нет. Ты записал в swipeDirection направление, скажем "Right" и оно там навсегда, ты его никогда не обнуляешь.
>>942449 > не компосировать мозги К сожалению, это так не работает. Я могу сразу за тебя и игру сделать, вот только чтобы научиться, надо не перепечатывать туториалы 1-в-1, а думать что и зачем и где происходит.
Подскажите, что со встроенным AI случилось? В книжке и на сайте урок на встроенной разметке окружения завязан для аи, а этого компонента просто нет. Книжка относительно свежая 2023года к слову. где это всё, чо делать куда звонить
пробую какой-то другой навигатор, вроде как в книжке теперь, но внизу назойливо сообщение висит КЛИКАЮ ПО ГИПЕРССЫЛКЕ ДЛЯ ПОЯСНЕНИЯ А ТАМ НИХУЯ ещё и кнопка bake не работает.. боже блядь какое же говнище это хуюнити, сколько можно.. СКОЛЬКО МОЖНО
>>942501 Новый навмеш это та ещё неудобная ссанина, конечно. Единственный плюс - запекать не надо. А вот какого черта в доках по юни даже версии 2023 они этот бейк не убрали... долбоебы, че с них взять
>>931357 (OP) Как сделать игру типа Марио или Ори или Брейд на С++ мультиплатформенную, чтобы ебически красивый виузал? Огни, искры, шлейфы, дым, порох, туман, чтобы динаимчесики двигались. Свет, цвет, физика шлейфа клейкого густого думана, турбулентности после пробега героя
Вот именно как на уровне кода реализовывать эти вещи. Чтобы игра шла в 60фпс на ipad и 120фпс на пс4/хбокс
А еще - ДОЖДЬ. Т.е. огни, искры, шлефы, дым и порох будут в В ДВУХ ФИЗИЧЕСКИХ ИПОСТАСИЯХ, при сухом и влажном воздухе, да и не дискретно, а градиентно чтобы менялась физика(ХИМИЯ?!?!?!???) их поведения, в зав-то от интенсивности дождя.
https://pastebin.com/wLnu8xAT Решил к своей 2048 прикрутить подсчет количества мувов. По итогу в начале игры кол-во мувов всегда не равно нулю. Казалось бы - такая простая задача - а даже с ней справиться не могу...
>>942544 Зачем ты одним методом вызываешь другой для установки значения, если всё находится в одной области с доступом к переменным? Типа зачем вызывать SetScore в IncreaseScore, если можно напрямую в IncreaseScore обратится к переменной в этом же классе. Лишнее и бессмысленное действие.
В этом же блоке SetScore в одном случае используешь this. для явного указания, в другом нет(пик1). Вообще забудь про эту даунскую практику от пизданутых программистов, которые используют одни и те же имена для принимающих переменных и внутренних. Для читабельности всяко лучше использовать что-то врод inScore в качестве принимающего аргумента, раз у тебя уже есть Score переменная.
Иногда бывает скрипт и его публичные переменные не обновляются на объектах к которым ты прикрепил его как компонент. Там просто рефреш нажать надо.
Используй debug.log(); везде где только можно, если у тебя что-то не получается с блоком кода.
возвращаясь к мувам(2пик).. PlayerPrefs что он у тебя возвращает? Не вижу что б ты там чот устанавливал, просто пытаешься получить то чего нет? Или просто части кода не хватает. Я не понял
>>942555 Там где игру только запускаешь на старте. Ньюгеймс я так понимаю у тебя и когда переходишь на новый уровень запускаешь, так что не в нём. Пиши в Старт метод, через который обращаешься к списку если он существует с ключом moves и явно присваивай 0
>>942557 >И каждая новая игра начинается с нуля, но теперь кол-во ходов просто не скидывается. Не понял тебя. Новая игра начинается с нуля. Так и должно быть по твоей задумке? Сброс ходов не скидывается? Как же, если с 0 начинается каждая НГ. У тебя на видосе так.
Во время сохранения скрипта GameManager выключили свет - и скрипт полностью удалился (не знал что такое может быть). Хорошо что я до этого запушил его немодифицированную версию на Гитхаб. Видимо сама вселенная говорит, что я ерундой страдаю. Нафиг эти мувы.
>>942591 Делал игру по туториалу, потом решил сам прикрутить дополнительное табло. Не получилось. Нахожусь в глубоких сомнениях касательно того, смогу ли когда-нибудь стать нормальным программистом и создать супер мега хит. Но столько времени и сил потратил на изучение Unity, что бросать у самого финиша жалко.
>>942592 Так создай новый проект и делай ту же самую игру заново но не по туториалу а опираясь на свои знания и гугл. Какой смысл копаться в коде который не понимаешь, я больше чем уверен что ты по туториалу втупую хуярил и даже не пытался понять что и почему, отсюда и такие тупые логические ошибки.
>>942593 Вот смотри: сейчас в классе TileBoard я создал переменную movesCount. Инкременирую ее в этом классе - и она увеличивается. Потом из класса GameManager через синлтон запрашиваю ее: moves = TileBoard.instance.movesCount. Казалось бы, почему она в этот-то раз не грузится? В чем здесь логическая ошибка, и как переписывания кода поможет мне это понять?
>>942594 Орирую с таких челиков всегда. Ну типо не может сделать какую-то элементарную поеботу для умственно гтсталых, зато спорит. Дуримар нахуй, ну если у тебя переменная устанавливается в нужное значение, но нет эффекта на экране, значит косяк либо в передачи информации в ui, либо кто-то еще меняет значение переменной
>>942594 Ты сначала ответь на вопрос нахуя ты её там создал, когда тайл поменял свою позицию у тебя должен емититься ивент, а на этот ивент должен быть подписан сборщик и обработчик информации. Тоже самое блять и с гейменеджером, какого хуя он у тебя занимается чужими делами, а не только контролирует состояние игры. Ты сначала порядок наведи, а потом уже добавляй новое. Больше всего я пернул с того что у тебя тайл и тайлстейт два разных класса, типо тайл незнает че с ним происходит по твоей логике, лол. Рекурсия тоже забавна. В целом объективно можно нахуй все снести и написать заново, проще и быстрее будет нежели сидеть копаться в мусора.
>>942609 Ты сам долбоёб не разобрался в ситуации и полез с советами. Юнити как оказывается сохраняет сессию. Т.е. когда выключаешь тест игры, то информация в списке межуровневых данных сохраняется в ФАЙЛЕ НА ДИСКЕ. Вряд ли ему об этом на курсе сказали. Пока с этим не столкнёшься не поймёшь.
Кто из олдов скажет, чем новая НавиМеш АИ отличается от старой? Нашёл только гайдики, но пока не пойму в чем отличие кроме интерфейса и того как устанавливаются статические/мобильные объекты.
Ребята всем привет! Прошу подсказать и дать совета. Сейчас изучаю Юнити, хочу сделать небольшую демо-сцену с бегущим по коридору героем. Скачал стартовый 3д-контроллер. Вот сам коридор где лучше сделать - в самом Юнити в ProBuilder или в Blender и потом импортировать ? Хотелось бы конечно чтобы хоть немного красиво было. Вот и думаю достаточно ли будет ProBuilder для маленькой сцены или все же поднапрячься и смоделировать в Blender ?
>>942763 Комбинировать придётся всё, пробилдер для простых форм, блендер уже для чего-то сложного. всякие двухмерные спрайты тоже где-то придется рисовать отдельно. Думай что ты быстро и просто сможешь сделать уже сам
Нужно что б объект с одним объектом сталкивался, а с другими только как триггер работал. Это возможно? Прост пока по урокам кажется, что если TRIGGER поставил, то столкновения больше не обработать.
Почему всякие ассеты на деревья не встают? Добавляешь в проект, импортируешь, там где текстуры и шейдеры галочками не отмечено. Причем ошибка почти со всеми деревьями из всяких mountain trees meadow environment. В hdrp рендере такая же хуйня. Ставишь фикс urp/hdrp, то же самое, часть пака не подгружается в проект. Как фиксить?
Анонсы, помогите советом. Делаю интерактивную игру и нужно придумать систему взаимодействия с объектами. Как лучше сделать? Я думаю что нужно создать какую-нибудь базу данных на SQLite. Внести туда таблицу с диалогами. Объекты таблицы: [название игрового объекта], [монолог]. При взаимодействии с объектом достаём рандомный монолог и выводим на экран. А есть ещё какие-нибудь варианты и норм ли это привязываться к названию объекта?
Пиздец кароч, ебучий Resources.Load тупо не работает. Все пути в него какие мог накидал, все варианты перебрал. Просто не работает хуета. Какой же юнити кусок гвона..
Через GetPrefabAssetPathOfNearestInstanceRoot я получаю в консоль путь к префабу если ручками добавляю его на сцену, но вставляя его в Resources.Load кусок говна его не находит. В сёрч/индекс манагер тот же самый путь причем, всё ка кнадо. Может права доступа какие-то нужны.. я даже хуй знает уже.
При билде WebGL игры использовал плагин PluginYG - и все работало, проект билдился и запустался. Потом начал прикручивать Yandex SDK - и проект перестал билдиться. Удалил Yandex SDK - все равно проект не билдится. Что делать?
P.S. На последнем пике написано включить Decompression Fallback, но у меня все и так включено.
Аноны, чем заменить Fungus и нужно ли вообще его заменять? Короче, нужна какая-нибудь система для быстрого и высокоуровневого управления катсценами и выходящими за кор-геймплей-луп событиями в игре. Естественно, такая чтобы в ней было уже дохуя готовой логики. Вот в Фунгусе, например, я могу одним экшеном прописать вывод сообщения на экран, проигрывание звука, затемнение и тряску камеры, смену музыки и т.п., а не изобретать велосипед c собственными DialogCtrl.cs, CameraCtrl.cs, BGMCtrl.cs.
>>942922 Чел, он то >>942921 прав. Не в том смысле что вы поливаете друг друга говнов, а в том что ошибка на твоей стороне. Тебе просто стоило зайти в тред не с агрессии на юнити, а нормально спросить и уточнить. Согласись странно что у всех (У меня в том числе вот щас открытом проекте) работает ресурс лоад, а у тебя нет. Значит нужно разобраться где может быть косяк.
Просто дружески напомню что стоит развернуто писать вопрос и без киданием говном на движок. Все и так кто работают в нём знает его косяки.
>>942931 Спасибо, очень неплохо для опенсурса. Хотя, судя по описанию список возможностей существенно поменьше чем у Фунгуса. Фунгус ведь не просто диалоговой системой был, там дохуя логики можно было прямо в визуальном редакторе собирать. Всякие сложные условия и даже массивы с переменными можно было перебирать визуально и отлаживать.
>>942924 >выблядыш, читай как работает оно ну так попробуй пизданутая ты собака 3д объект так же из ассетов вытащить, ЭТО НЕ РАБОТАЕТ
>>942932 хватит хуету нести, этот дебил тупостью троллит. Я ему явно написал про 3д объект, а этот дегрод спратайми и пнг картинками тычет, делая вид что я ему об этом не написал.
Кароче как я и говорил - юнити это ёбаный кусок говна.
ОКАЗЫВАЕТСЯ недостаточно префаб закинуть в папку ассетов. Нужно обязательно ебучую папку RESOURCES создать. И только тогда этот кусок говна сможет найти нужный префаб. т.е как пример assets/prefabs/resources/
Где это задокументированно? Хоть один из уёбков что на ютубе пилит гайды об этом ни словом не обмолвился. Я прочитал ебучу книгу для начинающих и там ни слова, хотя о префабах немало было написано.
Я думал что Resources это чисто абстрактное имя всех ресурсов что включены в проект. И всё что есть как бы лежит в ней.
>>942964 как я и написал, я думал будто это пространство имён. И всё что в проект уже в папке resources.
Потому что иначе это нелогично, какой смысл создавать ещё какую-то блядь ПАПКУ, уродуя ерархию. Будто ассеты это не ресурсы? Не оправдывайте долбоёбскую логику разработчиков движка.
Чтобы ебаный метод заработал для него нужно создавать.. папку блядь. Это сука какой-то не то что костыль.. это архитектура уровня деревенского уличного сортира вместо удобного домашнего фарфорового трона.
>>942966 логика простая, всё, что в Resources гарантированно попадает в билд, даже если не используется; остальные префабы нужно выставлять ручками; любой префаб в проекте вне Resources или не выставленный ручками в билд не попадёт
использование Resources - это старая техника, сейчас многие на Addressables переползают по-тихонечку
Вот скачал я огромный пак с 3D моделями, и хочу оставить только одну, а остальное удалить. Как это правильно сделать? Создаю папку Prefabs, закидываю туда модель, удаляю пак - и эта модель тоже удаляется.
>>943106 С аддрессаблесс проще приложуху обновлять, контент добавлять, баги фиксить - пользователю не надо вес билд целиком обновлять, очень актуально если он несколько гигов
>>943103 присваивай gameobject'ам коллайдера разные тэги, по тэгам их можно будет отличать
>>943109 Каким образом? Были б тут явные какие-то возможности их указания ещё. Я подозреваю их через код если добавлять, то да, что-то и вправду можно наверное. Но разве это не распространённая тема с несколькими коллайдерами на одном объекте, что бы добавить возможность их как-то уникально называть?
Можно наверное ещё два дочерних объекта добавить конечно и уже от них плясать. Типа два пустых объекта и к каждому из них по колайдеру. Но это не васянство ли?
Вопросец, а насколько тупая идея под каждый элемент этого пазла создавать элемент класса? Т.е если у меня 64 элемента, нужно о каждом его позицию хранить, его цвет, какие-то ещё особенности. И единственная у меня мысль это двумерный массив классов.
Как бы на такое решение посмотрел человек с опытом?
>>943157 Мне же типа надо перемещать элементы будет постоянно, поэтому может лучше тут именно классы? Насколько я понял структуры по значению передаются, что мне несколько не подходит.. И если я правильно понял, то весь массив структур надо сразу инициализировать, у меня не всегда всё поле будет в начале заполнено элементами..
Как проверить инициализирован ли элемент двумерного массива? Хочу простым и элегантным методом узнать не выхожу ли я за рамки, что бы не дрочить каждый раз максимальную длинну массива.
есть ли какой-то метод о котором я не знаю, типа IndexOf , но для многомерного массива?
>>943208 метод расширения напиши public static class EM_Array2D { public static bool IsInBounds<T> (this T[,] array, int x, int y) { return x >= array.GetLowerBound(0) && x <= array.GetUpperBound(0) && y >= array.GetLowerBound(1) && y <= array.GetUpperBound(1); } }
>>943190 А где качать?.. Нужен именно мой персонаж, ему нужна огромная куча реакций: радость с поднятыми лапками, печаль, когда хватается за голову. И тд, и тп.
Не могу активировать лицензию в хабе. Пишет фейлед ту активейт лиценз. Перепробовал все, что было в интернете. Переустанавливал, заходил с впна, создавал новый аккаунт, не дает активировать лицензию в хабе. Даже поставил старую версию дохабовую сделал лицензию, поставил актуальную и все равно эта ошибка лицензии. Дал товарищу он зашел с моего акка на своем компе, лицензия есть базовая бесплатная и она активирована, но на моем пк это не работает.
У меня вопрос по организации и хранению сетки в пошаговой тактике с укрытиями, аля XCOM 2 и тд. Если есть разница в высоте между тайлами и можно заходить в здания (2 уровня тайлов наслаиваются друг на друга на уровне первого этажа и крыши), то получается нужно создавать 3 стеку из кубов? Или как это можно сделать по другому и проще?
Создал 3D URP проект, когда из ассет стора загружал модели, они были розовыми. Посмотрел туториал, в Shader выбрал Universal Render Pipeline/Lit, и все заработало. Но как теперь вернуть нормальный Inspector? Чтобы transform объекта был, чтобы можно было компоненты объекту добавлять? Куда все пропало?
Пацаны, что-то мозг сломал, хотя вроде задача простая.
Мне нужно отображать иконку на экране, которая указывает местоположение объекта в игровом мире (нужно учитывать все 3 координаты). Эдакий HUD. Когда камера смотрит на этот объект, то это легко сделать через: var screenPoint = _camera.WorldToScreenPoint(element.WorldPosition);
Но мне нужно, чтобы иконка всегда отображалась, даже если камера отвернулась от объекта. В этом случае иконка должна быть на краю экрана, в той точке, которая указывает направление к объекту.
Примерно понимаю как сделать. Нужно представить условный круг с радиусом Screen.Width * 0.5, в центре которого будет экран. Далее через Cos/Sin получить позицию и обрезать её, если она выходит за пределы экрана. Но вот как получить нужный угол я вообще не понял. Уже всякое перепробовал с Vector3.SignedAngle, получается херня.
>>943675 >Вычисли угол между ними Как именно? И как ты его используешь? Vector3.SignedAngle я уже пробовал использовать, у меня не получилось из полученного угла правильно высчитать положение иконки на экране. Только с Mathf.Atan2 и InverseTransformDirection что-то вразумительное получилось, но всё равно не точное решение.
>>943722 Бро, спасибо! Но есть проблемка. Когда я отворачиваюсь и начинаю смотреть вверх, то иконка тоже уходит вверх (на видео с 16 секунды), хотя по логике она должна оставаться снизу. У тебя такая же проблема? Или я что-то не так сделал.