Unity 3D #29 880622 В конец треда | Веб
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Последние новости: 2022.3 теперь LTS и рекомендуется к использованию
https://unity.com/releases/lts

Прошлый тред: >>873990 (OP)

Официальный сайт: https://unity.com/ru
Документация: https://docs.unity3d.com/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com
Магазин ассетов: https://assetstore.unity.com

На 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?
Поддерживается написание скриптов на C# 9.0
https://docs.unity3d.com/Manual/CSharpCompiler.html

Какие есть готовые решения для создания мультиплеерной игры?
https://www.photonengine.com
https://mirror-networking.com
https://playfab.com

На каких платформах работают созданные с помощью 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х полноценных игр на движке, обязательно нужно скачать код проектов, так как в книге он местами уже устарел.)

Шапка: https://pastebin.com/XDakFcF2
2 880667
>>880530 →
Поехавший блять
image.png71 Кб, 329x195
3 880681
Когда у тебя депрессия, процесс может идти крайне медленно/стоять на одном месте, особенно в том случае, если ты делаешь что-то творческое. Например, дизайн, моделирование, текстурирование. Как мозг определяет, что я сделал что-то хорошее, красивое, правильное? Выделяется дофамин. При депрессии все положительные эмоции подавляются, или вообще не генерируются, поэтому ты можешь теоретически сделать что-то годное, но посколько в голове не вырабывается гормон счастья от результата, то ты обречен снова и снова переписывать, переделывать, перерисовывать и т.п., поскольку результат "не удовлятворяет" в химичесом смысле. Но, по правде, в состоянии депрессии ничто не удовлетворяет.
Но тут проблема именно в творческих делах, где важен эмоциональный отклик. Поэтому, если делать что-то, где показатель - не эмоция, а соотвествие референсу/личному опыту, то тут депрессующий анон вполне может продвигаться дальше. Например, в написании кода главное - чтобы он работал. Чтобы понять, что он работает, не нужно испытывать дофамин, а лишь увидеть, что компилятор не выдал ошибок, и что в игре код работает как надо. Когда же ты смоделировал, например, дом, тот показатель успешности - твое чувство удовлетворенности, но он подавляется депрессией.
Или прочей эмоциональной траблой в башке.
5 880696
>>80681
нужна внешняя поддержка от нормальных людей, чтобы они могли сказать пару хороших слов и сразу же появлялась мотивация, по себе знаю
6 880703
>>80696
Или обосрут твои начинания и сделают ещё хуже
7 880707
>>80681
Зря ты так про кодинг. У меня с ним ровно такие же проблемы, как у тебя с моделированием. Это какой-то сорт оф перфекционизм, когда тебе хочется, чтобы всё в твоей игре было идеально. Начиная с кодовой базы, чтобы в ней каждое название класса было выверено, каждый отступ был правильно сделан и так далее.
8 880716
>>80703
я говорю про нормальных, а не про рандомный биоскот, который даже другом близко нельзя назвать
9 880773
Есть где-то полный список игор на юнете? Что-то гугл только тухляк выдаёт.
10 880777
>>80773
зачем он тебе? всё упирается в скиллы и фантазию
https://steamdb.info/tech/Engine/Unity/
11 880778
>>80773

>Есть где-то полный список игор на юнете?


Разумеется нет. Как ты себе это представляешь? Это как спрашивать полный список сайтов на каком-то движке.
лтсище.png25 Кб, 792x235
12 880803
ЛТСище...
Так юнити у меня ещё не баговала и не вылетала, как в 2022.3.0
13 880804
>>80803

>1060


Чел, тебе с такой видюхой только и запекать, советую забить на это дело.
Диалоговая система 14 880807
Кто то срисовывал диалоговую систему у Indie Wafflus с ютуба?

Она выглядит неплохо но автор часов 5 рассказывает как этот кактус вырастить, но как его жрать решительно непонятно , то ли я слишком тупой.

Если кто то юзает эту диалоговую систему и мог бы объяснить как как ей пользоваться я был бы финансово благодарен
15 880815
>>80804
Нормальные версии юнити грузили карту на 100% и всё запекалось за 15 минут.
ЛТСище нагружает карту на 3 процента и запекает сутки
Тут уже не важно, что 1060, понимаешь?
100 и 3 процента, вот что важно.
Индусы опять насрали
16 880824
>>80803
2021 лтс стала немного нормальной только к 2021.3.8 примерно.
17 880826
>>80824
у меня тоже на начальных версиях залупа ебаная была с постоянными утечками и реже крашами
18 880833
>>80826
Я тебе даже больше скажу - у нас на андроиде было несколько процентов крашей(больше нормы) пока не обновились на 2021.3.22 или около того.
image.png172 Кб, 1140x473
19 880872
Как сделать NavMesh на весь плеин, без обрезки по краям?
20 880877
21 880878
Почему текстур инпут в шейдерграф у меня помечен как экспозэд, но так и не отображается в настройках материала?
22 880916
>>80877
Чуть увеличивается, но до краев все равно не доходит.

Можно как-то сохранить префаб вместе с NavMesh на нем? Сейчас меш сохраняется на сцене даже если удалить плеин.
23 880946
>>80916
Навмеш хранится не на префабе. По моему до 2022.2 он хранился просто в сцене, а в последней ЛТСке он вроде как в компоненте одном конкретном. Просто уменьшай это дерьмо, пока не будет удовлетворительно. Ничего страшного, что оно не доходит до краёв, если настроишь высоту дропа и дальность прыжка, всё будет норм и мобы будут спрыгивать/перепрыгивать
24 880960
В 3д сцене нужно отрисовать круг вокруг объекта (зона действия способности). Как лучше это сделать?
25 880972
>>80960
Берешь и рисуешь круг в нужном месте.

В чем именно сложность, какие есть идеи и почему тебе кажется они не сработаю
26 881011
Как на юнити сделать нормальную камеру? Не ортографическую и перспективную. Камера у которой я могу просто указать ширину и высоту какую я хочу.
27 881012
>>81011
Может ты говоришь про что то другое, но вроде это называется разрешение и это не настройка камеры, а настройка окна с игрой / графическая настройка
28 881013
Я пытаюсь прикрутить стейт машину для героя и врагов и вот не знаю как правильно это вообще сделать. Делать отдельную для игрока и прикрутить абстрактную для врагов? Враги же не должны уметь делать много то, что умеет мой герой. Наверное, а вдруг я в будущем захочу, чтобы могли? Это же всё переписывать, или писать снова один и тот же код, что не особо правильно. Вот эти все попытки создать какую-то идеальную архитектуру доводят до того, что я просто весь день читаю форумы/статьи на эту тему, но сам ничего ручками не делаю, так как хочу что-то идельное и боюсь накосячить. Что вообще делать когщда не знаешь, что хочешь? Забить и говнокодом всё сделать, а уже в будущем буду разгребать, когда умнее стану?
Screen Recording - June 8, 2023.mp4748 Кб, mp4,
1920x1080, 0:36
29 881016
>>81012
Это именно камера. Мне именно нужна возможность задать размер камеры по ширине и по высоте. Накидал как камеры работает в юнити и как работает в годоте (такая возможность есть не только в годоте) для примера какое поведение мне нужно.

В юнити при изменение размера окна шарик куда-то сплющивает, то расплющивает. В годоте не колбасит изображение.
30 881040
>>81013
тебе ничего не делать, потому что ты ничего и никогда уже не сделаешь, тяжёлая болезнь у тебя, скоро умирать
16829319044360.jpg1,2 Мб, 2337x1668
31 881084
Знаю, что тут есть один анон из коммерческой разработки на Юнити. Можешь подсказать по поводу поиска юнити разработчиков?

Мне нужно найти 2-3 человека с приличным опытом коммерческой разработки мобильных игр. Таких, с которыми не нужно нянчиться, которые могут приступить сразу к работе. И тут две проблемы: 1) как их привлечь, если они уже официально где-то работают, а я хочу платить в чёрную криптой (3-5к баксов)? 2) как их искать на линкедине, как правильно отсеивать от блаженных, которые на самом деле ничего толком не могут делать самостоятельно. Реально ли вообще привлечь сеньора на удалёнку за 3-5к в месяц в чёрную? Или это из области фантастики.
32 881085
>>81084

>я хочу платить в чёрную криптой (3-5к баксов)


Если не официально, то это всегда риски, либо для работников, либо для работодателя. Есть шанс что всё срастётся и будет чики-пуки, есть риск что одна из сторон кинет каким либо образом.
Идеальный вариант это знакомства или связи. Если рандомно, то это чистая рулетка.
33 881106
https://create.unity.com/ai-beta
Че там, уже кому-то раздали доступ?
34 881111
Как точнее определять контакт с землей? Использую Триггер Бокс коллайдер. Так он постоянно на разной высоте останавливается.
>>81106

>Че там, уже кому-то раздали доступ?


Вчера только думал, что вскоре появится кнопка "Сделать игру". Предчувствую скорый конец геймдева. ИИ заменит кругом людей.
35 881155
>>81016
Ты походу проиграл в генетическую лотерею.
36 881195
У меня одна фича работает неидеально. Есть небольшая вероятность, что игрок может сломать/застопорить весь геймплей, и будет вынужден перезапустить игру. И я с этим смирился, потому что потратил много сил, но идеального неубиваемого решения не продумал. Надо признать свою тупость, и двигаться дальше.
angry-pepe-pepe-the-frog.gif535 Кб, 498x498
37 881219
СКОЛЬКО УЖЕ ПЫТАЮСЬ ВКАТИТЬСЯ В ЭТОТ ЮНИТИ НИКАК НАХУЙ
КАКАЯ ЖЕ УРОДСКАЯ ЭТА ХУИТА С УЕБИЩНЫМ МЕЛКИМ ИНТЕРФЕЙСОМ МИКРОСКОПИЧЕСКИМ ШРИФТОМ НАХУЙ КАК С ЭТОЙ ХУЙНЕЙ РАБОТАТЬ МНЕ ЭКРАН ЦЕЛОВАТЬ ПРИХОДИТЬСЯ ЧТОБЫ ХОТЬ ЧТО-ТО РАЗГЛЯДЕТЬ ЕЩЕ И ЕБАНЫЕ ЦВЕТА ВСЕ ОДНОТОННЫЕ БЛЯДСКИЙ ПИЗДОС А ДОКУМЕНТАЦИЯ ЭТО ПРОСТО ПОЛНЫЙ АХУЙ КАК СКАЛИРУЕТСЯ ЕБАНАЯ МОДНАЯ ХУЙНЯ НАХУЙ НИХУЯ В ЭТОЙ МОДНОЙ ПИЗДЕ НЕ ВИДНО
38 881220
>>81219
Согласен. На моём full hd мониторе постоянно приходится сдвигать и масштабировать
39 881222
>>81219
В соседнем движке можно поставить любой шрифт и размер букв, а ещё перекрасить интерфейс в любой цвет (по умолчанию синий) и устроить светомузыку с нескучными живыми обоями в стиле аниме, что даёт бонус к скорости разработки инди-игр +200% и увеличивает размер глаз, что, в свою очередь, улучшает зрение, делая тебя похожим на ОЯШа. Алсо, документация очень хорошая и встроена в редактор, лично я сделал множество багофич опираясь только на подсказки по кнопке F1 без необходимости искать что-то в интернетах. Игру, правда, так и не сделал, но было приятно провести время, а это главное.
40 881225
>>81219
Че пиздишь, у меня хуевое зрение и с юнити никаких проблем нет.
41 881254
>>80972

>Берешь и рисуешь круг в нужном месте.


Каким классом\методом? https://docs.unity3d.com/Manual/class-LineRenderer.html ?

Я пытался помечать зону спрайтом, получается говно, т.к. сопоставлять радиус спрайта с с длинной вектора не оч удобно. Делал через partical system - просто некрасиво выходит
42 881256
>>81254

> Я пытался помечать зону спрайтом, получается говно, т.к. сопоставлять радиус спрайта с с длинной вектора не оч удобно


Подумой. Вот у тебя есть квадратная картинка, тогда от центра касательная от каждой из сторон - 0.5.

Лайн рендерер впринципе тоже можешь.

Можешь сам меш генерировать как угодно
43 881260
>>81111

>Как точнее определять контакт с землей


Physics.Raycast()
Physics.CheckSphere()

>>81084
Смотря какой сложности твоя хуета. Джун-вкатун, могу сразу сам приступить к работе, что не знаю по видосам на ютубе.
Опиши хули надо и кидай контакты
44 881296
Аноны, нид хелп! Кто-нибудь пользуется Блендером и Сабстансом? Вот смотрите, у меня процесс выглядит примерно так: я создал сложную модельку в блендере, повесил на разные части разные отдельные пустые материалы, сделал UV-развёртку. Сохранил, потом открыл реузультат в Сабстансе, навесил на пустые материалы материалы из библиотеки сабстанса, подкрутил чтобы выглядело красиво. Сохранил текстуру с пресетом Юнити. Потом открываю Юнити, закидываю туда модель из Блендера, текстуры из Сабстанса, извлекаю материалы из модели и дальше начинается самое веселье - я сижу и вручную распихиваю текстуры по материалам. В каждый материал нужно запихнуть Альбедо, Металик и Нормали, не перепутать текстуры от разных материалов и ничего не пропустить. Если объект большой, то материалов может быть пара десятков.

Ну и я подумал - а нет ли возможности как-то автоматически подгрузить все соответствующие текстуры в материалы? Они же после Сабстанса все подписаны соответствующим образом, нужно просто прочитать и загрузить.
45 881298
>>81296

>Если объект большой, то материалов может быть пара десятков.


Тут твоя ошибка. На объекте, какой бы он не был не должно быть столько, самое большое это для персонажа 3-4.
Всё остальное делается атласом текстур и шейдером при необходимости особых эффектов.
46 881310
47 881314
>>81298

>для персонажа 3-4.


А если у него вся локация одним куском?

>>81296

>открыл реузультат в Сабстансе


Что мешает настроить материалы в блендере? Или импортировать материалы из сабстенса в блендер и экспортировать по-человечески уже из блендера.

>>81310

>RAM: 32GB


>Downloading the Megacity Multiplayer repo: Up to 20 min


>Opening the project with library build: Up to 20 min


>When going into the main scene, subscenes need to import: Up to 20 min


>When going into the playmode, server world is created: Up to 30 min


Вот это Ж Ы Р Н О Т А, есть видео или скриншоты?
48 881329
>>81314

>есть видео или скриншоты?


https://www.youtube.com/watch?v=KgcU2HBOXAw
49 881338
>>81329
Что за ерунда? Почему тачки телепортируются и вращаются моментально. Это типа юнитивский проект для демонстрации неебаца возможностей ихнего ДОТСа? По моему, больше похоже на лажу. По таймкодам:
https://youtu.be/KgcU2HBOXAw?t=58
https://youtu.be/KgcU2HBOXAw?t=84
50 881356
>>81338
ебать ты инцел душный, они же не делали демонстрацию красивейших графики, анимации или пейзажей
51 881371
>>81356
Да, они ничего из перечисленного не могут продемонстрировать.

А вот почему они не могут контролировать свои ротейшены это отдельный разговор. Неужели дотс такое говно, что они сами не могут сделать, чтобы тачки не колбасило?
52 881462
С курсом udemy Unity Parkour & Climbing System где-то можно бесплатно ознакомиться?
image.png52 Кб, 392x599
53 881495
в 2023 версии вкладки теперь окна
54 881513
>>81495
Что там вообще из самого интересного добавили? Если сравнивать с 2022.
(level №5 walkthrough).mp417,5 Мб, mp4,
1280x720, 2:30
55 881544
Еще немного про мою игру с ебанутыми очень сложными, но интересными головоломками. На данный момент я уже близок к тому чтобы выпустить демку с 6 уровнями. Но, по моим прикидкам - это прохождение на час-полтора.
На видео - прохождение 5 уровня. Там две комнаты с терминалами, напротив каждого терминала панель, которую можно вращать. В каждом терминале нужно ввести номер, который отобразится в панели напротив. Номер генерируется каждый раз, когда чел проходит через плитку, входя в комнату с терминалом.
С терминалом №1 все ок - крутишь панель напротив, чтобы номер был виден и вводишь его.
А вот с терминалом №2 все плохо - панель напротив не работает,всегда черный экран. Я хочу туда потом добавить иконку, типа сломано. Поэтому номер для терминала №2 отображается на дисплее напротив терминала №1, а он не виден. Выйти из комнаты, чтобы запомнить номер, не получится - когда проходишь мимо терминала, он сбрасывается.
Решение - вспомнить, что в предыщем уровне было зеркало, прикрепить его к вращающейся панели, покрутить, как надо, и увидеть код через отражение. В видео это в конце сделано.
56 881546
>>81544
Зачем ты постишь это в юнити треде? Делай тред для своей игры.
image.png242 Кб, 1061x487
57 881547
6 уровней. Осталось добавить подсказки, звуки, меню
58 881549
>>81546
А что, тут нельзя показывать свои прогрессы? Ну ладно, запилю тред, как только демо будет готова
59 881551
>>81549
Они тебе завидуют
60 881553
>>81549
Конечно можно, и даже нужно, но так-же надо чтобы какая то инфа была об игре со стороны разработки на юнити, иначе смысл постить о разработке игры, но не рассказывать как и что делаешь на этом движке в треде движка?
Чуть чуть головку включай прежде чем постить, это просто дружеский совет.
61 881580
>>81544

>очень сложными головоломками


Да ну? И даже без квестов в стиле "через полпятнадцатого слева отнимание пять" как у нульча было? Кинешь ссылку, когда будет готово?
Постить рили есть смысл в субшоте или в отдельном треде.
62 881729
Как перезапечь NavMesh во время игры?
Нужно чтобы гг клал доску/лестницу на два ящика (на которых есть NavMesh) и на этой доске появлялся NavMesh
63 881733
>>81729
по идее

NavMeshSurface surface;
surface.BuildNavMesh();

Но по моему ты офигеешь как это будет лагать
64 881745
>>81733
Благодарю, то что нужно.

По лагам пока хз, там посмотрим.
Ебаный рот этих углов, блять 65 881748
Какого хуя, антон? Где я долбаеб? Почему 179==180?
66 881750
>>81748
Кароч, в юнити float очень трудно "поймать" в точных значениях.

Не знаю что у тебя там за углы, но скорей всего он при преобразовании в int округляет до 179 или 181.
Тут либо ебаться с округлением float до большего/меньшего значения (179.00001 округлять до 180), либо прописать
if(угол_во_float >= 180)
67 881752
>>81748
никогда не получай углы через transform.eulerAngles

Потому что один и тот же поворот можно двумя разными способами получить
изображение.png21 Кб, 630x162
68 881753
>>81750
Хуйня в том что такого быть не может тк угол крутится по целым числам
69 881754
>>81752
Как мне получить ровно ту хуйню что написана в инспекторе?
70 881763
>>81753
Он крутится по float.

>>81754
В инспекторе Кватернион.
Правой кнопкой на Rotation - Copy
71 881785
поясните, как правильно включать анимацию ходьбы? у меня есть аниматор, в нем есть клип с ходьбой, идл, прыжок и все остальное, идл основная анимация, из него и обратно переход на ходьбу. если на триггер переход, то анимация один раз проигрывается, а если на флажок, то персонаж первые несколько кадров дрочит. может, у меня клипы не в том порядке разложены?
72 881787
>>81785

>если на флажок, то персонаж первые несколько кадров дрочит


Там где переход(стрелочка) из Idle в Walk убери галочку Has Exit Time.

А вообще на ютубе есть подробные разборы аниматора. Можешь еще посмотреть васянов, которые пилят свои 3д залупы
73 881796
>>81763
Как мне получить в скрипте тот же угол что и в инспекторе?
..jpg22 Кб, 452x168
74 881809
>>81796

>Правой кнопкой на Rotation - Copy


Потом в скрипте правой кнопкой - вставить
75 881827
Я всегда ставлю скобки, даже если там только одна строка
if (bool) Do(); - нет, я так не делаю
if (bool)
Do(); - тоже нет
if (bool)
{
Do(); - вот так заебись
}
76 881843
>>81733
NavMesh рисуется, но агент по нему не ходит.
Чо делать?
77 881845
>>81843
Хз, проверь какой там вес у этой зоны или там валкабл или не
78 881852
>>81845
Кароч если доска лежит в сцене сразу, то все ок, если инстанциировать, то агент не видит "новый" навмеш, ходит тока по старому.
Надо как-то обновить данные по NavMesh у агента или типа того. Как - хз.
79 881855
>>81852
У тебя юнька какого года, какой там навмеш? Запекает по статику или объекты с компонентом?
Доску спавнишь, делаешь её статиком/даёшь компонент?
Попробуй положить доску и запечь через какое то время, типа, пол секунды
image.png5 Кб, 270x120
80 881862
>>81852
почему в 2023 возникают такие проблемы? в чём проблема хрюнити? разве нельзя сделать уже сразу готовое и рабочее на 100% решение
81 881883
>>81809

>Вставить



Как Мастурбек в твою мамку?
82 881902
>>81855
2021
Я по всякому пытался. Агент не видит новый навмеш
83 881919
>>81754

> Как мне получить ровно ту хуйню что написана в инспекторе?


Никак.

Поэтому углы тебе надо хранить самостоятельно и заносить их в трансформ.
84 881920
>>81862
Так уже все есть, надо прос о погуглить как обновить навмеш в рантайме
image.png109 Кб, 383x381
85 881948
Деды писали без энтого вашего Дотса и Екса, и UI вручную раставляли, и ничего, существовал геймдев, и игры лучше были
86 881953
>>81948

> и UI вручную раставляли


Не понял. А как его сейчас расставляют?
image.png50 Кб, 943x510
87 881963
>>81953
он имел ввиду подобную залупу
88 881964
>>81953

>как его сейчас расставляют


https://ru.wikipedia.org/wiki/Адаптивный_веб-дизайн
В игорях всё то же самое, только через велосипеды.
89 882001
>>81845
>>81855
>>81920
Короче, сделал так, что навмеш запекается в рантайме на площади вокруг перса. Все работает.
Не совсем то что надо, но пока пойдет. Почему не перезапекает всю карту я хз, скорее всего руки кривые.
90 882004
>>81763
Какая логика была в том, чтобы юзать сраные кватернионы вместо нормальных углов?
91 882005
>>82004
при разработке юнити я имею ввиду
92 882012
>>82001
попробуй в этой куче кала покопаться, может что-то интересное для себя найдёшь
https://github.com/Unity-Technologies/NavMeshComponents
93 882094
>>82004
>>82005
Наверное как-то математически оправдано, что б комп понимал чо куда крутить.

>>82012
Отсюда и взял. Спасибо
politicheskaya-karta-mira.jpg2,7 Мб, 2014x1248
94 882185
мои чюваки, подскажите курсы, со всеми действиями при разработке: создание, сделал то, это, собрал в проект, выложил на площадку. есть какие-нибудь релевантые и более-менее адекватные?
sage 95 882189
>>82185
зарепортил в МВД РФ
1668055702787.png104 Кб, 480x536
96 882323
Я правильно понимаю, это значит что все, у кого нет зарубежной карты и возможности съездить в европу для открытия счёта, теперь не смогут подключить аналитику и IAP? Что это вообще значит?
97 882324
>>82323
Ты можешь использовать pyypl. Я через их карту всякую херню в интернете оплачиваю. Единственное, там не подойдёт обычный российский паспорт. Нужен именно загранпаспорт.
98 882360
Есть ли смысл качать кряк на юнити, или можно спокойно обойтись бесплатной версией?
99 882364
>>82360

>спокойно обойтись бесплатной версией?


Уже лет 5 можно обходится бесплатной, всё тоже самое.
Раньше во времена динозавров ставили кряк чтоб получить полный функционал, потом только чтоб тему на темную менять, сейчас смысла нет от слова совсем.
Из кряков есть смысл накатывать только отключатор начальной картинки от самих юников.
100 882366
>>82364
Понял, спасибо.
101 882375
>>82364

> Раньше во времена динозавров ставили кряк чтоб получить полный функционал


Чтобы получить Темную тему
102 882376
>>82375

>Чтобы получить Темную тему


Жопой читаешь?

>Раньше во времена динозавров ставили кряк чтоб получить полный функционал


>потом только чтоб тему на темную менять



Чел блядь..
103 882378
>>82376
?

У меня есть Темная тема
104 882386
>>82378
Ты тупой?
105 882402
>>82386
Если бы был тупой, то ее бы не было
image.png11 Кб, 319x197
106 882488
Как реализуете локализацию?
Я все храню в StreamingAssets в txt-файле.
Он парсится на доступные языки (верхняя строчка) и они добавится в выпадающий список при запуске игры.

Захотел добавить French - пишешь в верхней строчке, чтобы получилось
English|Русский|French
и добавляешь слова
ng|New game|Новая игра|Le Novaya Igra
(ng - это идентификатор, Localization.GetText("ng"))
В юните есть localization package, я его некоторое время, но для меня он слишком навороченный и в нем переодически надо копаться на уровне исходников, и разве он позволяет сторонним челикам добавлять свой язык даже когда игра вышла таким простым путем, как правка txt файла?
107 882505
>>82488
Храню в скриптах, выставляю нужный перевод по значению статик переменной:

if (MenuBattle.language == 1)
{
text_1.text = "" + item_l1 + " (Активируемый предмет, заряды: " + Weapons.weap67_2 + " )";
}
if (MenuBattle.language == 2)
{
text_1.text = "" + item_l2 + " (Active item, charges: " + Weapons.weap67_2 + " )";
}
108 882510
>>82488
Я храню в JSON. Там можно указывать доп. параметры для plural form.

Тебе не обязательно весь перевод хранить в одном файле. Это неудобно. Особенно, если ты отдашь перевод на аутсорс. Ты можешь добавить папку Locale и просто загружать все файлы оттуда. Название файлы будет названием языка. То есть будут: English.txt, Русский.txt и так далее.
109 882513
>>82488
I2 Localization, но там данные хранятся в со, поэтому очевидно при мердже проблемы, которые тяжко фиксятся

Думаю написать свой калыч для локализации, чтобы был кастомный редактор который грузит и сохраняет данные в жсон и дальше их можно было в игру вставлять
110 882560
По вашим ощущениям, если бы у вас была возможность сейчас сделать клон Геншина, то сколько времени, денег и людей в команде вам бы понадобилось, учитывая, что ко всему прочему ставится задача максимально оптимизировать бюджет?
111 882562
>>82560

>то сколько времени, денег и людей в команде


Лет пять, первоначально рублей миллиардов десять, человек сто. А что есть предложения?
112 882563
>>82560
Семь лет, двадцать миллиардов, один человек. Пять лярдов тебе, пять лярдов мне, а на оставшиеся десять нанимаем вот этого - >>82562. Ещё два года отдыхаем и катаемся по мальдивам на яхте со шлюхами на эти деньги. Как тебе идея?
113 882580
>>82560

>клонировать клонопарашную гачахуету


а мог бы просто нормальную игру сделать
114 882597
>>82562
>>82563
Перефразирую. Никто вам ничего не заказывает. Вы по своей инициативе на свой бюджет всё планируете.
Как бы вы организовали процессы?
>>82580
Тут главный момент - коммерческий успех. А на данный момент Генш - самый подходящий пример
115 882605
>>82597
есть два бюджета разработки на маркетинг? нет? ну вот и соси жопу, вне зависимости от вбуханных денег
Без названия.jpg50 Кб, 843x261
116 882608
>>82597

>Как бы вы организовали процессы?


Есть такое понятие паплайн разработки игры. https://blog.skillfactory.ru/glossary/pajplajn/
В предпродакшене есть пункт - Расчет денежных, материальных и людских ресурсов для разработки.
Как приблизительно рассчитывают можно почитать https://dtf.ru/gamedevclub/771563-kruglyy-stol-kak-rasschitat-byudzhet-na-sozdanie-svoey-indi-igry
117 882617
>>82560
У геншина вроде бюджет 100 миллионов долларов был
118 882618
>>82617
Да, примерно так оценивают. Плюс огромная команда разработчиков.
119 882623
>>82617
Да, я в курсе. Сам охуел когда гуглил. Но в этом-то и смысл мысленного эксперимента. Это как, допустим, я посчитал бы сам сколько бы мне стоило переснять знаменитый рекламный ролик Кока-колы в музее. Я бы смог переснять без потери качества, минимум, в 15 раз дешевле. Так как я в теме.
Вот тут так же
>>82608
Да, спасибо за ссылки. Я в курсе пайалайна тоже. Сам занимаюсь видеопродакшеном с большой командой. Но суть вопроса в мысленном эксперименте. Вы же сами для себя не станете делать всё как там написано. Много чего оптимизируете и найдёте альт варианты
120 882632
>>82623

>Но суть вопроса в мысленном эксперименте.


Так я вот мысленно проанализировав и получил >>82562
Вполне себе бьется с первоначальным бюджетом и командой разработки геншина.

>оптимизируете


Так это не работает. Будет больше, меньше точно не будет.

Можно глянуть на пример создания известной игры "Смута", где государство выделило 230млн рублей, а они за полгода уже потратили 500млн.
121 882643
>>82623

> Да, я в курсе. Сам охуел когда гуглил. Но в этом-то и смысл мысленного эксперимента. Это как, допустим, я посчитал бы сам сколько бы мне стоило переснять знаменитый рекламный ролик Кока-колы в музее. Я бы смог переснять без потери качества, минимум, в 15 раз дешевле. Так как я в теме.


> Вот тут так же


На самом деле охуевать там нечего, в игре большой бесшовный мир, много механик, много визуала, отличная оптимизация.
Причем стоит отметить, что визуальный стиль своеобразный(=были потрачены усилия и немало итераций концептов чтобы найти идеал), персонажи все и анимации реально качественные(=опять же были потрачены ресурсы на пробы и ошибки для каждого персонажа).
122 882645
>>82632

> Можно глянуть на пример создания известной игры "Смута", где государство выделило 230млн рублей, а они за полгода уже потратили 500млн.


Так там игры нет еще никакой, не известно что они уже сделали, и что в итоге хотят получить
123 882647
>>82645
Так то ролики разработки внушают оптимизм.
124 882658
>>82647
Да это хуйня полная лол, какой оптимизм

Это просто такая фишка уе, что полторы кат сцены санимировал, сделал ландшафт(готовый) и расставил готовые генерируемые деревья, настроил кое как освещение и все такие вааау, хотя работы на это потрачено очень мало и все самое сложное(да и вообще все) впереди. Но щас это уже не особо работает, и в данном случае графон они совсем уж нихуя не настроили в большей части сцен.
Про геймплей промолчу, его считай нет пока.

Но я не говорю что будет провал - пока нихуч не понятно, просто пока ничего не показали, что заслуживает анимания и показывает какую-то ощутимую вложенную работу или решенную технически сложную задачу.
125 882678
>>82647
Говно какое-то.
1. Шрифты говно. Заголовок читается СУИТА. Ещё эти непонятные шутки снизу "мы хотели влепить сюда свастику, но побоялись делать это явно".
2. Брёвна, домики - всё пластиково-гладкое и чистое, в реальности там всё засрано должно быть.
3. Люди ходят и бегают, будто наложили в штаны.
4. ГУЙ и геймплей - как будто игрока пытаются макнуть головой в бочку с несвежим дарк соулс.
126 882701
Раз вы тут оффтопите, поясните, atomic heart - фейл или вин
127 882703
>>82623

>Сам занимаюсь видеопродакшеном с большой командой


выit тебе отвечал. уточню, игра не кинчик, процессы только кажутся похожими, сам из этого бэкгаунда. тебе нужно ориентироваться на GRIS брать графоном а не гачей
128 882715
>>82678
Да тут кадры из слитой альфы, так что всё может быть подругому

>в реальности


Чел... какая реальность в художественом произведении и тем более в игре?..

> бочку с несвежим дарк соулс.


Да тупо типикал европейская рпгэха. Тип в готике, руине, ведьмаке 3 тоже самое.
129 882716
>>82632

>где государство выделило 230млн рублей, а они за полгода уже потратили 500млн.


Да государство даёт им деньги на основе отчётов о готовности. Там больше 500 млн выделили за всё это время
130 882737
>>82701
Хуита, игра кал. В техническом плане тоже дерьмо.
131 882750
132 882779
Мне нужно реализовать визуальное отображение зон на карте. Что можете посоветовать?
133 882784
>>82779
Замутить какой нибудь шейдер? Честно, как то не очень понял про что ты.
134 882790
>>82784
У меня пиксельная 2d игра, и в ней есть игровая поверхность, которая делится на зоны. И вот мне надо это как-то визуализировать, чтобы и для дебага было удобно и вообще в игре это тоже отображать, для игрока. Я с шейдерами не разу не работал, это как? Можешь подробнее объяснить.
135 882814
>>80622 (OP)

>Разработка игр на Unity 2018 за 24 часа Майка Гейга


а где отзывы глянуть? 600р норм цена за цифровое издание, но не хочу ещё одну книгу где всё дотошно объясняется, а потом в какой-то момент непонятно что откуда и куда и не охуел ли автор проебав какой-то момент.
image.png991 Кб, 966x866
136 882815
>>82647
как-то этот момент странно выглядит, будто мухоморов объелся и куда-то несётся в кислотном трипе
137 882875
>>82488
Храню в tsv, оставь контакты и скину скрипты
138 882887
Как считаете, есть ли смысл оставаться работать в unity, живя в РФ?
139 882895
>>82887
Дегенеративный вопрос.
140 882904
>>82895
Открой свое сознание и поделись мудростью.
141 882908
>>82904
Ты хуйню написал, вопрос же не в юнити. Весь функционал юнити тебе доступен вне зависимости от страны проживания. Вопрос в том, что ты хочешь делать на нем и где выкладываться.
142 882911
Жду крупные планы ебалов всех тех кто откладывал работу по причине отсутствия навыков и команды
https://youtu.be/dR4IuN2tF78
143 882921
>>82908
О, мудрейший, могут ли быть проблемы с оплатой покупкой ассетов и если компания-разработчик решит специально мешать пользоваться своим движком тем кто находится в РФ?
144 882924
>>82921
Если ты за год не научился обходить санкционные ограничения, то это смешно.
145 882927
>>82921
Если ты настолько мнительный дебил, то пользуйся Фалька Енжин. У него и ассеты бесплатные можно скачать.
image.png19 Кб, 336x121
146 882944
>>82911
лучше своё тупое ебало скинь, потому что это уровень кодинга этой залупы
147 882945
>>82944
так и знал что найдётся чьмонышь, который и тут гнилую отмазу выдвинет))))
148 882947
>>82921
На ассеты пох - есть слитые, есть посредники для покупки, есть другие площадки для ассетов, в крайнем случае можно оформить карту казахскую какую-нибудь если очень надо

> если компания-разработчик решит специально мешать пользоваться своим движком тем кто находится в РФ?


Это невозможно

>>82887
Ты думаешь впринципе не о том - главная проблема это то, что с работой на юнити в рашке щас очень хуево, хуже чем по другим направлениям, поэтому первые 1-2 года придется выживать на соротыгу в месяц, ну или две соротыги, а до уровня реального наносека надо минимум 3 года расти, в отличии от какого-нибудь бекенда, который тоже просел после гойды, но не настолько сильно
149 883050
>>82944
Это лишь подсказка на заданный вопрос, так что успокойся чмоня
150 883053
>>82750
Вроде круто, но честно говоря лень разбираться. Ебашу лапшу в сэйв файл.
x6BmzA2meM8.jpg807 Кб, 2560x1707
151 883113
Получилась ситуация, когда после наведения курсора на объект и последующего отвода, значение a осталось равным true

public void OnPointerEnter(PointerEventData eventData)
{
x = true; Invoke("Delay", 5f);
}

public void OnPointerExit(PointerEventData eventData)
{
x = false; a = false;
}

void Delay()
{
if (x) { a = true; }
}

Как это в принципе возможно? Микрофриз редактора, во время которого курсор отошел с объекта и он его не заметил. Или событие отвода курсора вклинилось в момент выполнения метода Delay(), когда проверка if (x) уже прошла, но a = true; еще не было выполнено?
152 883122
>>83113
Обычные Юнити-проблемы. Событие OnPointerExit не было исполнено.
Все события по рейкастам, коллизиям и прочему работают не со 100% вероятностью. Надо добавлять костыли если хочешь чтобы 100% четко все работало.
153 883124
Господа, если экземплят объекта, который добавил свой метод в delegates, был уничтожен - удалится ли его делагат-функция из листа?
Пример:

class Hehe
{
public delegate void Kekeke();
public List<Kekeke> delegates = new List<Kekeke>();
}

Hehe hehe = new Hehe();

class Lala
{
public Lala() {hehe.delegates.add(Puk)}
void Puk() {}
}

Lala lala = new Lala();

// lala был уничтожен, что там с листом delegates?
154 883125
155 883127
>>83122

>Событие OnPointerExit не было исполнено


да, тоже думаю, что так
все же это не так страшно, как если бы обработка события шло параллельно методу вызванному инвоком, тогда уже вообще пиздец бы был
156 883129
>>83124
ЗЫ
То есть, может такое быть, что длина листа уменьшится, из-за того, что объект в списке был собран сборщиком мусора?
157 883136
>>82750
Ее кто только не обоссывал
158 883137
>>83122
Все 100% работает

>>83113

> Invoke("Delay", 5f);


Никогда так не делай

Воткни дебаг.лог во всё это гавно и посмотри что где исполняется в каком порядке вместл того чтобы гадать.
159 883138
>>83124

> если экземплят объекта, который добавил свой метод в delegates, был уничтожен - удалится ли его делагат-функция из листа


Нет

> // lala был уничтожен


Уничтожен как? Гарбедж коллектором?

Кстати код что ты написал - нерабочий, возможно ты пока его сочинял упустил какую-то деталь, которая есть в твоем реальном коде и из-за которой у тебя проблемы
160 883146
Сап, есть сейчас рабочий способ оплатить ассеты из России?
161 883523
Где можно скачать технодемо Adam?
162 883530
>>83146
Pyypl возможно сработает. Ассеты покупать не пробовал, но чат гпт смог оплатить в июне.
163 883574
>>83523
есть вот это, но нужно очко порвать, чтобы запустить
https://assetstore.unity.com/packages/essentials/tutorial-projects/enemies-hdrp-248975
164 883577
165 883648
512 vs 64

почему справа у спрайта лестницы пропадают, если качество хуже?
166 883650
>>83648
интерполяция
167 883926
Аноны, хочу сделать игру по типу Only Up!
Как в таких вертикальных платформерах происходит загрузка уровня/уровней? Мир игры разделен на вертикальные слои и слои асинхронно подгружаются по мере продвижения игрока вверх?
А что происходит когда игрок падает сверху и летит свободно вниз? Как игра будет успевать грузить данные?
169 883939
>>80622 (OP)
Иду сейчас по видео-курсу. Три дня бичевал. Возвращаюсь к проекту и появилась проблема с интерфейсом.

Выбираю материал, меняю любой параметр и масштаб превьюшки с шаром улетает куда-то вдаль. Переключаешься на другой материал и обратно, норм. Но каждый раз меняешь чт-то и улетает..

И чего делать..
image.png26 Кб, 369x343
170 883947
Странная хуйня кароч. Лежали материалы в общей папке ассетов, и почему-то их пидорасило стоило поменять что-то. И всё из-за конфликта видимо с этим "шейдером", который с ними же лежал в одной папке.
Это баг или фича?
171 883952
>>83937
Петух. Посоветовал мне все то же самое, но с Job System.
То как решить проблему слишком быстрого движения игрока с загрузкой и выгрузкой большого количества сущностей ты конечно же не знаешь.
172 883996

>Может показаться, что такой объем информации будет трудновато переварить,но как только вы чуть лучше познакомитесь с основами текстур, шейдеров и материалов, вы увидите, что значение параметра Smoothness вашего материала станет приближаться к 1.



это шутка была?
173 884006
>>80622 (OP)

>1. Разработка игр на Unity 2018 за 24 часа Майка Гейга


а где скачать?
174 884019
>>83952
ты бы сразу сказал, что лох безигорный, я бы тебя говное ебаное проигнорировал
175 884021
>>84006
В любом книжном страны, поверь книга стоит каждой копейки.
image.png182 Кб, 770x608
176 884022
Вот жеж ассетоделы пидоры.

Компания Unity объявила об удалении из своего магазина ассетов материалов, созданных студией Atlas. Причина проста — партнеры уверяли, что весь контент создан ИИ, однако некоторые из ассетов оказались крадеными.
177 884025
>>84022
в стимчанском порнушный нейро кал тоже банить начали
178 884027
Ребятки, у кого-нибудь имеются интеграции к Behavior Designer?
Буду дико благодарен
179 884028
>>84021
1200р!
180 884048
>>84021
Майк Гейг, плез.
image.png4 Кб, 349x129
181 884062
Пацаны, если я в компоненте "А" запущу levelProgress.changed.RemoveAllListeners(),то от changed отпишется только компонент "А", или не только он и все остальные, кто был подписан на levelProgress.changed.AddListener, то есть, сломаю всю систему?
182 884065
Я тупанул, я почти всегда подписывался на анонимные функции, как на скрине, типа короче и красивее (ебать дебил). И столкнулся с проблемой, что надо отписаться. А чтобы отписаться надо передать метод, а у меня, сами видите, не метод, а пустышка анонимная. Которая теперь всегда будет выполняться, даже когда компонент отключен/удален.

Короче, чтобы везде не рефактирить, я бы хотел в OnDisable компонента "А" отписаться от всего, на что он был подписан. Но от подписок на лямбды не избавиться, не так ли
183 884078
>>84065
Хорошим тоном является всегда отписываться, удобнее это делать в OnEnable(), OnDisable() соответственно.
184 884096
Что скажете про https://metanit.com/sharp/tutorial/ для изучения c# с 0?
image.png95 Кб, 783x552
185 884097
водичку?
186 884122
>>80622 (OP)

> Разработка игр на Unity 2018 за 24 часа Майка Гейга


cаму книгу нашёл, а где файлы с прилагаемого дисочка взять..
187 884125
>>84122
Внезапно на оф сайте книги.
188 884127
>>84122
отбой, они по ссылке в книге оказывается(кто вообще читает предисловия).
189 884128
>>84125
да, спасибо, мне такая мысль почему-то только после написания поста в тред пришла (Как-то часто так случается).
190 884156
>>84062

>levelProgress.changed.RemoveAllListeners()



Это уберет все подписки на changed.

И раз такое дело, надо подушить тебя теорией, потому что такие вещи надо понимать

Ты когда дешаешь levelProgress.changed.RemoveAllListeners() - просто вызываешь метод без аргументов. Как по твоему внутри этого метода можно узнать, что его вызывал компонент А? Ответ - никак.

>>84065
С UniRX такое удобнее делать.

>>84096
Норм, но обязательно практикуйся, а не просто читай. Пробуй пкреписать примеры оттуда и реально понять как они работают, что-то поменять, поэксперементировать.
image.png23 Кб, 310x264
191 884213
В книге при создании материала написано выбрать шейдер СТАНДАРТ, то если его выбрать, то текстура в ядовитый розовый превращается. ЧЗХ? Если не трогать, то норм. Чот поменялось что ли за время с момента выпуска книги?
192 884214
>>84213

> Чот поменялось что ли за время с момента выпуска книги?


Ну смотри. Полное название этой книги звучит так:

>Разработка игр на Unity 2018 за 24 часа


То есть, книга написана на версию 2018. Актуальная версия Юнити - 2022.3. Между выпусками - четыре года. Много ли изменилось с тех пор? Да дохуя всего.

А про материал не знаю.
193 884217
>>84213

>Разработка игр на Unity 2018 за 24 часа


>Unity 2018



Пчел, ну ты конечно надмозг.
194 884244
>>84213
Так у тебя навеоное проект urp
195 884283
>>84217
я и спросил - чот поменялось?
изображение.png25 Кб, 388x417
196 884332
Я заебался уже. Делаю снаряд, но по какой-то причине Rigidbody не реагирует на код - падает из-за гравитации(или нет, если отключить), а на код не реагирует.
Пытался так менять
this.Rbody.AddForce(Vector3.up 1000000, ForceMode.Impulse);
и
prokectile.Rbody.velocity = Vector3.up
1000;
(нормальные вектора тоже ставил).
При это объект не кинематик. Прикладываю картинку с настройками ригидбоди
197 884377
Кто нибудь делал чтобы все враги и все союзники за одну джобу находили ближайшую к себе цель - враги находили ближайшего союзника или игрока, союзники находили ближайшего врага?
Не могу нагуглить в каком направлении копать, надо не найти тупо один раз ближайшего, а именно чтобы все активные юниты нашли ближайшего
198 884379
Сорян за нубский вопрос, вот у меня есть класс enemy, есть дочерний fighter.
У файтера есть метод, где обрабатывается получение урона.
Но нанесение урона сделано так, что пуля находит родительский класс енеми и меняет его переменную damage, потом уже в файтере происходит if (damage!=0f) {...}
Я понимаю, что это не лучшее решение, а как правильно? Как сделать так, чтобы метод в дочернем вызывался при том, что пуля попадает в родительский?
199 884394
>>84379
вполне нормальный подход если пулей много, бесплатный throttling
200 884395
>>84394
троттлинг процессора или что?
image.png94 Кб, 1286x603
201 884410
image.png22 Кб, 703x295
202 884444
как получить все сцены? залупа нал выводит
204 884506
Есть моб. У моба есть параметры (хп, мп, дамаг, скорость атаки етц).
У моба есть методы (найти ближайшую цель, получить урон,).
И у моба есть поведение (патрулировать, преследовать, етц).

С точки зрения ООПидорства, лучше запихать все это в один скрипт или сделать отдельно скрипт с параметрами и отдельно с поведением/методами, с наследованием параметров?
205 884507
>>84377
Что значит "за одну джобу"?

Вот кривой скрипт поиска ближайшей цели

GameObject [] enemy;
GameObject closest;

public string nearest;

void Start() {
enemy = GameObject.FindGameObjectsWithTag("Enemy");
}

GameObject FindClosestEnemy() {
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in enemy) {
Vector3 diff = go.transform.position - position;
float curDistance = diff.sqrMagnitude;
if(curDistance< distance) {
closest = go;
distance = curDistance;
}
}
return closest;
}

void Update() {
nearest =FindClosestEnemy().name;
}
205 884507
>>84377
Что значит "за одну джобу"?

Вот кривой скрипт поиска ближайшей цели

GameObject [] enemy;
GameObject closest;

public string nearest;

void Start() {
enemy = GameObject.FindGameObjectsWithTag("Enemy");
}

GameObject FindClosestEnemy() {
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in enemy) {
Vector3 diff = go.transform.position - position;
float curDistance = diff.sqrMagnitude;
if(curDistance< distance) {
closest = go;
distance = curDistance;
}
}
return closest;
}

void Update() {
nearest =FindClosestEnemy().name;
}
206 884514
>>84506
если тебе нравятся классы на 500+ строк, то хуярь прям всё в апдейте
207 884520
>>84507

> Что значит "за одну джобу"?


Job System знаешь?

> скрипт


Это дефолтный поиск ближайшего, я так и сделал, и у меня вот этот код (только файнд гейм обджекта нет, так как есть лист всех врагов/союзников) повторяется на 200 противниках и 200 союзниках и чет не очень оптимизировано выглядит. Я думаю, должен быть более правильный подход.
208 884521
>>84497
Вот это выглядит как что то полезное, но почему опять они не отделяют сраный екс от джобов?
209 884537
Анончики, а откуда вы ворованные ассеты качаете? На cgpeers нахожу только старое.
Заметил что некоторые сайты покупают ассеты, а потом продают к ним доступ через платные файлообменники.
Я бы даже за платный файлообменник заплатил, покупать ассеты за сотни денег жаба душит.
210 884538
>>84537
Есть всего одна главная помойка
211 884541
>>84514
Тогда будет 5 классов по 100 строк, вместо одного...
212 884551
>>84506
Зависит от проекта(где бы ты в теории что мог бы переиспользовать сейчас и в будущем) и от его архитектуры

Но это точно не один класс должен быть в любом случае
213 884566
>>84538
Какая именно помойка?
214 884584
каджиды.mp49,3 Мб, mp4,
576x1024, 0:39
215 884670
В главном меню есть кнопки которые вызывают панели (старт, настройки и т.п.). Каждая панель при нажатии Esc проверяет свое состояние в апдейте и если открыта, то закрывается:
void Update()
{ if (Input.GetKeyDown(KeyCode.Escape && Panel.activeSelf)) { Exit(); } }
Еще есть отдельный скрипт который при нажатии Esc проверяет состояние всех панелей и если они все неактивны, то вызывает плашку с вопросом о выходе из игры. Вроде бы все просто...
Но прикол в том, что все эти скрипты обрабатываются в хуй знает какой последовательности. И при единичном нажатии Esc, может сначала произойти закрытие открытой панели и в этом же тике пройдет проверка, что все панели закрыты и сразу же вылетит панелька для выхода из игры. А может сработать как задумано и единичное нажатие Esc только закроет открытую панель. А для выхода надо будет нажать Esc еще раз.
Как вообще обходится такая специфика движка? Да, знаю, что можно использовать задержки, но там тоже есть пиздец какой большой подводный камень
216 884673
Помогите ньюфагу - почему я не могу двигать обьект, когда у него внутри есть дочерние обьекты? Как его двигать тогда?
217 884680
>>84673
Стрелки наверное где-то сбоку
218 884682
>>84680
А какой кнопкой можно эти стрелки посередине модельки сделать?
219 884690
>>84673
меня эта хрень тоже бесит
220 884719
>>84670

> Как вообще обходится такая специфика движка?


Грамотной архитектурой.

Раз есть "гонка", значит что нужно сделать? Правильно, сделать проверку нажатия и выбор нужной логики в одном месте.
221 884720
>>84673
Выдели только капсуль
222 884723
>>84670
Создай одну функцию, которая вызывается при нажатии и сначала проходи по всем панелям и проверяй их. Если они открыты - закрывай, если ни одной закрытой не было - там же вызывай выход из игры.
223 884725
>>84673
Выделяя несколько объектов стрелки рисуются где-то между ними, очевидно что у других двух координаты хуй знает где на сцене, сделай у них по 0.0.0.
w8C2oExDVq4.jpg156 Кб, 1280x853
224 884729
>>84719

>Грамотной архитектурой


К сожалению, любая грамотная архитектура превращается в полный пиздец, когда начинаешь вносить в нее незапланированные изначально изменения. А такие изменения неизбежны, если только ты не делаешь точный клон чего-то по заранее известному шаблону
>>84723

>Создай одну функцию


управление отдельными панелями раскидано по отдельным классам и анально огорожено от внешнего доступа (принцип ООПа, да это он самый)
В итоге сделал костыль на проверку с микрозадержкой для кнопки выхода. Но хотелось бы каких-нибудь индексов для скриптов чтобы задавать им очередность выполнения как раз для таких случаев
225 884732
>>84729

>Но хотелось бы каких-нибудь индексов для скриптов чтобы задавать им очередность выполнения как раз для таких случаев


Так вроде можно настроить выполнение
https://docs.unity3d.com/Manual/class-MonoManager.html
226 884737
>>84670
Чел для кого придумали менеджеры?
Зачем ты обрабатываешь нажатия в разных объектах?
У тебя буквально их пара должна быть, для интерфейса, для игрового объекта и если уж нужно что-то специфичное еще для чего-то. Всё.
Всё делается удобно и красивого в одном скрипте в котором хранятся ссылки на следующие объекты в которых идёт принятие сигнала.
227 884740
>>84737

>Зачем ты обрабатываешь нажатия в разных объектах?


Ну, например, у меня в панели старт есть еще 4 подпанели которые тоже должны реагировать на нажатие Esc причем со своей логикой, т.к. там есть и сетевое подключение, которое нужно еще грамотно разорвать
Я понимаю, что в случае простой игры проще запихнуть все в 1 менеджер, но тут не тот случай. Здесь же я просто охуею обеспечивать доступ с десяткам параметров отдельных панелей, которые к тому же имеют разные состояния во времени
>>84732
ага спасиб, кажется то что надо
228 884741
>>84729

> К сожалению, любая грамотная архитектура превращается в полный пиздец, когда начинаешь вносить в нее незапланированные изначально изменения. А такие изменения неизбежны, если только ты не делаешь точный клон чего-то по заранее известному шаблону


Неа

> управление отдельными панелями раскидано по отдельным классам и анально огорожено от внешнего доступа (принцип ООПа, да это он самый)


То что ты инкапсулировал и сделал классы с единственной ответственностью, еще не значит, что ты сделал правильные классы, более того есть даже индикатор того, что сделал ты неправильно(костыли с задержкой)

> В итоге сделал костыль на проверку с микрозадержкой для кнопки выхода.


Пиздец

>>84732
Пиздец х2
кит.jpg838 Кб, 1200x802
229 884744
>>84741

>еще не значит, что ты сделал правильные классы


У меня соло разработка. Тут не требуются "правильные" классы с точки зрения общепринятых стандартов, чтобы пришел другой разраб и сразу все понял, а третий разраб не смог куда-то там залезть и для этого нужно тотально все огородить 10 раз.
Мне нужен рабочий код, оптимизированный, без багов, простой и понятный лично для меня. Костыли есть, но только там где без них реально никак - они жестко привязаны к нужному месту и подробно описаны в комментариях. Да в идеале нужен "правильный" код, но в соло разработке на него нет времени, к сожалению
230 884746
>>84740

>Ну, например, у меня в панели старт есть еще 4 подпанели которые тоже должны реагировать на нажатие Esc причем со своей логикой


Не вижу никаких проблем, вообще странно что по твоему мнению менеджеры где всё по порядку идёт и правильно, это не удобнее чем куча всего что само реагирует и обрабатывает это дело, да еще и со своей логикой.

>что в случае простой игры проще запихнуть все в 1 менеджер


Как раз чем игра шире, тем всё должно быть структуирование, и это маленькие игры могут позволить чтобы всё работало как угодно, откуда угодно.

На мой взгляд у тебя большие проблемы с архитектурой, и ты постепенно накидуешь новые уровни абстракции без рефакторинга старого кода.
231 884747
>>84744
Да нет же, правильный код наоборот сокращает время написания и уменьшает количество багов
232 884777
>>84670

>панель при нажатии Esc проверяет свое состояние в апдейте и если открыта, то закрывается


А в юнити нельзя шорткаты для кнопок делать? И потом событие срабатывания кнопки обрабатывать.
изображение.png96 Кб, 2039x331
233 884922
Ну и как это чинить? Я просто попытался скомпилировать на андроид свой проект...
234 884924
>>84922
Гуглить не пробовал? Или как ты сумел запустить юнити с таким айкью?
235 884929
>>84922
Изучи ошибки. Кликай на каждую и читай что там написано. Когда увидишь реальную причину - гугли её.

Целиуом ошибку в гугл вставлять не надо, скорее всего тебе надо искать что-то типа gradle failed with error: и там будет реальная ошибка написана.
236 884931
>>84924

>как ты сумел запустить юнити с таким айкью?


Какое дружелюбное юнити-cumмьюнити...

>>84922

>Exception while marshalling


>Q:\Program Files\Unity Editor\...\package.xml


>Probably the SDK is read-only


Первожу на русский:

>Исключение во время маршалинга файла...


https://ru.wikipedia.org/wiki/Маршалинг

>Вероятно, папка с SDK только для чтения


Причина: в Windows папка Program Files закрыта от записи простым пользователям.
Решения:
1. Переустановить в другую папку, типа Q:\Unity\...
2. Запускать от имени администратора ПК.
3. Зайти в свойства папки Unity Editor и на вкладке безопасности разрешить запись для пользователей.

мимо из самого дружелюбного треда /gd/
изображение.png76 Кб, 1995x260
237 884951
>>84931

>Какое дружелюбное юнити-cumмьюнити...


Ну он прав, я просто от бессилия пост сделал, заебался если честно, постоянно отлавливал ошибки, и вроде все заработало, решил попробовать билд сделать, и на тебе какая то пиздота вылезла.
Права я выдал, но полезли другие ошибки.

Ну сейчас гуглю с лицом лягушки, даже чат гпт подрубил...
238 884963
>>84931
Бред

>>84951
Чел я ж написал что делать >>84929
Ты когда нажимаешь на ошибку, у тебя там ее полный текст пишется, а ты опять без деталей скрин кидаешь.

В общем, первое что надо сделать - переустановить юнити и сразу постааить чекбокм что надо установить поддеожку андроида
239 884968
>>84951
а зачем ты обновлялся до 2022 ? вот просто нахуя?
240 884971
>>84968

>а зачем ты обновлялся до 2022 ? вот просто нахуя?


Потому что она вылезла как рекомендованная? Я юнити ковырять вчера только начал.
Окей, на какой сейчас версии все сидят? На 2021?

>>84963

>Чел я ж написал что делать


Я делаю, делал. Лог говорит об синтаксических ошибках в джава коде, но это абсурд, я же его не редактировал.

Да, я сейчас все переустанавливаю, посмотрим что будет.
241 884973
>>84971
да, качай 2021, это классика хрюнити, стабильной 2022.3 станет может быть через несколько месяцев
242 884978
>>84973
Лол, я скачал 2023 версию, и на ней проект компильнулся вообще без проблем. Может на 2023 сидеть тогда уж?
243 884980
>>84978
не-не-не 2023 уже перебор, почитай отличия версий и если тебе не нужны какие-то штуки специфичные для определённых версий то качай 2021
244 884981
>>84980
Ладно, удаляю все, начну заново на 2021 версии.
Спасибо!
изображение.png411 Кб, 2560x1361
245 884986
2021 версия, пустой проект - не может компильнуться, сразу же сыпет ошибками. Охуенно.
246 884993
>>84986
Ну вроде нагуглил.
https://forum.unity.com/threads/android-build-issue-switching-from-2021-3-to-2022-3.1443835/

Вот здесь это починил, сделал тоже самое, но не завелось - ругалось на \.android\debug.keystore , удалил этот файл и сбилдился проект.

Победа, но осадок остался.
Теперь что получается, буквально после каждого пука в едиторе билдить и проверять что все работает?
247 884994
>>84993
Вот здесь это починили*
248 884997
Нах вы пытаетесь делать игры если такие тупые? Если вы не в состоянии решить ошибки которые пишут прямым текстом в чем проблема, то таким даунам не место в геймдеве, и это не шутка. Впереди столько еще потом будет проблем, что это будет нереально.
Скорее всего это тролли.
249 885001
>>84997
Да не трясись ты.
250 885003
>>84993

> Победа, но осадок остался.


Базовичок, малаца

> Теперь что получается, буквально после каждого пука в едиторе билдить и проверять что все работает?


Я очень много ебался со всякими проблемами с билдами под андроид, могу сразу посоветовать вот что:

1. Билдить после каждого пука - не надо. Когда будут проблемы - тогда решишь. А будут они только когда разные сдк будешь наваливать.

2. Иногда просто нужно очистить кеш гредла в аппдате или удалить папку library

3. Иногда бывают конфликты или проблемы нативных либ которые подтягиваются под разные сдк, в этом случае надо кастомные гредл файлы добавить и там прописать какие-то настройки или какую аерсию лиюы подтягивать - тут уж в зависимости от проблем надо гуглить что именно, как правило в консоли в gradle build failed надо смотреть че ему не нравитсч и гуглить это

4. Сразу лучше создай тестовый кейстор для билдов, через паблишинг настройки во вкладке плеер. Иногда могут быть проблемы без этого
251 885004
>>84997
Хуйню несешь, платформо-специфичные ошибки не очевидно как решать
252 885005
>>84978
Опасно, но можно.

В 2021 все основные проблемы только к 2021.3.18 примерно пофиксили. 2022 когда последний раз чекал была поломана, но это до релиза лтс было
253 885007
>>85004
Окей, а нахуя ты лезишь в геймдев тогда? Или ты думаешь твоя очевидная ошибка это вообще хоть какой-то челлендж при разработке?
Удел таких овощей это максимум тестером быть.
254 885011
>>84997
Рот закрой. Люди с образованием психолога, на сраном втором констракте делают и успешно продают игры.
Со временем он разберётся.

мимо
255 885014
>>85004

> не очевидно


>>85007

> очевидная


Читать то хоть умеешь?)
256 885015
Есть какая-нить игра/ассет/статья/видос где реализован расчет динамики жидкости и газа?
Хочу спиздить ознакомиться с алгоритмом расчета, но пока не могу найти такого, только статьи ученых-моченых для понимания которых надо прочитать еще сотню статей
257 885018
>>85015
ну вот пример с жидкостями
https://github.com/keijiro/StableFluids
258 885019
>>85014

>Читать то хоть умеешь?)


Тупая чушка. Если ошибку можно загуглить она очевидная. А вот когда ты встретишься с чем-то специфичным что встречалось только у тебя, то вот тогда, и будет та проблема с которой стоит подумать.

Пиздец, откуда эти животные по вылазили? Из какого загона?
259 885036
Какое же говно ёбаное юиэлементс. Вот тебе херова гора стилей по умолчанию. Да, ты можешь их посмотреть и ебаться, чтобы вручную переопределить. Что-что? Не всё можно посмотреть? Ахахах, ну конечно же, не всё, мы же спрятали дефолтные ассеты, потому что иди нахуй, вот почему. А актив стейты залупу тебе за воротник положат, потому что их даже в редакторе посмотреть нельзя. А ещё не все маус эвенты работают. Охуенно же, блядь, чтобы курсор сменился со специфичного для юиэлемента обратно на дефолтный мне приходится создавать юиэлемент под курсором, вызывать вручную на нём маусовер и дестроить в том же кадре, чтобы не мешал. Просто, блядь, потому что по-другому эта залупа не работает. Да, баг репорты этой хуйни есть. Но дрочерам, которые сосут свой хуй, нахваливая каломенты - похуй.
260 885187
Подскажите раку, генерирую для каждого объекта свою текстуру, но рендерится в итоге одна. Как для одного шейдера передавать разные текстуры разным объектам?
Тупо в цикле у меня не получается

foreach (var (rma, tempChunkData) in
SystemAPI.Query<RenderMeshArray, RefRO<TempChunkData>>()
.WithAll<TempChunkMeshTag>()) {

Texture2D tempTexture = getTexture2D(tempStorage.T,
tempChunkData.ValueRO.startAtPosition,
tempChunkData.ValueRO.endAtPosition);
Material mat = (Material) rma.Materials.GetValue(0);

mat.SetTexture("_TempTexture", tempTexture);

tempTexture.Apply();
}
261 885233
>>85187
C этим разобрался - оказалось что если спамить объекты через ецс, то у них общий материал, который потом хуй поменяешь. Как ворк араунд - создавать разные материалы на этапе создания и потом уже совать в них текстуру.
262 885257
Новый квесшен: Можно ли как-то посылать сразу несколько текстур вместо одиночных Apply()?
Знаю что можно послать сразу несколько текстур на один материал, а вот примеров чтоб несколько на разные материалы не видел.
263 885267
>>85257
Если ты не можешь решить задачу - то ты делаешь что-то не так. В подавляющем большинстве случаев не требуется удалять гланды через анус. Сделай в своём спавнере массив материалов и выбирай из него.
264 885308
>>84980
И почему же 23 это перебор?
265 885355
У меня в эдиторе есть существо
У него статы загружаются из сейв файла
Но даже если у него 0 хп и он мертвый он все равно появляется, потому что он стоит в эдиторе

Могу я как-нибудь сделать так, чтобы моб был в эдиторе, но появлялся только при определенном условии.

Структура объектов у меня следующая:
1. TestScene
1.1. Enemies
1.1.1. Dummy

Пока что из возможных вариантов:
1. Уничтожать объект, если он не подходит под условие (кринж)
2. Скрывать объект, если оне подходит под условие (кринж поменбше)
3. Писать в JSONe позицию существа и остальную инфу, затем создавать только живых (совсем маленький кринж жестб)

Итого все варианты кринжовые, последний приемлемый, но в хочется взаимодействовать с гуи, а не писать все ручками.
266 885357
>>85355
Так флаги отображения и здоровья это разные структуры.
Ты определись, у тебя здоровье влияет на то что моб существует или нет.
Обычно есть отдельный флаг видимости и создания. Ты либо создаешь моба и скрывашеь его, либо нет. А здоровье какое это вообще должно быть фиолетово, это стат из более высокоуровневой архитектуры не влияющие на состояние моба.
267 885361
>>85357

>Ты либо создаешь моба и скрывашеь его, либо нет


Разве он не будет прогружен и находится в памяти на сцене все время?
268 885363
>>85355
Чем тебе не нравится раскидывать по уровню не мобов, а спавн поинты для этих мобов? Я бы сделал максимально лениво, чтобы спавнер мобов находил в сцене объекты с нужным компонентом, а в самом компоненте какой-нибудь дропдаун список с типом моба, хп и прочей хуитой. И без единого апдейта.
269 885365
>>85363
А можно сделать так, чтобы было видно в эдиторе куда я поставил НПЦ? Я могу задать им позицию и спавнить префабы, это не проблема, но они будут появлять только в рантайме.

Можно отрисовывать гизмо по позициям, но возможно существуют решения попроще
270 885367
>>85365
Так а чем тебя гизмо не устраивают?
https://docs.unity3d.com/ScriptReference/Gizmos.DrawMesh.html
Есть даже вот такая хуйня. Только сразу предупрежу, что там с материалами хуйня, не переназначишь с дефолтных гизмовских.
Плюс у меня есть решение "через жопу". Тупо ставишь по уровню нпц и не паришься. Перед билдом ждёшь особую кнопку, скрипт проходится по уровню, собирает данные о позиции каждого нпц и дестроит префаб. Муторно.
Без названия.jpg6 Кб, 263x192
271 885370
Сделал в игре всплывающие панели, которые можно либо закрыть через Esc, либо принять через Enter. Все прописал, тестирую...
При нажатии на Enter с какого-то хуя также происходит нажатие на последний нажатый объект с компонентом Button. Даже не на тот на котором стоит курсор, а тупо на любой последний.
Вопрос - нахуя это сделано, нахуя это сделано по умолчанию и как это выключить нахуй? Кому вообще пришла мысль прописать это в коде движка для срабатывания на автомате? Просто ебаное автоматическое срабатывание на нажатие кнопки, которого никто не просил. Что-за пиздец, блять.
272 885373
>>85370
потому что ты даун ёбаный и не разобрался в вопросе, эти кнопки по дефолту прописаны и на них реагирует инпут модуль
Коточел.mp42,1 Мб, mp4,
720x720, 0:28
273 885376
>>85373
Я бы мог понять, если бы при нажатии на Enter срабатывала та кнопка на которой курсор, но, блеать, не последняя нажатая. Не могу представить кому в голову пришла мысль сделать такое, причем сделать по умолчанию, сука. Просто в ахуе, въебали хуй пойми что на автомате, а я должен искать, где это говно выключать
274 885379
>>85370
А ты ещё пробел поклацай. Это сделано не просто так, а для реализации навигации по кнопкам через таб. После нажатия на твою кнопку она становится "выбранной", потому это всё и происходит. Сделано так буквально в каждой версии юнити-интерфейсов. У uielements есть, например, свойство focusable, которое можно выключить, чтобы это не срабатывало. Но если фокусейбл выключить у текст филда, то он вообще перестанет работать. Вот такая залупа эти каломенты. У старого гуя была опция в редакторе, которая позволяла выключать навигацию. C юи тулкитом даже не знаю, что посоветовать. Кроме, разве что, этого
https://docs.unity3d.com/Manual/UIE-Events-Handling.html
А, ну или да, выключить весь сабмит по энтеру\спейсу и радоваться, что просто охуеть.
18906640.jpg54 Кб, 640x479
275 885432
>>85379

>навигации по кнопкам через таб


Это было особенно популярно во времена расцвета текстовых РПГ и отсутствия компьютерных мышей, как таковых в природе. Нахуя они тащат этот анахронизм из версии в версию причем, блеать, во включенном по умолчанию виде для меня большая загадка. С учетом того, что игр где успешно реализована эта spoiler]сукаблять "фишка" едва ли больше процента. Я даже уверен, что разработчики хуевой тучи платформеров для стима, с удовольтвием бы отпиздили этого хранителя компьютерных традиций за одну только необходимость отвязывать в своих играх от кнопки прыжка всю ту хуиту, привязанную им по умолчанию к кнопке space.
Что особенно иронично - переключение через Tab у меня нихуя по умолчанию не работает даже в меню.

>разве что, этого https://docs.unity3d.com/Manual/UIE-Events-Handling.html


спасибо, но не уверен, что пока хочу глубоко в это нырять, т.к. все эти изменения режимов нажатия в дальнейшем могут потенциально привести к большим проблемам при портировании на устройства с тачпадом

>uielements есть, например, свойство focusable, которое можно выключить


Это интересно, у меня буквально UImage всего с двумя компонентами Image и Button. Где искать это focusable?
276 885492
https://assetstore.unity.com/packages/tools/utilities/dungeon-architect-53895
Кто то работал с этой фигней? Там можно как то кастомизировать "шанс" появления маркеров? К примеру если я хочу чтобы у меня было больше стен, потолок везде был. Как это сделать? В документации есть статья про паттерны, но там я так понял только про наложение еще одних маркеров к существующим.
277 885500
>>85432

>переключение через Tab у меня нихуя по умолчанию не работает даже в меню


Cтранно. Но похуй. Ещё советую тестировать весь гуй в билдах, а не редакторе. Так уж получается, что редактору поебать на настройки инпутэкшенов. Я прихуел в какой-то момент, когда в редакторе всё работало, а в билде не работал вообще весь гуй.

> могут потенциально привести к большим проблемам


Вряд ли на самом деле, но дело твоё. По идее, ты можешь в обработчике сабмита проверять, что сейчас выбрано и нажимать нужный анус.

>Где искать это focusable?


https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/script-SelectableNavigation.html
Но если максимально просто, то я бы ебанул
EventSystem.current.currentSelectedGameObject == null
И забил хуй на всё это говно.
s1.jpg142 Кб, 1162x790
278 885552
Можете подсказать самый лучший курс или YouTube канал по Unity на русском?
Понимаю что именно для таких как я написана шапка - но может есть идеальный курс, где все очень хорошо разжевано?
279 885557
>>85552
Нету таких курсов, я к примеру неделю изучаю юнити, и просто беру и конкретно по задачам изучаю моменты.

Придумай для себя простую задачу, к примеру запилить демку в небольшой локации с мобильным тач управлением от 3 лица, изучай материал по этой теме, далее начни делать "мобов" и как с ними взаимодействовать оружием, это делой, и т.д.

Ты вообще для чего юнити хочешь изучать?
280 885559
>>85557
Хочу запилить свою Vampire Survivors, но с особенностями (возможно создам здесь тред, когда игра будет существовать хоть в каком-то виде) - и если она не стрельнет и не принесет мне миллионы долларов, то попробую с этим проектом найти работу.
281 885560
>>85559
Опыт в программировании у тебя есть то хоть?
282 885561
>>85560
Я учил фронтенд и бэкенд, (JS React и Java Spring), но ничего толком не написал.
Курсы по Java смотрел по многу раз и от разных учителей, смотрел курс по C# от Сакутина - так что мне понятно что происходит, когда пишу скрипт.
284 885567
>>85557
>>85560
https://www.youtube.com/watch?v=46xm13ZaabA&list=PLtosjGHWDab682nfZ1f6JSQ1cjap7Ieeb&index=3&ab_channel=Branno
Еще мне очень понравился данный курс, но он на Godot'е.
285 885576
>>85567
>>85564
>>85561
Норм, удачи тебе! Желаю чтобы ты исполнил свою мечту.
286 885581
А у всех вкатунов может чатик-конфа какая нибудь есть?
287 885584
>>85576
Спасибо, тебе тоже удачи.
288 885640
>>85564

>(правда они на английском)


ставь янд браузер там переводчик голоса есть, либо просто перевод титров используй в обычном браузере
289 885645
Мне надо, чтоб камера следовала за игроком только вверх.
ЧТоб когда игрок падает, камера не летела за ним в низ. Юзаю cinemachine, но чет не могу настроить зоны как надо. По идее надо чтоб dead zone была несимметрична и вниз уходила до конца экрана.
Как так сделать можно?
Ничего лучше дублирования игрока невидимой куклой которая скриптом идет только вверх не придумал
290 885648
>>85645
так добавь условие, позиция игрока ниже нового минимального уровня - отключаешь лок.
image.png26 Кб, 692x353
291 885656
>>85648
не понял, что ты имел в виду, но натолкнуло на мысль менять оффест, работает отлично выглядит не отлично
292 885674
>>85656
У тебя камера залочена следовать за персонажем, если он опускается ниже нового минимального уровня (с каждым прыжком ты его должен обновлять я полагаю), то просто открепляй её.
293 885741
>>85581
В телеграме есть чат с вопросами по юнити
294 885744
>>85741
А где ссылку взять?
295 885902
>>85744
t.me/unity3d_ru
296 885912
Аноны, может кто скинуть ассет "Background Effects" или "Background Bokeh VFX", а то мой аккаунт на cgpeers деактивировали.
297 885930
Кто знает как можно сделать оружие которое стреляет краской и оставляет следы на поверхности?
298 885942
>>85930
Да, Нинтендо знает.
299 885943
300 885971
>>85930
Хм... Кидать снаряд с коллайдером, при столкновении спавнить декаль?
301 886105
пацаны, как запихать ссылку на префаб в класс, который не монобех?
class Zalupa
{
public void CreatePosos() {
Instantiate(pososPrefab)
}
}
302 886115
Сап, юни-аноны. А как вы решаете вопросики с оптимизацией тяжелых 3д-моделей?
У меня открытый мир, а не кишка, поэтому вопрос стоит очень остро. Сразу скажу что геометрия у меня обычно статическая, проблемы возникают из-за количества объектов.

Вот в 2022 версии можно открыть файл, скопировать модельку, упростить ее и назвать _LOD1 и так далее. Тогда при импорте файла ЛОДы автоматически подтянутся. Вы так делаете? Или удобнее скачать какой-нибудь из плагинов для автоматических ЛОДов?

Далее вопрос с коллайдерами. По логике вещей можно самый последний ЛОД взять и сделать его convex mesh collider. Но форма бывает разная, convex не всегда нормально строится и производительность его все равно хуже чем у примитивов. Вы так делаете? Или вручную жопу рвете? Или используете что-то вроде Technie Collider Creator?
304 886207
>>86202
У меня вопрос. Хорошо мешь объединился, но как быть с коллизиями и коллайдерами? Например если объединить меш горы или дерева, то как движок различит, что дерево а что гора?
305 886248
>>86207
Гору с деревом объединять не надо это супер тупо
306 886302
>>86202
Понял, спасибо.
А в чем выгода Mesh Combiner по сравнению с обычным батчингом статики? https://docs.unity3d.com/Manual/static-batching.html Мне нужно именно статичные объекты оптимизировать.
Алсо, что используешь для коллайдеров?

>>86207
Думаю что движку похуй. У тебя же отдельные коллайдеры на все.
307 886510
>>80622 (OP)

>Разработка игр на Unity 2018 за 24 часа Майка Гейга


Есть ссылка на скачивание? В гугле не могу найти
308 886511
Неужели я пишу настолько плохой код, что не достоин работать больше чем за 20к?
309 886514
>>86511
Код у тебя дерьмовый, но оценивается скорее способность решать задачи. Если ты можешь при помощи стрёмного кода сделать игру, которая будет работать, то ты вполне нормальный кодер. Как минимум для джуна. И явно не на 20к, а хотя бы 60-80.
310 886517
>>86514
Где найти человека, который мне будет платить не 20к?
311 886522
>>86511
Учитывая что половина кода со скринов написана не тобой а твоя половина выглядит сильно хуевее то да, более 20К давать тебе это преступление.
312 886530
>>86522
Чт оя тебе сделал что ты порвался? Или тебя сегодня обидели другие люди?
313 886540
>>86517

> человека


Можешь начать с gamedev.ru. Размести там резюме + откликайся на вакансии, которые там периодически размещают. Хай-лвл - это пойти на линкедин и добавить себе в контакты ХРюш, чтобы чаще выпадать в поиске.
314 886546
>>86530
Если тебе нужны были слова утешения то ты пришел не по адресу.
315 886564
Бля, аноны, сретесь по поводу какой-то воображаемой зарплаты, а на вопрос так и не ответили >>86302

>в чем выгода Mesh Combiner по сравнению с обычным батчингом статики?

316 886565
>>86540

> пойти на линкедин и добавить себе в контакты ХРюш


Меня там никто вообще не доавбляет, даже пиксельные художники лоу тира.
317 886607
>>86511
Чисто по коду на 20к тянешь. Даже больше, вполне на 40к+ могут взять а теории.

1. Сделай хотя бы одну завершенную игру и выложи на итч/гугл плей/яндекс игры/стим/да куда хочешь, чтобы ты мог скинуть на нее ссылку.

2. Желательно выложи ее сурс код на гитхаб. Можно ссылку на гитхаб вставить в резюме, а можно не вставлять, и кидать только если попросят пример кода.

3. Долбись на хх в вакансии где указано 1-3 года опыта. Если опыта нет - можешь выдумать чтобы 1 год было, ну 3 месяца хотя бы, работу над своей игрой тоже впиши
318 886613
>>86511

>Неужели я пишу настолько плохой код, что не достоин работать больше чем за 20к?


КАК тебе могут платить 20к?
Я тупой слесарь в порту мне и то платят 50к, могут и больше но я по выходным не хочу работать. Но здесь человек, который впринципе понимает код получает меньше чем, чем.. да блядь у на уборщицы за 30у колучают
319 886614
>>86607

> Сделай хотя бы одну завершенную игру и выложи на итч/гугл плей/яндекс игры/стим/да куда хочешь, чтобы ты мог скинуть на нее ссылку.


Я выпустил 5 игр в гуглплей и одну из них в Стим. У самой популярной 15к загрузок, у другой 16к, у третьей 5к и о ней написали в новостях.

> Можно ссылку на гитхаб вставить в резюме


Она там есть. Но HR не переходят по ссылкам из резюме.

> Долбись на хх в вакансии где указано 1-3 года опыта.


Либо не отвечают, либо отправляют тестового - ботом. После выполнения тестового всегда молчат.
320 886615
>>86613

> КАК тебе могут платить 20к?


Кризис перепроизводства айтишнков.
321 886619
>>86615

>Кризис перепроизводства айтишнков


Скорее долбоебов.
322 886621
>>86614
Ну 5 игр это заебись. Пиши себе год опыта и долбись везде.

> Она там есть. Но HR не переходят по ссылкам из резюме.


Переходят, но не сразу.
Сначала твое резюме должно пройти фильтр.
Потом оно бегло просматривается.
Потом оно подробнее просматривается, на этом этапе ссылки на игры и нужны. Если нихуя нет то это просто скип.

И дальше уже если все понравилось пока что будут собесы или тестовые.

Само собой, когда ищешь вакансии убирай фильтр по региону и кидай везде где удаленка
323 886623
>>86621

> Пиши себе год опыта и долбись везде.


У меня и так есть год опыта (коммерческого, в командах).
324 886638
>>86623
Тогда хуйня какая-то, странно
15850041250980.mp43,5 Мб, mp4,
1280x720, 0:17
325 886650
>>86623
Может у тебя всратая фотка или вообще нет фотки. Хрюшки смотрят и понимают, что перед ними какой-то додик.
326 886655
>>86650
Именно так. Из-за них теперь уродам вход в IT воспрещён.
327 886661
>>86655
Чего? А как они представляют, ноулайферов?
Я просто подумывал перекатится с дно работки на галлеры к тёлочкам, но что то уже тоже начинаю сомневаться, стоит ли. Мало того что я туповат, так ещё и запил, как у Ростовского гопника.
328 886700
329 886710
>>86661
Это решаемо.
Снимаешь самого себя в ломаном Тиктаке с фильтром болд гламур и нарезаешь с ролика фоточек для резюме.
Эйчарки тебе свои нюдсы вместо откликов слать будут.
330 886711
>>86661

> А как они представляют, ноулайферов


В смысле? Да, я ноулафйер, но я работал в компании (где не было HR) над мидкором, и там с этим пробелм не было. А 18-летние дуры строят из себя психологов
331 886737
>>86511
Больше клади хуй на инверсию зависимостей, дольше будешь работу искать.
Ex6Yc7PEnAs.jpg2 Мб, 2160x2160
332 886739
>>80622 (OP)
Парни расшифруйте что этот чед хотел сказать своим тернарным выражением?

motion = (Mathf.Abs(input.x) == 1 && Mathf.Abs(input.z) == 1) ? .7f : 1;

типо этого?

if( (Mathf.Abs(input.x) == 1 && Mathf.Abs(input.z))
{
motion = motion
0.7f;
}
else
{
motion = motion * 1;
}
333 886741
>>86739

>motion = (Mathf.Abs(input.x) == 1 && Mathf.Abs(input.z) == 1) ? .7f : 1;


ну за что калпилятор позволил выблядкам писать так по свински
334 886743
>>86739

>if( (Mathf.Abs(input.x) == 1 && Mathf.Abs(input.z))


Где уже сравнение с единицей проебал? У тебя второе условие в bool превратится. В остальном всё правильно понял, хули.

>>86741
Больше интересно, нахуя так писать? Сам же себе усложняешь понимание в дальнейшем.
7н7.jpg12 Кб, 755x71
335 886752
>>86743
>>86741
Это капча съела знаки препинания
Всё там работает, но нахер я переписал парашу этого понтореза.
336 886766
Посмотрел готовые проекты в гитхабе.
Чет один говнолапшакод, но куча звездочек
https://github.com/topics/fps-game?l=c%23
337 886774
>>86737
Ты про синглтоны? Это понял, сейчас начинаю использовать Zenject. К слову, на той работе где у игры было миллион установок, всё было на синглтонах и DI не использовали.
А мой код HR не смотрят, они даже по ссылкам в резюме не переходят.
338 886788
Вот говорят SOLID, хуе-мое...
Вот например компонент управление персонажем. Согласно solid я должен сделать отдельные компоненты
1. MoveCharacter (параметр CharacterController, публичный метод SetMoveDirection()) - чисто для движения
2. LookCharacter (параметр CharacterController, публичный метод SetLookDirection()) - чисто для вращения
3. JumpCharacter (параметр CharacterController, публичный метод Jump())
4. RunCharacter (параметр CharacterController, публичный метод Run())

Не, ну один класс - одна логика.
И эти классы вообще не должны содержать внешнюю логику, то есть, туда не запихать проверку
if (!game.isPaused) DoThis()
339 886830
>>86743

> Больше интересно, нахуя так писать? Сам же себе усложняешь понимание в дальнейшем.


Это те же долбоебы которые устраивают фокусы с пре/пост инкрементами и декрементами и юзают любые хаки для сокращения написанного кода, потому что долбоебы
340 886832
>>86766
Я сколько не искал - ни разу не видел нормальный проект на гитхабе, одно говнище. А сэмплы от юнити еще хуже.

Хотя вроде говорят та последняя ецс демка с мультиплеером норм написана но я не чекал.
341 886835
>>86788
Ну, те компоненты что ты тут выдумал - это чисто твоя выдумка, это не единственный вариант проектирования по солиду в данной ситуации.

Более того, даже если делать так - все эти классы не обязаны быть компонентами, а должны быть тупа классами.
Ну и само собой должен быть управляющий класс выше, который менеджит текущюю стратегию поведения/вращения и реагирует на паузу.
68747470733a2f2f692e6962622e636f2f4b624e325363792f726567756c617265787072657373696f6e736d656d652e706e67.png388 Кб, 681x437
342 886843
>>86830

>юзают любые хаки для сокращения написанного кода


Вот нахуя? Чисто выёбываться "смотри, как я могу"? Так регекспы любого такого лошка выебут и высушат. Сделать вид, что ты "про"? Так один хуй не про, лол, у тебя ускорение по трём осям умножается на скорость движения. Нажал W и начал падать быстрее, ну чё за хуйня, блядь?
343 886844
>>86843
Ну либо самозванцы которые выебываются этой хуйней перед новичками

Либо джунища которые думают что это заебись и не осознают подводные камни этой хуеты
344 886870
>>86788
Я даже не могу понять, что такое параметричарактертконтроллера лол. Сам то понял, что сказал? В целом описаная логика является какой-то мутной хуйней. В солиде нигде не сказано, что каждый пук должен быть классом.

Да мазафака, прикинь, проверку на паузу нужно делать в другом месте, потому что прикинь лол двигательный код вообще не ебет что такое пауза.
345 886876
>>86870

>параметричарактертконтроллера


[SerializedField]
CharacterController controller;

public void Look(Vector2 input) {
//Крутим переданный контроллр
}
346 886877
>>86876
В терминологии базовой разберись, пчел.
347 886884
>>86788
Почему прыжки и бег это не движение? Ты что, ебанутый?
348 886925
>>86884
Ты прав, бег должен быть в movecharacter
349 886928
>>86884
Тогда и присед движение, и ползание, и лазание - это все движение. Все в один класс пихать? Ты ебанутый?
В runCharacter будет ссылка на moveCharacter, чтобы запустить moveCharacter.Speed(90000)
350 886934
>>86928

>В runCharacter будет ссылка на moveCharacter


лул)))))))))))))))
351 886959
>>86928

>это все движение


Да, это всё движение. Даже падение твоей жопы со стула - это движение.

>Все в один класс пихать?


А нахуя все состояния в один класс пихать? Ты что, ебанутый?
Дали ему state - бери, изучай, пользуйся. Нет, блядь, хочу жрать говно.

>В runCharacter будет ссылка на moveCharacter


Ты ебанутый.
352 886964

>сраные ссаные обоссаные кододебилы соревнуются в своей кододебильности


кек лол хех мда
image.png37 Кб, 424x342
353 887006
спасибо, дядь маркетолог из юнити
unity2.png723 Кб, 1600x900
354 887016
Есть здесь люди, работающие Unity миддлами? На какую зарплату можно рассчитывать через 3 года коммерческой разработки?
355 887026
>>80622 (OP)
Почему это работает? Как он связал два разных скрипта лежащие на разных сценах?
356 887032
>>87006
Да хуйня это всё, у меня за последние два дня юнити крашнулся раз 10 на пустом месте, из-за этого твг дропнул, просто пиздец в ярости.
0.mp41,2 Мб, mp4,
1280x720, 0:03
357 887036
>>87032
краши как-то ещё можно перетерпеть, но вот хуйня с пикрила даже перезаходом не фиксится
358 887039
>>87026
SceneManager.LoadSceneAsync(index, LoadSceneMode.Additive);
359 887040
>>87036
Она должна легко фиксится переносом проекта, скрипта или нужного элемента. В крайнем случаи переустановкой юнити с хабом, а вот внезапные краши сукаблядьебучаяхуйня которая может застать в любой момент.
360 887042
>>87006
Тоже было. Корраптятся файлы CurrentLayout-default.dwlt и CurrentMaximizeLayout.dwlt в папке библиотеки. Берёшь из проекта без глюка и радуешься жизни. Или полный реимпорт.
361 887065
>>87016
Не знаю, но у меня с годом опыта 100к в ооо рога и копыта без четкой организации грейдов
362 887079
>>87039
Можно и без аддитива кста. Но только если он не будет юзать унаследованные из монобеха методы, либо будет помечен донт дестрой он лоад

>>87026
Потому что в шарпе сборщик мусора - класс удаляется только когда на него ссылок нет

Загружаем сцену где на геймобжекте висит MainMenu, далее уничтожаем геймобжект(или выгружаем сцену что повлечет за собой его уничтожение) - ставится пометка что компонент уничтожен, но сам то класс не будет уничтожен пока на него ссылка есть. Поэтому можно коллить его методы. Но при сравнении с null он будет выдавать тру, потому что у MonoBehaviour перегружен метод сравнения для этого

Но это чисто в теории, чтобы ты понимал лайфтайм классов и почему "уничтоженный" экземпляр на самом деле продолжит сщуествовать но чисто в шарпе, вне поля зрения юнити, на практике так делать не надо.
363 887103
>>87016
До 4к баксов.
364 887111
>>87065
>>87103
То есть как в других it-сферах?
А если я английский выучу и в англоязычном рынке счастье попытаю?
Может зарплата побольше быть?
365 887119
>>87111
Я английский уже сейчас знаю норм(B2-C1), но все равно хз как в англоязычный рынок вылезти. Те кто нанимает фулл ремоут разрабов(т.е. без обязательной релокации, а я не хочу релоцироваться) в основном ищут сеньоров у которых 5 лет опыта, а для тех у кого даже 3 года опыта почти ничего нет.

По крайней мере мне так показалось когда я чекал вакансии в сша/германии/франции/швеции/англии, но может я что-то не то или не там искал. Может быть есть те, кто не помечает свою вакансию как full remote а все равно готов взять тебя даже если ты в другой стране оформлен, но я пока не проверял.

Поэтому если нету многих лет опыта чтобы тебя прям хотели англоязычные кабаны нанять, то мне кажется реальнее свою игру сделать и издателя найти.

Мимо >>87065
366 887122
Анон, какие 3д коллайдеры ты используешь для более-менее тяжелых проектов?
Как я понимаю, коллайдер каждого активного объекта в сцене участвует в расчете физики. То есть даже если коллайдер статический и ни с кем не взаимодействует в этот момент.
Этак получается что любой mehs-коллайдер будет очень хуевым вариантом.
367 887176
>>80622 (OP)
Не понятное поведение курсора при отключении его по клавише коавиатуры.

Сап аноны я опять проебал, кто знает почему курсор не отключается при нажатии на клавиатуре
При этом если просто нажать на кнопку мышкой продолжить игру курсор исчезает, но при нажатии ESC ничего не происходит.
368 887181
>>87016
2к баксов по актуальному курсу можешь просить.
Раньше можно было смотреть по https://ru.ingamejob.com/ru/salaries но сейчас там только ua
Еще можно glassdoor чекнуть, но там данных по геймдеву мало
369 887185
>>87176

>но при нажатии ESC ничего не происходит


у тебя как минимум проебана скобочка
370 887186
>>87185
А не, обосрался. Но, типа если весь код одинаковый, то очевидно дебагай непосредственно инпут.
image267 Кб, 669x637
371 887261
Найти русскоязычного крепкого юнити-мидла просто нереально. Даже с зп под $4k/350к рублей. Видимо ебучие мобильные студии пропылесосили весь рынок нахуй. Остались джуны которые окончили скиллбокс год назад, около-мидлы с минимальным опытом и лид-девелоперы с космическим прайсом.
372 887263
>>87261
да, и?
бери скилбоксящего программиста ИЛИ горящего экс-гуманитария с уклоном в гейм-дизайн и натаскивай под свои задачи, выращивай. а как ты хотел. движок движется к стагнации, рыночек порешал
373 887268
>>87261

>скиллбокс


Кто-то ещё покупает курсы у этих разводил? Лол. Я бы не стал брать лоха после скиллбокса, это же явный маркер, что человек долбоёб.
374 887284
>>87261
Крепкий это как? Скинь вакансию
375 887303
>>87261
Мониторю hh на тему удаленки с юнити, нет там вакансий на 4к баксов, максимум 200к рублей на нормальный проект и 250к на ванучий.
376 887344
>>87268
Так а если курс пижженый?
Мимо ровно такой прохожу
1689622790245.jpg37 Кб, 684x299
377 887354
>>87303
А это что? Да и куча вакансий есть где зп не написана
378 887363
Если, чисто теоретически, set pass calls 300, но вершин всего 5К в кадре - это плохо?
Я просто думаю, стоит ли заморачиваться уменьшением значения set pass calls, если у меня очень низкополигональные объект, но их много
379 887364
Ебать, платить четверть ляма... Что это за проекты, которые дают боссам такую прибыль, чтобы платить такип з/п.
380 887365
>>87364

>такип


такие
381 887382
>>87364
Так самое смешное, что даже на такую ЗП не идут опытные разработчики. Сеньорам подавай уже 5-7 тысяч долларов. При этом они хотят, чтобы у них в подчинение было пару программистов хотя бы. Сами они нихуя толком не пишут.
382 887383
С юнити можно использовать райдер удобно или придётся жрать копиостудию?
383 887384
Копростудию, конечно же, описался, блин...
384 887402
ты можешь ныть и ждать у моря погоды а можешь нанять пиздюка за 100к и медленно, но верно срать игру
385 887419
>>87354
Это от мидла до сеньора
386 887420
>>87383
нельзя
387 887429
>>87383
Можно, интеграция есть, хуё-моё. Юнити даже подзаебала, на этот говнорайдер по умолчанию плагин ставит, а на божественную визуалочку - нет.
388 887456
Есть Player - игрок.
Есть Item - капсула здоровья.
Игрок должен подойти - и когда он касается коллайдера Item, она исчезает, а в консоль выводится: "Капсула подобрана".

На капсуле - Capsule Collider. Когда галка Is Trigger включена - объект становится твердым и никуда не исчезает.
А когда выключена - нормально исчезает, сквозь него можно пройти, надпись в консоль выводится.

А в книге, по которой я учусь, написано что должно быть наоборот.
Почему так?
image162 Кб, 941x931
389 887473
sage 390 887483
>>87473
утка давай ты за щеку возьмёшь и выложишь видос
391 887484
>>87473
У меня OnCollisionEnter() - но когда меняю код на OnTriggerEnter(), вообще работать перестает.
393 887497
>>87488
Повесил Rigid Body на капсулу Item - теперь про включенной галочке Is Trigger капсула пропадает.
Но вот беда - и при выключенной галочке эта капсула тоже пропадает!
394 887570
>>87363

> Если, чисто теоретически, set pass calls 300, но вершин всего 5К в кадре - это плохо?


Да

> Я просто думаю, стоит ли заморачиваться уменьшением значения set pass calls, если у меня очень низкополигональные объект, но их много


Да
395 887575
>>87354
это ванучий проект
396 887576
Я пишу компоненты для игр как с рпгмейкера. Посоветуйте, как правильней сделать юзкейс для "трогания", нажатия enter на предмет/существо перед игроком.
Я планирую написать команду TouchObject, с реквестом, дальше дописать логики, но мне кажется дальше через реквест прокидывать ивенты в скрипты будет как-то тяжело, пример, как это будет выглядеть(пик1,2,3)

Как можно это сделать лучшим образом?
image.png59 Кб, 927x741
397 887578
>>87576

>фикс пик2

398 887703
>>87576
Тут проблема в том, что достпные тебе варианты зависят от архитектуры твоей игры. То как у тебя прокидываются зависимости - зависит от архитектуры твоей игры.

То как сделано у тебя - так впринципе не делают. Если хочешь могу расписать какие проблемы вижу у тебя в коде.

А так скорее всего в твоем случае разумнее всего будет сделать как-то так:

Делаешь интерфейс
public interface ITouchable
{
public void Touch();
}

делаешь монобех реализующий этот интерфейс, вешаешь его на нажимаемыф объект объект

Когда детектишь объект на который нажали, делаешь у него TryGetComponent<ITouchable>(out var touchable) и дальше touchable.Touch();

Всё.

Предвидя вопросы сразу отвечу на них:
Есди надо чтобы какая-то внешняя система знала что на что-то нажали, внешняя система должна вести учет объектов и отлавливать ивенты.

Например тебе надо открыть магазин когда нажимаешь на него. Делаешь интерфейс
public interface IShopRequester
{
public event Action OnOpenShopRequest;
}

Дальше реализуешь
public class TouchableShop : MonoBehavior, IShopRequester, ITouchable
{
public event Action OnOpenShopRequest;

public void Touch()
{
OnOpenShopRequest?.Invoke();
}
}

Дальше какая-то внешняя система отслеживает объекты IShopRequester и как только они вызывают ивент - открывает магазин.
398 887703
>>87576
Тут проблема в том, что достпные тебе варианты зависят от архитектуры твоей игры. То как у тебя прокидываются зависимости - зависит от архитектуры твоей игры.

То как сделано у тебя - так впринципе не делают. Если хочешь могу расписать какие проблемы вижу у тебя в коде.

А так скорее всего в твоем случае разумнее всего будет сделать как-то так:

Делаешь интерфейс
public interface ITouchable
{
public void Touch();
}

делаешь монобех реализующий этот интерфейс, вешаешь его на нажимаемыф объект объект

Когда детектишь объект на который нажали, делаешь у него TryGetComponent<ITouchable>(out var touchable) и дальше touchable.Touch();

Всё.

Предвидя вопросы сразу отвечу на них:
Есди надо чтобы какая-то внешняя система знала что на что-то нажали, внешняя система должна вести учет объектов и отлавливать ивенты.

Например тебе надо открыть магазин когда нажимаешь на него. Делаешь интерфейс
public interface IShopRequester
{
public event Action OnOpenShopRequest;
}

Дальше реализуешь
public class TouchableShop : MonoBehavior, IShopRequester, ITouchable
{
public event Action OnOpenShopRequest;

public void Touch()
{
OnOpenShopRequest?.Invoke();
}
}

Дальше какая-то внешняя система отслеживает объекты IShopRequester и как только они вызывают ивент - открывает магазин.
399 887709
>>87576
Все предметы которые ты хочешь потрогать ITouchable, реализуешь методы которые будут инвокать ивент и передавать себя.
400 887714
Существует альтернатива офф магазину и сайту юнитиассетколлекшен? Я ничего не умею разрабатывать, но мне хочется потрогать. Ждать 9 часов пока скачается файл 500 мегабайт это пиздец.
401 887718
Нашел в другом месте, скачал, а юнити мне его поставить не дает потому что менеджер просит json файл. Как быть? >>87714
402 887719
>>87714
Так а тебе что надо? Целые скрипты и всякие фреймворки внутри юнити типа топ даун энжина?
403 887724
>>87263
В каком смысле "движется к стагнации"?
Думаешь будущее за Unreal Engine и Godot?
404 887734
Скажите чтоб освоить юнити нужно освоить 3д моделирование, начать с блендера?
Ща учу просто программирование, не шарп, но потом перейду. Какие навыки нужно развить, чтобы пользоваться юнити? Че вообще там делать по логике, если ничего не прописывать?
405 887735
>>87734
Я просто берегу себя от видео туториалов, учусь под документациям онли
406 887743
>>87578

Петушков, которые говорят, что у тебя типо все не очень, а надо делать интерфейс антачибал особо не слушай, это буквально самое первое прямолинейное тобишь нубское решение, плохое оно или хорошее не важно, они просто по другому не умеют. Лучше сам думай.
407 887749
>>87344
Если говно спздил, то ты всё равно говна поел.

>>87734
Шарп нужно. Блендер не нужно. Тебе же не обязательно самому делать модели. Найди лоха, который тебе помоделит или делай, как любой тупой неосилятор, который не смог в графику. Пили пиксельную парашу.
408 887819
>>87743
Да вроде бы имеет смысл, сделал вот так:
409 887847
>>87743
Лол, пчел, если ты глядя на его код не понимаешь в чем проблема - то тебе стоит самому попробовать сделать игру

А интерфейс это первое что тут нужно сделать согласно здравому смыслу, почти в любом случае.
410 887855
>>87847
Напиши, какие проблемы в коде
411 887864
>>87719
Нет мне нужен ресурс откуда я могу бесплатно взять посмотреть ассет
412 887871
>>87847

если вот этот кал придумал ты >>87703
то я сильно сомневаюсь, что ты понимаешь в чем там проблема)))
413 887885
>>87871
Напишите, какие там проблемы уже
414 887898
>>87885
Нету типизации - все завязано на GetComponent у геймобжектов и надежды что будет там нужный компонент, есть параметры типа object, есть GameData, GameEvent и Attributes, которые как я понимаю тоже общие и используются для всего подряд и поля там тоже не типизированные а геймобжекты да обжекты.

Отсутствие типизации я думаю очевидно почему проблемно - нету гарантий что на вход поступило то что надо, невозможно в иде отследить источники разных "GameEvent". Потом где-то вылкзет ошибка и будешь охуевать А представь были бы у тебя типы - сразу в иде видишь где как какие юзаются.

Вот эти вот общие типы как GameEvent и GameData порождают ебовую связность как я понимаю у тебя они юзаются в каждом классе.

public GameEvent playerTouch - нету инкапсуляции, любой может заоверрайдить это поле и все сломается. Ну, если уверен в себе то можешь так оставить.

Очень странно, что тач контроллер зависит от некой геймдаты, которая у тебя
[SerializeField]
private GameData gameData
Во-первых ты че руками будешь везде эту геймдату перетаскивать? Во-вторых зачем всем компонентам знать про геймдату?
Намного лучше когда контроль идет сверху вниз и управляющая система знает о своих компонентах(а по солиду, по базе - об абстракциях компонентов, тогда ты еще и сможешь их подменять а не прибивать к конкретному типу), а не наоборот. Или у тебя впринципе как такового управления всей игрой нету, и компоненты самостоятельные и как хотят эту геймдату изменяют и реагируют на измения по своему усмотрению?

Не совсем понятно как прокинуты связи - вот ты делаешь gameEvent.Raise - кто перехватывает его, как узнает о нем? Просто выглядит так будто там каша

Ну и я думаю само собой понятно, что с неймингом хуево(_r.Ge - не хорошо), код стайл не соблюдается(где-то приватные с _ где то без), интерфейсы не юзаются а классы прибиты друг к другу

Ну и такое, можешь особо не переживать по этому поводу если пока только учишься, но гарбедж коллектор импакт вносит, поэтому реф тайпы без толку аллоцировать - а у тебя дохуя всяких ивентов как я понимаю классы и каждый раз при вызове срут в память собой. Похуй если это было бы редко, но если у тебя вся игра так сделана то гарбедж коллектор будет ебать иногда

>>87871
Да не трясись малой)
414 887898
>>87885
Нету типизации - все завязано на GetComponent у геймобжектов и надежды что будет там нужный компонент, есть параметры типа object, есть GameData, GameEvent и Attributes, которые как я понимаю тоже общие и используются для всего подряд и поля там тоже не типизированные а геймобжекты да обжекты.

Отсутствие типизации я думаю очевидно почему проблемно - нету гарантий что на вход поступило то что надо, невозможно в иде отследить источники разных "GameEvent". Потом где-то вылкзет ошибка и будешь охуевать А представь были бы у тебя типы - сразу в иде видишь где как какие юзаются.

Вот эти вот общие типы как GameEvent и GameData порождают ебовую связность как я понимаю у тебя они юзаются в каждом классе.

public GameEvent playerTouch - нету инкапсуляции, любой может заоверрайдить это поле и все сломается. Ну, если уверен в себе то можешь так оставить.

Очень странно, что тач контроллер зависит от некой геймдаты, которая у тебя
[SerializeField]
private GameData gameData
Во-первых ты че руками будешь везде эту геймдату перетаскивать? Во-вторых зачем всем компонентам знать про геймдату?
Намного лучше когда контроль идет сверху вниз и управляющая система знает о своих компонентах(а по солиду, по базе - об абстракциях компонентов, тогда ты еще и сможешь их подменять а не прибивать к конкретному типу), а не наоборот. Или у тебя впринципе как такового управления всей игрой нету, и компоненты самостоятельные и как хотят эту геймдату изменяют и реагируют на измения по своему усмотрению?

Не совсем понятно как прокинуты связи - вот ты делаешь gameEvent.Raise - кто перехватывает его, как узнает о нем? Просто выглядит так будто там каша

Ну и я думаю само собой понятно, что с неймингом хуево(_r.Ge - не хорошо), код стайл не соблюдается(где-то приватные с _ где то без), интерфейсы не юзаются а классы прибиты друг к другу

Ну и такое, можешь особо не переживать по этому поводу если пока только учишься, но гарбедж коллектор импакт вносит, поэтому реф тайпы без толку аллоцировать - а у тебя дохуя всяких ивентов как я понимаю классы и каждый раз при вызове срут в память собой. Похуй если это было бы редко, но если у тебя вся игра так сделана то гарбедж коллектор будет ебать иногда

>>87871
Да не трясись малой)
415 887921
>>87898

>public class TouchableShop : MonoBehavior, IShopRequester, ITouchable


{
public event Action OnOpenShopRequest;

public void Touch()
{
OnOpenShopRequest?.Invoke();
}
}

кловун, спок.
416 887926
>>87921
Что не так?)
Легко свапаешь реализации и будет и делаешь разные варианты открытия магазина, разные штуки которые можно тыкать, интерфейс четко показывает свое назначение, для ньюфага самое то, и в его случае конкретно такое улучшение можно прям щас сделать и не сильно охуеть
417 887928
>>87898

>Все завязано на GetComponent у геймобжектов и надежды что будет там нужный компонент


Проверка if (component == null) return исправит ситуацию?

>есть GameData, GameEvent и Attributes, которые как я понимаю тоже общие и используются для всего подряд и поля там тоже не типизированные а геймобжекты да обжекты.


GameData и Attribute это просто модели данных игры(пик1)
GameEvent(пик2) я взял из тутора по ивентам

>Вот эти вот общие типы как GameEvent и GameData порождают ебовую связность как я понимаю у тебя они юзаются в каждом классе.


GameEvent (пик2,3) избавляет от необходимости добавлять ссылки на инстансы через [SerializeField], тк там если что ивент просто никому не придет или на него никак не отреагируют. Я это взял из тутора: https://www.youtube.com/watch?v=7_dyDmF0Ktw&t=312s

Насчет GameData наверное её нужно как-то растаскивать по классам, по-разному загружать и тд, я его щас юзаю просто как модель данных, которые загружаются в нужные компоненты при загрузке файла сохранения

>гарбедж коллектор импакт вносит, поэтому реф тайпы без толку аллоцировать - а у тебя дохуя всяких ивентов как я понимаю классы и каждый раз при вызове срут в память собой. Похуй если это было бы редко, но если у тебя вся игра так сделана то гарбедж коллектор будет ебать иногда


Разве он не будет сам срабатывать, когда игра будет ресы нажирать как в жабе, а по ресам у меня каких-то йоба эффектов не планируется

В общем и целом было бы круто, если бы ты ещё пояснил по тому, что я написал. Было бы найс конечно вообще сделать слоеную архитектуру как я делаю на бекенде, но я честно хз как тут это реализовать
418 887937
>>87926
что не так лол? у тебя интерфейс один делает ничего.
419 887938
>>87928

>Было бы найс конечно вообще сделать слоеную архитектуру как я делаю на бекенде, но я честно хз как тут это реализовать


лул)
420 887955
Где перспектив больше - в Unity или Unreal Engine?
Не получится так что я сейчас учу Unity, а через лет пять все будут на UE игры делать?
421 887957
>>87955
На юнити индиаутисты и мобилкогоспода, анрил для игр категории Б и АА, годот это мем.
422 887959
>>87937
>>87926
но ты походу екс дебил, поэтому тут как бы все ясно. Если что у тебя и инкапсуляция разъебана
423 887962
>>87955

>Не получится так


Именно так и будет!
424 887969
>>87937
Ааа)) вот оно что)) блииин интерфейс ничего не делает как же быть((

Эх жаль нельзя сделать сделать некий класс, который будет иметь доступ к объектам с IShopRequester(либо найдет их через GetComponentsInChildren, либо фабрика будет пополнять их список который он получит, либо будет какой-нибудь ивент бас через который будет оповещать о спавне объектов с таким типом, или сервис для учета таких объектов заинжектится или будет получен с сервис локатора - вариантов миллион), подпишется на ивент OnOpenShopRequest и будет его централизованно обрабатывать в зависимости от текущего состояния игры, было бы круто... или можно!?

>>87928

> Проверка if (component == null) return исправит ситуацию?


Ну основная проблема останется та же - в компайл тайме проблему не увидишь, надо именно запустить игру и триггернуть нужный сценарий чтобы ошибка вылезла. Чем больше штук которые нельзя отследить без запуска игры - тем хуже само собой.

Проверка - ну, она скорее может и в худшую сторону сыграть, потому что ошибка в консоль не напишется в просто ничего сделано не будет.

> GameData и Attribute это просто модели данных игры(пик1)


> GameEvent(пик2) я взял из тутора по ивентам


Ааа, так это та самая архитектура на СО, чего же я сразу не догадался. Ну, если че ее никто не юзает в коммерческой разработке(да и вообще), она по сути мемом стала, одна из изначально мертвых вещей от юнитеков.
Единственный её плюс - то что геймдизайнер может сам собирать механики просто перетасиквая эти ивенты в монобехи, т.е. это "разгрузит"(условно) программистов, но от геймдизайнеров которые будут копаться в юнити будет требоваться намного больше работы и в какой-то момент будет ахуй с количества этих ивентов однообразных ивентов в которых хуй знает какие данные, причем по одному СО будет ваще не ясно какие данные придут в этом ивенте. Вот есть у тебя условно тот же TouchEvent и ты хочешь на него подписаться - как понять какие данные придут в параметре? Там же тип object. Придется искать что его вызывает и где...

Или наделать наследников GameEvent с типизированными параметрами какими-то.

С геймдатой я немного не понял - я вижу у тебя есть
private GameDate gameData.
Т.е. она существует не в единственном экземляре?
При этом в самой геймдате есть данные игрока и нпц - явно оно должно быть уникальным на уровень или вообще, и существовать в единственном экземпляре. Если оно у тебя в единственном экземпляре, то как тогда все классы его получают?

> Насчет GameData наверное её нужно как-то растаскивать по классам, по-разному загружать и тд, я его щас юзаю просто как модель данных, которые загружаются в нужные компоненты при загрузке файла сохранения


Ага, надо.

> GameEvent (пик2,3) избавляет от необходимости добавлять ссылки на инстансы через [SerializeField], тк там если что ивент просто никому не придет или на него никак не отреагируют. Я это взял из тутора


Не, я про то, что у тебя вся игра построена с их использованием и соответственно если будет нужно изменение в ГеймИвент, то оно потребует изменения от всего что от него зависит. Но т.к. теперь я вижу что это СО - это оправданно, потому что цель сделать ивенты которые можно руками закидывать чтобы собирать механики без кода, а по-другому этого просто не сделать(разве что кодогенерацией лол).
Но как я говорил - сама архитектура на СО это калыч и того не стоит.

> Разве он не будет сам срабатывать, когда игра будет ресы нажирать как в жабе, а по ресам у меня каких-то йоба эффектов не планируется


Будет. Но работа гарбедж коллектора - это фриз в игре. Чем больше гавна он собирает, тем больше фриз. Поэтому у нас тут принято делать как можно меньшую нагрузку на него.
И опять же - ничего страшного если немного будет мусора, но если у тебя вся игра построена по аналогии с теми TouchObjectResponce и TouchObjectRequest, и их каждыы кадр по многу штук так не надо делать, юзай структуру хотя бы вместо класса.

> В общем и целом было бы круто, если бы ты ещё пояснил по тому, что я написал. Было бы найс конечно вообще сделать слоеную архитектуру как я делаю на бекенде, но я честно хз как тут это реализовать


А, так ты с бекенда, так это же вообще заебись.

Щас на юнити по сути две метовые архитектуря:
1. Сервисная архитектура - это вот довольно близко к бекенду. Как правило используется с DI(Zenject или VContainer). Регаешь сервисы - не монобех классы, все зависимости прокидываются, в точке входа из фабрик спаунишь своих игроков да врагов и все что тебе надо и инжектишь в них зависимости. Либо сразу в монобехи инжектятся эти сервисы.

Короче если бы ты был новичком в программированит то лучше бы было в это пока не лезть, но раз ты уже бекендер то тебе этот подход нааерное сразу понятнее будет. Погугли zenject или просто dependency injection в юнити.

2. Ecs. Причем он может быть в связке с сервисной архитектурой, а может и без нее.

Ну и из менее популярнвх подходов есть еще EventBus, его многие не любят, но лучше уж ивент бас чем архитектура на СО
424 887969
>>87937
Ааа)) вот оно что)) блииин интерфейс ничего не делает как же быть((

Эх жаль нельзя сделать сделать некий класс, который будет иметь доступ к объектам с IShopRequester(либо найдет их через GetComponentsInChildren, либо фабрика будет пополнять их список который он получит, либо будет какой-нибудь ивент бас через который будет оповещать о спавне объектов с таким типом, или сервис для учета таких объектов заинжектится или будет получен с сервис локатора - вариантов миллион), подпишется на ивент OnOpenShopRequest и будет его централизованно обрабатывать в зависимости от текущего состояния игры, было бы круто... или можно!?

>>87928

> Проверка if (component == null) return исправит ситуацию?


Ну основная проблема останется та же - в компайл тайме проблему не увидишь, надо именно запустить игру и триггернуть нужный сценарий чтобы ошибка вылезла. Чем больше штук которые нельзя отследить без запуска игры - тем хуже само собой.

Проверка - ну, она скорее может и в худшую сторону сыграть, потому что ошибка в консоль не напишется в просто ничего сделано не будет.

> GameData и Attribute это просто модели данных игры(пик1)


> GameEvent(пик2) я взял из тутора по ивентам


Ааа, так это та самая архитектура на СО, чего же я сразу не догадался. Ну, если че ее никто не юзает в коммерческой разработке(да и вообще), она по сути мемом стала, одна из изначально мертвых вещей от юнитеков.
Единственный её плюс - то что геймдизайнер может сам собирать механики просто перетасиквая эти ивенты в монобехи, т.е. это "разгрузит"(условно) программистов, но от геймдизайнеров которые будут копаться в юнити будет требоваться намного больше работы и в какой-то момент будет ахуй с количества этих ивентов однообразных ивентов в которых хуй знает какие данные, причем по одному СО будет ваще не ясно какие данные придут в этом ивенте. Вот есть у тебя условно тот же TouchEvent и ты хочешь на него подписаться - как понять какие данные придут в параметре? Там же тип object. Придется искать что его вызывает и где...

Или наделать наследников GameEvent с типизированными параметрами какими-то.

С геймдатой я немного не понял - я вижу у тебя есть
private GameDate gameData.
Т.е. она существует не в единственном экземляре?
При этом в самой геймдате есть данные игрока и нпц - явно оно должно быть уникальным на уровень или вообще, и существовать в единственном экземпляре. Если оно у тебя в единственном экземпляре, то как тогда все классы его получают?

> Насчет GameData наверное её нужно как-то растаскивать по классам, по-разному загружать и тд, я его щас юзаю просто как модель данных, которые загружаются в нужные компоненты при загрузке файла сохранения


Ага, надо.

> GameEvent (пик2,3) избавляет от необходимости добавлять ссылки на инстансы через [SerializeField], тк там если что ивент просто никому не придет или на него никак не отреагируют. Я это взял из тутора


Не, я про то, что у тебя вся игра построена с их использованием и соответственно если будет нужно изменение в ГеймИвент, то оно потребует изменения от всего что от него зависит. Но т.к. теперь я вижу что это СО - это оправданно, потому что цель сделать ивенты которые можно руками закидывать чтобы собирать механики без кода, а по-другому этого просто не сделать(разве что кодогенерацией лол).
Но как я говорил - сама архитектура на СО это калыч и того не стоит.

> Разве он не будет сам срабатывать, когда игра будет ресы нажирать как в жабе, а по ресам у меня каких-то йоба эффектов не планируется


Будет. Но работа гарбедж коллектора - это фриз в игре. Чем больше гавна он собирает, тем больше фриз. Поэтому у нас тут принято делать как можно меньшую нагрузку на него.
И опять же - ничего страшного если немного будет мусора, но если у тебя вся игра построена по аналогии с теми TouchObjectResponce и TouchObjectRequest, и их каждыы кадр по многу штук так не надо делать, юзай структуру хотя бы вместо класса.

> В общем и целом было бы круто, если бы ты ещё пояснил по тому, что я написал. Было бы найс конечно вообще сделать слоеную архитектуру как я делаю на бекенде, но я честно хз как тут это реализовать


А, так ты с бекенда, так это же вообще заебись.

Щас на юнити по сути две метовые архитектуря:
1. Сервисная архитектура - это вот довольно близко к бекенду. Как правило используется с DI(Zenject или VContainer). Регаешь сервисы - не монобех классы, все зависимости прокидываются, в точке входа из фабрик спаунишь своих игроков да врагов и все что тебе надо и инжектишь в них зависимости. Либо сразу в монобехи инжектятся эти сервисы.

Короче если бы ты был новичком в программированит то лучше бы было в это пока не лезть, но раз ты уже бекендер то тебе этот подход нааерное сразу понятнее будет. Погугли zenject или просто dependency injection в юнити.

2. Ecs. Причем он может быть в связке с сервисной архитектурой, а может и без нее.

Ну и из менее популярнвх подходов есть еще EventBus, его многие не любят, но лучше уж ивент бас чем архитектура на СО
425 887971
>>87959

> Если что у тебя и инкапсуляция разъебана


В каком месте?
Ну хочешь сделаю public IObservable<Unit> OnShopRequested(); и приватный сабжект буду в реализациях возвращать

> но ты походу екс дебил, поэтому тут как бы все ясно


Екс это база
426 887974
>>87962
Разве у всех жопа не отвалится писать на с++? Ведь дебажить разные segfaultы сложнее, чем NullReferenceException'ы
427 887976
>>87974
В анриле ограниченно С++ юзают, и есть блю принты.

А так
>>87955

> Где перспектив больше - в Unity или Unreal Engine?


Юнити никуда не денется, он очень легкий для новичков, и для про есть крутые возможности
428 887978
>>87969

>GetComponentsInChildren


)))))) ПАХПАХ

>который будет иметь доступ к объектам с IShopRequester


вот это да, ничивосебе

>ивент бас


))))))))))

>сервис локатора


)))

Екс дебил не меняется)))

>>87928

>Проверка if (component == null) return исправит ситуацию?


исправит.

>>87969
этого долбоеба не советую слушать, это местный патентованный ебаклак, который в основном просто пропукаивает терминами, т.е. у него буквально все посты об одном и том же. Видишь эвент бас, диай вот это все, сразу можешь не читать лол.
429 887982
>>87976

>В анриле ограниченно С++ юзают, и есть блю принты.


в парадигме выпускников скилбокса?

>>87955
Плюс юнити в том, что научиться качественно прогать на шарпе проще. Если с нулевой базой пойти сразу в анриал, то это практически гарантия говнокодерской базы в голове. Перекат из юнити в анриал лично у меня занял месяц, с учетом изучения базы плюсов.
430 887983
>>87978

> >GetComponentsInChildren


> )))))) ПАХПАХ


> >который будет иметь доступ к объектам с IShopRequester


> вот это да, ничивосебе


> >ивент бас


> ))))))))))


> >сервис локатора


> )))


ЫЫЫ ХАЧУ СИНГЛТОНЫ ИЛИ НЕТ ХАЧУ МЫШКОЙ ДВИГАТЬ))

Забавно как ты меня выдаешь как некую мистическую личность приследующую тебя, хотя я далеко не единственный кто итт топит за ди или ецс и редко вообще в таких срачах участвую.

Чего ты вообще так рвешься с подходов которые массово в коммерческой разработке используются в играх сложнее гиперкежа? Может быть ты просто не веришь что их поголовно все используют?
431 887991
>>87983

> далеко не единственный кто итт топит за ди или ецс


угу, и за эвент бас, сервис локатор. пошел ты нахуй гандон.

>массово в коммерческой разработке используются


Кто их массово использует? овлкат гамес с пропуками в играх? Охотно верю.
432 887992
>>87983

>Eventbus


антипаттерн
433 888004
>>87992
Вроде бы я и не говорю, что его обязательно надо юзать, а просто перечислил варианты как возможно лиюо найти объекты нужные, либо передать данные о них.

>>87991

> Кто их массово использует? овлкат гамес с пропуками в играх? Охотно верю.


Я знаю только что чел из овлкет на хабре статью писал про то как они ивентбас юзали. Что еще они там юзают я хз.
А так все либо строят архитектуру на ди, либо на ецс. Ну вот буквально все, можешь на хх прочекать вакансии, там в 60% вакансий требуют понимание ди, в 20% ецс, и только в 20% никакой конкретики не указано, но скорее всего либо тоже что-то из этого, либо они на синглтоновых геймменеджерах гиперкеж штампуют.
434 888005
>>87991

> угу, и за эвент бас, сервис локатор. пошел ты нахуй гандон.


Нахуй сервис локатор нужен когда есть ди?)
435 888013
>>88004

>там в 60% вакансий требуют понимание ди


пиздабол. там кроме знания зенжекта ничего не требуют и это как раз поточное мобильное производство.

>Вроде бы я и не говорю, что его обязательно надо юзать, а просто перечислил варианты как возможно лиюо найти объекты нужные, либо передать данные о них.



да да. просто написал хуйню с лишней абстракцией, теперь буду придумывать где она пригодиться. А че двумя ограничился, а не пятью?
436 888019
Я бы за однострочные монобэхи вам руки отрывал. Вы все пишете просто ебучий кал, а не архитектуру. Это и ецс шизов касается, и синглтон дебиков. Орнул нахуй вдвойне оттого что шизики не знают как дженерики к евентам прикрутить.
437 888020
>>88013

> да да. просто написал хуйню с лишней абстракцией, теперь буду придумывать где она пригодиться. А че двумя ограничился, а не пятью?


Че бля?
Ты сказал, что я сделал интерфейс который ничего не делает. Я тебе сказал - делать будет не он, потому что он и не должен этого делать, а какая-то внешняя система, соответственно встает вопрос о том как она узнает об объектах соответствующего типа. И я перечислил все варианты это сделать какие пришли в голову сходу, чтобы показать что какая бы у тебя не была архитектура - никакой сложности тут нет и твоя претензия изначально непонятна. Это не значит что я топлю за сервис локатор или ивент бас или спавн абсолютно всего из фабрик.

С чего тебя порвало?

> пиздабол. там кроме знания зенжекта ничего не требуют и это как раз поточное мобильное производство.


Ну вот я и говорю в 60% указано требование ди, а ты говоришь никто не использует.
Или тебя смутило, что я написал что в 20% вакансий требуют ецс? Конкретно в в тех вакансиях что я смотрел недавно где-то в 20% случаев было написано ецс. Если учитывать джуновские и всякое очевидное гавно то конечно будет меньше.
В той же телеге есть ецс чат которыы очень даже активный, дохуя кто его юзает
438 888027
>>88020

>Ну вот я и говорю


>серьезные практики для серьезный ребят


> поточное мобильное производство


держи в курсе.

>Я тебе сказал - делать будет не он, потому что он и не должен этого делать, а какая-то внешняя система, соответственно встает вопрос о том как она узнает об объектах соответствующего типа.



зачем там какая-то внешняя система? чтобы эвентбас заработал?))
439 888057
>>88027

> держи в курсе.


Если это не гк, то там вообще-то очень много бизнес-логики!

> зачем там какая-то внешняя система? чтобы эвентбас заработал?))


Хз, ты по моему просто рендом слова пишешь.

Ну, мы хотим сделать так, что ты кликаешь на что-то и открывается магазин.

Само собой нужна некая модель данных и бизнес логики магазина, нужен юи магазина, нужна доп. логика типа паузы или чего еще при переходе в магазин.

Сколько это внешних систем, так можешь примерно почувствовать?

Когда почувствуешь, понимаешь, что у тебя два варианта - либо кликаемый магазин должен получить ссылку на некую внешнюю систему сам делать что-то типа shop.Open()под которым будет скрываться загрузка магазина, показ ui, пауза и доп логика.

Либо просто выкидывать ивент, который отловит внешняя система и сделает то же самое что под спойлером.

Второй вариант само собой прикольнее, потому что можно активные вьюхи и другие хендлеры этого ивента вешать включать и отключать по желанию, да еще и контроль идет сверху-вниз и можно придерживаться слоеноц архитектуры
440 888072
>>88057

>Когда почувствуешь, понимаешь, что у тебя два варианта - либо кликаемый магазин должен получить ссылку на некую внешнюю систему сам делать что-то типа shop.Open()



сильно)))
441 888159
из РФ чичас можно публиковаться в гугл плей?
442 888164
>>88159
Низзя
443 888171
>>87383
Очень удобно, сижу на райдере больше 3 лет и ничто меня не заставит вернуться на уебищную студию.
444 888174
>>88171
Пробовал райдер, пиздец не понял как им пользоваться.
445 888176
>>88174
Проблема явно в тебе.
446 888177
>>88176
Нахуй пошел пидор, в студии работаю 10 лет, твой ридер кал не рабочиц.
447 888184
>>88174
Да оно и некак им пользоваться, слишком кривой.
https://forum.unity.com/tags/rider/
448 888193
А что реально гейшин на юнити?
449 888202
>>88193
нет, такое гениальное моги только на Source 2 запилить
450 888234
>>88177
Причина тряски?
image102 Кб, 1366x388
451 888237
image.png92 Кб, 280x924
452 888242
мнение?
453 888249
>>88242
У меня тоже самое в большой игре. Разница только в оформлении, то что на пике разбил бы на 10-15 пунктов для ясности понимания и дебага.
454 888254
>>88249
там ещё ссылки все подрубаются через GameObject.Find, не могу вкурить прикол такого подхода
455 888255
>>88254
У меня немного по другому. Находится, либо задается Родительский Transform и уже по нему Find ищется, т.к если просто через GameObject.Find, это слишком грузит сцену поиском по всей, и весьма плохо, хотя если разовая инициализация в начале игры, то поебать, подождут.

>не могу вкурить прикол такого подхода


Тебе не надо ручками ничего задавать, всё делается в скрипте.
456 888256
>>88242
разделить хотя бы методами InitPurchase(), InitTooltips() etc
>>88254
это говно, не подход.
457 888259
>>88254
Есть два дебила, один дебил не может кодить и просто накидывает говна в сцену. Второй дебил делает так, чтобы это говно хоть как-то работало.
458 888260
>>88255
Что мешает прокинуть ссылку напрямую через инспектор или если эти объекты создаются, а не лежат в сцене сразу получать ссылку после создания? Геймдиз, перенесет мискликом объект в другой скоуп, да получит пизды, но искать траблу будешь ты.
459 888263
>>88260
Речь про сотни объектов, еще сотни инстансятся, данный метод позволяет всё сделать из кода и одного места. Эту инициализацию делаешь в начале, всё делается по порядку, минимум конфликтов и дебага. Руками в инспектаре лучше вообще ничего не делать.
460 888267
>>88263
Если код зависит от сцены, которая может изменится и все упадет это неправильный подход. Проебанная ссылка будет видна в коммите префаба, ошибка будет указывать на отсутствие ссылки явно объект удаленный или перемещенный из сцены сложно найти в коммите с измененной сценой.
Факт - использовать GameObject.Find плохо.
461 888289
Каким образом можно эффективнее пользоваться VCS если мне нужно сохранять в том числе и ассеты?
462 888557
Сраное юнити! У них уже давно во всех новых версиях противный баг с телепортом мышки. Активируется если подвигать мышкой в окне сцены с зажатой левой кнопкой. После этого курсор телепортируется на другую сторону экрана, если курсор над окном юнити, НАД ЛЮБЫМ ЭЛЕМЕНТОМ В ОКНЕ, возле края экрана и зажата левая кнопка.
Как же меня бесит этот баг, когда пытаешься прокрутить окно инспектора и мышка улетает на другую сторону экрана. Юнити вообще кто-то пользуется? Как можно не заметить этот очевидный баг?
463 888558
>>88557
То есть надо подвигать мышкой с зажатой кнопкой в окне сцене, после этого зажать левую кнопку пока курсор над окном юнити и двигать курсор к краю экрана. Курсор будет телепортироваться. Это баг.
464 888560
>>88558
В смысле, что при зажатой кнопке курсор из крайнего левого положения переходит в правое и наоборот? Это абсолютно нормальное поведение. Сделано было, скорее всего, чтобы флоаты в редакторе накручивать удобнее было. Но абсолютно ничем не мешает и уж точно не баг.
465 888563
>>88557
шизик ебучий, это не баг, а фича
466 888564
>>88558
>>88557
Троллишь тупостью?
Это фича.
В блендере тоже самое и это удобно.
index (2).png4 Кб, 212x238
467 888575
>>88563
>>88564
Вы вообще читали что я писал? Баг заключается в том, что если подвигать мышкой с зажатой левой кнопкой в окне сцены, то "залипает" режим переноса мышки ВСЕГДА если левая кнопка была зажата над окном юнити. Я в курсе что в юнити для некоторых окон и контролов активируется такой режим. Баг в том, что он "залипает" и срабатывает всегда при зажатой левой кнопке над окном юнити.

Если запустить юнити и не двигать мышкой в окне сцены, то этого бага нет. Если подвигать мышкой в окне сцены с левой кнопкой, а потом подвигать с зажатой средней кнопкой, или переключить инструмент сцены (например, с выделения, на инструмент перетаскивания), то это состояние переноса тоже сбрасывается.
468 888579
>>88575
По идее этот режим переноса в сцене должен активироваться только для перетаскивания средней кнопкой. В юнити 2021 это так работает.
Для Move Tool он НЕ ДОЛЖЕН активироваться. В новых версиях юнити этот перенос ошибочно активируется для Move Tool и потом залипает. Это баг.
469 888651
>>88575
Если в каком-то окне телепорт курсора при зажатом лкм не работает, то это баг.
470 888668
>>88651
Оно никогда так не работало. И сейчас не работает, если не активировать баг залипания через Move Tool.
471 888669
Запусти юнити и проверь сам. Если новая 2022 версия.
1572906956111.jpg82 Кб, 1280x400
472 888752
Правильно ли я понимаю, что сейчас на хайпе Unreal Engine?
И все побежали учить его?
Значит ли это, что в какой-то момент Unity девелоперов начнет не хватать, а на рынке мобилок / казуальных игр Unity все же уделывает Unreal?
Значит ли это, что учить именно Unity - правильный выбор?
image.png247 Кб, 417x764
473 888754
>>88752

>Значит ли это, что в какой-то момент Unity девелоперов начнет не хватать


Конечно нет, типоумеющих в юнити всегда хватает. А вот нормальных разработчиков нехуя нет.
474 888764
>>88752

> Правильно ли я понимаю, что сейчас на хайпе Unreal Engine?


Откуда инфа?

> И все побежали учить его?


Да нет вроде. Ну, популярность анрила не падает, а стабильно растет, но вроде особого хайпа нет.

> Значит ли это, что в какой-то момент Unity девелоперов начнет не хватать, а на рынке мобилок / казуальных игр Unity все же уделывает Unreal?


Анрила на мобилках практически нету, даже годота наверное больше

> Значит ли это, что учить именно Unity - правильный выбор?



У юнити и анрила свои преимущества и недостатки, выбирать надо исходя из них и своих целей

Если тебе интересно что выбрать чисто с экономической точки зрения, то наоборот лучше вкатываться туда где темпы роста больше - если отрасль растет, то создаются новые рабочие места, а обычные работяги быстрее апаются по карьере
there-min.gif38,2 Мб, 1026x551
475 888772
Раньше тягал объекты физически и это было напряжно. Куча настроек кода, куча нюансов, багов, которые нужно было решить. Короче, решил переписать по другому. Вот такая теперь схема, может кому покажется интересной.
1. Допустим, я хочу взять предмет Cube.
2. Я его буквально скрываю (setActive(false))
3. На его место перемещаю специальный объект-пустышку, и присваиваю ему ту же сетку и добавляю boxCollider с триггером.
4. Если этот псевдо объект с чем столкнулся, то его специальный полупрозрачный материал становится красным, типа нельзя его тут бросить.
5. Если игрок бросает предмет, то скрываем псевдообъект и на его место ставим оригинальный.
В общем, нет физики - нет физических проблем.
Код уменьшился на 80%, стал понятнее
476 888826
>>88772
Да, решение отличное.
477 888840
В ньюфаг треде тишина, попробую спросить тут.
Как можно быстро покрасить модельки и импортировать их в таком виде в юнити?

Это не для готового проекта, я учусь и хотелось бы учиться на чем то наглядном, а не на кубах. Анимацию и сами модели делаю в Майе, но насчёт текстурирования там долго сидеть с нодами и это та сторона куда я практически не влазил.
*В идеале рисовка по самой модели, а не по 2д развёртке.
478 888851
>>88840
Так покрась в блендере, не так удобно как в пайнтере, но для быстрого покраса пойдет. На ютубе много туториалов https://www.youtube.com/watch?v=8UoUZHlWcVc
479 888867
>>88772
Если для виара, то лучше верни первый вариант.

>>88840
Спизди сабстанс, если видеокарта есть на борту. С блендером одна головная боль.
480 888918
Новое лого выглядит так, словно его недорендерили (сэмплов не хватило)
image.png454 Кб, 635x345
481 888922
482 889035
В каком файловом расширении лучше хранить характеристики игрока ? В голову приходит лишь txt и properties...
484 889071
>>89035
Или ScriptableObject, или что-то, что можно в экселе открыть
485 889089
Много вопросов об одном и том же:

Почему новичкам даже не советуют смотреть в сторону игр с открытым миром?
Это потому что нужно полностью знать код и функционал движка для оптимизации?
Или дело в том что домашнее железо просто не потянет фул мапу в одной сцене со всеми объектами на ней?

Юнити из коробки умеет в подгрузку только тех квадратов карты где находится игрок?
486 889116
>>89089

> Почему новичкам даже не советуют смотреть в сторону игр с открытым миром?


Много сложностей и как правило игра с открытым ммром предполагает много механик, новичок никак не потянет большой проект

> Это потому что нужно полностью знать код и функционал движка для оптимизации?


Полностью юнити никто не знает, это и не нужно

> Или дело в том что домашнее железо просто не потянет фул мапу в одной сцене со всеми объектами на ней?


Железо не причем

> Юнити из коробки умеет в подгрузку только тех квадратов карты где находится игрок?


Ну, скажем так, тут не все так просто.э

На самом деле если честно твои вопросы несколько бессмысленные. Если хочешь делать игры - начинай учиться, там и до опен ворлда дойдешь в какой-то момент
487 889118
>>89116
Тогда более приземистый вопрос, как правильно выставить настройки чтобы пресет партикла не сбрасывался?

Я его настроил, посмотрел работу ингейм, и как только стопнул, все слетает на дефолт
488 889120
>>89118
А нахуй ты настройки в плеймоде крутишь? Крути без плеймода. Если прямо в жопе свербит в плеймоде смотреть то до того, как отжать, клацни по компоненту второй кнопкой, выбери скопировать компонент, отожми плеймод и вставь.
489 889234
>>89035
если эти данные не будут куда то лететь на сервер и геймдизайнеры работают в юнити то ScriptableObject
490 889297
А правда,что когда выпустишь первую игру, то работа над другими будет морально легче и быстрее прогресс будет идти
491 889329
>>89297
Скорее дело не в том выпустишь или нет, а в твоих навыках. Я когда еще ньюфагом был - было тяжело... А как стал ебашить - стало намного приятнее игры делать, потому что в целом понимаю как и что надо делать, есть вопросы только к некоторым конкретным особенностям или элементам игры, и намного меньше времени тратится на дизморалящую борьбу с багами
492 889337
>>89120
Я создаю партикл в сцене. Настраиваю его, вбиваю все параметры, далее жму плей, проверяю, останавливаю, возвращаюсь к его настройкам и они сбрасываются на дефолтные.

В туторах - они остаются
493 889374
Это не единственная проблема, после того как я попытался поменять настройки камеры движок хуйнул всю видимость с объектов в сцене. >>89337

Не сохраняя вышел с проекта, загрузил - без результата. Видимость везде проставлена, настройки самой камеры сброшены на дефолт. Причем видимость с нее в углу видна, а вот расположение объектов в сцене я увидеть не могу. Только передвинуть их.
494 889384
>>89374
>>89337
Все пофиксилось, в том числе и партикли, появилось корректное окно где можно менять настройки, рестартить и все остается.

Кто нибудь спросит а нахуя нубу партикли, если он не знает базовых основ. Так я отвечу - туториалы очень простые, можно сразу работать над эффектами скилов и оружия.
495 889657
>>81013
Напиши для персонажей универсальный компонент типа CharacterController, в котором будет весь функционал и вешай его на всех персов (нпц, монстры, игрок и тд.) Потом пиши контроллеры пользователя (PlayerController и AIController), где ты уже определишь какие функции CharacterController будут использоваться. В AiController ты можешь реализовать кучу разных поведенческих паттернов и менять их на лету. Должно получиться довольно гибкое решение, т.к каждый персонаж может быть нпц ботом или управляться игроком. Даже если это не пригодится, то по крайней мере ты избавишься от навязчивых мыслей, что тебе чего-то не хватает.
496 889659
>>89657
На самом деле хуёвая идея называть скрипты так, как уже назвали свои скрипты юнитеки.
497 889676
>>89659
Если взглянуть изнутри на скрипты юнитеков, то на самом деле название класса у них можно смело отбирать.
498 889875
Где можно посмотреть примеры таких решений или туториалы? >>89657
499 889933
>>89875
Нигде. Ты нигде не найдешь примеры нормального кода с нормальной архитектурой. Все туториалы являются говнокодов, абсолютно все.
500 889937
>>89933
Ну, у максима крюкова на ютубе нормальный код
501 889941
>>89297
Не правда
502 889942
Как на сраном террейне сделать чтобы трава не вращалась за камерой?
В настройках биллбоард фейс камера выключена, всё равно крутится
503 889964
>>89937
Исключение.
504 889971
Как скомбайнить 2 шейдера/материала, чтоб один на другом?
ДВА ШЕЙДЕРА блять не текстуры!
505 889990
>>89933
Кстати это забавно, по архитектуре вообще нету никаких нормальных материалов, ни на гитхабе проектов, ни статей, ни видосов, ничего. Максимум какие-то абстрактные размышления на тему без конкретики. Хотя тема супер актуальная, новички делают говно и спрашивают у всех - а как надо, а им никто не отвечает и посоветовать ничего не может, потому что нечего.

Я и сам таким был, и стал делать нормально(и то условно, еще есть много к чему стремиться) уже на работе после нескольких выпущенных проектов, и я реально не вижу причины, почему до сих пор никто не запилил на гитхаб пример или на хабр статью как сделать базу под какую-нибудь небольшую игру. Ну, кроме того что это время займет, и скорее всего профитво никаких не принесет.

По сути одну только годную статью по этой теме видел, но она не для новичков и только для тех кто на ецс
https://habr.com/ru/articles/742376/
506 889998
>>89990
Единственный способ научиться писать нормальное архитектуру и перенять современные практики - пойти работать с большую контору разработчиков игр. Особенно в мобильных конторах дрочат архитектуру очень жёстко, потому что в мобильных играх очень много различных сервисов, состояний и прочего.
507 889999
Да меня не интересует пример отличного кода, я как нуб хотел бы очень увидеть любую реализацию описанного. >>89657

По сути это системы которые используют или использовали ММОРПГ 2005-2010 годов. Когда у тебя моб в принципе аналогичен игроку. А игрок может на себя примерять шкуру моба. Такое было в Lineage 2, когда включаешь девелоп режим
508 890000
И второй момент который хотел бы узнать.

При помощи каких шейдеров и текстур можно воссоздать эффект искривления пространства волнами исходящими из центра? Что-то вроде черной дыры.

Я находил тутор по эффектам , но чел сам сделал шейдер и не поделился им
509 890003
>>89937
Жаль, что он свою аудиторию дропнул и перестал снимать видосы
510 890016
>>90003
Ну расстроился чел немного, что терпение у соседа лопнуло. Не ссы, без году неделя война кончится и опять видосы будет снимать.
511 890018
>>89990
Да там особо то и знать ничего не надо. буквально код комплит прочитать, там слоеная описана и все. У Крюкова тоже ехала слоеная через слоеную.
512 890067
Как глобально отлавливать эксепшены в юнити? Мне казалось, что в Application есть такое специальное событие, но на деле оно просто отлавливает логи. А мне нужно получить сам эксепшен.
513 890073
>>89875

>Где можно посмотреть примеры таких решений или туториалы?


Берешь любую игру на юнити и открываешь декомпилятором. Смотришь что тебе надо и пиздишь код
514 890076
>>90067
Нах?
515 890090
Посоветуйте пожалуйста туториалы, гайды, каналы связанные с эффектами в движке, с партиклами ну или книги, если такие есть.

Большинство того что встречаю это по сути портфолио, автор не углубляется либо пропускает ключевые моменты как он сделал определенные вещи. Особенно у азиатов - очень красиво и годно, но даже намека нет с чего начать.
516 890114
Теперь полю игру строго по чек-листу. А то раньше сел - и сам не заметил, куда-то поплыл, с компонента на компоненты, с фичи на фичу, вроде и делаешь что-то, но бывает, что приходишь к выводу, что особо не продвинулся за текущую сессию.
А теперь я строго так, по списку, можно не по порядку, но не отвлекаясь
1. Настройка чувствительности мыши/геймпада
2. Разместить лампы для запекания
3. Разместить пробы
4. Реализовать прыжок персонажа.

И т.п., ну как-то так.
517 890297
Сегодня пришел к выводу, что лучше не работать с OnEnable, Awake, и прочим (в 99% случаев), а пусть будут методы типа Init(), чтобы не было проблем с порядком. Пусть один класс инициирует все в такой очереди, чтобы все не ломалось
3.png1,3 Мб, 810x1080
518 890299
>>90297
это база
519 890331
>>90297
+1 очко к скиллу
520 890339
>>90299
Есть еще базы?
521 890349
>>90297

>Сегодня пришел к выводу, что лучше не работать с OnEnable, Awake


Ну давай, накидай мне альтернативу.
Игрок получил перк - ужас, при котором все враги низкого уровня разбегаются, давай как мне это им сообщить?
Если напишешь про Update перетяну тебе через лицо..
522 890350
>>90349
паттерн обзервер...
523 890357
>>90297
Когда главный вахтер анриал треда увидел у меня метод инициализации класса, у него случился шок.
524 890359
>>90349
Вангую этот еще и создает компонент ужас, который цепляет на персонажа, как единственно возможное решение.
525 890388
>>90349
enemy.ApplyEffect(EffectType.Terror)
526 890466
Ловите хак:
Если вам надо, чтобы Юнитя компилировала скрипты, но иногда вам этого не надо, выможете в каком-то скрипте оставить явную ошибку. Компиляции не будет, и вы будете экономить пару секунд, а и то больше, если железо слабое.
А то иногда прям нужно переключаться между редактором с VS Code делая небольшие правки в коде, но при этом нет необходимости, чтобы была компиляция
image.png12 Кб, 673x193
527 890468
>>90466
я про это бесячее окно
528 890499
Как правильно сохранять объекты в юнити, чтобы я мог открыть другой проект и по желанию засунуть сюда свои же эффекты или персонажа?

Мне нужно в префаб засунуть и потом экспортировать или как вообще?
7.mp4612 Кб, mp4,
1280x720, 0:03
529 890539
530 890588
>>90499
Правой кнопкой жмешь на папку, где сохранена модель, префаб, материал, текстуры и т.п., далее выбираешь из списка export package и сохраняешь куда надо.
531 890589
>>90090
https://www.youtube.com/@GabrielAguiarProd/videos

вот на этом канале подробные туториалы годных спецэффектов.
Heatwave.png50 Кб, 256x256
532 890597
>>90000
Переведи пикрил в normal map, потом эту нормал мапу надо применить на прозрачный материал (tranbsparent), а дальше играть с масштабом объекта, на который применяешь материал - либо через скрипт, либо через щейдер с функцией масштабирования.
533 890692
Кто-нибудь объясните, как так получается что в редакторе у меня всё работает, а при компиляции вылезают абсолютно дикие баги.
Что за гавно?
хх.jpg87 Кб, 797x548
534 890694
В компиляторе всё находит, в билде даже текст не изменяется с дефолтного на пустой.
535 890699
>>90692
Вангую автор этого поста школьник.
536 890703
>>90589
>>90597

Спасибо за ответы, канал вообще исчерпывающий для меня - старые видосы с системой партиклей, новые с графами
537 890709
>>90699
Мне 37

Как найти детей у объекта?
Я сейчас попробовал через публичные объекты, всё работает. Значит юнити не находит детей по тегу.
9
538 890712
Хочется сразу ещё один вопрос задать, хотя мне далеко до реализации ещё.
Вот есть у нас персонаж со скелетом, к нему будет идти анимации - стойка, ходьба, бег и т.п.

А каким образом к скелету цеплять оружие, если вариаций оружия несколько? Как правильно это делать?
539 890721
Делал модельки в Блендере, красил в Сабстансе. Пару моделек для теста закинул в Юнити, распаковал материалы и текстуры - всё нормально подтянулось и отображалось, ну я и забил на проверку. Просто делал модели в стол, чтобы потом сразу кучей закинуть. А сейчас решил проверить, закинул одну из новых моделек, также распаковал материалы и текстуры - а оно перестало работать, материалы все чисто белые. Распакованные текстуры перестали автоматически подгружаться в материал, но даже если вручную текстуры в материал запихнуть - всё равно материал весь белый. Ну я подумал, что где-то обосрался с новыми моделями. Закинул старую модель, которую раньше распаковывал - а она тоже вся белая. Причем у меня точно такая же модель рядом лежит, уже распакованная раньше и всё работает, а если делать то же самое - нет. За это время я Юнити не запускал и никак не трогал, что там могло сломаться - не знаю. В чём может быть дело?
540 890734
>>89971
1. Написать единый шейдер с функционалом изначальных.
541 890735
>>89990
Новичкам надо просто делать игры по типу арканоида и сапера, изучать апи движка, а не дрочить мануалы по архитектуре - это только отбивает желание изучать движок. Со временем, после пары-тройки говнопроектов, если чел понял что делать игрульки - это его - понимание само придет по выбору архитектуры для конкретного проекта.
542 890740
>>90712
Я бы добавил пустой объект к нужной кости, который бы потом был парентом или констрейнтом для объекта оружия. Когда происходит выбор оружия, то персонаж должен включить необходимый анимейшен стейт для этого типа оружия (держать пистолет или держать винтовку), дальше должен включиться и приаттачиться необходимый ствол к нашей опорной точке. В общем у тебя два объекта(персонаж и оружие) которые просто синхронно проигрывают анимацию.
543 890741
>>90709

>Значит юнити не находит детей по тегу


ну тогда получается, что ошибка где-то тут. нет?
и скорее всего не у юнититеков
544 890742
>>90709

>Как найти детей у объекта?


есть метод возвращающий чайлдов.
547 890800
>>90735

> Новичкам надо просто делать игры по типу арканоида и сапера


Я не про таких новичков само собой лол

А про таких

> Со временем, после пары-тройки говнопроектов



Потому что на практике

> если чел понял что делать игрульки - это его - понимание само придет по выбору архитектуры для конкретного проекта.


нихуя не придет за 3 игры. Чтобы пришло надо изучать все те крохи инфы какие есть в интернете и как они решают твои проблемы и уже быть опытным в программировании еще до прихода на юнити
548 890956
Я как полный новичок планирую выбрать старую игру, например с GBA, и попробовать перенести ее, в том числе в 3д.

Плюсы:
- почти не нужно думать над сюжетом и проработкой мира
- простые механики
- небольшая детализация окружения

Минусы:
- тварь скопировал чужое
549 890981
>>90956

>- тварь скопировал чужое


переформатировал, адаптировал, обновил. Учись воровать хорошо
550 891044
>>90721
Разобрался, мой проёб. Я сначала извлекал материалы, потом текстуры, а надо наоборот.
551 891045
>>90956
Второй фоллаут в триде переноси. Будет успех, популярность, почёт.
552 891095
>>91045
Не подходит под мою стилистику, у меня все текстуры рисованные будут на планшете
К тому же там миллион переменных будет.

Такая игра ЯВНО не для новичка
image10 Кб, 491x540
553 891097
В юнити возможно работать над бесшовным миром разделяя его на отдельные куски по сетке? Движок умеет подгружать в уже собранном проекте только те места где непосредственно находится игрок?

Постараюсь понятнее объяснить:
Я кирилл суть такова
Допустим у нас один большой террейн площадью 25 квадратных км. со сторонами 5х5. Кистью проводим разметку с макета - оставляем пометки для того чтобы на эти места расставить постройки и остальное.
Далее это дело нужно разбить на квадраты по 1 кв. км. и заниматься окончательной проработкой.
И к примеру треть карты останется пустой, для ее наполнения в дальнейшем, но там будут невидимые стены куда игрок не пройдет.
554 891098
У меня потерялась фраза где говорилось о том, что эти квадраты по 1 кв. км. будут открываться в виде отдельных сцен
>>91097
555 891101
>>91097

>В юнити возможно работать над бесшовным миром разделяя его на отдельные куски по сетке?


Можно.

>Движок умеет подгружать в уже собранном проекте только те места где непосредственно находится игрок?


Умеет.
556 891103
Подскажите, мне все равно нужно лезть в rigidbody и использовать коллайдеры в 3д сцене если я хочу вообще физические просчеты в игре к минимуму свести? Есть альтернативы?

Требований несколько
- Персонаж не должен проходить сквозь текстуры и органично двигаться
- возможность движения по наклонной поверхности

Все остальное взаимодействие будет только с интерактивными объектами.
557 891109
https://www.youtube.com/playlist?list=PLxAJaawE-vksJlTcZKibYEmtL4dUqbrSa - на мой вопрос "Есть ли хорошие курсы по Unity" мне отвечали "Нет!".
Но я наткнулся на курс от Яндекса, вроде бы норм.
А есть еще хорошие русскоязычные курсы?
558 891111
>>91103
Так лезть в ригитбоди это же самый простой вариант, почему ты боишься?
Оно не будет грузить проц, если у тебя не сто тыщ объектов. Тем более пхисикс в юнити это самый быстрый вариант, не считая той дрисни для дотса
559 891220
>>91111
Я прочитал что движку придется каждый раз делать рассчеты. А если у тебя статичный объект движется то вообще смерть.

Собственно отсюда уже второй вопрос вытекает, если у меня в игре будут панели парящие в воздухе по маршруту - что на них вешать? Тоже ригидбоди?
560 891223
Кстати в 8 из 10 туториалов которые сует Ютуб рассказывают что нужно вешать меш коллайдер на казалось бы простой объект.

И при этом 0 информации о terrain collider, как его правильно использовать и для чего
561 891335
>>91223

>нужно вешать меш коллайдер на казалось бы простой объект.


Нужно вешать кубы и капсулы, они производительней. Но иногда геометрия объекта просто не вписывается в куб и тут уже нет вариантов.
terrain collider же работает только с встроенным в Юнити тиррейном, ты его ни с чем другим не сможешь нормально использовать.

А теперь мой вопрос. Хочу сделать персонажа маленького роста, сантиметров двадцать. Писать собственный контроллер персонажа мне лень, беру готовый. С моделькой такого роста получаю полный пиздец по движениям и анимациям. Как думаете, есть смысл нормально все настраивать? Или проще тупо увеличить все объекты окружения?
562 891357
>>91103

> Персонаж не должен проходить сквозь текстуры


> возможность движения по наклонной поверхности



Ну если нужна физика, значит надо лезть в физику. Не?
>>91220

> Собственно отсюда уже второй вопрос вытекает, если у меня в игре будут панели парящие в воздухе по маршруту - что на них вешать? Тоже ригидбоди?


Ну если это физические твердые тела(участвуют в коллизиях, сквозь них нельзя ходить), то да.

> Я прочитал что движку придется каждый раз делать рассчеты.


При любом движении придется делать рассчеты. И все равно цена им около 0 в твоем случае.

> статичный объект движется то вообще смерть


Ну значит делаешь объект не статическим и двигаешь
563 891373
>>80622 (OP)
При установке пакетов из пакетного менеджера возникает такая ошибка:
Converting circular structure to JSON
--> starting at object with constructor 'Error'
--- property 'error' closes the circle
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

Что с этим делать? Перезагрузка и переустановка не помогли.
564 891381
>>91373
Неиронично скопировал и вставил в гугол
565 891383
>>91381
Так советуют переустанавливать и перезагружать
566 891455
Разве террейн в юнити это не обычный плейн? Мне казалось что я доделаю ландшафт в блендере, перекину его в юнити, добавлю тег террейна и накину террейн коллайдер.

Или это так не работает? Каким образом мне правильно перенести мою локацию? Там есть как ровные поверхности так и холмы. Неужели нужно руками расставлять коллизии примитивы которые будут повторять очертания ?
567 891460
>>91455
Меш коллайдер
569 891575
Как правильно реализовать отображение экипировки на персонажах?

У нас есть модель эльфа. Для него сделано 3 набора брони, каждая состоит из 5 частей. (Шлем, нагрудник, штаны, перчатки, сапоги) Экипировать можно 1 часть любого набора брони. Игрок сам должен решать какие бонусы ему нужны и в зависимости от этого подбирать куски.

Но как это должно выглядеть с технической стороны? Создавать сотни возможных вариаций одной модели это же шиза. Шейдеры тоже не помогут, потому что броня выходит за пределы модели персонажа, особенно тяжёлая.
capsule.png109 Кб, 974x680
570 891742
>>91335
Лучше попытаться настроить. Там же вроде ничего сложного нет, сам юнити говорит, что надо step offset по такой то формуле подгонять к размеру объекта.
terrain collider.png7 Кб, 245x91
571 891744
572 891845
5ый год работаю в конторе без развития, делаем гиперказуальную-казуальную хуйню и периодически апдейтим флагманский проект и высираем его клоны.

Собственно, хочу левел-апнуться и сменить место. Во многих конторах для миддла (от 200к) просят строгое соблюдение SOLID, DI. (иногда приписывают YAGNI, DRY)
Что есть почитать на тему или глянуть туториалы, чтобы сие использовалось в Юнити?
573 891875
>>91845
Туториал о том, как использовать солид в юнити? ты серьезно?
574 891934
>>91845

>делаем гиперказуальную-казуальную хуйню


>просят строгое соблюдение SOLID, DI


Это для хуевых прототипов которые за 2 недели собирают нужен солид и инверсия?
575 891956
>>91934

>инверсия


может инжекция?
576 891958
>>80622 (OP)

Перекат >>891957 (OP)
Перекат >>891957 (OP)
Перекат >>891957 (OP)
577 892117
>>91845
Советую канал:

https://www.youtube.com/watch?v=ZA-1BZPj3_U&ab_channel=SergeyKazantsev

Ваще это база, думаю после просмотра видосиков поймешь почему и вспомнишь как меняя какую то хуйню, переписывал пару классов или искал баг.
unity3.jpg34 Кб, 653x403
578 892526
В Build Settings пытаюсь установить модуль WebGL. Он скачивается в Unity Hub - и происходит вечная Validating.
Unity Hub закрывал и запускал от имени администратора - не помогло.
579 892675
>>92526
погугли как сбросить кеш в хабе, может поможет
580 895415
>>88764
И что растет быстрее
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее