Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 502 102 110
Unity 3D #24 Аноним 05/12/22 Пнд 11:51:21 843352 1
images.jpg 6Кб, 259x194
259x194
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

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

Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-store
UnityWiki: http://wiki.unity3d.com/index.php/Main_Page

На Unity сделано много замечательных игр - Valheim, Genshin Impact, Subnautica, Albion Online, Endless Space, Beat Saber, Boneworks, Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.

FAQ

- Какие у Unity сильные стороны?
- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.

- Какие у Unity слабые стороны?
- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.

- На каких языках я могу писать скрипты для Unity?
- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.

- Для каких жанров подходит Unity?
- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.

- На каких платформах работают созданные с помощью Unity игры?
- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.

- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?
- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.

- Что такое стартер киты?
- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с 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. Head First. Изучаем C# 4е издание Авторы: Эндрю Стиллмен, Дженнифер Грин
2. Программирование на C# для начинающих 2е части Автор: Алексей Васильев
3. C# для чайников Автор книги – Джон Пол Мюллер
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х полноценных игр на движке, обязательно нужно скачать код проектов, так как в книге он местами уже устарел.)
Аноним 06/12/22 Втр 12:28:13 843493 2
TD-prot - Sampl[...].webm 7257Кб, 1856x1080, 00:00:34
1856x1080
Тред умер, потому что все побежали зарабатывать декабрьские 900к?
Аноним 06/12/22 Втр 12:47:46 843500 3
>>843352 (OP)
Вижу шапку поправил но не до конца.

>Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.
Уже можно любую hdrp завезли. Хоть как в анриле.

>На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.
В юнити всего один язык и это C#.

>Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.
Не актуальный старый кал. Либо юзаешь ассеты или пишешь шейдеры.

>1. Разработка игр на Unity 2018 за 24 часа Майка Гейга
>2. Изучаем C# через разработку игр на Unity. 5-е издание Харрисон Ферроне
>3. Unity в действии. Мультиплатформенная разработка на C#. 3-е межд. издание Хокинг Джозеф
Старый ебучий кал. Добавить туда надо смотрите обучалки на ютубчике или шерстите оф документацию с примерами. Или сам курс от юников пройти уже на сайте.
Аноним 06/12/22 Втр 13:10:04 843506 4
unity стал слишком жирным. пустой проект занимает 2 гигабайта. грузится 5 минут.
хватит это терпеть.
Аноним 06/12/22 Втр 13:31:32 843509 5
>>843506
Чел, пустой проект весит около 100 мб в исходнике и 30мб сбилдженый. Открывается 3-10 сек.
О чем разговор?
Аноним 06/12/22 Втр 13:32:52 843510 6
>>843509
>О чем разговор?
о проекте, а не о игре
Аноним 06/12/22 Втр 13:33:13 843511 7
>>843510
который в Unity Projects
Аноним 06/12/22 Втр 13:37:30 843512 8
Репорт за движкосрач не по теме.
Аноним 06/12/22 Втр 13:40:55 843514 9
>>843512
>обсуждение редактора юнити
>не по теме
ну как хочешь. иди позови котла, чтобы мой пост удалили лол
сидите в своем дохлом треде с 1 постом в день дальше, нытики
Аноним 06/12/22 Втр 15:06:01 843534 10
Аноним 06/12/22 Втр 15:06:15 843535 11
>>843352 (OP)
Тут есть те, кто зарабатывает на assets store?
Аноним 06/12/22 Втр 15:23:15 843540 12
1111.jpg 153Кб, 965x898
965x898
>>843537
Было отправлено 1 раз, бог мне судья. Остальное это баги двача.
Аноним 06/12/22 Втр 15:43:50 843548 13
>>843534
Да вон прочитал там с соседнем треде, один поднял, другие завидуют ))
Аноним 06/12/22 Втр 15:44:53 843549 14
>>843540
Один раз я отправил
Аноним 06/12/22 Втр 15:49:23 843550 15
>>843535
>>843548
https://www.youtube.com/watch?v=oGib_NNPw9k
Полно кто из РФ зарабатывают на Assets store.
Тут вопрос в другом, котов ли ты год/полтора делать ассет, где ещё не сразу могут принять (а проверяют его две~три недели)
Аноним 06/12/22 Втр 15:52:15 843551 16
>>843549
Зачем ты это сотворил?
Аноним 06/12/22 Втр 15:52:55 843552 17
>>843551
Ну потому что я увидел два сообщения, подумал, что флешмоб и поддержал.
Аноним 06/12/22 Втр 15:54:04 843553 18
>>843552
Тогда получаешь репорт за щитпост, без обид.
Аноним 06/12/22 Втр 16:01:10 843554 19
>>843352 (OP)
Вопрос, насколько хорошо в Unity 3d использовать PBR материалы (К примеру атлас с 4096x4096) для mobile?
Или это слишком жирно и android/ios устройство такого не вывезут?
Аноним 06/12/22 Втр 16:03:11 843555 20
image.png 66Кб, 757x595
757x595
>>843537
>>843540
>Остальное это баги двача.
Кстати - да
Аноним 06/12/22 Втр 17:06:25 843568 21
>>843554
А ты сможешь рассмотреть эти текстуры на своей mobile?
Аноним 06/12/22 Втр 18:57:03 843586 22
Аноним 06/12/22 Втр 23:43:08 843631 23
>>843540
>баги двача
>>843555
>баги двача
Ньюфаги, если вы нажали один раз кнопку "отправить", но ЧТО-ТО СЛОМАЛОСЬ и сообщение не исчезло из формы, не нажимайте эту кнопку повторно - подождите минуту-две и нажмите "обновить" внизу страницы. Иногда так получается, что сервер принимает сообщение и добавляет в тред, но клиент форму не очищает и страницу не обновляет. ПОВТОРНО НАЖИМАТЬ НЕ НУЖНО, ваши повторные нажатия кнопки и создают эти дубликаты сообщений. Особенно это касается капчующих с мобилок, у которых жирные колбаски вместо пальцев делают двойной тап, не осознавая этого.

У меня такое было пару раз несколько лет назад. Быстро понял, в чём проблема, и больше на это не попадался. Если вы не ньюфаги - не завидую вашим играм...
Аноним 06/12/22 Втр 23:53:47 843632 24
вишлисты.webm 5461Кб, 1856x1080, 00:00:24
1856x1080
Готовьте вишлисты, анончики.
Аноним 06/12/22 Втр 23:55:56 843633 25
>>843632
Выглядит как shareware игры начала 2000х.
Аноним 06/12/22 Втр 23:58:14 843634 26
>>843632
Не плохо. Но на одной механики игру не вывезти.
Аноним 07/12/22 Срд 02:12:39 843652 27
>>843632
Не хочу обижать, но я надеюсь, что графику ты всё же поменяешь. Максимально унылая картинка, ни о чём просто. Если я хочу поиграть в tower defense, я выберу себе игру с привлекательной графикой, потому что игромеханически все эти игры плюс-минус равны - "строй башни, улучшай башни, жди завершения уровня, повторяй всё это на следующем". Но даже если ты выдумал какой-то очень крутой новый геймплей (вряд ли), без привлекательной картинки его у тебя никто не увидит и искать не будет. Чем менее привлекательна игра внешне - тем больше сил и средств нужно вложить в маркетинг...
Аноним 07/12/22 Срд 02:25:18 843655 28
>>843652
Есть такое. Но максимум на что я могу пойти - найти тайлсет для террейна повеселее.
Аноним 07/12/22 Срд 08:53:17 843673 29
>>843655
У тебя ассеты все в разных стилях, сделай всё единообразно.
Аноним 07/12/22 Срд 10:55:48 843681 30
>>843631
У меня всё с первого раза отправилось
Аноним 07/12/22 Срд 11:56:23 843690 31
код.jpg 341Кб, 1105x1964
1105x1964
В общем такое дело. Сверху у меня помечены модификаторы атаки. В скрипте Enemy есть метод ApplyDamage, который в качестве параметров принимает модификаторы атаки и делает че надо. Получается, что если я меняю модификаторы атаки, мне нужно еще менять метод на пике, а так же метод ApplyDamage.

Насколько я понимаю эта хуйня из под коня и называется связанностью и мне как минимумм нужно модификаторы атаки инкапсулировать в отдельный класс и в ApplyDamage передавать его, вместо целого набора параметров???
Аноним 07/12/22 Срд 12:04:23 843691 32
Аноним 07/12/22 Срд 12:23:12 843694 33
Аноним 07/12/22 Срд 14:17:18 843713 34
>>843690
Хотел тебе помочь, но в этом треде вахтер пердит вонюче, сорри
Я хочу перекатиться на другой движок, в котором проекты не открываются по 5 минут. Это большой блок для меня.
Аноним 07/12/22 Срд 14:26:56 843716 35
>>843708
Купи себе нормальный компьютер.
Аноним 07/12/22 Срд 14:27:54 843718 36
10 раз на кнопку можно подписаться? или есть защита?
Аноним 07/12/22 Срд 16:29:16 843739 37
>>843690
Да и вообще наверное поведение башни стоит полностью отделить от статов? и типо можно тогда в башне заменять модели поведения или например делать их несколько. Добавить спавнер допустим, или автокас каст заклинаний через какой-то промежуток времени в довесок к автоаттаке!? чи да чи ни? А сама башня будет просто хранилищем и инициализатором компонентов.
Аноним 07/12/22 Срд 17:31:00 843745 38
>>843708
Выглядит как пижня, у меня на HDD создаётся минуту дай бог
Аноним 07/12/22 Срд 20:15:57 843786 39
>>843745
Ты на unity 5 до сих пор сидишь что-ли?
Скачай последнюю версию и создай URP проект
Аноним 07/12/22 Срд 22:47:20 843841 40
Вопрос анчоусам.jpg 111Кб, 786x745
786x745
Тэкс. Рубрика вопрос бывалым продолжается. Карочи вот такая у меня получилась ебалда. Сделал я абстрактный класс TowerTask с абстрактным методом Execute, который возвращает булевое значение. Смысл этой залупы в том, что если текущий стейт анимации - Idle, т.е башня бездействует, запускается прогон всех доступных для башни заданий - автоатака, автокаст, призыв защитника и т.д.. Т.к. башня не может выполнять все задания одновременно, она ждет первого true от экзекуции заданий и дропает дальнейшие. Дальше соответственно ждем конца анимации запущенного таска и пробуем опять. Внутри кода таска будет храниться вся информация касательно его исполнения, кулдауны и так далее. Пока до конца не оформлено, но схема будет такая в общих чертах.

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

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


Даст кто-нибудь письку ебать за такой код или хуй пососу как всегда?
Аноним 08/12/22 Чтв 00:16:37 843868 41
Безымянный.jpg 71Кб, 732x571
732x571
>>843841
Ну вот и все ебать
Аноним 08/12/22 Чтв 00:31:04 843874 42
tenor-1836371914.gif 3620Кб, 498x278
498x278
Аноним 08/12/22 Чтв 00:32:15 843876 43
>>843868
пиши public вместо serializefield
Аноним 08/12/22 Чтв 01:31:31 843883 44
>>843876
Зачем? Чем меньша пабликов тем лучше
Аноним 08/12/22 Чтв 01:45:40 843885 45
>>843841
>Даст кто-нибудь письку ебать за такой код
Да, за такой код тебе дадут пизды, но в более традиционном смысле.
Аноним 08/12/22 Чтв 01:49:15 843887 46
>>843841
>Update()
>Смотрит какая играется анимация чтоб понять доступна ли башня для действий
Ты совсем далбаеб? Может лучше анимация будет зависеть от того что делает объект, а не наоборот?
Аноним 08/12/22 Чтв 02:00:02 843889 47
>>843887
Попроще будь, ебло.
Аноним 08/12/22 Чтв 02:01:57 843890 48
>>843889
Да я бы тебя обоссал при встрече, грязь индусская.
Аноним 08/12/22 Чтв 02:07:42 843891 49
>>843890
Анимейшон эвентс скорее тебя обоссут, клован
Аноним 08/12/22 Чтв 02:24:00 843898 50
>>843883
кто такую чушь сказал?
Аноним 08/12/22 Чтв 02:33:06 843902 51
>>843898
Он видимо намекает на принцип открытости закрытости хз
Аноним 08/12/22 Чтв 02:50:56 843903 52
>>843887
Пусть пишет. Одним конкурентом меньше. Я бы ему еще посоветовал записаться на курсы сакутина, чтобы добить наверняка
Аноним 08/12/22 Чтв 03:29:40 843905 53
>>843903
Отличные курсы. Всяко полезнее чем выпуки безыгорных говнокодеров с двача с завышенным самомнением, которые в штаны дристанули, когда узнали, что кто-то 900к поднял за месяц
Аноним 08/12/22 Чтв 18:29:00 843973 54
aZYw-aPSmgc.jpg 223Кб, 760x1027
760x1027
>>843868
Пацаны пацаны кажется новая идея проклевывается!!!!! Карочи Так с виду у всех тасков один и тот же набор методов с разным исполнением. Попахивает шаблонным методом, который будет запускать мелкие подзадачи инкапсулированные в отдельные классы, под чьей абстракцией будут сидеть конкретные варианты исполнения, типа как в стратегии. Тогда в теории, можно без преписывания кода для каждого нового таска полность, накодить различные варианты исполнения задач низкого уровня и комбинировать такси уже из них.
Аноним 08/12/22 Чтв 18:31:06 843974 55
>>843973
Идея это хорошо, но твоя реализация этой идеи как всегда будет куском говна, так что на твоем месте я бы не радовался.
Аноним 08/12/22 Чтв 18:43:31 843977 56
>>843974
Другалечек, ты че такой злой и категоричный? Ассетов на ассетфлип не нашел или клон вампиров не продался? Зачилься.
Аноним 08/12/22 Чтв 19:03:31 843979 57
2 вопроса

1) Кто то покупал через пайпал ассеты? По идее можно же закинуть на палку через обменник с бестчейнджа или с киви?

2) У меня иногда такое бывает: если загружаю модель с анимацией, то всё ок и другие анимации ЭТОЙ ЖЕ МОДЕЛИ на ней работают (выдёргиваю анимации путём Ctrl+D).
А иногда бывает так, что я не могу запустить анимации, если применяю их на отдельно взятой модели, даже если она полностью заригана, аниме тайп generic, аватар генерил с этой модели и пробовал брать из другой, анимированной модели , на которой такой-же скелет и анимации работают (естественно там тот же скелет как и в анимации).
Причем ни в игоре, ни в редакторе, когда в окно превью анимации драгндропаю эту модель, тоже ничего не проигрывается. Ситуация странная и даже объяснить толком сложно, надеюсь кто то с таким сталкивался и решил.
Аноним 08/12/22 Чтв 19:59:04 843988 58
16705116533950.mp4 2402Кб, 1546x382, 00:00:12
1546x382
>>843352 (OP)
Ебаный рот этого аниматора.
Что с ним не так? Почему через стейтмашин анимация проигрывается с задержкой?
Аноним 08/12/22 Чтв 20:19:21 843990 59
>>843988
Потому что виндовс не активирован ты скрыл справа полезную панельку в которой настраивается в том числе задержка при переходе с одного стейта на другой.
Аноним 08/12/22 Чтв 20:45:03 843994 60
изображение.png 60Кб, 1151x320
1151x320
изображение.png 36Кб, 373x760
373x760
изображение.png 65Кб, 1150x324
1150x324
изображение.png 32Кб, 368x530
368x530
>>843990
Только скажи и я покажу тебе все

Вообще у меня там все по нулям. Для эксперемента убрал переходы между стейт машиной и базовым уровнем-одно и то же
Аноним 08/12/22 Чтв 20:58:13 843997 61
VID202212082056[...].mp4 2031Кб, 1546x382, 00:00:15
1546x382
>>843994
Если делать атаку не через стейтмашин а через обычный стейт, то все работает корректно
Аноним 08/12/22 Чтв 21:45:00 844002 62
>>843973
И тут у меня закралась мысль. А чем башня, как сущность отличается врагов? Не двигается же просто и все. А враги по сути выполняют те же таски. И че епты, получается надо вводить общее понятие сущности, от которого уже распедаливать?!?!
Аноним 08/12/22 Чтв 22:00:02 844003 63
>>843994
Меня смущает прокладка в виде entry между эни стейтом и твоими атаками, плюс не совсем понятно использование анистейта для всего, ты уверен что тебе нужна стейт машина?
Аноним 08/12/22 Чтв 22:07:53 844005 64
>>844003
>entry
Оно так по дефолта создаётся. Ее можно выкинуть?

>Надо ли ?
Мне стейтмашина нужна что бы сгруппировать анимации по различным вариантам ходьбы и атаки
Аноним 08/12/22 Чтв 22:59:54 844008 65
>>843988
>>843994
>>843997
>>844005
Заебало. Одарю косариком того кто свяжется со мной в телеге и объяснит как работает этот аниматор ебаный , стейтмашины и что я сделал не так именно в этом случае.

@ReiselReise
Аноним 08/12/22 Чтв 23:39:42 844010 66
>>844008
Рассказываю бесплатно и изи.
Делаешь Пустышку и в неё заходит энтри.
Остальные атаки вызываешь только во время действия. ИЗИ.
Аноним 08/12/22 Чтв 23:52:24 844011 67
VID202212082351[...].mp4 2424Кб, 1546x382, 00:00:13
1546x382
>>844010
Пытался и так сделать. Но хуй там плавал
Аноним 09/12/22 Птн 01:07:52 844014 68
Аноним 09/12/22 Птн 01:10:58 844015 69
Почему UI такое хардкорное
Почему нельзя как в вебе, где используя html css Js (а ещё лучше какое-нибудь react или Vue) можно сделать фактически любой дизаен, с анимацией в том числе.

Почему я должен перетаскивать кучу кнопок и каждую из них индивидуально настраивать по стилям, вместо того чтобы хранить стили для каждой кнопки где нибудь в файле, и править только там, а не тыкать каждую кнопку,когда захочу что-то поменять
Аноним 09/12/22 Птн 01:12:49 844016 70
>>844015
префабы кнопок сделай.
Аноним 09/12/22 Птн 01:24:38 844017 71
А ещё было бы круто, чтобы была реактивность и привязка к данным, как в Vue или react.
Чтобы мне не приходилось через скрипты скрывать какую-то панель, что показать другую, чтобы это происходило само собой:
<panel v-show="selectedPanel == panel.settings" >
<slider v-model="userdata.volume" min="MIN_VOLUME" max="MAX_VOLUME" >
</slider>
Этот код шаблона сам отслеживает, если выбрана панель настроек, то ее и показываем. Не надо вручную ее скрывать и показывать через код, правило уже прописано в шаблоне. Так же там в слайдере автоматически берется значение из userdata и сразу же его перезаписывает напрямую, как только пользователь двигает слайдер
Аноним 09/12/22 Птн 06:26:12 844024 72
image.png 29Кб, 1102x621
1102x621
база или кринж?
Аноним 09/12/22 Птн 11:53:29 844036 73
>>844024
Извини, брат, я за свои 5000 с яндекс игр трясусь, конкурента растить не буду.
Аноним 09/12/22 Птн 17:16:35 844085 74
>>843352 (OP)
Сап, юнитач
Не нравится visual studio, хочу что-нибудь более легковесное с поддержкой юнити. Rider от JB пойдойдет?
Аноним 09/12/22 Птн 17:28:21 844089 75
>>844085
Да, райдер официально поддерживается юнитей. Несколько лет на нем сижу и проблем нет.
Аноним 09/12/22 Птн 17:32:00 844090 76
image.png 27Кб, 1028x363
1028x363
Аноним 09/12/22 Птн 17:36:19 844091 77
Аноним 09/12/22 Птн 23:42:44 844149 78
Аноним 10/12/22 Суб 17:47:43 844231 79
Стала доступна Unity 2022.2

- Встроили ECS. Пишут, что уже можно в проде пользоваться.
- NetCode for GameObjects.
- UI Toolkit прокачали, теперь для написания инструментов для редактора лучше его использовать.
- По графонию: Decal Layers, Forward+ для источников света, новые системы для воды облаков, Shader Graph Full Screen Master Node для эффектов и многое другое.
- DirectX 12 вышел из экспериментального состояния.
Аноним 10/12/22 Суб 17:50:57 844233 80
>>844231
>Встроили ECS
Не прошло и пяти лет.
Аноним 10/12/22 Суб 21:32:00 844254 81
>>844231
>Встроили ECS. Пишут, что уже можно в проде пользоваться.
Я так и не понял что это и нахуя надо. Посоветуйте чё почитать, посмотреть чтобы дошло наконец.
Аноним 10/12/22 Суб 22:01:43 844256 82
>>844254
>Я так и не понял что это и нахуя надо.
Для обычного игродела не нужно, если не собираешься моделировать поведение десятков тысяч объектов в риалтайме.
Аноним 10/12/22 Суб 22:34:09 844261 83
>>844256
А че это чисто оптимизаторская хуита? Каких-то других пруфитов типа читаемости или легкости в создании архитектуры нет?
Аноним 10/12/22 Суб 22:45:54 844264 84
>>844261
>пруфитов типа читаемости или легкости
Если где то прибыло, значит где то убыло. Производительность получается за счет отсутствия читаемости и легкости.
Аноним 11/12/22 Вск 01:16:48 844271 85
>>844231
Перевел проект с 2020 на 2022 и получил критикал еррор. Теперь он тупо крашится при загрузке. Ахуена, спасибо)))
Аноним 11/12/22 Вск 01:41:35 844272 86
>>844271
>менять движки посреди разработки
Причем тут юнити, ты сам долбоеб.
Аноним 11/12/22 Вск 02:25:01 844273 87
Аноним 11/12/22 Вск 06:30:16 844282 88
>>844271
> Перевел проект с 2020 на 2022 и получил критикал еррор
так это база базовая
Аноним 11/12/22 Вск 09:10:33 844285 89
image.png 2Кб, 283x55
283x55
почему эта хуйня не может ассет бандл переместить?
Аноним 11/12/22 Вск 11:07:56 844293 90
>>844285
Че за папка Temp, ты уверен что она не юзается юнитей для функционирования?
Аноним 11/12/22 Вск 14:33:44 844313 91
ТаскиХуяски.jpg 137Кб, 1123x586
1123x586
Так, анчоусы, выпил чаю с листьями малины и раскидал систему заданий для башен.

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

В этом объекте есть филды абстрактного типа - провайдер координат - его цель предоставить координаты из трансформа цели - либо реальные, либо если атака по земле - в момент начала атаки. соответственно через наследование можно варьировать.

И абстрактный тип отвечающий за движение - линейное, параболическое, инста перемещение в точку.

когда объект достигает нужных координат, происходит некое абстрактное дейтсвие.

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

Ну че, как выглядит в плане концепции - нормально чи нI?
Аноним 11/12/22 Вск 15:28:07 844315 92
>>844313
Хуярить таски циклом в апдейте выглядит неоптимизонно, чому бы их не реализовать через подписку?
Аноним 11/12/22 Вск 15:40:53 844316 93
>>844315
Это просто затычка. их вообще так нельзя будет делать, потому что аниматор охуеет. Поэтому я буду там какую-то систему связей прикручивать через эвенты или просто делигады.
Аноним 12/12/22 Пнд 00:39:23 844368 94
1.jpg 41Кб, 540x422
540x422
2.png 228Кб, 1459x1873
1459x1873
3.jpg 123Кб, 881x728
881x728
4.jpg 60Кб, 1094x293
1094x293
Если TryToFindTarget метод заменить абстракцией, то походу будет работать все как надо.
Аноним 12/12/22 Пнд 00:46:52 844370 95
>>844313
Такс не должен быть монобехом. Таск это задача со статусом, а не дата-класс. Либо меняй название.
Аноним 12/12/22 Пнд 00:51:38 844371 96
>>844368
Execute() охуенный, конечно
Сделай поиск цели отдельным компонентом и собачь его на башню
Аноним 12/12/22 Пнд 00:53:42 844372 97
>>844370
Не скажу что понял, но постараюсь

>>844371
Будет сделано.
Аноним 12/12/22 Пнд 21:29:22 844439 98
image.png 348Кб, 1450x521
1450x521
Кто-то работал с animation rigging? Пытаюсь разобраться, но документация очень скудная, а видосы что нагуглил весьма поверхностные.
Аноним 12/12/22 Пнд 21:37:05 844440 99
Как понять, какие классы наследуют от класса? Называть как-то наследников по особому или VS может цепочки наследований показать?
Аноним 12/12/22 Пнд 21:38:30 844441 100
>>844440
В классе всегда указывается от чего наследует. В обычном случае от Monobehavior
Аноним 12/12/22 Пнд 21:42:19 844442 101
>>844441
А его наследников как найти? Вот я в своем проекте допустим пока еще знаю, что есть, потому что скриптов пара десятков. А допустим их больше и программист другой.
Аноним 12/12/22 Пнд 21:44:57 844443 102
>>844442
Искать в проекте, по идее если проект не даунами деланый, то всё через эксплорер находится изи.
Аноним 12/12/22 Пнд 21:57:24 844444 103
>>844443
>Искать в проекте

)) чувствую себя гестаповцем на допросе лол. А принцип поиска какой? Т.е. я как ебло пока придумал только один способ. Допустим делаю абстрактный класс Move, например. Все производные от этого класса я называю по принципу Move + особенность наследника, типа MoveLikeDrunk. И задался вопросом, а как надо?
Аноним 12/12/22 Пнд 22:17:54 844445 104
>>844444
Хз, я соло индюк называю как мне удобно. В компаниях обычно есть стайлгайды, можешь погуглить unity styleguide или как-то так.
Аноним 13/12/22 Втр 01:31:30 844447 105
>>844440
Сделать абстрактный геттер с возвращаемым типом. Вроде
protected abstract Type OwnType {get}

И перегружать OwnType => typeof(MyChild)

Для наследников можешь делать дженерик-классы
Аноним 13/12/22 Втр 21:31:49 844542 106
Как в скрипте получить продолжительность воспроизведения AudioSource?
Аноним 13/12/22 Втр 22:06:52 844548 107
image.png 985Кб, 1280x544
1280x544
В какой момент вы решаете что харе полировать механику и пора двигаться дальше? У меня ощущение что возможно имеет смысл сделать минимально рабочую версию и довести игру до релиза, а работу над ошибками уже в следующей версии проводить.
Аноним 13/12/22 Втр 23:09:09 844555 108
>>844542
Если там такая же залупа как с аниматором, то беги нахуй оттуда.
Аноним 13/12/22 Втр 23:10:20 844556 109
Аноним 14/12/22 Срд 06:32:02 844569 110
>>844548
делай страницу игры в магазине лучше и не отражающей реальность
и это база
Аноним 14/12/22 Срд 09:46:15 844576 111
изображение.png 26Кб, 516x418
516x418
изображение.png 20Кб, 486x466
486x466
изображение.png 8Кб, 372x198
372x198
>>844442
я привык к решерперу. показывает много чего удобного
в самой вс вроде была где-то иерархия классов но никогда не пользовался

из минусов - он пиздец какой тяжелый стал в последнее время.
Аноним 14/12/22 Срд 09:53:10 844577 112
>>844261
в нагрузку очень сильно ебет мозги сменой парадигмы программирования.
Аноним 14/12/22 Срд 13:10:49 844596 113
Как делаете лицевые анимации в Юнити?
Аноним 14/12/22 Срд 13:38:39 844600 114
>>844596
Для инди не нужно
Аноним 14/12/22 Срд 13:44:32 844601 115
>>844600
Нужно. У меня ВИЗУАЛЬНАЯ НОВЕЛЛА.

Блендшейпы не для всех выражений подходят, потому что челюсть отдельным мешем- но она заригана, и движение челюсти отдельно ещё больше искажают меш головы.
Аноним 14/12/22 Срд 14:14:57 844621 116
RenderUE2.mp4 30968Кб, 1920x1080, 00:00:15
1920x1080
>>844601
>Нужно.
Тогда вертись кабанчиком, изучай, мониторь все что можно
Аноним 14/12/22 Срд 14:22:47 844622 117
>>844601
Я чёт даже не видел ВН с анимированными ебальниками. Обычно же тупо заготовленные картинки юзают, не?
Аноним 14/12/22 Срд 14:37:15 844623 118
>>844621
Единственный способ скуфу почувствовать себя чэдом.

>>844622
Heavy Rain, Life is Strange, Last of Us, Walking Dead - это не ВН по-твоему? Даже если нет, то в анимешном стиле тоже есть новеллы с модельками.
Аноним 14/12/22 Срд 15:06:54 844632 119
>>844623
>Heavy Rain, Life is Strange, Last of Us, Walking Dead - это не ВН по-твоему?
По-моему это буквально называется интерактивное кино
14/12/22 Срд 15:21:36 844637 120
>>844632
ну да, кино, с охуенными бюджетами и командами
Аноним 14/12/22 Срд 16:23:45 844642 121
>>844637
Есть бюджет - полагаемся на арт, мокап, озвучку и виз. эффекты = кино.
Нет бюджета - полагаемся на готовые модельки и текст = ВН.

Но технически суть одна.
Аноним 14/12/22 Срд 16:42:24 844649 122
>>844623
>скуфу
>чэдом

язык - вернейший маркер долбоеба.
Аноним 14/12/22 Срд 18:43:22 844665 123
>>844596
В большинстве современных игр используется костная анимация ебала.
Аноним 14/12/22 Срд 19:12:05 844667 124
>>844665
Как лично ТЫ делаешь?
Аноним 14/12/22 Срд 19:26:36 844669 125
Аноним 14/12/22 Срд 19:56:55 844674 126
>>844669
В общем, я решил комбинировать бленд шейпы с ригом для челюсти и глаз.
Аноним 14/12/22 Срд 20:01:55 844675 127
Стикер 447Кб, 500x500
500x500
>>844667
лично я пищу рогалик-идлер на экс! лицевые анимации не нужны

сука, мама роди меня обратно. ну что за херня со стандартными класами. есть DynamicBuffer<LinkedEntityGroup> который вроде бы как отвечает за связи. если убить родителя - должны убиться связанные объекты. ок настроил. настроил заодно отдельно иерархию в инспекторе(в экс все отдельно. это основной принцип. можешь разбить любую логику на отдельные шаги и сущности - РАЗБИВАЙ). убиваются все кроме первого в списке. он есть в списке. но не убивается. вот что за хуйня. хорошо что логика отдельных компонентов полностью самостоятельна и отвечает за одно конкретное действие. ну т.е. архетектура подразумевает что никак не связана и она таки да. выкинул нахер LinkedEntityGroup. захуярил свою parent-child связку. все работает все удаляется.... ready to production блядь
Аноним 14/12/22 Срд 22:50:37 844720 128
>>844601
Есть Live2D с интеграцией с Unity, свежая версия с кряком есть на рутрекере. Именно ей и делают живые лица в новеллах
Аноним 14/12/22 Срд 23:54:19 844726 129
>>843887
Не шаришь, это базированный подход, использовать аниматор чтобы в редакторе визуально стейт машину настраивать для поведения чего-то

В синемашине так сделано например тоже.
Аноним 14/12/22 Срд 23:57:04 844727 130
>>843876
Дибилыч?
>>843883
База. Но не совсем. Открыто должно быть только то, что должно быть открыто, обычно то что в
>>844015
> Почему нельзя как в вебе, где используя html css Js (а ещё лучше какое-нибудь react или Vue) можно сделать фактически любой дизаен, с анимацией в том числе.
Можно. UI Toolkit.
Аноним 15/12/22 Чтв 11:38:21 844765 131
>>843352 (OP)
хочу сделать красивый шедевральный(арт, геймлей, история) 2д-квест.

с чего начать? так много уроков на рус/англ, там много книг - глаза разбегаются. С чего начать?

(пока хочу сделать каркас, а потом за будущую долю от прибыли найму хорошего художника)
(в одиночку всё, друзей нема)
Аноним 15/12/22 Чтв 12:18:32 844768 132
>>844765
и еще потом хочу сделать 2.5д изометричекий квести по мотивам сериала топи
ну русские болота, деревни, мистика, все такое %)
Аноним 15/12/22 Чтв 12:25:42 844770 133
Вопрос такой - а ведь существуют в открытом доступе готовые анимации? Типа вот сделал я модельку, скелет, а потом оп, закинул для нее готовую анимацию и персонаж танцует/идет/ковыряется в носу/etc
Есть ведь такая штука, которая облегчает создание пет проектов для соло разрабов?
я конечно сейчас пойду загуглю, но интересно ваше мнение на счет таких штук
Аноним 15/12/22 Чтв 12:30:31 844772 134
>>844770
Миксамо и хуманоид скелет
Аноним 15/12/22 Чтв 12:56:21 844774 135
енеми.jpg 239Кб, 1269x1608
1269x1608
Анчоусы, продолжаю переделку кода. В общем есть такая штука. Работает нормально заебись четка, но большой и все такое. Хочу переделать на мвп. Нужны советы бывалых, так как некоторые вещи не понимаю. На старте игры игровая доска запускает спавнеры противников, те опрашивают соответствующие волнам скриптабл обжекты, получают оттуда префаб противника, передают его в фабрику и та возвращает соответствующий инстанс, которому спавнер уже дает инициализирующие данные.

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

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

Соответственно, видимо класс спавнер, как связующее звено между фабрикой и данными о префабах должен создавать контроллер и выглядеть это должно приблизительно так new EnemyController(EnemyVeiw - созданный фабрикой префаб, new enemy(enemySO)) и в класс контроллер уходит вся требуха о передвижении, обработке урона, эффектов и так далее. А тот же вью, будет только обрабатывать команды от контроллера типо View.playAttackAnimation();

Вроде +- понятно. Единственно я не уверен насчет кода о передвижении. Т.е. вроде кажется логично, что передвижения обрабатываются в контроллере, а потом вью просто получает команду сместиться в координаты, но так ли это должно быть? И допустим , если взять ХипПоинты. Контроллер модели передает команду - ты получил изменение хипоинтов на такую-то величину, Логика обсчета этого изменения инкапсулируется внутри модели же и контроллер про такую хуйню вообще ничего знать не должен?
Аноним 15/12/22 Чтв 13:21:27 844783 136
>>844774
Взаимодействие с другими суцьностями идет через вью получается чтоли? рейкасты в колайдеры и так далее. Получается эти данные надо через вью передавать в контролер эвентами чтоли? Я же напрямую к контроллеру то обратиться не могу.
Аноним 15/12/22 Чтв 14:13:31 844800 137
>>844774
>А тот же вью, будет только обрабатывать команды от контроллера типо View.playAttackAnimation();

Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели[1].

однако здравствуйте. получается нихуя не так, если идти строго по догме, то контроллер только прокидывает эвент.
Аноним 15/12/22 Чтв 14:22:55 844805 138
заебись..jpg 80Кб, 1638x188
1638x188
>>844800

А вся логика сидит в модели. хмм.
Аноним 15/12/22 Чтв 16:39:02 844839 139
>>844805
А потом заходишь на метанит, а там пишут, что вся вычислительная логика не в модели нихуя, а в контроллере лол)))))))) и ебись как хочешь.
Аноним 15/12/22 Чтв 16:40:05 844840 140
>>844805
>>844800
>>844783
>>844774
Модель, подходящую для создания интерфейсов, неоправданно использовать в более сложных объектах. Тем более в юнити, где один объект состоит из множества компонентов.

Для начала, вью у тебя УЖЕ отделён на архитектурном уровне - это компоненты Sprite renderer, Mesh renderer и так далее.

Моделью могут быть статы в Scriptable object, если под моделью подразумевать чистые данные.

А вот всё остальное придётся назвать "контроллером", что не очень помогает. И вообще, в контексте игр, контроллер - это объект, который принимает ввод с устройства ввода.
Аноним 15/12/22 Чтв 19:13:13 844862 141
>>844840
А насчет скриптабле обжекта. Допустим я вынесу базовые статы в отдельный СО, там есть характеристики типа скорость, которые могут изменяться в течение жизни отдельной сущности, например эффектом замедления. Если я поменяю скорость напрямую в обьекте, она изменится во всех. Это неправильно. Если я скопирую все данные из СО в другой обьект, чтобы уже там их крутить вертеть, получается тупо и дублирование вроде как. Я так понимаю, чтобы было по уму, придется мутить декоратор?
Аноним 15/12/22 Чтв 19:28:29 844864 142
>>844862
Обычно там хранят неизменяемые данные.
Вот хороший пример https://habr.com/ru/post/421523/
А изменение скорости отдельного юнита лучше прописывать в отдельном скрипте "Модификторы", например.
Аноним 15/12/22 Чтв 19:55:55 844869 143
movie043.mp4 27969Кб, 1920x1080, 00:00:26
1920x1080
У меня почти получилось сделать более-менее приличную анимацию рубящего удара. Всё больше чешутся руки попробовать воссоздать это в анриле и сравнить где проще.
Аноним 15/12/22 Чтв 20:20:45 844874 144
>>844840
Мне такой подход не нравится, че толку с этой изоляции данных? По сути если делать модель только для данных, то логику получается просто в контроллер придется скинуть, и там же будет логика которая прокидывает все это к вью. Фу. Ниче и не меняется по сути по сравнению с тем, чтобы ну просто открыть скрипт и просто там все в куче написать.


Я обычно делаю мвп

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

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

Получается, вся логика и графика разделены, и если нужно для одной модели можно сделать несколько разных презентеров, чтобы и графику тоже разделить на части - один там аниацию персонажа обновляет, другой партиклы пыли спавнит под ногами.
Аноним 15/12/22 Чтв 20:23:05 844875 145
Стикер 447Кб, 500x500
500x500
Аноним 15/12/22 Чтв 20:24:30 844876 146
>>844875
Да, ецс у меня некст по плану изучать. Посмотрим че там юнитеки намутили на релизе!
Аноним 15/12/22 Чтв 20:24:44 844877 147
>>844874
Модель в юнити, как правило, состоит из многих компонентов. Много разных данных, много скриптов.
Аноним 15/12/22 Чтв 20:26:26 844878 148
>>844877
Да, само собой, по необходимости модель стоит дробить. Очевидный пример - какой-нибудь компонент для хп(типа модель), и презентер который отображает это хп.
Аноним 15/12/22 Чтв 20:34:46 844881 149
>>844876
без учета юнитеков - разделяй и властвуй. могешь разделить любое действие на элементарные - РАЗДЕЛЯЙ. может на этот момент когда ты это делаешь выглядит избыточным, но завтра, когда понадобится новая фича, ты скажешь спасибо
Аноним 15/12/22 Чтв 21:10:52 844886 150
Признавайтесь, кто мне сейчас предлагал вакансию - симулятор дурки создавать?
Аноним 15/12/22 Чтв 21:12:32 844887 151
Аноним 15/12/22 Чтв 21:13:20 844889 152
Аноним 16/12/22 Птн 09:13:32 844925 153
>>844922
можно перевести на русский что он сказал? слова воопшем-то знакомые но смысл ускользает. при чем тут парадоксы? при чем тут клон парадоксодрочильни? при чем тут тера инвикта? при чем тут моды? при чем тут моно?
Аноним 16/12/22 Птн 11:00:46 844939 154
>>844925
это не для вас, лох безигорный
Аноним 16/12/22 Птн 11:05:30 844940 155
>>844869
> более-менее приличную анимацию
Чел...
Аноним 16/12/22 Птн 12:26:17 844945 156
>>844925
Он сказал: кто-то недавно спрашивал, как сделать клон парадоксоигры - вот смотрите, я наткнулся на игру сделанную в одиночку.
Блин, стремно что я понимаю местных шизов. Я еще понимаю нормисный язык, но надолго ли.
Аноним 16/12/22 Птн 13:19:20 844953 157
>>844945
дык она не в соло сделана, а командой (небольшой да) которая лонг вар моды на икском пилила
Аноним 16/12/22 Птн 14:42:49 844969 158
>>844940
Выслушаю аргументированную критику.
Аноним 16/12/22 Птн 14:44:01 844970 159
переделка енеми.jpg 332Кб, 1142x1748
1142x1748
>>844774
Немного подправил. Уже вроде попизже получается.

Инкапсулировал работу с аниматором, теперь энеми похуй что в аниматоре происходит. Грит мне анимацию такую дай, как будешь делать не ебет вообще.

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

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

Вот такие дела, маслятки.
Аноним 16/12/22 Птн 15:02:22 844972 160
>>844727
> UI Toolkit.
странное. не ну юзабельно и местами удобно. стили опять же.
НО
кустом контролы это нечто слишком херово сделано. они создаются только кодом. т.е. возьмем стандартный прогрессбар. самое базовое - бекграунд - филлер - текст. я должен в коде прописать создание этих саб элементов и в коде же задать все параметры включая стили. ок я понимаю биндинги к данным или поведение задать только кодом, но почему нельзя скормить ему готовый юидокумент как шаблон?
вместо простенького
<ui:VisualElement class:"progress-bar__background">
<ui:VisualElement class:"progress-bar__filler" />
<ui:Label class:"progress-bar__text" />
</ui:VisualElement>
попутно настроив все нужные стили в визуальном редакторе
я должен делать
var back = new VisualElement();
back.AddToClassList("progress-bar__background")
Add(back)
var filler = new VisualElement()
filler.AddToClassList("progress-bar__filler")
back.Add(filler)
var label = new Label()
label.AddToClassList("progress-bar__text")
back.Add(label)
после чего компилировать, кидать на форму и уже там настраивать дефолтные стили(банально расположение компонентов относительно друг друга)
а если нужно что-то добавить или поменять структуру - повторить. я сначала думал что я что-то упускаю и есть какой метод типа LoadDocument() которому можно скормить uxml, но нет. в чем великая сермяжная суть делать вот такой uxml-based интерфейс и заставлять собирать его кодом?

далее стили для этих вложенных элементов в редакторе менять нельзя. только ручками прописывать стиль на основе стандартного. а там жопа вроде .unity-progress-bar__background-container которое не только скопировать нельзя оно еще не помещается в поле редактора и обрезается посему его надо гуглить отдельно. отдельно доставляет что в гайдлайнах не рекомендуют использовать длинные имена. и сами используют
Аноним 16/12/22 Птн 20:39:38 844993 161
Насколько сложно сделать красивый глубокий 2д(2.5, псвевдо 3д?) КАРКАС ИГРЫ.

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

Как начать?
Аноним 16/12/22 Птн 20:41:48 844994 162
>>844993
Скачай готовый ассет, чего там делать собрался?
Аноним 16/12/22 Птн 20:59:04 844996 163
>>844993
>>844994
вот буквально ECS чар котнтроллер ассетс. тупо контроллер чара и сампл сцена по которой можно побегать. пример как делать это в екс
Аноним 16/12/22 Птн 21:01:21 844998 164
>>844996
Не надо делать ECS, если у тебя только не тысячи юнитов с ИИ в риалтайме пиздиться будут на одном экране.
Аноним 16/12/22 Птн 21:43:51 845006 165
В визуал студии есть какая-то залупа, которая сама за меня пишет код. Типо я хочу содать метод public void Init(), когда я нажимаю скобку, оно автоматом мне исправляет название метода на единственное похожее название из всех ему известных методов типа InitHuyPososyYaTebeTutNasRalTiPeredelivayKojaniyMeshok().

Чета заебало последнее время, как убрать?
Аноним 16/12/22 Птн 22:09:27 845010 166
>>845006
Не по теме, но добавлю что перекатился с 2022 на 2019, по причине багов и заторможенности.
По твоему кейсу чекай авто замену в настройках, там где интелектуальна.
Аноним 16/12/22 Птн 23:59:33 845016 167
накидал мувинг [...].jpg 198Кб, 1085x946
1085x946
В общем дело к ночи, накидал двигательную часть противника. Даже есть некоторая возможность для маневра и в целом все работает. Но есть какое-то ощущение перегруженности. Нужна экспертиза бывалых, как обычно.
Аноним 17/12/22 Суб 11:54:23 845042 168
>>844972
Да, мне тож не очень зашло, но вроде бы они недавно его обновили
Аноним 17/12/22 Суб 12:12:08 845045 169
изображение.png 16Кб, 838x384
838x384
изображение.png 38Кб, 555x463
555x463
Кто шарит в новой системе интерфейсов, дайте советов. Обработчик клика на вариант ответа вешаю на внешний контейнер - объект 1. Соответственно ему же вешаю в userData нужный логический объект реплики для последующей обработки. Но клик регистрируется по объекту 2 или 3, которые являются его детьми, на которых в userData закономерный null. Причем событие, повешенное на 1, почему-то прокает (потому что, очевидно, раз было кликнуто на его ребенка, то кликнуто и на него), но в аргументе ClickEvent, который подается в обработчик события, в target содержится не родитель, а ребенок.

Надо как-то исключить детей из системы отслеживания клика. Чтобы клик на ребенка считался не кликом на него конкретно, а кликом на весь родительский объект.
Аноним 17/12/22 Суб 13:00:49 845047 170
>>845045
Все, сам нагуглил. Надо было Picking mode установить в ignore у этих элементов.
Звуки шагов Аноним 17/12/22 Суб 18:25:28 845086 171
изображение.png 81Кб, 275x183
275x183
Юнитач, посоветуй
Суть: звуки шагов. Я их реализовал как инстанс префабами (метод инстанса дергается через анимацию). Они по рандому проигрывают аудиосоурс из массива и самоуничтожаются.

Проблема: то что хорошо выглядит в траве или на деревянной поверхности плохо выглядит на твердой поверхности(на каменном полу где хочется однообразного "туп-топ-туп-топ").

Как это можно реализовать? У меня в голове пока только вариант перехватывать одним инстансенным объектом предыдущий пока тот не уничтожился и считывать из него флажок. Но это видится нерациональным
Аноним 17/12/22 Суб 18:48:01 845088 172
>>845086
Ну бля оберни все в какой-то класс, который сохраняет звук из последнего инстанса.
Аноним 17/12/22 Суб 18:57:34 845090 173
>>845086
Например, анимация в нужном месте запускает анимационный эвент. Эвент обращается к классу, который содержит в себе возможные звуки шагов и последний сыгранный и говорит ему - играй сука. Тот обращается классу, который детектит поверхность, а тот отвечает - пещера, ебать. Тут класс, который содержит в себе звуки создает через интерфейс new PesherniyRejim(lastSound,audiosorse). Послдений начинает кормить аудиосорсу одинаковые звуки. Для остальнх соотвественно звуки бы выбирались отличные от предыдущего. Я бы делал как-то так наверное
Аноним 17/12/22 Суб 18:59:35 845091 174
Аноним 17/12/22 Суб 21:23:30 845104 175
>>845086
> плохо выглядит на твердой поверхности(на каменном полу где хочется однообразного "туп-топ-туп-топ").
Ну так подбери однообразные звуки. Открой любую классическую игру типа халвы и там даже на твердой поверхности есть рандом шагов.
Аноним 17/12/22 Суб 22:35:08 845113 176
>>845086
Не понял вопроса. У тебя все звуки хранятся в одном массиве? ну так сделай ты несколько массивов по типам поверхности. А тип поверхности получай от коллайдера, когда вступаешь на новый тип поверхности.
Аноним 17/12/22 Суб 23:36:06 845117 177
Смотрел на ютубе видосик с обзорами кода новичков. Они делали игру, где падают шарики и типо на них надо кликать, чтобы они не долетели. И очень частой ошибкой там было, что начинающие девелоперы передавали ссылку на класс игрока, который считает хп, падающим шарам и те командомали игроку убавлять себе хп. Его спросили, типо чувак, а как делать, если так неправильно. Он сделал интерфейс с методом по отнятию хп, сделал класс игрока наследником этого интерфейса и условно шарам передавал ссылку на класс игрока только как интерфейс. Это че типа так и работает? Просто выделяешь у высокоуровнего класса какието обязанности в интерфейс и хуяришь его куда глаза глядят? рили?
Аноним 18/12/22 Вск 01:00:09 845130 178
>>845117
Давай ссылку, тоже посмотрим.
Аноним 18/12/22 Вск 01:16:36 845134 179
>>845130
youtube.com/@user-gj8zy1sj1k. Там ищи
Аноним 18/12/22 Вск 01:33:41 845138 180
>>845117
Нормально делать слишком тяжеловесно для обзора.
А так, скорее всего суть в том, что интерфейс был IDamageable ил что-то подобное. Ну еще нужен менеджер мира какой-то например если мы хотим AoE урон, но для простой игры это не нужно. Так что тут фишка в том что ты не связываешь свой мяч обязанностью знать устройство игрока, а можешь наносить урон любому с таким интерфейсом. Например не игроку, а животному, ящику и т.п.
Аноним 18/12/22 Вск 01:46:32 845140 181
>>845138
Нет, смысл был не в гибкости, а стояла конкретная задача, прокинуть связь до мяча. Он на мяч передал игрока как интерфейс через цепочку классов. Типо класс контроллер начинает игру, создает класс игрока, потом создает игровую доску и передает ей класс игрока, та создает спавнер шаров и передает ему класс игрока, тоо передает игрока шарам и они его запоминают. Только он интерфейсом его передал. Типо шар не должен знать об игроке, но может иметь ссылку на его интерфейс.
Аноним 18/12/22 Вск 02:01:14 845141 182
>>845140
Т.е. получается, что упаковка метода убавления хп у игрока в интерфейс является по своему смыслу колбеком, который передается по цепочке куда-то на дно.
Аноним 18/12/22 Вск 02:04:06 845142 183
>>845140
Смысл всегда в гибкости, а именно, в возможности потом делать легкие изменения. Если ты напрямую связан с классом игрока, а класс игрока еще с чем то, а там еще, то хрен ты потом этот лапшекод изменишь когда захочешь добавить новые сущности.
Интерфейс на то и является ИНТЕРФЕЙСОМ, что через него взаимодействуют, а не с функциями или переменными игрока напрямую.
Аноним 18/12/22 Вск 02:17:46 845143 184
>>845142
Бля. Лол. Чувак говорит, нельзя передавать класс игрока в шар, потому что шар низкоуровневый класс и по ооп не имеет права знать об игроке. На вопрос, а как? Он накидывает на игрока интерфейс и передает его. Интерфейс ни для какой не гибкости, а конкретно для передачи одного метода от игрока до мяча. Снабжая это комментариями о том, что мяч не должен иметь доступ к игроку и его функциям, которые мячу не нужны, а вот эту конкретную ему послать можно. Ты просто к слову интерфейс докопался, не понимая, что это реализация колбека просто такая
Аноним 18/12/22 Вск 02:20:48 845144 185
>>845143
Ну вот ты пересказываешь то, что я и говорю. Все верно. Шару нельзя знать класс игрок, ему можно знать интерфейс с одной функцией "получить урон". Хз че тебя не устраивает.
Аноним 18/12/22 Вск 02:25:25 845145 186
>>845143
Почему это гибкость в будущем, я тебе уже тоже два раза объяснил.
Как минимум чтобы у тебя не было портянки
if (obj is Player) (Player)obj.damage(val)
else
if (obj is Breakable) (Breakable)obj.do_wall_damage(val)
и тд
Будет прсто
damage(IDamageable obj)
obj.damage(val)
Аноним 18/12/22 Вск 02:36:13 845147 187
>>845145
Там вопрос абстракции вообще не стоял и не поднимался.
Аноним 18/12/22 Вск 02:38:19 845148 188
>>845143
возможно у тебя вызывает неприятие что он передает тот же самый объект плеер.
но это так и работает, потому что за интерфейсом всегда находится какой-то конкретный объект.
Просто тебе с этой стороны интерфейса неважно. Если ты подключаешь кабель IDE, тебе неважно что там - жесткий диск, дисковод, ссд. Но реальный объект там все равно есть и он как-то будет передан. А если подключаться без интерфейса, это как если бы ты провода прямо в контроллер жд впаивал.
Но в реальности схема может быть сложнее, там может быть менеджер мира или сервис локатор, который подберет подходящий объект и т.д.
>>845147
>Там вопрос абстракции вообще не стоял и не поднимался.
> частой ошибкой там было, что начинающие девелоперы передавали ссылку на класс игрока,
и вопрос чего это по твоему, как не абстракций?
Аноним 18/12/22 Вск 03:18:46 845150 189
>>845148
iplayerdamagehandler это жесткий диск, хдд или сидиром? Сколько уровней абстракции в этом интерфейсе можно почувствовать?
Аноним 18/12/22 Вск 03:25:09 845151 190
>>845148
В общем, дружище, я тебе благодарен, что ты откликнулся на вопрос о помощи. Но, если честно, вопрос был вообще в другом.
Аноним 18/12/22 Вск 03:37:10 845152 191
>>845151
Хотя пизжу, ответ был. Ебну синьки сегодня в честь праздника и займусь рефакторингом))))))))
Аноним 18/12/22 Вск 11:33:33 845164 192
Скачал вчера ридер попробовать, пиздец там по дефолту шрифты, я аж какать захотел. Но пока думал, как сделать удобнее работу с Ide дошел до одной очевидной вещи, что не надо табаться в юнити и там создавать скрипты, а их можно прям в иде создавать лол. Это кстати реально бесило.
Аноним 18/12/22 Вск 11:37:00 845166 193
>>845164
Ты уже научился создавать скрипты, глядишь через пару месяцев дойдешь до создания куба на сцене.
Аноним 18/12/22 Вск 12:18:48 845171 194
Аноним 18/12/22 Вск 12:32:51 845176 195
>>845143
Для игры типа шариков это вообще не нужно. А для более сложной игры, ссылки на все IDamageable нужно будет хранить в одном компоненте, а потом передавать ему сообщения вида "персонаж X нанёc персонажу Y ущерба на Z хитпойнов", дёргая методы либо через делегаты.

>>845140
Не знаю, зачем так делать, особенно для простых игр. Unity-подход для внедрения зависимостей - это как раз выставление объектов в инспекторе, а не создание через код.
Аноним 18/12/22 Вск 13:06:46 845198 196
>>845176
>Unity-подход для внедрения зависимостей - это как раз выставление объектов в инспекторе, а не создание через код.

Есть мнение, что на юнити подходе дальше игр про падающие шарики будет тяжело уехать.
Аноним 18/12/22 Вск 13:56:40 845206 197
>>845176
> Не знаю, зачем так делать, особенно для простых игр. Unity-подход для внедрения зависимостей - это как раз выставление объектов в инспекторе, а не создание через код.
Для простых игр базовички вешают зенжект, катаются еблом по клаве и просто смеются юнити в инспектор.
Аноним 18/12/22 Вск 14:10:04 845209 198
>>845171
А там в эксплорере можно убрать отображение мета файлов? Чтобы только скрипты были видны чi не? И типо чтобы в вс код создать новый скрипт я так понимаю надо создавать новый файл в формате имя.cs?
Аноним 18/12/22 Вск 14:15:24 845210 199
>>845176
>Не знаю, зачем так делать, особенно для простых игр

Ну чел, который это делал, учил не создавать игру про шарики оптимальным образом, он на основе разбора игры про шарики показывает подходы и знакомит зрителей с основными правилами ооп.
Аноним 18/12/22 Вск 15:10:03 845216 200
>>845164
> Но пока думал, как сделать удобнее работу с Ide дошел до одной очевидной вещи, что не надо табаться в юнити и там создавать скрипты, а их можно прям в иде создавать лол. Это кстати реально бесило.
Всм? В вижуал студии тоже.
Аноним 18/12/22 Вск 15:21:35 845219 201
>>845216
Ну типо когда ты смотришь видео и курсы, в тебя один шаблон действий закладывают, что ты все делаешь через юнити едитор. И я допустим просто не думал о том, что можно работу со скриптами в полном объеме делать в вижуал студии. А потом как понял, переместил вкладку солюшен как мне удобно, раскрыл скрипты и все стало в миллион раз удобнее.
Аноним 18/12/22 Вск 15:27:06 845222 202
>>845219
Еще можно отключить автокомпиляцию скриптов, чтобы юнити не пытался каждый раз когда ты с иде переходишь в него переподгрузить скрипты, а только горячей клавишей.
Аноним 18/12/22 Вск 16:40:13 845233 203
VS code прикольный. только неприкольно, что он юзинги по дефолту сам не фигачит. И я вбил в юзинги UnityEngine, а этот пидор выделил неймспейс цветом обычной переменной и не давал мне достаточно долго доступа к юнити коду. И этот момент чета супер тупой.
Аноним 18/12/22 Вск 17:24:21 845237 204
Еще вопрос непонятен со студией. Если создаешь скрипт в солюшене, то студия ему неймспейс вкорячивает Assets.имя папки. И нахуя? А я файл перемещу из папки в другую папку, юнити у себя там что-то перекомпилирует, а неймспейс поди старый останется. Не вылезет ли из этого хуй в рот внезапный?
Аноним 18/12/22 Вск 18:14:41 845239 205
>>845237
Ты можешь шаблоны новых файлов редактировать. Загугли.
Аноним 18/12/22 Вск 18:52:01 845245 206
>>845239
Понял принял спасибо.
Аноним 18/12/22 Вск 23:00:10 845268 207
Что делать если игра во время перехода на другую версию юньки поломалась?
Аноним 18/12/22 Вск 23:14:44 845269 208
>>845268
Запомнить что при переходе на другую версию проекты могут ломаться, и впредь не переходить на другую версию во время разработки.
Аноним 18/12/22 Вск 23:49:28 845275 209
>>845269
И что всю жизнь сидеть на говне мамонта? Когда в каждой версии что-то фиксится и добавляется?
Аноним 19/12/22 Пнд 01:03:18 845280 210
Сидел пердел все ок было, а потом вс код сказал мне - пошел ты нахуй и перестал видеть начинку монобихевиора, при этом сам моно он видит и подтягивает из using UnityEngine. Пиздец нахуй.
Аноним 19/12/22 Пнд 01:05:04 845281 211
>>845275
> Когда в каждой версии что-то фиксится
Минорные релизы(цифра после f) апи не меняют, на них можешь переходить.
Аноним 19/12/22 Пнд 01:09:32 845282 212
>>845275
Ты одну игру всю жизнь собрался делать?
Аноним 19/12/22 Пнд 02:08:58 845287 213
вопросы вопроси[...].jpg 98Кб, 1020x497
1020x497
Включил все инлайн хинты и все равно такая залупа. Создается полное впечатление, что параметром в gameboard.initialize является плеер, пока не наведешь мышку на функцию. Есть варики высвечивать тип передаваемых параметров или ручками каждый раз проверять?
Аноним 19/12/22 Пнд 08:25:51 845297 214
>>845237
у папочек в солющене еще можно отключить флажок "namespace provider" тогда не будет назначать.

воопше там есть где поигратся с опциями. хз решерпер это делает или сама вс но если у тебя в папке файлы в одном неймспейсе, то она проставляет этот неймспейс а не путь
Аноним 19/12/22 Пнд 09:28:11 845301 215
>>845297
Страдай, раз райдер не хочешь
Аноним 19/12/22 Пнд 09:38:14 845302 216
>>845301
дык я не страдаю, наоборот люблю все красиво по неймспейсам раскидать
Аноним 19/12/22 Пнд 09:44:32 845304 217
>>845302
особенно в гребанном экс, где на каждый пук 10 компонентов 20 систем и пара тагов.
Аноним 19/12/22 Пнд 12:38:18 845346 218
изображение.png 901Кб, 1125x589
1125x589
Как запилить всплывающую подсказку при наведении на выделенный текст? Игра вроде как на юнити сделана.
Аноним 19/12/22 Пнд 12:53:47 845354 219
>>845346
<link> атрибут у текста. в примерах текстмешпро LinkSample показывает как с ними работать.
Аноним 19/12/22 Пнд 13:54:29 845366 220
Аноним 19/12/22 Пнд 17:52:10 845427 221
Какой наименее мозгоебный способ импорта из блендера в юнити?
Аноним 19/12/22 Пнд 17:58:11 845431 222
>>845427
fbx. блендер его спойно экпортирует а юнити нативно хавает. собственно юнити хавает и свой формат блендера но самостоятельно конвертит в фбх используя блендер
Аноним 19/12/22 Пнд 18:06:08 845433 223
>>845431
По анимациям косяков не будет? В годоте это была боль требующая дополнительных шагов.
Аноним 19/12/22 Пнд 20:30:21 845449 224
>>845433
Первый раз во время экспорта чекни повороты по Y,и размеры в настройках импорта. Если все ок, то можеш забыть о траблах навсегда. Также есть разные тонкости экспорта анимаций, но это уже потом когда начнешь их делать.
Аноним 19/12/22 Пнд 20:56:06 845454 225
image.png 62Кб, 220x263
220x263
В ходе экспериментов наговнокодил так что теперь с трудом понимаю что творится в моём собственном скрипе. Хочу написать скрипт с нуля, уже держа в голове общую архитектуру прошлого с надеждой что в этот раз я напишу получше. Всё правильно делаю?
Аноним 19/12/22 Пнд 21:04:01 845455 226
схема.jpg 79Кб, 1424x748
1424x748
Здарова аноны. Накидал тут опять говна.)) Переделываю систему строительства башен. В кратце, префаб каждой башни или пустое место для строительства башен, содержат в себе класс Building, в котором хранятся префабы того, что можно построить, цена текущей башни и эвент, который срабатывает при клике на башню или пустой фундамент.

Че по схеме. Класс buildingUI будет содержать в себе метод инициации Init, который на основе информации из класса building должен спавнить кнопки с иконками башен. К нему напрямую может обратиться только UIHandler. В самом UIhandler будет метод, который будет инкапсулировать в себя BuildingUI.Init(), и метод этот будет выделен в отдельный интерфейс. Соответственно Game при запуске игры, имея доступ к UIhandler, будет передавать этот интерфейс через Gameboard по цепочке до класса, который контролирует процесс постройки.

Балдеж же вроде?

И В итоге получается типо MVC вроде как. Я только тут не понимаю один момент, как правильно соединять эвент из Building с методом инициализации Building UI. TowerBuildHadler должен просто подписать переданный интерфейс на евент класса building, а все нужные параметры building передает через параметры эвента, правильно?

И еще вопрос, если мне нужно будет достать эвент из класса ниже чем BuildingUI? у меня все равно должна сохраниться иерархическая цепочка, где Game не лезет ниже чем UIHandler?
Аноним 19/12/22 Пнд 21:10:13 845456 227
>>845454
Братишка, попробуй написать скрипты, а не скрипт.

Мимо автор говносхемы снизу.
Аноним 19/12/22 Пнд 21:15:17 845457 228
>>845454
Это норма, и это правильный подход если не знаешь что будет в игре дальше и придумываешь на ходу.
Не бойся рефакторить и переписывать скрипты. Удобнее даже их разделять на несколько и строить по схеме модульности, что если меняешь один, другие не сыпятся следом.
Аноним 19/12/22 Пнд 22:46:49 845467 229
building.jpg 97Кб, 674x682
674x682
buildUI.jpg 139Кб, 791x740
791x740
UI нижнего уровня, занимается тем, что включает кнопки по количеству возможных апгрейдов башен, максимум до 4х, присваивает кнопкам картинки и прописывает цену.

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

С другой стороны, в старой версии у меня был вот такой подход. Связующий класс через эвент получал доступ к building, из билдинга доставал массив ангрейдов и прогоняя его через for давал команду BuildUI на активацию каждой кнопки по отдельности через метод ActivateButton , где соответственно индексы кнопок совпадают с индексами апгрейдов. Т.е. класс обозначенный на схеме как TowerBildHandler берет на себя всю обработку информации, а не подписывает тупо методы на эвенты.
С моего дна, вроде как кажется, что так правильнее делать.
Есть эксперты по архитектуре? солидам-хуелидам.
Аноним 19/12/22 Пнд 22:52:41 845468 230
>>845467
Бля без обид, но ты делаешь явно какуюто хуйню.

Палю идеально, и просто решение одновременно.
Создаешь 1 скрипт - Кнопка менджер. В нем при старте создаешь кнопки.
Он принимает только команду - включить/выключить кнопку(С кастомными настройками по типу картинки/текста).
Из 2 скрипта логики игры ты тупо посылаешь команды - Сделать видмыми какие кнопки, и при нужности меняшешь картинки/текст на них.

Это тупо занимает пару строк, при этом никакой дрочи с тем что утебя на скринах.
Аноним 19/12/22 Пнд 22:57:01 845469 231
>>845467
А если допустим я напишу отдельный скрипт для кнопок в BuildUI и сделаю там метод инициализации тоже? И получится такая цепочка, что в BuildUI через эвент присылается массив upgrades. А BuildUI через for циклит этот массив и передает Building из него непосредственно в кнопки через button.Init(Building), а кнопки этот билдинг самостоятельно препарируют? можно так?
Аноним 19/12/22 Пнд 23:03:37 845470 232
>>845468

Ты буквально описал то, как у меня работало до этого, просто у меня связи были с нарушениями, на втором скрине ссылка на контроллер, который был самым топовым классом, например. А принцип такой и был, что класс обрабатывающий всю хуйню давал команду на включение, конкретных кнопок.
Аноним 19/12/22 Пнд 23:51:49 845473 233
>>845456
>>845457
Спасибо посоны, я в принципе стараюсь модульно писать, и внутри скрипта всё разбивать на аккуратненькие функции с одной задачей у каждой, но сами понимаете во время эксперимента просто хотел получить пруф оф концепт и не заметил как наебенил говна. Но пруф оф концепт получил.
Аноним 20/12/22 Втр 00:00:55 845475 234
Building.jpg 96Кб, 879x611
879x611
BuildUI.jpg 70Кб, 806x366
806x366
Game.jpg 82Кб, 966x433
966x433
Gameboard.jpg 134Кб, 1372x609
1372x609
Накидал посоны. Тут пока не все, просто прокинул связь от башенного строительнства до UI, еще надо прокинуть на голдишку связь и обратку от UI до стройки, но это уже на завтра.

Ну балдеж же?
Аноним 20/12/22 Втр 00:01:21 845476 235
TowerBuildButton.jpg 39Кб, 630x295
630x295
TowerBuildHandl[...].jpg 78Кб, 1262x375
1262x375
UIHandler.jpg 140Кб, 1252x774
1252x774
Аноним 20/12/22 Втр 00:16:28 845479 236
>>845470
Запомни - Упрощение логики залог успеха. А то что ты нагородил это усложнение читаемости и количества на ровном месте. Убирай эту хуету и делай по нормальному.
Аноним 20/12/22 Втр 01:56:59 845489 237
>>845476
Интерфейс не правильно сделал. Он должен не метод инициализации делегировать, а сам buildUI прокинуть и тогда можно на обратные эвенты подписаться. Даже из названия это следует. Как же реально упрощает жизнь отдельный скрипт для каждой залупы, для каждой сраной кнопочки.
Аноним 20/12/22 Втр 02:18:04 845490 238
>>845467
>>845475
Да бля возьми ты уже зенжект, на это же больно смотреть. Ты ж облысеешь эту лапшу писать дальше.

Не задумки так то твои логику имеют, но сколько же тут чисто механически дроча на ровном месте просто потому что ты решил делать классическую ооп архитектуру в стиле 90х а она тут не нужна.
Аноним 20/12/22 Втр 06:27:09 845500 239
>>845490
та хто такой этнот ваш хрюнжект и почему я пишут в требования к РАБоте
Аноним 20/12/22 Втр 06:39:35 845501 240
Аноним 20/12/22 Втр 09:29:25 845507 241
>>845501
а сделай мне игру что бы эльфы в лесу и домики деревянные набегают и злой в замке.
Аноним 20/12/22 Втр 09:35:58 845508 242
>>845501
Это же просто более удобная версия гугла.
Аноним 20/12/22 Втр 09:44:38 845509 243
>>845490
>классическую ооп архитектуру в стиле 90х

буду в резюме так писать
Аноним 20/12/22 Втр 09:46:06 845510 244
>>844002
Я не понимаю, сарказм это или нет...
мимо
Аноним 20/12/22 Втр 09:47:31 845511 245
>>844002
сестра, 2 кубика ECS!
Аноним 20/12/22 Втр 09:47:54 845512 246
Аноним 20/12/22 Втр 09:55:37 845517 247
>>845512
Тогда понятно, почему тут сидят люди, которые никогда в жизни ничего не выпустят
Аноним 20/12/22 Втр 10:01:08 845520 248
>>845501
Блять, зачем вы это распространяете? Гиперверие лишь всё усугубит.
>>845507
Ну, то и я не сделаю. А ИИ в скором времени сможет.
>>845508
Не гугла. Это убийца форумов и чатов
Аноним 20/12/22 Втр 12:05:16 845544 249
123321.png 70Кб, 1035x530
1035x530
Аноним 20/12/22 Втр 12:10:57 845545 250
>>845544
она положит инт в коробочку и назовет объектом. усё ок
Аноним 20/12/22 Втр 13:53:46 845561 251
>>845544
зы. а если серьезно - это же название параметра а не тип.
Аноним 20/12/22 Втр 13:56:59 845562 252
>>845544
Это сделано для таких ситуаций когда у тебя функция
foo(int, int)
И тебе подсказывает
Variable1 = 13
Variable2 = 27
foo(залупа: Variable1, говно: Variable2)
Чтобы ты не написал случайно
foo(залупа: Variable2, говно: Variable1)
Аноним 20/12/22 Втр 15:33:57 845576 253
>>845545
Дженерики делались в том числе для того чтобы в коробчку инты не класть. Над загуглить.
Аноним 20/12/22 Втр 15:49:05 845578 254
Аноним 20/12/22 Втр 16:37:53 845584 255
>>845576
я там следующим постом написал что это имя параметра а не тип же.
Аноним 20/12/22 Втр 16:39:54 845587 256
>>845545
>>845576
>>845578
Всем поебать на этот боксинг раз в 10 секунд, вы лучше рендер тред оптимизируйте.
Аноним 20/12/22 Втр 17:01:41 845593 257
Кто знает, надо ли отвязывать вручную обработчики событий перед тем как объекты уничтожать, или сборщик мусора сам соберет? А то может я один как дурак вручную отвязываю.
Аноним 20/12/22 Втр 17:20:06 845596 258
>>845593
Судя по тому что даже в оф документации пишут отвязывать руками, видимо всё правильно делаешь.
Аноним 20/12/22 Втр 17:28:48 845597 259
>>845593
Ты про стандартные события Си-шарпа? Если да, то надо отвязывать обязательно. Это такое негласное правило. Более того, если ты подписан на событие какого-нибудь долгоживущего объекта или синглтона, то подписанный объект будет долго жить.
Аноним 20/12/22 Втр 17:57:09 845602 260
>>845593
Конечно. Лайфтайм подписок полностью на тебе.
А вот юнитиивенты автоматом отвязываются.

Вообще ивенты лучше не юзать, у них не удобный синтаксис, юзай юнирх.
Аноним 20/12/22 Втр 18:04:54 845603 261
>>845596
>>845597
>Ты про стандартные события Си-шарпа?

Про те, которые из юнити, из нового интерфейса, которые вешаются на VisualElement через RegisterCallback. Но, думается мне, это однохуйственно.

Алсо да, пилю свое поделие на UI Toolkit, зависимость уже появляется. Без документации конечно тяжеловато, но все необходимые моменты уже прохавал.
Аноним 20/12/22 Втр 18:08:56 845604 262
>>845602
>Вообще ивенты лучше не юзать, у них не удобный синтаксис
Ты дебс? Что там неудобного?
Аноним 20/12/22 Втр 18:10:24 845605 263
image.png 1115Кб, 1426x663
1426x663
Аноним 20/12/22 Втр 18:41:50 845607 264
Аноним 20/12/22 Втр 19:43:40 845613 265
изображение.png 92Кб, 1175x669
1175x669
изображение.png 239Кб, 1230x1341
1230x1341
>>845603
а у меня появляется зависимость от экс
Аноним 20/12/22 Втр 19:49:44 845614 266
>>845613
Это ты носишься по всему гд и предлагаешь накатить екс?
Аноним 20/12/22 Втр 19:52:36 845615 267
>>845614
только по этому треду. пожалуй таки большая часть упоминаний его здесь от меня(прошу извинить - меня таки торкнуло). в других тредах(включая прошый юнити тред) не срал
Аноним 20/12/22 Втр 19:54:14 845616 268
>>845615
Документацию по нему то завезли уже? А то я не ебать какой уверенный кодер.
Аноним 20/12/22 Втр 20:02:21 845617 269
>>845616
весьма и весьма базовую. приходится страдать на ютуб видео 2.5 человек(буквально. первый начал в древности, но с тех пор апи сильно поменялось а он воопшем-то подзабил. второй начала тогда же и старается освещать изменения - приходится понимать как оно работало тогда, работало в промежутке и работает сейчас. третий таки вроде начал новое почти с нуля, но пока дошел только до самой базы - все остальное безбожно устарело и/или туториалы уровня "как нарисовать сову" или совсем пространные рассуждения "экс - крута" без конкретики) остается копать на форуме и автодоках с херовым описанием

хы. CodeMonkey, Turbo Makes Games, WAYN Games соответвенно
Аноним 20/12/22 Втр 20:11:59 845619 270
>>845613
Выглядит это всё как кал конечно.
Аноним 20/12/22 Втр 20:27:35 845620 271
>>845617
Понятно, в общем как я и боялся. Собсно апгрейдиться я и не собирался, максимум сделаю проект тупо поиграться, но сперва игру допилю до релиза в стиме.
Аноним 20/12/22 Втр 20:28:19 845621 272
>>845619
оно странное. но все сводится к чистому "взять один набор данных. посчитать. сохранить результат" и порядок этого. приходится ломать привычки и учится программировать заново. с другой стороны оно логично перетекает в максимальную изоляцию элементов и многопоточность

>>845620
ессно что-то хотя бы частично готовое переносить смысла нет.
Аноним 20/12/22 Втр 20:36:09 845622 273
>>845613
Это ужас. Просто ужас.
Аноним 20/12/22 Втр 20:59:42 845624 274
>>845604
Ну надо сначала писать
Zalupa += hueta
Потом в другом месте
Zalupa -= hueta
А если где-то забыл? И не надо говорить, что не забудешь.

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

А вот с юнирх все просто
Zalupa.Subscribe(_ => {....}).AddTo(this);

И все, все само отпишется когда геймобдект уничтожишь. Или можно это вообще в любой класс вешать в композит диспосабл, не обязательно в монобех.
Аноним 20/12/22 Втр 21:03:41 845625 275
Аноним 20/12/22 Втр 21:08:16 845626 276
>>845613
>>845625
Ааа, так это их обновленный екс?

А ты прям все на екс пишешь, или смешиваешь с другим подходом? Мне кажется ui на екс делать с ума можно будет сойти.
Аноним 20/12/22 Втр 22:51:59 845636 277
>>845626
я пока тупо эксперементирую и разбираюсь
ессно смешиваю. гуя на экс нет в принципе. но тут есть нюанс - ты считаешь все в экс а результаты уже ложишь в гуй(или любые другие "стандартные" объекты юнити, которые не имеют прямого отображения в экс) через классы прокладки(вот ButtonDebugRef - это как раз такой) вот например всякие прогресбары - хп там или прогресс какого процесса. создаешь соответвующий гуй элемент стандартно. и делаешь 2 компонента
public class PBRef : IComponentData { public ProgressBar value; }
public class LabelRef : IComponentData { public Label value; }
public struct CurMax : IComponentData { public float Cur; public float Max; }
которые вешаешь на новую энтити. все зачем она нужна по сути - передавать данные из экс. ну и системы которая будет это делать
CopyDataToProgressBarSystem:
foreach(var (bar, cmax) in SystemAPI.Query<PBRef, RefRO<CurMax>>)
{ bar.value.Max = cmax.ValueRO.Max; bar.value.Value = cmax.ValueRO.Cur; }
CopyDataToLabelSystem:
foreach(var (label, cmax) in SystemAPI.Query<LabelRef , RefRO<CurMax>>)
{ label.value.text = $"{cmax.ValueRO.Cur}/{cmax.ValueRO.Max}"; }
максимально просто. за "кадром" эти системы создают зарос на два компонента, и итерируют по ним. так как она работает с классом это "гибридный" экс - логика его но никаких профитов в производительности нет. его имеет смысл положить в фикседапдейт или еще куда более медленное. а вот то что будет писать данные в CurMax - "чистое" экс. добавляем парочку компонентов (все унаследовано от IComponentData, но опущу для простоты)
public struct TagGetProgressFromHP {}
public struct ProgressTarget { public Entity Target }
public struct HPData { public int Hp; public int MaxHP }
первый не содержат собственно данных и является тегом - по сути меткой какую систему гонять. вешаем прогресстаргет и тег на ту же энтити. в прогресстаргет ложим энтити с хп
CopyDataFromHPSystem:
foreach(var (cmax, target) in SystemAPI.Query<RefRW<CurMax>, RefRO<ProgressTarget>>.WithAll<TagGetProgressFromHP>()) {
var hp = SystemAPI.GetComponent<HPData>(target.ValueRO.Target);
cmax.ValueRW.Cur = hp.Hp;
cmax.ValueRW.Max = hp.MaxHP; }
опять все сводится к элементарным действиям. на первый взгляд громоздко(особенно учитывая что я опустил описания систем, оставив только код) - 3 системы и 6 компонентов для отображения текста и хпбара. но в этом суть. мы реализуем ОДНО изолированное действие за раз. получаем цепочку действий которые взаимодействуют через общие компоненты данных. можно легко заменять источник и получатель и связанную логику, вставляя и пропуская шаги или делая альтернативные ветки - например вместо стандартного прогрессбара использовать какой свой типа радиального или воопше повесить логику которая будет обновлять модельку в зависимости от прогресса строительства. а вместо хп использовать любые данные что ложатся в формат прогрессбара - заполненность инвентаря, кулдаун скила, прогресс строительства и т.п.

и вот это понимание, что все надо дробить дробить и еще раз дробить на максимально элементарные куски да еще разделяя данные и код как раз и ломает шаблон при переходе с ооп.
Аноним 21/12/22 Срд 03:27:33 845657 278
>>845636
Прикольно. Скоро думаю тоже буду его ковырять и вести экс пропаганду.
Аноним 21/12/22 Срд 08:18:08 845666 279
>>845603
> UI Toolkit
А есть ли смысл на него переходить?
Аноним 21/12/22 Срд 08:45:26 845667 280
>>845666
С одной стороны - стили и воопше гибкие настройки самого гуя
С другой стороны - не удобно работать с кодом(за пределами "стандартных" действий - кастом компоненты например) и нельзя нормально в ворлдспейс
Аноним 21/12/22 Срд 09:10:11 845669 281
Не могу понять. Создается класс для хранения данных. Но при чтении вылезает ошибка что null референс на него.

Строка: Test1:
Что за символ стоит после двоеточия? Не "", Не " ", Не string.Empty. Что за? Как узнать?
Причем на других позициях нормально считывается, а это строка должна разделяться в массив, но происходит вот эта ошибка при чтении.
Аноним 21/12/22 Срд 09:11:04 845671 282
>>845669
Ага, при посте сообщения этот символ удалился, значит это пробел так понимаю или что макаба стирает?
Аноним 21/12/22 Срд 09:35:11 845673 283
1653370704312.png 14Кб, 240x210
240x210
Аноним 21/12/22 Срд 09:40:05 845674 284
Desktop Screens[...].png 190Кб, 1920x1080
1920x1080
изображение.png 98Кб, 1489x719
1489x719
>>845666
Самый главный плюс - flex. В старых гуях ты ебанешься при попытке сделать что-то сложнее полоски хп или статичной менюшки с кнопками. Любые динамически заполняемые элементы интерфейса - практически невывозимая задача для непрофессионального разработчика. К примеру список выровненных элементов, каждый из которых содержит список выровненных элементов. На новых гуях это задача тривиальная.

Минус, как сказал этот анон >>845667 в том, что непривычно работать с этим интерфейсом в коде. Как в вебе через жабаскрипт, так и тут придется сначала найти нужный элемент по его id, и только потом работать с ним. Т.е. нельзя до рантайма в инспекторе скрипта на префабе рассовать по местам все ссылки. В результате кода может получиться больше, чем раньше за счет ручной инициализации. Но во всем остальном проблем никаких не наблюдаю.
Аноним 21/12/22 Срд 09:59:19 845677 285
>>845674
Спокойно работаю с интерфейсом в обычном ui, какие там могут быть сложности?
Аноним 21/12/22 Срд 10:29:42 845680 286
>>845674
А ты не знаешь, они сделали в новом УИ виртуальные списки? Помню мне пришлось самому это писать на старом УИ, это такой Ад был.

Виртуальные списки - когда в памяти существуют только элементы, которые видны в данный момент на экране. Даже если в списке 10 тысяч элементов разных размеров и с разными характеристиками, то всё будет идеально работать.
Аноним 21/12/22 Срд 10:44:06 845682 287
>>845677
Ну давай заценим твои работы.

>>845680
Очень сомневаюсь. На настоящий момент состояние - "вроде работает". Я сам лично наткнулся на то, что до сих пор не работает событие GeometryChange, причем на форумах об этом писали еще в 2020 году. Так что использовать можно лишь на свой страх и риск. Я просто устал ждать релиза и жру что дают.
Аноним 21/12/22 Срд 10:59:26 845683 288
>>845677
ну например в процессе разработки ты накидал временный гуй без нормального скина - сильно заморачиваться смысла нет, оно все равно будет менятся и воопше ты погромист а не дизайнер. к моменту завершения разаботки наконец подъехал цельный, специально сделанный скин от художника и тебе надо его применить. для каждого окошка. для каждой кнопочки. для каждой надписи отдельно. а потом окзалось что вот тот зеленый не такой зеленый как было надо и все повторять... ну опять же вот этот флекс мне сильно знаком по WPF и он очень удобен, хоть и требует привыкания после стандартного формошлепства

>>845680
где-то отдельно упоминалась оптимизация списков в таком ключе. когда модили баттлтех пришлось пилить самим - то еще развлечение, но без этого никак. создание списка эквипа в мечлабе когда перевалили за пару сотен предметов занимало от 10 минут на нормальном компе и обновление фильтров минуты.
Аноним 21/12/22 Срд 11:05:20 845684 289
>>845674
> К примеру список выровненных элементов, каждый из которых содержит список выровненных элементов
Layout group + AspectRatioFilter?
Аноним 21/12/22 Срд 11:17:11 845685 290
>>845684
Сначала может показаться, что все просто. Но когда у элементов списка есть свои layout group, а у них тоже есть вложенные элементы и т.д., то старый гуй жидко пукает и умирает.
Аноним 21/12/22 Срд 11:47:13 845688 291
>>845669
>>845671
Нашел проблему. Она не гуглится и весьма специфична. Для тех кто столкнется - При сохранении класса в файл, юнька по какой то причине в некоторых местах заместо строки сохраняет пустой аски символ. Этот символ не считается за пустоту или за любой другой. Пофиксил это тем что пересобрал класс под другим именем и другой формой записи.

>>845673
Да еслиб это было так просто, то мои 5 дебаг проверок это бы сразу выявили.
Аноним 21/12/22 Срд 12:16:40 845691 292
>>845688
И в чем проблема? Какой именно символ, какой у него ascii код? В hex editor что пишет? Почему он туда попал, из html копировал? Что именно его туда сохраняет?
Аноним 21/12/22 Срд 12:27:35 845694 293
>>845691
>И в чем проблема
При чтении строки крашится игра ссылаясь на null референс, будто строки или файлы сохранения не существует, остальные же строки читаются нормально.

>Какой именно символ, какой у него ascii код
Не знаю как узнать. Видится как обычный пробел " ", но при этом не детектится в проверках как пробел, пустота, или что еще.

>В hex editor что пишет
У меня такого нету.

>Почему он туда попал, из html копировал? Что именно его туда сохраняет?
Обычная строка с данными, коих пару десятков в сэйве(Сохраняется прогресс игры). Сохраняю и загружаю через бинари.
Аноним 21/12/22 Срд 12:31:23 845695 294
>>845694
>Сохраняю и загружаю через бинари.
> пересобрал класс под другим именем и другой формой записи.

Какая связь вообще?
Если ты делаешь сейв игры, очевидно ты пишешь туда мусор, либо нулевой символ, либо какой-то другой непечатный.
Аноним 21/12/22 Срд 13:17:56 845699 295
>>845695
Чем ты читаешь? Проблема была только с одной строкой, от этого и мистика. Поменяв название класс аи чередность строк проблема решилась. Это из разряда - Юнька что-то сломала, но потом сама и починила.
Аноним 21/12/22 Срд 14:01:07 845706 296
>>845669
У меня тоже раз была проблема с невидимым символом в конце строки >>838272 →
Аноним 21/12/22 Срд 14:58:51 845712 297
Нет ли случайно какой-нибудь конфы в телеге для стремящихся, где можно законтачиться, послушать прохладные и получить советов мудрых?
Аноним 21/12/22 Срд 16:23:22 845724 298
>>845685
> Но когда у элементов списка есть свои layout group, а у них тоже есть вложенные элементы и т.д
Ваще не проблема же, если ты все скалирование настроил у каждого отдельного элемента.

Но да, я не отрицаю, что это несколько заебно в некоторых ситуация и может быть придется что-то упростить, но если совсем уж с ума не сходить и не делать редактор уровней так то все изи делается обычно.
Аноним 21/12/22 Срд 20:39:14 845780 299
TowerBuildButton.jpg 124Кб, 718x738
718x738
BuildUI.jpg 161Кб, 807x856
807x856
UIHandler.jpg 179Кб, 1032x968
1032x968
Presenter.jpg 86Кб, 1148x346
1148x346
>>845475
>>845476
Крутил, вертел, чувствую не то нихуя. В итоге двое суток ушло на то, чтобы догадаться, что соединять надо не Building и BuildingUI, а BuildingUI и класс обрабатывающий запросы на постройку и пиздец все шоколадно стало. Но могли бы и подсказать ебанарот.
Аноним 21/12/22 Срд 20:39:53 845781 300
TowerBuildHandl[...].jpg 148Кб, 1376x580
1376x580
Building.jpg 88Кб, 746x625
746x625
Аноним 21/12/22 Срд 22:14:47 845798 301
>>845780
У меня тут на втором и третьем скрине есть эвенты, которые выполняют одну и туже функцию - просто пробрасывают один и тот же инт с днища наверх. Допустимо их в таком случае называть одинаково или лучше попердеть над названиями?
Аноним 21/12/22 Срд 22:18:57 845799 302
>>845712
Игру делай, а не в конфах трись
Аноним 22/12/22 Чтв 08:17:32 845825 303
image.png 10Кб, 595x113
595x113
image.png 14Кб, 445x293
445x293
Как удалить это? Подскажите пожалуйста
Аноним 22/12/22 Чтв 08:34:10 845826 304
>>845825
Написано же что файл используется. Попробуй перезагрузить компьютер и удалить. Если уж не в терпешь то скачай анлокер файлов, такая маленькая тулза, она позволяет удалять любые файлы когда угодно.
Аноним 22/12/22 Чтв 09:00:15 845829 305
>>845826
Комп перезагрузил и норм все удалилось. Спасибо!
Аноним 22/12/22 Чтв 15:11:45 845866 306
>>845799
Да делаю я, делаю. Просто вдруг какой-то более успешный чем я разраб желает попиздеть, то я не против послушать.
Аноним 22/12/22 Чтв 15:41:31 845869 307
>>845866
>более успешный чем я разраб
А тут успешные в принципе есть?
Аноним 22/12/22 Чтв 16:31:02 845874 308
>>845869
Тута в основном борцы за свои 20к с яндекс игр.
Аноним 22/12/22 Чтв 18:17:04 845890 309
>>845268
Научиться пользоваться системами контроля версий
Аноним 22/12/22 Чтв 18:53:16 845901 310
>>845890
Кстати юнитеки даже туториал сделал по тому как свой говнопроект на гитхаб залить, через Github desktop всё в пару щелчков делается
Аноним 22/12/22 Чтв 18:55:45 845902 311
>>845901
А восстановить можно только крайнюю версию?
Аноним 22/12/22 Чтв 19:32:58 845907 312
>>845780
Вопрос нериторический. У меня при инициализации UI запускается цепочка инициализаций, на каждом отдельном уровне которой происходит подписание на эвенты. При закрытии UI происходит по сути полная деинициализация с обратным эффектом. Тут у меня два стула.

Стул-первый, подписание/отписание эвентов - затратная операция. Т.е. каждый раз когда я врубаю/вырубаю UI оно жрет какую-то лишнюю капельку.

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

Как бы вы сделали ммммМ?
Аноним 22/12/22 Чтв 19:43:14 845908 313
>>845907
А нет нихуя не два стула, второй надо делать. Вопрос отпал.
Аноним 22/12/22 Чтв 19:45:19 845909 314
>>845907
>Стул-первый, подписание/отписание эвентов - затратная операция.
а ты это профилировал? это не должно быть особо затратной операцией, у тебя там сотни тысяч этого все что ли?
Аноним 22/12/22 Чтв 19:56:07 845912 315
>>845907
Да это не затратные операции. То, что их дохуя, создает иллюзию сложности. В реальности они все по затратности как отрисовка куба какого нибудь или сферы.
Аноним 22/12/22 Чтв 20:00:26 845913 316
>>845907
> Стул-первый, подписание/отписание эвентов - затратная операция.
Пизда затратная, штук 10, да пусть хоть 1000, элементов в список обсерверов добавить.

Ты давай лучше с профайлером прогони и посмотри что реально производительность жрет.

> и даже в выключенном состоянии что-то перезаписывать и как-то реагировать.
Что конкретно? Тут как бы от твоей архитектуры и нужной тебе логики зависит, скорее всего можно вообще забить хуй и пусть оно "реагирует".
Аноним 22/12/22 Чтв 20:02:51 845914 317
>>845902
Нет, ты по идее делаешь коммиты каждый раз когда добавляешь новую фичу, или даже функцию, или вообще строчку, как тебе нравится, но как правило чем чаще тем лучше. И комменты пиши нормальные, чтобы самому потом понятно было.
Аноним 22/12/22 Чтв 20:20:44 845920 318
>>845913
>Что конкретно? Тут как бы от твоей архитектуры и нужной тебе логики зависит, скорее всего можно вообще забить хуй и пусть оно "реагирует".

А ничего на самом деле, я поспешил с вопросом, потом подумал, и придумал как логику разделить и там все заебись вообще. Т.е. если выделить логику инициализации как создание связей между элементами УИ, а запросы на активацию уже этих отдельных элементов и скакрмливание туда внешней информации вынести в отдельные методы, то все шикарно просто будет и читаемость возрастет и производительность даже лучше станет.
Аноним 22/12/22 Чтв 20:22:45 845921 319
>>845909
>а ты это профилировал? это не должно быть особо затратной операцией, у тебя там сотни тысяч этого все что ли?

Нет, у меня объемы небольшие, будет незаметно на самом деле. Но код как оказалось неудачный, переделывать больше по этому буду.
Аноним 22/12/22 Чтв 22:16:12 845936 320
15931845861900.jpg 112Кб, 916x611
916x611
Синемашиной пользуется кто? Хочу сделать вид от первого лица, но при этом полностью анимировать тело ГГ и столкнулся с проблемой что мой простой скрипт который заставляет камеру двигаться за ебалом персонажа выполняет всё как положено и поэтому когда при анимации башка двигается - двигается и камера. Меня это бесит, хочу чтобы камера стабильно светила из уровня глаз персонажа.

Ебаться с анимациями чтобы голова стабильной оставалась или синмашина поможет решить вопрос?
Аноним 22/12/22 Чтв 22:44:24 845937 321
>>845936
Нахуй она костью головы двигается, пусть следует за позицией персонажа с оффсетом.
Аноним 22/12/22 Чтв 22:51:45 845938 322
>>845937
А башка не будет влазить в камеру во время движения? Надо попробовать.
Аноним 23/12/22 Птн 03:23:13 845952 323
>>845938
Ну ты бошку лучше удали вообще, оставь до шеи поставь лимиты вращения камеры чтобы внутрь шеи не смотреть
Аноним 23/12/22 Птн 19:48:34 846084 324
Где вы 3-д модельки берете? Сами пилите? Пиздец аж страшно представить, сколько придется ебаться прежде чем у меня хоть куб покрасить получится. Вообще не лежу к этому.
Аноним 23/12/22 Птн 19:57:24 846087 325
>>846084
Берешь ассет паки с офф сайты, их них вырезаешь нужные модели. Также отдельно с разных помоек можешь качать. Вариант для особо изысканных эстетов качать ассеты на других движках и также вырывать нужное от туда.
В 99% это быстрее и проще чем пилить самому. Для простого юзай блендер, мелочевку мелкополигональную самому быстрее сделать и натянуть текстуру. Пару видосов по блендеру и все получится.
Аноним 23/12/22 Птн 20:05:20 846088 326
>>845952
Не можу, я планирую мультиплеер сделать, башку будут видеть все кроме тебя кек.
Аноним 23/12/22 Птн 20:30:24 846090 327
>>846084
Я чё долбоёб еще в моделлинг влезать, учить блендер, кости настраивать. Да пошло оно всё нахуй, куплю в ассетсторе или закажу у моделлера.
Аноним 23/12/22 Птн 20:59:33 846093 328
Существует какой-то способ импортировать модели из блендера с материалами?
Аноним 23/12/22 Птн 21:19:57 846095 329
>>846093
Материал это по сути шейдор, копай в этом направление. Но не забывай что там же еще как сделан этот материал в блендере, и через что рендерится. Там куча всего может быть.
Аноним 23/12/22 Птн 21:20:34 846096 330
>>846093
>с материалами?
с любыми материалами - нет.
если же ты самоограничишся PBR - то тогда можно настроить одинаково (по одинаковым картам)

есть еще всякие https://armorpaint.org/ которые могут облегчить страдания
Аноним 23/12/22 Птн 21:28:17 846099 331
>>846095
>>846096
По факту любой материал лишь графический редактор шейдера, который в конечном итоге конвертируется в код на соответствующем софту языке шейдеров.
Но я надеялся что может есть какой-то конвертер или сопоставление нодов блендера и материалов юньки. Но видимо в блендере на материалы вообще время тратить не стоит.
Аноним 23/12/22 Птн 23:07:28 846107 332
Tower rework.jpg 149Кб, 1828x998
1828x998
>>845780
Под эту схему и башни мои заебись переделываются. балдеж, завтра накидаю.
Аноним 23/12/22 Птн 23:31:29 846111 333
Безымянный.jpg 195Кб, 1154x564
1154x564
Пошли бы?
Аноним 23/12/22 Птн 23:35:50 846112 334
>>846111
Я нет, но из-за зп, для меня низковата, но если ты джун, то пиши смело, потому что:

1. Текст могла писать тупая хрюша

2. Знаю много крутых прогеров у которых проблема с грамматикой и даже читают чуть ли не по слогам, хз почему так
Аноним 23/12/22 Птн 23:40:18 846114 335
>>846111
>гиперкэжуал
Побежал.
Аноним 23/12/22 Птн 23:57:45 846116 336
>>846111
> GTAP Game Ireland Limited,
> 500 долларов в месяц
Пусть своих ирландцев за такие деньги нанимают.
Аноним 24/12/22 Суб 00:14:30 846117 337
>>846112
>но если ты джун

а уровень джуна это вообще сколько? знание базы редактора и основ шарпа? Или солид + паттерны - необходимый минимум?
Аноним 24/12/22 Суб 02:16:11 846120 338
>>846117
Если тебе надо объяснять как выполнять задачу - то ты джун

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

Если ты можешь составить план по разработке игры, раскидывать задачи мидлам и обучать джунов - ты помидор
Аноним 24/12/22 Суб 12:04:37 846149 339
>>846120
>Если ты можешь составить план по разработке игры
Могу, но не хочу.
Аноним 24/12/22 Суб 12:23:55 846151 340
>>846088
Ну пумть они видят, а игрок нет
Аноним 24/12/22 Суб 12:29:13 846153 341
>>846112
> Текст могла писать тупая хрюша
Там 10 человек, какая хрюша

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

Но подозрительно, что за 35 проектов у них команда 10 человек все еще.
Аноним 24/12/22 Суб 12:42:37 846156 342
>>846117
> знание базы редактора и основ шарпа?
Смотря что ты подразумеваешь под базой и основами.

> Или солид + паттерны - необходимый минимум?
Паттерны не особо(ну ток синглтон и обсервер=юнити ивенты и си шарп ивенты). Солид скорее да чем нет.

В целом, главное требование для джуна - у него должна быть своя игра сделана. Пусть она будет и простая, но это сразу индикатор, что ты физику можешь натсроить, анимации, юай сверстать и даже как-то кодом все это связать. Это прям самое главное на что смотрят, без этого вряд ли твою кандидатуру будут рассматривать.
Аноним 24/12/22 Суб 13:10:02 846167 343
>>846117
>а уровень джуна это вообще сколько
Умение скачать ассет и кинуть его на сцену.
Аноним 24/12/22 Суб 13:20:28 846168 344
>>846111
Пошел бы, но это тупой наеб джунов. Им откликнется на вакансию человек 100+, из них либо выберут тех кто готов быть рабом за еду, или будут кидать на тестовом.
Аноним 24/12/22 Суб 13:42:59 846171 345
image.png 1417Кб, 1024x819
1024x819
>>846151
А ты хорош, я же действительно могу камеру настроить чтобы она не видела некоторые слои, и засунуть туда башку. Спасибо.
Аноним 24/12/22 Суб 17:38:29 846196 346
image.png 19Кб, 673x380
673x380
лицо представили?
Аноним 24/12/22 Суб 17:49:15 846198 347
Аноним 24/12/22 Суб 17:59:01 846199 348
>>846198
достаточно в старте значение установить и всё
Аноним 24/12/22 Суб 18:14:52 846202 349
Аноним 24/12/22 Суб 18:17:22 846203 350
>>846199
А если оно динамически изменяется?
Аноним 24/12/22 Суб 18:20:21 846204 351
image.png 48Кб, 674x797
674x797
image.png 34Кб, 670x869
670x869
image.png 30Кб, 685x625
685x625
>>846202
chat gpt

>>846203
ивент? но это всё равно нейронка написала... так что пох
Аноним 24/12/22 Суб 18:37:50 846207 352
>>846204
Почему ты мелкобукв?
Аноним 24/12/22 Суб 18:42:37 846208 353
image.png 41Кб, 578x848
578x848
image.png 60Кб, 813x677
813x677
>>846207
не завидуй додик
Аноним 24/12/22 Суб 18:49:50 846209 354
image.png 33Кб, 861x363
861x363
Аноним 24/12/22 Суб 18:51:18 846211 355
image.png 6Кб, 431x163
431x163
Аноним 24/12/22 Суб 19:58:36 846214 356
>>846208
>FadeAnimation
Спроси свою нейронку знает ли она про DOTween
Аноним 24/12/22 Суб 20:21:14 846216 357
image.png 34Кб, 744x773
744x773
image.png 33Кб, 677x751
677x751
Аноним 24/12/22 Суб 21:04:06 846219 358
>>846216
Видишь, анон всегда будет знать больше чем говнонейронка. Та будет высирать тебе неоптимальную копипасту из туторов, подходящую только для хелоу ворда, а не реального проекта.
Аноним 24/12/22 Суб 21:18:03 846221 359
>>846107
>>846216
Заряди этой залупе мою схему. Пусть код накидает
Аноним 24/12/22 Суб 21:39:22 846226 360
>>846221
напиши текст, мне лень
Аноним 24/12/22 Суб 22:13:22 846232 361
>>846226
Блядь, я тут подумал, что мне проще самому написать, чем пытаться этой хуйне ради рофла объяснить че от нее требуется лол пахпха
Аноним 24/12/22 Суб 23:11:20 846238 362
>>846232
Я уже 3 часа пытаюсь от неё получить вменяемый скрипт для 2д топдаун машинки, она выдаёт какую-то чушь. И хотя у меня есть такие скрипты разного уровня сложности, от простого вращения и изменения велосити, до симуляции колёс - она ничего даже близко похожего до сих пор не смогла выдать, кроме самого примитивного варианта.

Просишь её чуть-чуть усложнить, и начинает выдавать какой-то бред, который не имеет смысла.
Аноним 24/12/22 Суб 23:18:12 846239 363
>>846238
Получается, без работы пока только художники остаются?
Аноним 24/12/22 Суб 23:46:37 846242 364
>>846239
Да, прогеров не скоро заменит. Она может в целом делать, то что нужно, но в деталях, например обсираться, пальцы кривые все дела. На картинке сразу видно, так мозг устроен, можно взять картинку и пальцы пофиксить. А с кодом, ну скажешь ты ей мини игру накодить, ну за секунду выдаст тебе 10к строчек, запуск ошибка. Там может не так много фиксануть надо будет, но ты же не сможешь быстро разгрести, что она там наплела. Скорее гугл разорится, она уже хороша в этих небольших подсказках, через три года красота будет. Эта нейронка как конфетка
Аноним 25/12/22 Вск 00:12:06 846247 365
>>846242
Мне кажется она норм только когда ты впервые юзаешь какой-то язык и стек и особо не знаешь как там делать даже банальные вещи.
По сути такой своеобразный аналог гугла, с той лишь разницей, что тебе прям сразу код выдается, но его работсоспособность оценить не выйдет.
Аноним 25/12/22 Вск 00:20:43 846249 366
Безымянный.jpg 214Кб, 1828x998
1828x998
>>846107
Так посоны. По ходу пьессы решил инкапсулировать звук и спрайт в отдельный класс. И тут понял, что придется делать такую булдыгу чтоли ебаный икебастос? Или можно по кайфу на один презентер с анимацией все повесить?
Аноним 25/12/22 Вск 00:37:55 846250 367
>>846247
Программирование уже должно на еще более высокий и легкий уровень выйти, будешь просто проговаривать алгоритм, а оно пусть само там подбирает. Ну вот, например, в блендере в скелете нужно у выделенной кости выделить всех ее детей и к именам добавить 001, 002... Весь день проебешь, гугля как это делается, а так сразу хуяк тебе кодик, там уже примерно понятно будет как, что называется и легко допилить
Аноним 25/12/22 Вск 01:08:27 846255 368
>>846250
>будешь просто проговаривать алгоритм, а оно пусть само там подбирает
Разбудите когда кнопка "сделать пиздато" будет.
Аноним 25/12/22 Вск 01:58:47 846257 369
как же я заебался с этим гуем уже... сука нахуй, логику буквально за пару вечеров написал, а с гуем уже неделями ебусь сижу
Аноним 25/12/22 Вск 03:59:57 846260 370
>>846257
А гуй - это зачастую и правда самое сложное в проекте, лол.
Аноним 25/12/22 Вск 04:27:29 846261 371
>>846257
>>846260
А хуле вы хотели, это дело спеца совсем другого профиля. Гуй, сделанный погромистом - это всегда пиздец.
Аноним 25/12/22 Вск 06:23:00 846263 372
>>846261
За себя говори, у меня гуй нормальный. Благо несколько лет отпахал на фронтенде с реактивными фреймворками.
Аноним 25/12/22 Вск 08:01:46 846265 373
>>846263
>на фронтенде с реактивными фреймворками
на реактивной тяге бгг ебучий React
Аноним 25/12/22 Вск 09:48:24 846267 374
>>846255
У художников уже есть
Аноним 25/12/22 Вск 09:57:47 846269 375
>>846265
>ебучий React

Удобно же. Разметку сделал. Стилей накидал. Собрал одной кнопкой. Заместо пердолинга с созданием и размещением компонентов кодом.
Аноним 25/12/22 Вск 11:08:19 846274 376
>>846269
Он не поймёт если не отработает на подобном фреймворке пару лет. Я долго вертел нос от фреймворков, не желая отказываться от жейквери, пушо ничего сложнее визитосов не делал, для интернет-магазов юзали платформу. А потом вкатился в Vue, React и уже для самой тривиальной хуйни разворачиваю бойлерплейт ибо одной командой, удобно и уже знакомо.
Аноним 25/12/22 Вск 12:04:41 846282 377
>>845874
Ну и хорошо, я с гугл игр получаю не больше 0.5к
Аноним 25/12/22 Вск 13:41:30 846298 378
>>846289
> я думал они нас рабсеян порешали
Порешали в том плане, что игроки из России и Белоруссии не могут совершать покупки, то есть никаких донатов. И нет дохода с рекламы. Но ты можешь продолжать зарабатывать в других странах и выводить деньги в России.
Аноним 25/12/22 Вск 13:48:44 846302 379
>>846249
Стрелочки что обозначают?
Аноним 25/12/22 Вск 13:58:42 846306 380
>>846302
кто кого может вызывать. пунктир это связь через эвенты.
Аноним 25/12/22 Вск 14:43:10 846320 381
Безымянный.png 226Кб, 1828x998
1828x998
Я уже подзаебался переосмысливать как работает мвп, если честно. В общем крайняя версия такая, что презентер завязывается не на SkillHandler, а на сам skill. отсюда у меня возникает сразу два варианта. Либо делать так, что SkillHandler скармилдивает презентеру Skill, в перезнтере идет какая-то логика отписок переподписок и дальше пошла работа. Но есть у меня подсознательное ощущение, что при инициализации башни нужно по количеству имеющихся Skill, создавать такое же количество View и соответственно сделать такое же количество MVP залупы.

Ведь для каждой модели должен свой вью-презенетр быть, так?
Аноним 25/12/22 Вск 15:08:55 846325 382
>>846320
НУ точно второй вариант. у каждого скила свой вью презентер, а хендлер контролирует запуск скилов, чтобы не было нахлеста анимаций.
Аноним 25/12/22 Вск 15:57:13 846333 383
>>846320
>Я уже подзаебался переосмысливать как работает мвп, если честно.
ну еще поебешься малех и поймешь что кушать суп ножом и тащить в юнити MV* не нужно
Аноним 25/12/22 Вск 16:17:46 846336 384
>>846333
Альтернатива какая? в редакторе компоненты по публичным филдам перетаскивать?
Аноним 25/12/22 Вск 16:41:52 846339 385
>>846320
Не уверен но помойму ты хуйнёй занят. Если твоя цель просто кодить ради кодинга то ок, но зачем тогда ты так сильно напрягаешься? Ты вообще игру делаешь или что?
Аноним 25/12/22 Вск 16:47:25 846340 386
>>843352 (OP)
Модератор, почему оп пик с пропагандой лгбт? Это уголовка уже.
Аноним 25/12/22 Вск 17:02:50 846342 387
>>846336
Это можно и нужно делать безотносительно использования MVC/MPV в юнити.
Аноним 25/12/22 Вск 17:30:24 846346 388
1671978626356.jpg 118Кб, 1067x747
1067x747
>>846333
> что кушать суп ножом и тащить в юнити MV* не нужно
Нужно, но не так

>>846336
> Альтернатива какая? в редакторе компоненты по публичным филдам перетаскивать?
Перетаскивать компоненты или нет - это не вопрос к мвп или мвц.
Чтобы передавать зависимости, ты можешь использовать сервис локатор(нет), ди, или фабрики.

>>846320
Я хз что ты там изобретаешь, но почему бы не сделать пикрил?

Tower - скрипт который вешаешь на геймобжект.

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

Tower также полностью контролирует некий Gun, это может быть либо СО с прописанной логикой для метода Fire, или целый префаб

Gun это то, что стреляет по цели. Важно: это НЕ реальная пушка, это всего лишь нечто, что отвечает за запуск некоторой атаки. Tower передаст ему точку откуда стрелять и в кого.

TowerView подписывается на ивенты тавера, при необходимости мониторит даже в апдейте что-то. Это может быть как монолитный компонент, который управлет и анимациями и звуками, так и раздообленный на несколько, по сути как ты у себя нарисовал.
Аноним 25/12/22 Вск 17:35:35 846347 389
196282c6f3eb4a6[...].jpg 138Кб, 800x1200
800x1200
c8ffe6as-960.jpg 121Кб, 800x562
800x562
06375723a8ed472[...].jpg 21Кб, 236x329
236x329
>>846340
Дурак что ли. Это коммунистический плакат!
Аноним 25/12/22 Вск 17:38:13 846348 390
>>846347
Педерасты, фу блядь, фу нахуй
Аноним 25/12/22 Вск 17:42:26 846350 391
>>846342
>Это можно и нужно делать безотносительно использования MVC/MPV в юнити.

В чем плюсы относительно MVP/MVC?

>>846339
Ты какать когда ходишь у тебя цель кишку почистить или штаны снимать? почему ты снимаешь штаны, когда какаешь? Или это другое?
Аноним 25/12/22 Вск 17:46:35 846352 392
>>846350
В юнити уже реализован MVC, в самом движке. Модель - это, например, данные Transform. View/Presenter - это компоненты спрайтов, мешей и моделей, которые рендерятся там, где они находятся. Тебе не надо писать движок поверх движка, чтобы делать игры. А перетаскивание компонентов в формы - это всего лишь способ управления зависимостями. Хуячь всё в одном скрипте, не ошибёшься.
Аноним 25/12/22 Вск 17:51:13 846353 393
>>846350
Чел я без негатива пишу. Не занимайся хуитой. Ты движок взял чтобы игру сделать, а не написать свою лапшу поверх движка.
Если была цель насрать кучу кода чтобы показать на гите и взяли как джуна то ок, но зачем тогда срать в треде об этом?
Аноним 25/12/22 Вск 17:55:49 846355 394
>>846346
>Я хз что ты там изобретаешь, но почему бы не сделать пикрил?

У меня башня потенциально может иметь несколько вариантов действий, кроме автоатаки. То что на твоем рисунке по сути отображает класс Skill на моей схеме. За исключением того, что я пока думаю, как к нему прокинуть View составляющую. Не, ну в целом, я могу просто к каждому скилу конечно прикрутить отдельный аниматор и не ебаться вообще. Но
Аноним 25/12/22 Вск 18:20:24 846362 395
>>846352
>>846353
база нах, либо ты дебил ебаный зарабатываешь деньги, либо ты хуй сосёшь со своими инцельскими архитектурами
Аноним 25/12/22 Вск 18:24:50 846363 396
>>846355
> У меня башня потенциально может иметь несколько вариантов действий, кроме автоатаки.
Значит даешь ей весь TargetLocator, и из него пусть берет че надо.

> За исключением того, что я пока думаю, как к нему прокинуть View составляющую.
Зачем? Что конкретно view будет отображать из скилла?

Вот есть башня да, стоит такая коробка и на ней сверху оружие - это все вью башни. А у скилла че отображать тебе надо?

> Не, ну в целом, я могу просто к каждому скилу конечно прикрутить отдельный аниматор и не ебаться вообще.
Ну, когда "скилл" стреляет например пулей - пусть просто спаунит эту пулю, вью тут никакой не нужен.
Или ты хочешь чтобы там огонь как от выстрела появлялся? Так это ж ответственность вью башни, и ей пох чем там она стреляет.
Аноним 25/12/22 Вск 18:31:06 846366 397
>>846352
>>846353
если честно мне нахуй не надо с вами спорить. Хотите через компоненты работать, пожалуйста. Подход имеет все права на жизнь.
Аноним 25/12/22 Вск 18:40:19 846369 398
>>846366
Ты в юнити треде, тут обсуждают юнити.
Аноним 25/12/22 Вск 18:44:24 846372 399
>>846366
Так дело не в споре. Ты пытаешься реализовать велосипед поверх готового решения. В этом 0 смысла во всех смыслах.
Помимо того что ты на пустом месте усложняешь архитектуру и читаемость (А это один из столпов геймдева и программирования в целом) ты еще и городишь жуткие костыли ухудшая производительность.
Бросай это дело, ну или залей на гит и показывай всем что ты сделал, но не применяй на реальных задачах.
Аноним 25/12/22 Вск 18:57:22 846374 400
>>846363
>Что конкретно view будет отображать из скилла?

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

>Значит даешь ей весь TargetLocator, и из него пусть берет че надо.

может быть. я уже внутрянку не помню че там с ним.

Вообще полный цикл выглядит так Башня проверяет готовы ли скилы - запускает первый готовый - запускается анимация - анимация содежит эвент который сообщает, когда включать "пулю"- дальше в анимации есть эвент, сообщающий о конце анимации скила, это означает, что аниматор свободен и можно использовать следующий доступный скилл. Пуля там куда-то летит сама по своим делам уже несколько кадров.
Аноним 25/12/22 Вск 19:04:24 846376 401
юнитаны посоветуйте зенжект но легче и из которого выпилено все кроме DI в конструкторы и монобехи
Аноним 25/12/22 Вск 19:17:39 846377 402
>>846369
и?

>>846372
>Помимо того что ты на пустом месте усложняешь архитектуру и читаемость
По слоям от большего к меньшему - сложно. Кинул макаронину от кор класса в самый анальный уголок игры - архитектура. Все понятно. лайк.
Аноним 25/12/22 Вск 20:27:49 846385 403
Аноним 25/12/22 Вск 20:41:29 846386 404
1671990091626.jpg 130Кб, 912x835
912x835
>>846374
Ну смотри, можно так сделать:
Tower - содержит CurrentSpell и поднимает ивенты типа начал кастовать, закончил кастовать, текущий спелл сменился.

Вью - маг - ловит эти ивенты и выбирает анимацию в зависимости от спелла(и ее длительность подстраивает под каст тайм). Т.е. надо сделать чтобы ты ему в паметрах мог задавать пары: спелл-анимация.
Т.е. словил он старт каст - начал играть анимацию заданную, и никаких проблем.
Аноним 25/12/22 Вск 20:43:25 846387 405
>>846372
> Так дело не в споре. Ты пытаешься реализовать велосипед поверх готового решения. В этом 0 смысла во всех смыслах.
Он все правильно делает, организовывает код по логике, с опытом будет щелкать такие задачи и ебошить готовый прототип за то время, пока кирилл спрайт двигаться заставит.
Аноним 25/12/22 Вск 21:07:47 846391 406
>>846386
Можно попробовать. Помозгую попозже, а то из-за утечки газа разволновался, голова не работает лол
Аноним 25/12/22 Вск 21:12:29 846393 407
Аноним 25/12/22 Вск 21:26:51 846394 408
Аноним 26/12/22 Пнд 12:57:44 846451 409
Безымянный.jpg 126Кб, 1828x998
1828x998
Итак, представляю видимо финальную схему работы башни. Объясняю на пальцах почему так. Возможно у некоторых возникнет вопрос почему не прокидываю эвенты через башню, а делаю презентер. особенно у любителей потаскать поля в редакторе Потому что башня занимает вершину иерархии и не должна работать на тех кто ниже и чтобы этим не заниматься, она создает им интерфейс взаимодействия. Который в том числе не засоряет код башни, а инкапсулирует в себе это самое взаимодействие. Дальше все понятно. скилл простой дата класс из которого при необходимости таскаются параметры и передаются во вью.
Аноним 26/12/22 Пнд 13:12:14 846453 410
image 230Кб, 640x426
640x426
Пацаны, а работаете с Юнити на 2х мониторах или на одном? Не знаю есть ли смысл второй брать. Чтобы разделить юнити и студию например. Хотя это не так полезно. Полезнее было бы разделить вкладки Scene и Game по разным мониторам, но такое вроде как невозможно?
Аноним 26/12/22 Пнд 13:37:18 846455 411
изображение.png 24Кб, 1024x384
1024x384
Посоны, я пиздец туплю на ровном месте. Как сделать чтобы мили атака тригерила все в определенной области, но если натыкалась на стену, то дальше переставала тригерить?

Например, на пике, пускаю луч, все что зеленым должно стригерится, все что за стеной должно игнорится. Как такое запилить?
Аноним 26/12/22 Пнд 13:38:30 846456 412
>>846455
Зеленый круг за стеной тоже красным должен быть, сфейлил что-то
Аноним 26/12/22 Пнд 13:42:17 846457 413
>>846455
Бля, как только спросил походу понял как сделать через маски для рейкаста. Спасибо, посоны.
Аноним 26/12/22 Пнд 13:49:03 846458 414
>>846453
Я так и работаю, у меня на старом 4:3 мониторе вкладка Game, а на стандартном 16:9 всё остальное
Аноним 26/12/22 Пнд 13:58:18 846460 415
>>846458
Так намного удобнее? Какая диагональ у мониторов? Ещё видел некоторые размещают второй монитор вертикально для отображения большего количества года, но хз насколько это пригодится на самом деле.
Аноним 26/12/22 Пнд 14:04:02 846462 416
>>846460
Сорян, немного напиздел, не 4:3, а 5:4.

>Так намного удобнее?
Да

>Какая диагональ у мониторов?
16:9 - 27 дюймов
5:4 - 19 дюймов

>второй монитор вертикально
Хочу попробовать эту тему, но некоторые аноны что шея затекает и неудобно. Хотя мне в принципе пох и я всё равно буду брать вертикальный монитор. Если не зайдет, то будет просто третий моник.
Аноним 26/12/22 Пнд 14:08:06 846464 417
>>846460
У меня три моника, но так как основной это 2К/27 дюймов то два других используются только для демонстрации ютабчика и аниме-картинок, так как крутить ебалом становится неудобно. Еще пробовал ставить один над другим - хуита. Два 22-дюймовых рядом да, реально юзать.
Аноним 26/12/22 Пнд 14:51:03 846482 418
>>846458
И как работать? Вертеть головой, как конь, от кормушки к поилке? Гораздо легче альт-табнуться, да и научные исследования подтверждают, что наличие второго монитора УМЕНЬШАЕТ эффективность работы. За редким исключением, типа слежения за камерами наблюдения или биржевыми графиками.
Аноним 26/12/22 Пнд 15:17:26 846493 419
>>846482
>альттабаться легче чем не альттабаться

Пиздец. он даже научные исследования прочитал какие-то лол)))))))))))))))))))))))))))))))))))))))))))))))))
Аноним 26/12/22 Пнд 15:30:58 846500 420
>>846493
Понятное дело, что у вас книжки читать - цэ наследие москальской оккупации. Но ты можешь не переживать, я ничего не читал.
Аноним 26/12/22 Пнд 15:46:56 846506 421
>>846500
Шею свою куриную подкачай дрочила, если тебе альтаб проще нажать, чем голову сместить на полградуса.
Аноним 26/12/22 Пнд 16:06:00 846510 422
>>846482
>научные исследования подтверждают, что наличие второго монитора УМЕНЬШАЕТ эффективность работы
Не верю.
У меня 1 большой моник и я постоянно вынужден то открывать Picture in Picture, то изъебисто разделять экран на 2 части.
У тянки два монитора, на одном у нее открыт реф, на втором рисует. Альт табаться тут вообще не вариант.
Твое исследование явно не про разработчиков игр. Может быть, про каких то офисных операторов или водителей трамваев, которым второй монитор мешает, потому что они на нем сериалы смотрят, и они звонки пропускают.
Аноним 26/12/22 Пнд 16:13:17 846514 423
>>846453
>думает есть ли смысл брать второй
>мне не хватает уже моих троих
не лезь оно тебя сожрет
Аноним 26/12/22 Пнд 16:52:21 846520 424
>>846482
> научные исследования подтверждают, что наличие второго монитора УМЕНЬШАЕТ эффективность работы
Научные исследование на ком, чьих задач, и почему меня это должно ебать?

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

>>846453
> Чтобы разделить юнити и студию например
Полная хуета.

> Полезнее было бы разделить вкладки Scene и Game
Да, хотя бы так.

мимо
Аноним 26/12/22 Пнд 17:28:29 846529 425
>>846510
У меня противоположный опыт. Есть два монитора, и я не нашёл ничего, что можно было бы разместить на втором, в контексте работы с юнити. Пытался игровое окно - для тестирования игры приходится перекладывать в его сторону мышь, клавиатуру и поворачиваться в его сторону, а потом опять убирать, либо косоёбится всем телом и перекручивать позвоночник. Потому что главный монитор находится прямо перед глазами, а побочный - в стороне. Либо можно поставить два монитора так, чтобы они находились равноудалённо от клавиатуры, но тогда неудобно смотреть ни на один из них. В итоге я вывел на второй монитор окно консоли, чтоб не занимало место в основном окне. Польза сомительная.
Аноним 26/12/22 Пнд 17:34:13 846532 426
>>846529
Подальше отсядь.
Аноним 26/12/22 Пнд 17:36:23 846533 427
8bdc80e825f6295[...].jpg 163Кб, 615x461
615x461
>>846520
>Также документацию на втором мониторе можно открыть. При профайлинге нужно порой сразу несколько окон открывать.

Это всё работает, если мониторы квадратные (см. пик). Но один широкоформатный монитор заменяет два квадратных. А на два широкоформатных не хватит ресурса шеи или позвоночника, потому что перед глазами их не разместить, а значит, придётся крутиться и перекручивать позвонки, что травмоопасно. Ну или есть ещё вариант, что у вас пиздатое 100% зрение, тогда 2 широкоформатных монитора можно поставить перед собой на расстоянии 1.5-2 метра.
Аноним 26/12/22 Пнд 17:38:27 846535 428
>>846529
>и я не нашёл ничего, что можно было бы разместить на втором, в контексте работы с юнити
Я профессиональный юнитидебил, когда надо было переносить дизайн интерфейса от хуйдожников из фигмы в юнити то второй моник сильно помогал.
Аноним 26/12/22 Пнд 17:44:30 846538 429
У меня достаточно близко стоит монитор на 27". Я так прикинул, если поставил ещё один, то мне уже не хватит глаз, придётся крутить шеей, что неудобно как минимум.
Аноним 26/12/22 Пнд 18:22:43 846544 430
Челик без чужого мнения не может понять нужен ему второй монитор или не нужен. Я чета ору.
Аноним 26/12/22 Пнд 18:39:02 846546 431
>>846544
По делу есть что сказать или ты просто кукарекнуть зашел?
Аноним 26/12/22 Пнд 18:42:20 846547 432
>>846546
Конечно. Найди какого-нибудь обзорщика на ютубе, чтобы он тебе обзор сделал как тебе надо чтобы у тебя было.
Аноним 26/12/22 Пнд 19:07:54 846550 433
палю лайфхак, если у тебя есть достаточно современный телевизор
подключаешь его как второй монитор
и уже смотришь удобнее стало или нет. если да, берешь нормальный монитор. если нет, то ничего не потерял.
Аноним 26/12/22 Пнд 19:12:36 846551 434
>>846550
Дальше 1 метра четко не вижу.
Аноним 26/12/22 Пнд 19:20:24 846554 435
>>846551
зумер не догадывается, что телевизор нужно на стол с пекарней поставить. подскажите, не справляется малой.
Аноним 26/12/22 Пнд 19:36:40 846557 436
>>846554
Какой зумер, мне 34.
Аноним 26/12/22 Пнд 19:39:42 846559 437
filth laugh.mp4 1367Кб, 1280x544, 00:00:09
1280x544
Аноним 26/12/22 Пнд 19:42:26 846561 438
>>846557
А в голове как у зумера.
Аноним 26/12/22 Пнд 19:50:30 846563 439
Аноним 26/12/22 Пнд 20:08:12 846564 440
>>846563
И че как там курс? четкий молодежный или залупа глубиной до создания классов?
Аноним 26/12/22 Пнд 20:21:59 846567 441
>>846564
Там блять 10 часов видео! Через пару дней жди отзывов.
Аноним 26/12/22 Пнд 20:39:58 846569 442
>>846567
Только нахуй он нужен, когда полно нормальных книжек? Берёшь книжки и практикуешься. Все эти курсы-хуюрсы приводят только к прокрастинации.
Аноним 26/12/22 Пнд 20:44:37 846570 443
image.png 101Кб, 1345x357
1345x357
Поставил графическую плюшку с гитхаба, потом удалил и после чего юнити срёт мне такими ошибками, вроде везде подчистил, хз как убрать.
Аноним 26/12/22 Пнд 20:55:00 846573 444
>>846570
У тебя что-то там перекрывает пайплайн, удали его и поставь заного.
Аноним 26/12/22 Пнд 20:56:24 846575 445
>>846573
Переустановить пайплайн? Что то жесть какая-то
Аноним 26/12/22 Пнд 20:58:11 846576 446
>>846575
Да просто удали пакет и установи заного, можешь еще подчистить системные папки юньки на всякий, она все перекочает.
Аноним 26/12/22 Пнд 21:46:42 846587 447
У меня вопрос по лицензиям: а откуда Юнити узнает, сколько денег заработали мои игры? И вообще, если я делаю билд, он привязан к моему аккаунту, то есть типа нельзя опубликовать игру анонимно?
Аноним 26/12/22 Пнд 21:52:26 846588 448
>>846567
Посмотрел сразу конец. карочи это в лучшем случае глава 3 метанита по с#. В общем по факту 30 минут самостоятельного изучения вложили в 10 часов видео.
Аноним 26/12/22 Пнд 22:25:50 846594 449
>>846587
аудиты небось проводят как автостол
не парься тебе это не грозит
Аноним 26/12/22 Пнд 22:26:41 846595 450
Аноним 26/12/22 Пнд 22:52:34 846597 451
>>846587
Если ты не знаешь, у них эдитор вообще то отправляет кучу инфы о твоей игре, где аи всё анализирует. Но как сказали выше, с шансом 0.00001% что заинтересуются.
Аноним 26/12/22 Пнд 23:05:52 846598 452
>>846587
>а откуда Юнити узнает, сколько денег заработали мои игры?
Дураку понятно что твоя игра ничего не заработает, ведь чтоб заработать на игре надо ее сначала сделать.
Аноним 26/12/22 Пнд 23:09:31 846599 453
https://www.superplay.co/ тимлид этой конторы, утверждает, что монобехи перегружены и не следует их бездумно штамповать. При разработке надо писать классы без монобеха до тех пор, пока без него возможно обходиться.

Дурачок или шарит?
Аноним 26/12/22 Пнд 23:29:02 846602 454
>>846599
дурачок а шарит :)
Аноним 26/12/22 Пнд 23:32:04 846603 455
image.png 10Кб, 386x205
386x205
>>846599
>При разработке надо писать классы без монобеха до тех пор, пока без него возможно обходиться.
Все правильно. Это же логично. Создавай пустой класс, остальное дописывай по мере необходимости.


А я пришел с пикрилом 😶
Аноним 26/12/22 Пнд 23:43:52 846604 456
>>846603
Последнее время задумался достаточно серьезно о том, чтобы залететь на работку, потому что не хочу топтаться на месте и уподобляться местным лепилам, и бля чет реально работы то нихуя нет. пхех.
Аноним 26/12/22 Пнд 23:56:55 846606 457
Аноним 26/12/22 Пнд 23:59:51 846607 458
>>846599
по сравнению с просто шарпоклассом действительно кучу багажа за собой тащит но все это нужно, а там где не нужно то и монобех не нужен
Аноним 27/12/22 Втр 00:04:14 846608 459
>>846606
А твои где? покажи. посмотрим.
Аноним 27/12/22 Втр 00:07:00 846610 460
>>846608
Я не оптимизирую каждый пук как вы, результат тот же
Аноним 27/12/22 Втр 00:09:41 846612 461
>>846606
В гуглплей и на серверах димасика.
Аноним 27/12/22 Втр 10:48:39 846671 462
Кто сталкивался на последней версии юнити все массивы каждый раз во всех скриптах разворачиваются при запуске проекта?
Еще и это дурацкое окно появляется что бла-бла ограничьте права для запуска эдитора, а я ебу как и зачем вообще это надо.
Аноним 27/12/22 Втр 11:04:30 846677 463
>>846599
Очень странная формулировка. У монобехов есть своя задача, там где они не нужны - их юзать и не будут, там где нужны - там будут. А юзать их в любом случае надо, потому что а как ты иначе на сцене что-то покажешь?
Аноним 27/12/22 Втр 11:09:11 846678 464
>>846677
Ну тут вот есть отряд девелоперов, который не может в архитектуру, поэтому все в игре делает монобехами, чтобы протаскивать через них связи. Аргументируя это тем, что юнити сделали монобехи, значит лучше всего работать именно с ними.
Аноним 27/12/22 Втр 11:17:50 846680 465
>>846599
Всё ок, но монобеха тащит с собой апдейты, старты и прочее-прочее для взаимодействия с двиглом. Ты что там собрался делать такое что тебе монобеха не нужна?
Аноним 27/12/22 Втр 11:34:21 846683 466
>>846563
АХАХАХАХА ЧЕ ЗА ХУЙНЯ

И вот этим он так хайповал!? Не ну для начинающих пойдет, но стоило назвать "первые шаги в C#"
Аноним 27/12/22 Втр 11:35:26 846684 467
>>846680
Мне она тоже нужна, только я ее не пихаю везде потому что могу.
Аноним 27/12/22 Втр 11:49:46 846688 468
>>846684
Ну так я спрашиваю в каких случаях она тебе НЕ нужна?
Аноним 27/12/22 Втр 11:58:17 846691 469
>>846688
Когда код без нее можно написать лол))) Ну типо по сути монобеха это точка входа/взаимодействия со сценой. я ее сделал в объекте и раскидываю дальше от нее что надо вниз по архитектуре. Больше она мне не нужна обычно. Ну есть специфические методы, типо инстантиейта или корутины, тут приходится да.
Аноним 27/12/22 Втр 12:01:19 846692 470
Безымянный.jpg 138Кб, 1828x998
1828x998
Вот для такого, она мне точно не нужна
Аноним 27/12/22 Втр 12:22:37 846699 471
image.png 35Кб, 778x1183
778x1183
Аноним 27/12/22 Втр 12:23:57 846700 472
>>846691
>в каких случаях она не нужна?
>в случаях когда она не нужна
ясн))))))))
Аноним 27/12/22 Втр 12:31:01 846702 473
>>846699
Какой вопрос, такой и ответ.

>>846699

хуя епта нарисовал. асепрайт боярин чтоли?
Аноним 27/12/22 Втр 12:50:03 846710 474
>>846680
public class ScoreManager
{
public IReactiveProperty<int> Score => ...
public void AddScore(int score){...}
}

public class WinConditionChecker
{
public IObservable<Unit> OnVictory =>...
public WinConditionChecker(IEnemyManager enemyManager)
{...
}
}
Аноним 27/12/22 Втр 13:00:43 846715 475
Аноним 27/12/22 Втр 13:02:42 846719 476
>>846715
Если ты в коде создаешь создаешь какой-то класс, который не имеет отношения к сцене, то нах тебе его делать монобехом? Чтобв потом заморачиваться с его удалением?
Аноним 27/12/22 Втр 13:03:55 846721 477
Залагает ведь!.jpg 103Кб, 501x600
501x600
>>846715
>В чем минус юзать монобехи?
Аноним 27/12/22 Втр 13:10:57 846724 478
123.jpg 11Кб, 342x106
342x106
Аноним 27/12/22 Втр 13:16:59 846730 479
Мне кажется большинство пользователей монобех-без-оглядки, сидят там чета придумывают названия методов, переменных , пытаются разделить ответственность, и такие с важным ебалом потом резюме пишут - солид етпа. Ток в этом солиде депенденси инвершен просто да иди ты в пизду, нам юнити монобихевиор сделали, гет компонент епта из анального очка пускаю и заебиииись.
Аноним 27/12/22 Втр 13:20:26 846734 480
Ни одного метода монобихевиор не использовал, но отнаследовался. Заееебииииись. Бааалдеж. ЧИтаемость? охуеннно. IDE если не покажет какой объект этот код использует, просто невозможно в этом кале вообще будет разобраться, где это говно висит, че оно откуда гетает и что ему в филды гиперказуальный умелец перетащил.
Аноним 27/12/22 Втр 13:20:46 846735 481
>>846719
Я просто не знаю, как это, типа чисто математику вычислять? Что там такого надо напридумывать, чтобы специально выводить и вычислять, блокчейн считать что-ли? Примерно что-то уровня параллельных вычислений?

>>846724
Что это означает?
Аноним 27/12/22 Втр 13:22:14 846736 482
>>846735
> Я просто не знаю, как это, типа чисто математику вычислять? Что там такого надо напридумывать, чтобы специально выводить и вычислять, блокчейн считать что-ли? Примерно что-то уровня параллельных вычислений?

Вот >>846710
Зачем счетчику счета, или какому-нибудь классу, который проверяет пройден ли уровень, быть монобехом?
Аноним 27/12/22 Втр 13:32:05 846739 483
>>846719
Пока один ИТТ не может сообразить, как его башенки разделить на model и presenter, другой не заморачиваясь кидает компоненты на объекты и выпускает игру. Мы тут почти все любим программировать, но если нет разницы, зачем тратить время и силы?
Аноним 27/12/22 Втр 13:40:29 846743 484
>>846739
Двачую частично. Может быть в этом и есть смысл сделать свою архитектуру поверх юнити, но если цель создать игру, эту идею лучше отложить и воспользоваться решениями от самого движка, и уже исходя из них реализовывать планы.
Поэтому не соглашусь что дополнительные время и силы потрачены напрасно. Вспомнить только одних пчеликов которые на 3д движках годами кодят сценки, и им по кайфу. Вроде были их треды на этой доске даже. Приятно было смотреть на интересные штуки у них.
Аноним 27/12/22 Втр 13:43:53 846745 485
image.png 71Кб, 257x192
257x192
Аноним 27/12/22 Втр 14:02:46 846753 486
>>846743
Игры разные бывают. По факту усилия должны соответствовать задаче. Но в общем и целом, в том чистом коде написано как надо и для чего это надо. Просто челы работают в одиночку и лепят, игры объемом с змейку. Ну до пенсии ты эту хуету то не будешь делать. Надо куда-то двигаться вперед.

>>846739
ну так ты когда какать ходишь, штаны зачем снимаешь, если результат один и тот же? Или если для тебя в данном случае результатом являются чистые штаны, тогда не какай просто и все. Зачем какать, если можно не какать, а результат то тот же.
Аноним 27/12/22 Втр 14:05:18 846754 487
>>846753
>ну так ты когда какать ходишь
>>846350
>Ты какать когда ходишь

У тебя плохо с аналогиями. Вероятно, тебе сначала стоит вылечить проблемы с испражнением, а потом делать игры. Видно, что проблема тебе мешает.
Аноним 27/12/22 Втр 14:06:06 846755 488
>>846739
> Пока один ИТТ не может сообразить, как его башенки разделить на model и presenter
Ну так он разберется, научится, и дальше будет быстрее делать. Это ж не так что ты можешь просто впервые про что-то услышать и сразу начать ебошить.

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

Но к вопросу это кста отношения не имеет - делаешь ты мвп или нет, в любом случае у тебя так или иначе будут классы не монобехи в каких-то ситуациях.
Аноним 27/12/22 Втр 14:11:29 846757 489
>>846754
ожидаемо, типикал двачер хотел повыебываться ложнологическими приемами, был обоссан своим же оружием и ушел в режим постановки диагнозов. У тебя вышка то хоть есть? Знаешься ли философию преподают буквально везде.
Аноним 27/12/22 Втр 14:21:31 846761 490
>>846757
Тебе нужен специалист с медицинской вышкой - у меня её нет. Нельзя обсуждать предметно вопрос, если собеседника что-то отвлекает (позывы в туалет, как в твоём случае).
Аноним 27/12/22 Втр 14:46:23 846770 491
Посоны, поясните за HDRP есть ли смысл его использовать если у меня не фотореализм?
Аноним 27/12/22 Втр 14:53:04 846782 492
>>846770
Нет. Сразу столкнешься с неудобствами, например в HDRP опять переделан постпроцессинг, пускай минимально по сравнению с постпроцессинг стек, но все равно придется переписывать скрипты. Также у меня в хдрп не работает всинк в редакторе, вообще охуеть.
Аноним 27/12/22 Втр 15:03:13 846784 493
>>843718
Можно. Какая разница хендлеру сколько ивентов выполнять.
Аноним 27/12/22 Втр 15:46:10 846797 494
>>846761
ты сейчас в какой стадии находишься? прокрастинация или прохождение очередных курсов о том же самом другими словами?
Аноним 27/12/22 Втр 16:38:44 846808 495
>>846755
Бля что за бред ты пишешь животное? Если челик за место игры дрочится с той хуитой что написана выше он никогда ни вчем не преуспеет, и просто будет тыкаться дальше. Хватит травить эти влажные мечты.
Аноним 27/12/22 Втр 16:42:45 846809 496
>>846808
Камушек в стиральной машинке, спок. Всем понятно каким бытием наполняется твое сознание.
Аноним 27/12/22 Втр 17:16:59 846816 497
>>846809
Иди нахуй фантазер безигорный. Пиздуй делать архитектуры поверх архитектур до конца жизни. Без задачная хуита
Аноним 27/12/22 Втр 17:33:59 846821 498
>>846816
От тебя прям такой самобытный запах двоща. Все эти темы о том как выебать писечку, как вкатиться в айти, почему у меня ничего нет и ничего не могу ведь я очинь умный. умнее всех других. Все это ты. А жизнь тем временем идет вперед.
Аноним 27/12/22 Втр 19:25:34 846840 499
В общем была у меня башня как центральная сущность, на которую можно было цеплять различные поведенческие компоненты. Изначально идея казалась балдежной. как конструктор ее накидал, сразу статы подправил покрутил повертел и так далее. Но в целом каких-то плюсов я не ощутил. Даже если посмотреть с точки зрения изменений. Решил я, чтобы снаряд летел по другой траектории. Мне нужно один компонент открепить, другой прикрепить, мышкой там куда-то тянуть. Вроде не много, но заебывает. Что-то забудешь еще обязательно. Проще в коде одну строчку с абстракцией поменять и все заебись.
Аноним 27/12/22 Втр 19:43:03 846844 500
Аноним 27/12/22 Втр 21:40:17 846872 501
>>846715
Это просто маркер стажера и ниже. Джуном не возьмут, если он везде лепит монобехи.
Аноним 28/12/22 Срд 12:05:06 846923 502
>>846808
Это не влажные мечты, это я тебе говорю, что понял, после того как начал работать в геймдеве, где надо быстро результат получать, да еще и есть риск что проект норм зайдет и придется много че расширять. Ты думаешь это все просто так придумали, потому что заняться нечем?
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов