Этого треда уже нет.
Это копия, сохраненная 19 января в 16:36.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
unity.jpg21 Кб, 1200x630
Unity 3D #21 824236 В конец треда | Веб
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Прошлый тред: https://2ch.hk/gd/res/809329.html#824166 (М)

Официальный сайт: 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# можно узнать на интерактивных курсах здесь:
https://dotnetcademy.net/CSharp/Beginner
или в текстовом туториале здесь:
https://www.tutorialspoint.com/csharp/csharp_quick_guide.htm
Для изучения основ UnityScript выучи вначале основы JavaScript:
https://learn.javascript.ru/
Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:
http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript
Помни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.

- Движок
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.
http://www.ozon.ru/context/detail/id/34792570/
Также посмотри на видеотуториалы с официального сайта:
https://unity3d.com/learn/tutorials
Если же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:
http://catlikecoding.com/unity/tutorials/
Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:
https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
Это будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов:
https://noobtuts.com/unity
В нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных.

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

Шапка: https://www.writeurl.com/publish/qzgktisltkskaitem6aa
2 824237
Отчетный
sage 3 824239
Сажи раковому треду
sage 4 824240
Чатик олигофренов и нубов с IQ не позволяющим пользоваться гуглом
ОП-пост с дохлыми ссылками уже копируют 10 лет
5 824242
>>24239
>>24240
дырочка спок
6 824243
>>24242
Пусть бампает, может и ссылки сам обновит, которые ему не нравятся
7 824249
>>24236 (OP)
Да как вы заебали делать перекат с 60% протушхей пастой по юнити. Там уже больше половина не актуальна сука!
Дайте я сделаю актуалочку блядь! Куда ты блядь летишь перекатывать!?
У нас старше блять доски уже.
8 824250
И перекат разве не на 1к постов делается?
9 824253
>>24249
Сделай свой перекат, этот игноририруем
10 824259
>>24249
Ну так че не сделал за столько перекатов, а смотрел на 60% протухшую пасту?
11 824262
>>24253
Могу сделать свой перекат в обновлённой шапкой, где будет актуалочка, но думаю что без одобрения модера без смысла, его потрут как дубль из-за того что по дате будет создан позже.

>>24259
Потому что было лень и похер? И надежда что уж следующий наконец кто-то сделает нормально. Честно не представляю почему среди столько анонов пользующихся юнькой не нашлось одного кто шапку бы переделал.
12 824264
>>24259
Ваши чатики вообще не нужны. Эхо-комнаты, где одни и те же дегроды пишут одно и то же.
Все потенциально годные идеи тредов канализурются в этих чатиках.

Что за поколение уебков с чатиками.
Зашел в "анимач", там одни чатики - половина оФФициальных закрепленных. Блять.
Перетирание одного и того же кала.
13 824265
>>24259
Я тут как-то сказал, что вышло новое издание юнити ин экшон, так местный перекатчик все стены говном измазал патамушта нинарусском книга.
14 824266
>>24264

>Ваши чатики вообще не нужны


Так уебывай отсюда, хули ты тут сидишь?
15 824267
>>24264

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



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

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

Делай новую шапку, ее в любом случае учтут
16 824268
>>24267
Ну и получишь репорт пидор.
17 824269
>>24262

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



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

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

Какой же ты пидор, как же ты бесишь.

Хуй соси. Но шапку исправь. <3
18 824271
Вот и скатили и без того неудачный тред
19 824273
>>24250

>И перекат разве не на 1к постов делается?


Нет, на 500. Потом тред тонет.
20 824275
Открываешь доску. Видишь одни и те же треды на протяжении 10 лет. Вопросов-тред, юнити-тред, годот-тред, скриншоты-тред. Закрываешь нахуй и больше не возвращаешься.
А ведь это форсится самой мочой. Блять, этот такой тотальный маркетинговый проеб, что я даже не знаю что в голове у админов двача.
21 824276
>>24275
Критикуешь - предлагай

но ты же ныть пришел,предположительно
22 824277
>>24275

>одни и те же треды на протяжении 10 лет


Сделай другие треды.
23 824281
>>24267

>А вообще перекатывал этот тред я лично


Всего один вопрос. Куда ты так спешил перекатывать? Тред может хоть месяц лежать и тонут, но нет же, тебе надо прям срочно перекатить, зачем? Ты ебанутый? Или думаешь без тебя всё бы пропало?
24 824282
>>24281

>Тред может хоть месяц лежать и тонут



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

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

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

Еще вопрос?
25 824283
>>24277

>Сделай другие треды.


Делал. Его удалили
Писал посты. Их удаляли. Зарекся создавать контент на двачепомойке после этого
26 824284
>>24283
По-человечески, жаль. Тебе не повезло, но мазать стены говном, как это делали до тебя не лучше. Проблемы ты так не решил
27 824285
Какую игру сделать чтобы завоевать сердце тяночки
28 824286
>>24285
во что играет, то и делай
29 824288
>>24285
Если не хочешь стать подкаблучником, то никакую не делай.
30 824289
>>24269

>Какой же ты пидор


>Хуй соси


Ахуенно. Пишешь ты, а пидор якобы я. Охуенная логика.

>Но шапку исправь.


Ради всех нас юнитибогов, а не потому что ты написал, так и сделаю к следующему перекату.
image28 Кб, 620x470
31 824293
32 824308
>>24284
Лол. Ты даже не понял суть моего высера.

Не повезло анонам, которые не увидят нового контента на доске и ответов на их вопросы
33 824324
На сайте Юнити куча версий.
Какую качать? Там вообще один и тот же установщик для 2D и 3D?
И можно как-то уменьшить размер готовой папки с игрой, если у меня только 2D? Удалить может какие-то ненужные элементы?
34 824325
>>24285
лена бутс
35 824327
>>24324
Вон персональная версия универсальная для начала, ее можешь скачать. 2D и 3D создаются в одной программе, но в разных режимах. На счет уменьшения размера папки не знаю
36 824329
Что будет с авторскими правами если я создам игру из блоков lego microgame?
37 824332
>>24329
Предположительно тебе прилетит от Лего.

Тут пдф на Lego Microgame, который идет щас с юнити хабом вместе:
https://images.response.unity3d.com/Web/Unity/{3d254713-049e-4de2-a0da-dfed89d56c70}_LEGO_Microgame_Terms_of_Service.pdf

Либо просто вбей в гугл LEGO® Microgame Terms of Service и найди.

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

By designing in the Unity editor or elsewhere and/or uploading your LEGO
Designs, you agree that you and all aspects of your LEGO Designs comply with these
Terms, and that any such LEGO Designs shall not be used for commercial purposes,
in any manner whatsoever.
38 824334
>>24327
Не на разных режимах, а с разными предустановками (модулями которые можно вручную поменять, убрать, добавить на любой стадии работы с проектом)
39 824335
>>24334
Понял
40 824336
>>24285
никакую не делай, запили шейдор, который бы рисовал всякие ёбнутые спирали, мандельброты и она такая подумает НИХУЯ ОН УМНЫЙ
41 824342
>>24332

>в коммерческих целях.



Но я могу сделать бесплатную игру и выложить ее в плеймаркет?
42 824358
>>24342

>shall not be used for commercial purposes,


in any manner whatsoever.

Я не силен в юриспруденции вообще, но мне кажется, что "не в коммерческих целях во всех смыслах" мой вольный перевод относится и к бесплатной игре, с которой ты будешь выкачивать бабки по рекламным банерам. Если не будешь интегрировать рекламу, а реально сделаешь бесплатную игру, наверное, не будет проблем.
43 824359
>>24358
Возможно стоит уточнить на форумах юнити, там девелоперы отвечают
44 824441
Как в шейдер графе сделать чтобы unlit принимал и отбрасывал тень, не понимаю. Везде гайды только с кодом. Нахуя тогда шейдер граф?
45 824467
>>24285
Романтическую вн короткую. Картинки укради в гугле.
46 824513
>>24441
Да забей на эти шейдеры, нормальных туторов толком нетвезде какя то рванина, лучше уже дефолтными материалами обмазываться и хендпейнт текстурами.
47 824568
1. Как сделать освещение в стиле Диабло. Игрок является центром света ( достигается Spot Light сверху), при этом тень падает в сторону, для чего нужно добавить еще один источник света, что поменяет освещение, а это не нужно. Как решить эту задачу?

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

Тут, конечно, дело в том, что в оригинале использовались не 3д модели, а спрайты, где легче было добиться прозрачности. Потому в 3д точно такого эффекта можно и не добиться.
48 824581
>>24568
Как ты обощёл проблему https://www.youtube.com/watch?v=nQGbg0qvp0o ?
49 824591
>>24581
Всё, что я сделал, только на экране. Никогда раньше изометрией не занимался.

Насчет своей проблемы, то такие мысли:
1) В Д3 просто заставляют пропадать стены.
2) В ПОЕ не изометрия, а камера сверху.
3) Скорее всего нужно делать 2д, парень по ссылке добился нужного освещения, и стены у него становятся прозрачными, но это ГМ, а не юнити.
https://www.youtube.com/watch?v=Q5P23eI0SqU
50 824669
Сколько же я намучился с расположением изометрических тайлов.
1) Не могу понять, в каком разрешении создавать спрайты.
2) Как эти спрайты точно подогнать в блендере под камеру.
3) После импорта в тайлсет, я не могу их выделить нормально, приходится выбирать по очень большой площади.

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

>Не могу понять, в каком разрешении создавать спрайты.


Здесь два подхода. Либо делаешь любые размеры и руками подгоняешь в юньке. Или же имеешь весь тайлсет в одной палитре дабы чётко видеть размеры.

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


В смысле точно? По карте у тебя они идеально ложаться, разве что размеры надо соблюдать. Если ты про камеру, то она опять же зависит от размеров, обычно 3-4.

>После импорта в тайлсет, я не могу их выделить нормально, приходится выбирать по очень большой площади.


Зажимаешь шифт и выделяешь все, потом переносишь, это старый способ. Новый это тупо всю картинку порезаную кидаешь в палитру, оно само всё вносит.
3PerfectCut.png283 Кб, 512x1024
52 824755
Разобрался. Тайлы нужно нарезать в фотошопе. И они должны быть пиксель перфектными. В юнити в настройках фильтр Поинт.

>>24670

>В смысле точно?


Там был глюк. Я пересоздал сетку и все норм.
53 825084
Двач, а как вы создаете полы в 3д? Растягивать plane тупо, текстура тянется, если дублировать (2 пик), то швов не видно, но я не уверен, что это эффективно или правильно. А если у меня коридоры и углы, мне же новый plane делать разных размеров, текстура опять будет тянуться. Плюс я параноик по части нагрузки любого предмета на систему, потому что я не знаю сколько предметов много, сколько допустимо.

Как правильно делать полы?
54 825096
>>25084
Есть несколько подходов.
Самый популярный это комнаты-блоки. Ты собираешь уровень из разных блоков, а швы на сходе между ними маскируешь любым мусором/другими объектами.
Другой вариант делаешь уровень в 3д редакторе, в конце режешь его чтобы текстуры не расплылись и смотрелись ок.
Вариант же который у тебя на пике тоже допустим и применим, но только в масштабах маленькой игры, или в комбинации с вышеперечисленными методами.
55 825103
>>24755
Если тебе нужен пиксель пёрфект то используй для нарезания aseprite.
56 825106
>>25084
Не пробовал, но по идее можно генерировать повторяющиеся элементы с плавающим рандомом геонодами блендера.
Умельцы так камни, траву, облака и прочее делают на ютубе.
57 825110
>>25096

>Ты собираешь уровень из разных блоков, а швы на сходе между ними маскируешь любым мусором/другими объектами.



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

>Другой вариант делаешь уровень в 3д редакторе


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

>Так ты включи репит текстуре и управляй UV.


Это попробую.

>по идее можно генерировать повторяющиеся элементы с плавающим рандомом геонодами блендера.


можно, но по факту любой пол надо будет делать в блендере под размер комнаты
изображение.png3,1 Мб, 2560x1440
58 825135
Ну количество тайлов я увеличил, но выглядит все равно хуево, даже для практики. В одном месте мне надо повышать plane на пару метров, но юнити так не умеет. Если делать куб и оборачивать его текстурой, то вообще говнище будет. Видимо вообще все надо делать в блендере, а юнити нихуя не умеет, кроме скриптов и шейдеров
59 825143
>>25096
А, под блоками ты имеешь в виду просто разные модельки стен, потолка и пола, из которых комнату собирать можно? Такое я себе сделал, ими комнату собирал, но я думал пол иначе делается.
60 825281
а как версионирование по крутому делать? вручную в файле менять цифры каждый раз как-то тупо
61 825368
>>24236 (OP)
Почему синглотонннее в унити так уебански делается? Почему не как в годо?

Для ясности, в годо нужный скрипт добавляется в автозагрузку проекта и во всех скриптах доступен

В унити же какая-то блядская пляска, ещё и объект добавлять надо и чую, что на каждый уровень

Если я ошибаюсь, то объясните КАК?
Мне нужно для глобальной громкости звука, искал, но не нашёл ничего адекватного
62 825374
>>25368
Просто заебашь файл со статичным классом, в нем статические переменные хуячишь. И все.
Этот класс будет виден везде.
63 825379
>>25374
Вот прямо так?

Однако мне нужно ещё уточнить.

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

Просто хренинглтонн предлагают вешать на пустышку, потом префоб и его пихать на каждый уровень, мне такой план не нравится.
64 825400
>>25379
Вопрос снят, проверил в лоб первый вариант, заработало.

Правда непонятно чего тогда с синглотонном носятся, ибо по умолчанию такой подход и использовал
65 825402
>>25379

> вешать на объект пустышку в каждой сцене?


C# и .NET - самостоятельная платформа. Можешь "отдельно" от api юнити создать хоть синглтон, хоть сервис локатор, хоть что угодно.
https://gameprogrammingpatterns.com/contents.html

Если тебе нужен синглтон на основе именно игрового объекта юнити, то можешь сделать например так:
https://gamedevbeginner.com/singletons-in-unity-the-right-way/

Можешь при помощи ScriptableObject хранить списки конфигов и ссылки на префабы с менеджерами/сервисами, которые будут создавать при старте игры или по запросу. Вариантов очень много.
66 825403
>>25400

>Правда непонятно чего тогда с синглотонном носятся


Потому что тебе пиздюлей на работе не выписывали за статические классы.
67 825410
>>25400
У статика свои ограничения и особенности.
https://www.reddit.com/r/Unity3D/comments/9tx4rs/monosingleton_vs_singleton_vs_static_class/
68 825412
>>25368

>и чую, что на каждый уровень


Object.DontDestroyOnLoad
Статичные классы коварны
69 825413
>>25403
>>25410

Посмотрел по диагонали и увидел доёб до статиков только из-за некого мифического создания второго экземпляра, когда хренинглтон проверяет наличие копии и сносит её.

>>25402

> ScriptableObject



Вот это интересная тема
70 825414
>>25412
Я просто создал скрипт со статичным классом, который ни к какому объекту не привязывал.

Хочешь сказать, что при загрузке каждой сцены будет создаваться новый?
71 825423
И ещё тогда вопрос.

Как включить AA, оно же антиализинг? То, что находил в нете в собранной игре не работает.

Я знаю, что лесенкоубиралок много видов
72 825427
>>25413

>> ScriptableObject


> Вот это интересная тема


Тема крутая. У меня на них хранятся все игровые конфиги. Все игровые предметы (их описание, иконки, редкость и прочая информация). Есть совсем уж безумные примеры использования SO от самих юнитеков:
https://www.youtube.com/watch?v=6vmRwLYWNRo

То есть через MonoBehaviour (компоненты) ты пишешь обычную логику, без данных. А сами данные передаёшь через ScriptableObject. У тебя есть логика какого-то моба, но сам компонент при этом не хранит информацию о его уроне, количестве жизней, баффах/дебаффах и т.п. Всё это передаётся через ссылку на SO. Можно использовать interface C#. Можно таким же образом передавать поведение (паттерн strategy).
73 825429
>>25427
Смотрю, интересная штука, но как же хочется закатить истерику - я хочу статические классы использовать как чэд, это просто и понятно, аррряяяя
16437370918853.mp4441 Кб, mp4,
480x480, 0:11
74 825439
Саунд-дизайнера ищет кто-нибудь? Работаю в стэке Reaper + Wwise + Unity, делаю ассеты и встраиваю изи. Наймите кто нить умоляю
1641798895024.png18 Кб, 578x396
75 825443
Блять, опять на новый движок UI переходить. Прошлый UI перешёл в легаси говно. Теперь в моде UI Toolkit.
изображение.png30 Кб, 578x224
76 825465
Это единственно верный способ использования Scriptable object? В смысле именно так надо передавать ссылку или есть иной способ?
77 825472
суп юнитибоги
я хочу подменить кости одного рендерера(куртка) костями другого(тело), этакая модульность
вот сделал такую хуйню:
https://rentry.co/rtmsv
поясните мне где я объебался (кроме проверок в подмене костей рендерера)
протестировал, вроде работает, кости заменяются, куртка сразу на старте прыгает на персонажа, но обе модели пока еще не анимированы, может ли это проблем навалить потом?
78 825488
>>25465
Их можно загружать с ресурсов через код.
79 825491
>>25472

>может ли это проблем навалить потом?


Нет, всё так и делается.
80 825495
>>25465
У меня на проекте был статический класс который подгружал скриптеблы по запросу из ресурсов, по типу. Очень удобно
81 825496
>>25439
Дай свой контактик, если руки дойдут допилить пет прожект обязательно обращусь
82 825535
>>25491
отлично
но я внезапно осознал что хочу еще и плащ потом добавить, а у персонажа костей плаща нети не будет и у меня затык ведь если я подменю кости плеч и шеи плаща на кости персонажа то костяшки самого плаща(потомки шеи) не будут им следовать
83 825558
>>25403
Не обязательно, если на сцене есть какой-нибудь объект, который все их проинициализирует(чтобы они сбросили или подгрузили данные из файла)
84 825895
15294393647140.jpg501 Кб, 1620x810
85 825909
Там сегодня вселенский долгострой рувн на юнити релизнули.
8 лет разработки! Слабо так же?
86 825957
>>25909
если бы мне всякие куколдычи и симпычи донатили, чтобы я не сдох с голоду - не слабо
87 825963
>>25909

> рувн на юнити


Что это такое?
88 825974
>>25909
Ту новеллу от создателей Бесконечного лета про рокенрольщиц в советском посольстве в Японии? Неужели вышло?
89 825975
Посоны, есть долгострой - хоррер в стиле clocktower. Есть смысл отдельный тред запиливать шоб сове ов мудрых получить, или нахуй надо?
90 825977
>>25975
Конечно, пили.
91 825980
>>25977
Спасибо! Тогда переделаю спрайт персонажа и запилю!
92 825991
>>25909

>8 лет разработки!


Да как нехуй. За 7-8 лет разработки обычно посредственная хуйня выходит, которую еще после релиза 2-3 года надо допиливать, так что я справлюсь идеально. Ну а раз платят, то еще и с удовольствием
93 826048
>>26046 (Del)

>пукнет нуль референсом


this.
94 826055
В ЛМР для того чтобы сохраниться/загрузиться, вообще любое действие в меню совершить надо ЖДАТЬ, в БЛе всё моментально откликивалось. Это ведь всё из-за юнити да? Почему юнити такой тормозной?
95 826059
>>25909

>долгострой рувн


Vital Flaunt?
96 826064
>>26055
как сделали игру, так она и играется. Вальхейм не тормозит в меню
97 826134
Всем привет. Для того чтобы в ваш ассет стор выгружать всякое - мне нужен сам движок или достаточно веба?
В случае если нужен движок - насколько это сложно будет делать?

Помимо этого, есть ли там верификация и что просят для подтверждения?

*Всякое - это в основном 3д ассеты окружения
98 826139
Эй, юнитисты!))) 😅😅😎🤜🤡 Годот сила йоу😝😝😝
99 826140
>>26139
юнити сила годотя могила 😎 💪
всем нашим респектулечка плотная 🤙
😂 😂 😂
100 826144
>>26134
Ассет ты можешь сделать только в самом юнити.
Для того чтобы выложить что либо в сторе нужно пройти анальную регистрацию.
Для того чтобы получать бабки еще 100500 кругов ада.
video2022-06-3001-01-53.mp4932 Кб, mp4,
288x360, 0:15
101 826161
102 826162
Дано: Игра в принципе похожая на Космических Рейджеров 2, топ даун в космосе с корабликами. Но деталей на них будет больше.

Вопрос: Делать ли игру в 2D полностью и заказывать полуспрайтерные ассеты, или бекраунды в 2D а корабли в 3D, потому что может потребоваться смена их деталей на лету и идл анимации разных корпусов, как в КР2?
2.webm534 Кб, webm,
612x1258, 0:12
103 826163
Есть два клипа анимации, один анимирует позицию меча, другой руку, можно их объединить в один клип? Я так понимаю, что можно в контроллере их одновременно воспроизводить, но это неудобно
104 826165
>>26162
Больше всего зависит от того кто это дело делает (Какой у него опыт в 2Д и 3Д, где больше), и от того кто будет делать спрайты и 3д модели.
Если сильна 3д сторона, то выгоднее работать с ней. Если 2д художник лучше то всё в 2д.
Чтобы получилось на подобие рейнджеров, то всё делается в 3д, фоны это несколько анимированных слоёв накладываемых друг на друга.
Плюсы 3д что его можно превратить достаточно просто в 2д. Из минусов то что его надо делать.
screenshot703.jpg387 Кб, 1920x1080
105 826167
>>26165

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



Я не думаю что это обязательно, у того же Старсектора делают корабли сразу в 2D, хотя суть и похожая. Но там нет идл анимаций.
106 826170
>>26167
Как я и написал, всё упирается в того кто будет делать графику. Но у 3д есть бонус, что его проще создавать, изменять, и можно превратить в 2д.
У 2д такого нету.
заебалужехуйнюспрашивать.jpg24 Кб, 868x73
107 826224
Тест
108 826225
что за ебаный спамлист вдруг появился?
109 826227
>>26224
В общем пацаны, тут надо чтобы по результатам проверки, при нахождении совпадения в баттон.текст копировалось значение из скилл.валуе. В противном случае баттон дестроится. Можно как-то это компактно ебануть через лямбды там всякие хуямбды?
110 826229
>>26163
Можно. В блендере
заебалужеикс2.jpg36 Кб, 1371x194
111 826232
>>26227
сам я только до такого додумался
112 826233
>>26232
Мы вам перезвоним.
113 826235
>>26233
+380444563224

жду
114 826236
>>26227

>Можно как-то это компактно ебануть


Зачем? Чтобы код был максимально непонятным? Пиши код так, чтобы он был понятным. Заводи для этого лишние локальные переменные, добавляй циклы, скобки и т.п.

Вот это >>26232 вообще шок-контент.

Хотя у тебя изначально код ебанутый. Но хотя бы не делай его безумно ебанутым.
115 826237
>>26236

> вообще шок-контент


почему?
116 826238
>>26237
Другой сеньёр, но вставлю свои 146 копеек.
Смысл кода которого ты пишешь, что ты мог понимать что происходит и не тратить по минуте расшифровывая каждую строчку в голове, тратя силы на не нужное.
Тебе не надо стесняться кода, или прятать его, он твой, только для тебя.
За количество знаков с тебя не берут деньги, твои комменты никто не будет читать.
117 826240
>>26238
В данном случае присутствует образовательный момент. Ну типо я могу ебануть полотно из ифов и форов с тем же результатом, а могу поковырять иенумерабл, лямбды и предикаты.
118 826244
>>26240

>образовательный момент


В чем состоял момент, ты же насрал говна в код.
119 826245
>>26244
Т.е. о том, что мой код нечитаемое говно, пишет дурачок, который даже простой текст на русском понять не может? Я по слогу приблизительно чувствую, что ты за пидор, я тебя запомнил еще с твоих прошлых кукареков лол. Пошел ты нахуй, пес)))
120 826246
>>26236

>Заводи для этого лишние локальные переменные



С этим в целом согласен.
121 826249
>>26246
Даже завтра весь код перелопачу.
122 826265
>>26236

>Чтобы код был максимально непонятным?


Компактный код может быть понятным.

>Пиши код так, чтобы он был понятным.


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

>Вот это >>26232 вообще шок-контент.


А что такого, да, у C# некрасивый синтаксис, но алгоритм простой: для каждой второстепенной кнопки ищем у 0-й группы игроков умение с названием, совпадающим с надписью кнопки, а затем пытаемся взять значение найденного умения и дописать его к надписи кнопки в виде строки; если не получится найти умение, будет попытка обратиться к полю значения в null, что вызовет исключение AccessViolationException, которое мы обработаем уничтожением кнопки. Подход странный, но ничего непонятного тут не вижу. Однако, вместо вызова исключения лучше сделать условный оператор, т.к. исключение создаёт ООП объект, который затем уничтожается после обработки, а это лишние затраты ресурсов, которых практически нет в условном операторе и одной локальной переменной, получающей ссылку на давно существующий объект. Также лучше было бы не уничтожать лишние кнопки, а создавать нужные, чтобы сэкономить ресурсы, тратящиеся на создание и уничтожение лишних кнопок. Это может показаться экономией на спичках, но если осознанно подходить к таким моментам в разработке, потом не будет лишних проблем; кто наплевательски относится к ресурсам компьютера в одном месте, склонен так делать и во всех остальных...
123 826266
>>26265

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


И не только на создание и уничтожение кнопок, но и на поиск умений и сравнение названий. Вместо поиска умения под каждую кнопку логичнее было бы пройтись по списку умений и создать каждому умению свою кнопку, если конкретному умению кнопка вообще нужна. А чтобы потом обновлять значения на кнопках, не создавая кнопки заново, нужно повесить на каждую кнопку скрипт, хранящий ссылку на связанное умение и по запросу обновляющий свою надпись актуальными данными об умении. Хранение "лишнего" объекта со скриптом в памяти намного дешевле, чем выделение памяти под группу объектов с последующим освобождением. Надеюсь, все здесь это понимают и не создают интерфейс инвентаря с нуля каждый раз, когда игрок пытается его открыть? А то некоторые игры особенно на юнити создают впечатление, что там не только интерфейс с нуля формируется, но даже иконки с диска повторно считываются... Вот не надо так делать, это ухудшает юзабилити многим игрокам, создавая неприятные задержки при открытии меню.
124 826267
>>26265

>А что такого, да, у C# некрасивый синтаксис


>это не я наговнокодил, это язык некрасивый!

125 826273
>>26265

> Это субъективно


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

> непонятными конструкциями из однобуквенных слов


> в виде длинной простыни текста на почти естественном языке.


Звучит так, будто вся разница в длине слов.
SmartSelect20220808-080626.jpg501 Кб, 1050x1881
126 826274
Бля да какое слово из спам листа
>>26265

> А что такого

127 826281
>>26265

>Алгоритм простой



И я с тобой согласен. Если взять исключительно читаемость, то я типо серьезно не понимаю, что тут нечитаемого. Типо левая часть по дефолту надпись на кнопке. В правой тоже одно действие.
128 826284
Запомните ньюфаги в юнити никогда не стоит уничтожать или создавать объекты.
В начале игры вы создаёте пулл, в течении игры берёте из него нужный объект и реализуете его, а как только он вам не нужен просто выключаете и снова добавляете в пулл.
ЕЩЕ раз, никогда, не надо создавать и уничтожать объекты.
129 826285
>>26284
умный дохуя? давай ссылки на готовые и нормальные решения, а пока иди нахуй
130 826289
>>26285

>на готовые и нормальные решения


Гуглить не научился? Уже столько лет, а досихпор пишешь такую глупость. Тебе дано направление, сформулированная мысль, а тебе и этого мало. Хочешь чтобы за тебя и код писали, а ты только копировал?
131 826290
>>26273

>Звучит так, будто вся разница в длине слов.


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

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

И ещё мозг легче распознаёт длинные слова, чем короткие, потому что первичная обработка зрительной информации опирается не на буквы, а на обобщённые геометрические формы и размеры. Это маленькие дети читают по буквам, потому что у них нет достаточного зрительного опыта, а взрослые бегло воспринимают слова и выражения, не всматриваясь в буквы. По этой причине, кстати, опечатки часто остаются незамеченными, но в коде это не проблема, особенно если идентификаторы длинные и отличаются больше, чем одним символом. Короче, распознать множество длинных идентификаторов из 3-4 полноценных слов каждое мозгу проще, чем расшифровать выражение из 3-4 коротких идентификаторов, ничем не напоминающих реальные слова, т.е. требующих внимательного разбора по буквам.
131 826290
>>26273

>Звучит так, будто вся разница в длине слов.


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

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

И ещё мозг легче распознаёт длинные слова, чем короткие, потому что первичная обработка зрительной информации опирается не на буквы, а на обобщённые геометрические формы и размеры. Это маленькие дети читают по буквам, потому что у них нет достаточного зрительного опыта, а взрослые бегло воспринимают слова и выражения, не всматриваясь в буквы. По этой причине, кстати, опечатки часто остаются незамеченными, но в коде это не проблема, особенно если идентификаторы длинные и отличаются больше, чем одним символом. Короче, распознать множество длинных идентификаторов из 3-4 полноценных слов каждое мозгу проще, чем расшифровать выражение из 3-4 коротких идентификаторов, ничем не напоминающих реальные слова, т.е. требующих внимательного разбора по буквам.
132 826294
>>26290
Двачую этого. Всё по делу сказано.
133 826297
>>26290
Выходит, что нужно писать максимально неочевидные конструкции с именами функций на экзотических языках. Тут осторожно, с китайским есть проблемы в самой юнити. Обфускация, ты понял? А то в один клик весь код вскрывается, хуйня же полная.
134 826302
>>26297
Для тебя все кроме простыни елс ифов будет неочевидно, теперь это стандартом должно стать или что?
135 826303
Говнокодера обоссали теперь он пишет простыни чтоб доказать чтоб оправдать свою криворукость. Могли бы просто посоветовать ему посмотреть на свой высер через неделю и попросить объяснить что там происходит.
image.png266 Кб, 1333x978
136 826305
Есть несколько книг на тему написания адекватного кода, типа "Совершенный Код".
137 826307
>>26302
Вот как раз в простынках элс ифов будет разобраться гораздо сложнее, чем в адекватном коде. Однако это говно де-факто и есть стандарт нахуй.

>>26303
Давай сначала дойдем до экономии памяти за счёт более коротких имён переменных.
138 826310
>>26307
Тут важно не путать говнокод по причине того что автор гуманитарий и лентяй, и объёмный код по причине того что автор адекватно реализует архитектуру, не пряча по десятку функций в одной строчке, тратя десятки минут на разворачивания каждой.
И на моей памяти с яндере девом скорее исключение чем правило, не помню чтобы кого так яростно форсили и обсирали в кодерской тусовке за всё время.
139 826312
>>26297

>именами функций на экзотических языках


>Обфускация


Точно не знаю, но я слышал, что после декомпиляции C# кода из игр на Юнити все идентификаторы выглядят как рандомный набор букв и цифр. Либо это особенность C#, либо эти имена получаются после работы обфускатора Юнити/стороннего обфускатора. Какой-то обфускатор точно есть, это целый бизнес, продавать волшебную палочку от неразрешимой проблемы. Собственно, если так хочешь обфусцировать код, делай это специальным обфускатором, потому что вручную с ума сойдёшь писать "непонятно".

>неочевидные конструкции


Если нет ограничений по времени, любую неочевидную конструкцию можно разгадать. Не существует защиты, которую нельзя было бы взломать. Поэтому хорошие поддерживаемые онлайн-игры меняют код по мере его разгадывания/взлома - хак действует только до тех пор, пока не выкатят очередной патч, после чего хакеры побанятся или не смогут использовать старые хаки. Но даже гигантам рынка не всегда удаётся защититься достаточно надолго, что уж говорить об инди. Так что если делаешь онлайн-игру, полагайся на старый-добрый банхаммер и желание сидеть 24/7, чистя игру от недобросовестных игроков. А на оффлайн игру вообще забей, кому нужен твой говнокод, если с него нельзя поиметь профит в виде преимущества перед другими игроками в онлайне... Кому захочется сделать клон твоей игры - возьмёт те же ассеты с ассет-стора и напишет такой же говнокод. Но скорее всего никто не захочет, потому что большинство игр проваливаются. Без обид, это статистика.
капитанВыходитНаСвзяьПриемпшшшпшшш.jpg51 Кб, 776x200
140 826313
>>26274
Объясняю. Написал я на бумаге как мне казалось охуеную идею, супер интересную и начал ее кодить. Пока кодил понял, что идея говно и переделал, раз, два, три, пять. И в итоге попал в круг, в котором я не двигаюсь дальше ни на шаг, потому что занят передумыванием и переделыванием основ и интерфейса под все этого по кругу. Сейчас я доделываю интерфейс создания персонажа в начале игры, чтобы он был независим от этих переделок и позволял создать персонажа и смотреть, и работать над тем что дальше. Кнопки выбора класса, расы и т.д. создаются через перебор имен соответствующих енамов. Но, если взять скилы, то у каждого класса свой набор, и у меня выбор, либо писать отдельный метод для спавна кнопок именно скилов, либо взять стандартный, который наспавнит вообще все скилы и удалить лишние. Причем завтра я могу решить, что скилы должны быть у всех одинаковые и просто закоменчу код с удалением кнопок и все.

этот код у меня спавнит буквально все кнопки в интерфейсе типа дндешного.
141 826316
>>26313
А что за SecоndaryВuttоn? Что это означает? Как ты это описал.
142 826317
>>26313
Что за пиздец??? Кто так делает конструкции?
143 826318
>>26310

>не пряча по десятку функций в одной строчке


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

>с яндере девом скорее исключение


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

>>26312

>после декомпиляции C# кода из игр на Юнити все идентификаторы выглядят как рандомный набор букв и цифр


Возьми илспай да проверь этот пиздёж. Юнити даже после компиляции ill2cpp сохраняет имена функций, на этом основаны разные декомпиляторы, все имена в файле global-metadata.dat

>с ума сойдёшь писать "непонятно".


А когда пизданёшься - будешь писать непонятно по дефолту. Профит!

>хак действует только до тех пор, пока не выкатят очередной патч


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

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


А зачем стор, если юнити не защищает ассеты и можно выковырять прямо из игры? Как, собственно, и код.

>никто не захочет


Это если у тебя нет персональных хейтеров, которые готовы всрать каждый вечер в течении месяца, чтобы просто насрать.
144 826321
>>26318

>Юнити даже после компиляции ill2cpp сохраняет имена функций, на этом основаны разные декомпиляторы, все имена в файле global-metadata.dat


А вот это пиздёшь. После компиляции в ill2cpp, а не в моно, код становится нечитабельный от слова совсем. В моно да, если вскрыть скрипты почти тоже самое что и автора будет, за исключение отсутствия комментариев.
С 99.9% вероятностью если скомпилишь игру в ill2cpp, то её не смогут вскрыть, и уж тем более разобрать. А те кто смогут, они вообще в другой области обитают, и никогда в жизни не встретятся.
145 826323
>>26321

>код становится нечитабельный от слова совсем


Дядь, как минимум публичные классы и публичные методы сохраняют свои названия. Можно воссоздать структуру кода.
image.png141 Кб, 1184x691
146 826325
>>26313
Короче смотри, немного советов. Старайся писать такие методы, которые выполняют одно конкретное действие. В твоём случае две проблемки:
1) Метод, помимо простого создания кнопок, ещё и заполняет массив объекта. Это уже два разных действия.
2) Твой метод знает структуру компонентов на кнопках, а он не должен этого знать. Тебе нужно создать для таких кнопок отдельный компонент, который внутри себя уже будет задавать имя, текст и тому подобное. Если ты изменишь структуру кнопки, тебе не придётся переписывать код извне, тебе нужно будет лишь изменить OptiоnВuttоn.
1.png10 Кб, 675x149
147 826329
>>26321

>А вот это пиздёшь


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

>С 99.9% вероятностью если скомпилишь игру в ill2cpp


То её разберут каким-нибудь опенсорсным ill2cpp инспектором в один клик.
148 826331
>>26329
Я вот недавно узнал об всех этих декомпиляциях и возник вопрос. А как прятать пароли тогда? Допустим, ты из кода подключаешься к БД или к рекламному аккаунту. Получается, у любого человека есть этот код, если он скачал игру.
149 826332
>>26329

>То её разберут каким-нибудь опенсорсным ill2cpp


А его нету дятел. Бесплатно ты никак не вскроешь залётышь. Только моно.
150 826333
>>26331
Да не слушай бредни этого мамкиного хакера. Пустой проект он вскрыл, а не готовую игру.
151 826335
>>26313

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


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

А в идеале, если твоя игра предполагает переключение между персонажами разных классов, что потребует переключение кнопок, нужно создать все возможные кнопки и затем часть из них скрыть с экрана, но не уничтожать. И при переключении персонажа останется только включать и выключать видимость кнопок.
152 826336
>>26331

>Допустим, ты из кода подключаешься к БД или к рекламному аккаунту


Это два разных случая.

- Работа с БД: у тебя не должно быть прямого доступа к базе данных. Ты должен написать свой REST API. Пользователь сначала аутентифицируется, после посылает запросы. Все запросы тщательно проверяются твоим кодом.
- Работа с рекламным аккаунтом: в твоей игре хранится ключ доступа, который можно легко вытащить. Но что это даст тому, кто его получит? Да ничего, в общем-то.
153 826337
>>26331
>>26333
Лол, речь шла о названиях функций, которые программе для штатной работы не нужны совсем. Пароль вы сохраняете как строковую константу, а такие константы попадают в исполняемый файл вообще в открытом виде, если не использовать шифрование и сжатие, которое, во-первых, не даёт абсолютной защиты, а, во-вторых, вызывает негодование антивирусов, которым хочется посмотреть на ваш код в наиболее чистом виде.

Вывод: расслабиться и принять неизбежное. Нормальная система защищена от взлома даже с известным паролем, то есть ключ-то у тебя есть, да открыть им ничего нельзя...
154 826338
>>26336

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


Сделать 100500 запросов в секунду, чтобы твой аккаунт забанили за накрутку. Когда ты патчем сменишь ключ, повторить снова. И так пока ты не сойдёшь с ума, не удалишь игру с маркета или не выплатишь указанную сумму на высланный с одноразового почтового ящика криптокошелёк. Но поскольку ты пытаешься заработать на рекламе в 2022, денег у тебя нет, следовательно, останется только удалить рекламу из игры или бросить геймдев.
155 826339
>>26338
Это всё фантазии. Реальный случай знаешь хоть один?
156 826341
>>26339
А он действительно описал реальную ситуацию. Бросаю геймдев.
157 826343
>>26331

>у любого человека есть этот код, если он скачал игру


Очевидно, что да. Ты можешь его запаковать так, что он в принципе не будет вскрываться. Ну, допустим, используешь чёрную магию. А я скачаю снифер, какой-нибудь wireshark, и просто перехвачу его в процессе передачи по сети. Либо если у тебя БД прямо в игре и она зашифрована. То какой-нибудь уёбок напишет утилиту, которая находит ключ по сигнатуре и всё проёбано. Либо ты используешь AES шифрование и окажется, что AES key finder уже существует.

>>26332
Кек. Если ты долбоёб и о чём-то не слышал, это совсем не значит, что этого не существует. Вот пример тебе бесплатной опенсорсной утилиты.
https://github.com/Perfare/Il2CppDumper
Если бы ты немного больше знал о гейдеве, то слышал бы о вскрытии зашифрованного по самый анус хонкай импакта. Или хотя бы о вскрытии покемонов.
158 826344
>>26341

>А он действительно описал реальную ситуацию


А ещё на улице тебе можно сверху прилететь кирпич или сосулька, и ты умрёшь на месте. Бросай выходить из дома!
159 826345
>>26316

>А что за SecоndaryВuttоn? Что это означает?


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

>>26325

Спасибо за конструктив, покумекаю.

>>26317
ну покажи как надо.
160 826347
>>26343

>https://github.com/Perfare/Il2CppDumper


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


Тупое ты животное каким местом ты читаешь? Там же я написал - 99.9% что твою игру не вскроют, и тут же приводишь пример игр-гигантов, которые как раз вксрывают, какая юы там не была защита.
Никто, никогда не вскроет твою игру если ты её запакуешь ill2cpp. Воот вообще без исключений.
Люди которые это могут сделать, не станут тратить своё время которое дороже твоей игры.
161 826348
>>26335

>Ну и почему ты выбрал второе? У тебя уже есть способ определить, какие кнопки нужны персонажу - вот и добавь эту проверку в свой код создания кнопок, тогда ничего удалять не придётся.



ну как вариант. ну типо у меня супер черновое уи только чтобы дойти до первой геймплейной сцены. Т.е. тут вообще не принципиально.
162 826351
>>26347
Почему ты такой конченый?
163 826352
>>26347

>Люди которые это могут сделать


Это бесконечное множество на самом деле - каждый может скачать дампер с гитхаба и распаковать. В том числе по моей ссылке. Хотя это далеко не единственный дампер. А хонкай я привел в пример потому, что там использовано дополнительное шифрование в плюс ко сборке в cpp. То есть задача была усложнена в несколько раз и всем похуй. Вскрыли не особо популярную игру просто потому что могут.
164 826353
>>26352
Если бы я сомневался в своих словах, я бы сказал так - давай я запакую свою игру, пришлю, и если у тебя получится хоть что-то разобрать в коде пришлю 5к.
Но я уверен что ниодин сидящий на этой доске пчелик не сможет вскрыть ill2cpp.
Те кто смогут скорее всего будут брать в долларах и с несколькими нулями. Делай выводы.

>>26351
То что я попускаю фантазёров нагугливших ссылки не способных даже прочитать что они делают? У меня в отличии от них был опыт, и скажу что это пиздец дрочь, и не на готовых решениях.
165 826355
Чуваки, налетай... лол
166 826356
>>26355
Матерь божья....
167 826357
>>26354 (Del)
Ты только анус себе можешь вскрыть пёс. Если не жалко времени сделай проект, создай один скрипт, напиши пару функций, и запакуй в ill2cpp. Потрать пару дней ебли и пойми что ты тупое чмо, но никто же не узнает что именно ты тот пиздабол, и как не в чём не бывало вернись на сосачик чатиться дальше.
168 826358
>>26353

>Но я уверен


Так а я уверен в том, что ты долбоёб. И выше там был скриншот с распаковкой моего проекта, собранного в il2cpp. То есть ты долбоёб слепошарый, что даже хуже. И что дальше? Опять же, повторюсь, любой может проверить, что имена функций сохраняются юнити в первозданном виде. Дебаг сборка в il2cpp, потом запускаем профайлер и смотрим. Я даже могу повториться и написать, в каком именно дат файле все имена зашиты, но чего ради, если ты слепошарый и не сможешь прочесть?
169 826365
>>26313
Орнул с Add(Instantiate) и потом редактирование нужных параметров по индексу.
170 826366
>>26365
я сам с этого орал.
налетай3.jpg108 Кб, 931x474
171 826380
Чисто для господ, не могущих в чтение кода.
image.png346 Кб, 931x474
172 826381
173 826383
>>26355
НУ И В ЧЁМ ОН НЕ ПРАВ НАХУЙ?
меня только бесит хуйня с 0 ? 1 : слишком непонятно для меня, никогда вообще не понимал и не мог запомнить, как это работает
174 826384
>>26383

>0 ? 1 : слишком непонятно для меня, никогда вообще не понимал и не мог запомнить, как это работает


Слева от знака вопроса результат от сравнения, true или false, слева от двоеточия это то что присвоится если результат == true, справа если false. x = true ? 1 : 2; -- в результате x будет равен 1.
самговно.jpg270 Кб, 1472x766
175 826385
>>26381
Визгливая анскильная хуйлуша
image.png43 Кб, 456x59
176 826386
>>26380
Что за тип у skillName? Не понял зачем вызывать .ToString()
177 826387
>>26385

>твои варианты как доставить в кнопку эвент


Явно не этой хуйней долбоебина.
178 826388
>>26355
>>26380
Это pure безумие.
179 826389
>>26386
Потому что это енам и он тут неявно не конвертится в стринг

>>26387
ясно. клоун первый раз увидел, что эвент в кнопку можно добавить не через плюсик в редакторе лол.
180 826391
>>26389

>юзает UnityAction


>называет кого-то клоуном

181 826392
Managers.PlayerGroup.playerGroup[0]

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

> Managers.PlayerGroup.playerGroup[0]


Немного сбивает с толку. Может лучше как-то так:
Game.PlayerGroupManager.GetCharacterAt(0)

Просто прямое обращение к массиву супер не интуитивное. И вот это повторение "PlayerGroup.playerGroup".
183 826397
>>26395
мм.

>PlayerGroupManager.GetCharacterAt(0)


возможно.

> PlayerGroup.playerGroup



согласен, самому давно режет глаз.

>>26391
чмохен, заебал визжать, серьезно. Я просто не понимаю, ради чего ты это делаешь? точнее я понимаю, что ты несчастен, но типо от того, что ты пытаешься обосрать мой код, который я сам же по рофлу выкладываю, твоя жизнь лучше не станет. Перестань быть дваче чмохой, стремись к лучшему лол. Иди прочитай про как эвенты и делегаты работают, с которыми ты уже не первый раз обкакиваешься, оно же всяко полезнее будет..
184 826398
Хай юнитач. Пилю систему сохранения с горем пополам сделал все через ПлауерПрефс. Вопрос, как теперь сделать, чтобы все загружалось из меню как в нормальных играх типа Свитков или Фейбла. Т.е. у меня в меню сохранения должны не переписываться одно и тоже сохранение, а чтобы создавалось много строк, которые можно выбирать кликая мышкой двойным щелчком или выбирать мышкой и нажимать кнопочку загрузка.
185 826399
>>26383
Двачую этого. Всегда пригрываю с этих понтарезв которые пользуются энтернал проверкой. Типо если ты можешь проверку записать в одну строку ты неибаться крут.
186 826401
>>26398
очевидно нужно сохранять в отдельные файлы на диске а не срать в реестр
187 826403
>>26398

>все через ПлауерПрефс


А через файлы не хочешь? Обычно в играх через файлы всё делают и хранят в 'Мои документы'.

В любом случае, тебе понадобится JSON:
https://docs.unity3d.com/ru/530/Manual/JSONSerialization.html

Раз ты хочешь через PlayerPrefs, то делаем следующим образом:
1) Сохраняем все сохранения по именам
PlayerPrefs.SetString("save_list", string.Join("\n", saveList));
2) Далее сохраняем сохранение
PlayerPrefs.SetString(saveName, JsonUtility.ToJson(saveData));

Как загружать думаю сам разберёшься. string.Split + JsonUtility.FromJson<SaveData>(...);

Далее можешь их отсортировать по дате сохранения. Дата должна храниться в классе SaveData.
188 826405
>>26399
Он тут пишет о том, что путается в том, как работает тернарный оператор, длина строки тут не при чем.
189 826406
>>26284
Ты скозал? Вот только в жизни такая концепция работает только у программистов, а не у юнити кодеров, пишущие скрипты.
Несколько раз пытался реализовать таким способом пули и всегда обсирался.
190 826410
>>26395

>GetCharacterAt(0)



У меня вообще в принципе к свойствам идет обращение просто через чистый get;. насколько я понимаю будет лучшей практикой переделать подобные вещи на функции с именами ГетПроперти?
image.png139 Кб, 1423x65
191 826411
>>26410
Нет, ты меня не так понял. Тебе нужно разделять ответственность, а не просто делать обёртку над доступом к полям. У тебя в принципе не должно быть прямого доступа к внутреннему устройству класса. И работу с компонентами >>26355 желательно скрыть в отдельном классе ОptiоnButtоn как я показал здесь >>26325

Допустим, пикрелейтед код можно сделать гораздо удобнее как-то так:
оptiоnButtоn.IsМinimum = ...;
оptiоnButtоn.IsМaximum = ...;

Внутри этих свойств или методов ты уже обращаешься к чилдренам, задаёшь intеrаctаblе и тому подобное.
192 826412
>>26411

> оptiоnButtоn.IsМinimum = ...;


> оptiоnButtоn.IsМaximum = ...;


Можно назвать IsPlusEnabled / IsMinusEnabled, чтобы тебе ещё понятнее было. Или сделать методы SetPlusEnabled() / SetMinusEnabled(). Это уже сам смотри.
193 826417
>>26397

>Я просто не понимаю, ради чего ты это делаешь?


Глумлюсь над безыгорным, только и всего.

>по рофлу


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

>Иди прочитай про как эвенты и делегаты работают


Лучше ты расскажи своими словами хочется еще посмеяться
194 826419
>>26403
Не-не я примерно понимаю, как работает ПлауерПрефс и Джейсон, вообще сначала хотел сделать сохранение бинарным способом, как диды на чистом шарпе. Но не суть. Мне именно не понятно, как по средством юнити сделать строку которую я создаю на экране загружая её из сохранений кликабельной. Мне нужно с новой строкой создавать компонент кнопки или как то прикреплять эвенты к строке и считывать их райкастом при наведении курсора мыши на строку?
image.png484 Кб, 1196x1221
195 826424
>>26419
Ну, анон, это совсем базовые вещи. Посмотри на ютубе туториалы, как создавать интерфейс. У тебя должен быть создан интерфейс со списком. Далее ты создаёшь префаб(либо Template), который будет представлять элемент списка. И под каждое загруженное сохранение ты создаёшь новый объект, который копирует префаб.
196 826425
>>26424
Два чая.
197 826427
>>26411
У меня до переделки классов с разделением ответственности руки не дошли еще вообще, а начал вообще буквально с самого начала. Типо я не понимаю нахуя мне Value {get:private set} с которым получается я одно получаю с гетом, а для второго юзаю публичный метод, если, например, я могу сделать просто приватный филд и два метода к нему.
uiElem.png12 Кб, 477x301
198 826428
>>26424
Cовсем не трушный путь, с префабами-то.
199 826432
Ебать вы сегодня оживленные. У меня че-то трудность с присваиванием одного кода к двум объектам, которые должны прогонять одну анимацию.

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

Я добавил аниматор и анимации на один префаб, но второй префаб с тем же аниматором и анимацией не хочет работать, само собой. Анимирован ведь первый префаб, а не второй.

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

Код на пиках. Первый скрипт отвечает за триггер, второй за анимацию ворот.
200 826434
>>26432
Нормально у тебя анимации проигрываются 30 раз в секунду. Не надо такие вещи пихать в апдейты. По поводу аниматора - понятно что аниматор одинаковый, но экземпляры этого аниматора это разные объекты, так что надо на каждом запускать анимацию по отдельности. Можно это делать из одного места через какой-нибудь менеджер дверей.
201 826435
>>26434
А какие методы использовать? Я думал фикс апдейт самый медленный по кадрам
202 826437
>>26435
Ну вообще такие вещи через эвенты делаются, но ты пока хотя бы булевый флаг сделай что анимация стартовала. Типа if(bossIsDead && !gateOpenAnimationStarted), void GateOpen() { gateOpenAnimationStarted = true; бла-бла }
203 826438
>>26437
А зачем мне gateOpenAnimationStarted, если я запускаю анимацию сразу после смерти босса? Пока босс не мертв только единожды проигрывается закрытие ворот
image.png7 Кб, 235x115
204 826441
>>26438
Ага, единожды.
205 826443
>>26441
Так у меня в игре один раз проигрываются анимации закрытия и открытия. Если дело конкретно в фиксе, который внутри себя 30 раз за секунду нагружает память для одной анимации, то дело другое. Ты gateOpenAnimationStarted придумал для этого или зачем?
206 826452
>>26443
братик, сделай ивентом, а то кровь из глаз. Все проще чем кажется, какой либо контроллер локации где будет ивент Action<BossPrototype> OnBossDead, будешь сразу отписываться и запускать анимацию.

другой анон
123321.webm531 Кб, webm,
1920x1120, 0:29
207 826490
Ну все, легчайшее меню готово. Теперь тестовая локация, система квестов, магии, инвентарь, противники, боевка, заебись.
208 826491
>>26490
Надеюсь игру к 2030 году доделаешь.
209 826494
>>26491
Завистливая чмоня
210 826512
>>26490
Блин, братан, ты так парился чтобы сделать плейсхолдерное меню, да еще и сделал через жопу. Освой уже MVP и не еби себе мозг.
211 826514
>>26490

>UI


Интересный подход, я вначале zenject, addressable, UniTask ставил и писал контроллер по загрузке ресурсов xD

сорян не удержался
212 826516
>>26490
Сейчас угадаю ты не использовал Toggle group? xDDDDD
213 826520
>>26512
Москва не сразу строилась, братишка.
214 826528
>>26514
Понаставил новомодных костылей и рад.
215 826573
>>26516
Сейчас угадаю ты везде используешь Toggle group? xDDDDD
216 826670
>>26432
Недавно программируешь на юнити похоже

Класс Gate лучше назвать как-то вроде GateTrigger, чтобы понятно было, что он делает. Проверка на плеера не нужна, вместо этого можно и нужно добавить значение поля "player" в инспекторе (А ещё по-хорошему ещё заменить "public" на "[serializefield] private", но это так, на будущее) и уже это значение сравнивать с коллайдером, попавшим в триггер. Дальше вместо онТриггерСтей делаешь метод OnTriggerEnter и в нём проверяешь, является ли коллайдер коллайдером плеера. Дальше прямо от туда вызываешь метод open в классе "опен-клоз-скрипт", который как раз должен называться Gate. Можешь либо через список/массив добавить несколько ворот, либо через менеджер. А потом методы закрывающие ворота вызывает сам бот после смерти.
217 826676
>>26516
>>26573

>Toggle group


Поясните. Никогда раньше не использовал, сейчас почитал что это, но так и не понял какой смысл в нём? Или для чего он нужен?
218 826680
Корпорация AppLovin предложила купить Unity за 17,5 миллиарда долларов — при условии разрыва сделки с IronSource

https://dtf.ru/gameindustry/1304199-korporaciya-applovin-predlozhila-kupit-unity-za-17-5-milliarda-dollarov-pri-uslovii-razryva-sdelki-s-ironsource
220 826686
>>26676
Ну смотри. Пример использования >>26516 тоглгруппой. Видишь видео с интерфейсом на вертикал лейоут группе кнопок. Говоришь, что тут типа тоглгруппу нада использовать, с кнопками. Окружающим становится ясно, что ты, если говорить корректно, особенный.
221 826687
>>26686
В чем он не прав?
222 826699
223 826700
>>26680
лучше бы микрософты купили
224 826723
Ищу следующее:
Кажется несколько лет назад очень много было упоминаний одного плагина.

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

Напомните название?
image.png342 Кб, 1200x675
225 826724
>>26723
Bolt?
226 826736
>>26724
Если он действительно об этом, то не понимаю как это упрощает жизнь. Я свободно ебашу скрипты, но в этом дерьме потратил немало времени, чтобы набросать даже самый простой говнокод. Оптимизированный код без костылей через этот калл написать невозможно, как я понял. Боюсь представить, что оно генерирует, если попробовать сделать хотя бы что-то сложнее циклов и массивов.
227 826742
>>26724
>>26736
Да, это оно. Вообще его в том же /gd и посоветовали.
image.png30 Кб, 772x193
228 826744
Так оно же теперь по дефолту доступно? Плагин больше не нужон, можно спокойно вкатываться?
229 826749
>>26744

>можно спокойно вкатываться?


Это бесполезное говно, ты на его изучение только время потеряешь. Существует только для того чтоб привлекать ньюфагов картиночками с лапшой, других задач у этого плагина нет.
230 826755
>>26437
>>26452

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

void Start()
{
Action a = WritteHello();
a.Invoke();

}

void WritteHello()
{
Debug.Log("Hello");
}

У меня не работает Action. Я загуглил, это какой-то делаегат, как его добавить?
231 826757
>>26755
всем похуй что у тебя там работает или не работает, что консоль пишет?
232 826759
>>26757
Assets\Scripts\EventSys.cs(10,9): error CS0246: The type or namespace name 'Action' could not be found (are you missing a using directive or an assembly reference?)
15683921024310.webm483 Кб, webm,
500x494, 0:09
233 826760
>>26759
Чел, не позорься. Учи c# с нуля.
234 826761
>>26755

>Action a = WriteHello;


или

>Action a = () => { WriteHello(); // anything else }

235 826765
>>26761
ни о чем не говорит
236 826768
>>26765
Тогда съеби из программирования, это не твое.
изображение.png683 Кб, 900x960
237 826769
>>26760
>>26768
нихуя он умный
238 826770
>>26755
Не понял, как ты обращаешь из разных подпространств к функции? Ты уверен что именно так и было в видео?
239 826771
>>26770
Да вроде бы я так же пишу, как он. Первый скрин видоса, второй мой.
240 826772
>>26755

>Action a = WritteHello();


Без скобочек надо, Action a = WritteHello;

Экшоны конечно не так юзаются. Делаешь эвент
public event Action OnMaximumZalupa;
в нужном месте инвокаешь его ... if(zalupaCount > 999) OnMaximumZalupa?.Invoke();
и эвент обработают те кто на него подписался ZalupaCheker.OnMaximumZalupa += () => zalupaUIText.text = "maximum zalupa".
241 826773
>>26771
Ты скрипт то на какой-нибудь объект накинул?
242 826775
>>26772

>Без скобочек надо, Action a = WritteHello;


Да, это я поправил, но все равно не работает.

>


public event Action OnMaximumZalupa;
в нужном месте инвокаешь его ... if(zalupaCount > 999) OnMaximumZalupa?.Invoke();
и эвент обработают те кто на него подписался ZalupaCheker.OnMaximumZalupa += () => zalupaUIText.text = "maximum zalupa".

Ну к этому я наверное чуть позже дойду, пока мне это мало что объясняет. Пока что тупняк на расхождении с видосом.
243 826776
>>26773
На что накинуть скрипт, если он не работает? У меня игра даже не запустится, пока ошибку не уберу.
244 826777
>>26759

>The type or namespace name 'Action' could not be found (are you missing a using directive or an assembly reference?)


пчёл...
using System;
245 826778
>>26777
Он реально целый час не мог это исправить. Зря ты ему написал. Дебил даже не может построчно проверить 8 строчек кода. Не говоря уже про гугл ошибки.
246 826779
>>26777
Бля, помогло. Я думал я и так в системе, раз у меня System.Collections;
System.Collections.Generic;

Спасибо
247 826780
>>26749
Но я не кодер, а моделлер и мне гораздо лучше будет привыкнуть к этим нодам
248 826781
>>26778
Жаль я не такой умный как ты, мне вот приходится с тобой еще общаться
249 826783
>>26780
Ну стань кодером. Или тебе жить осталось неделю? Зачем привыкать к говну?
250 826784
>>26780
Там ровно тот же код, но квадратиками с текстом. Ничего не упрощено, нужно знать все нюансы программирования. Только вместо того, чтобы писать весь код, ты пишешь начало названия метода или объекта и выбираешь его мышкой. Базовое программирование в юнити проще простого, любой разберется.
image.png231 Кб, 555x411
251 826787
>>26780
имхо чтобы работало, не надо уметь хорошо программировать
252 826790
>>26783
>>26784
>>26787

Господь всемогущий, а можно я просто подгружу все свои модельки, куда то щелкну и персонаж просто сможет передвигаться и вызывать квестовые окна при взаимодействии с нпс
253 826796
>>26790
а ты и не обязан уметь собсна,
найди себе прогера и кидай свои модельки ему
254 826797
>>26796
Так ему на что то кушать нужно будет, а у меня нет возможности оплачивать фул тайм разработку.
255 826799
>>26797
а не секрет, что за проект чтоб нужен был прогер на фултайм?
256 826802
>>26790

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


Это и так делается мышкой

>персонаж просто сможет передвигаться


Три строчки

>вызывать квестовые окна при взаимодействии с нпс


Лол. Ты думаешь лапшину протянуть и окна с квестами магическим образом возникнут из ниоткуда? Это писать надо, готового ничего нет.
257 826803
>>26799
Ничего особенного, рпг с изометрическим видом

>>26802
Неужели отображение xml в окошке - требует много знаний и сил?
258 826806
>>26803

>Неужели отображение xml в окошке - требует много знаний и сил?


Отображение xml в окошке не требует много знаний. Реализация задачи "вызывать квестовые окна при взаимодействии с нпс" - требует. Нормально ты квестовую систему свёл к показу хмл в окне, удачи в разработке хуле.
259 826816
>>26770

> из разных подпространств


А я вот вообще в альтернативной реальности
260 826830
>>26796

>найди себе прогера


А может, мне ещё и тян найти, а? Если бы это было так просто, я бы тут с вами не сидел.
261 826831
Это другой чел ответил, я не натурал >>26830
262 826835
>>26830
Так давай я буду твой прогером? Что скажешь?
263 826836
>>26835
А ты натурал?
264 826837
>>26836
Ну я знаю С# и Unity.
265 826838
В общем раз уж тут речь зашла ищу бесплатно прогера (соберете себе портфолио), нужно быть онлайн с 9:00 до 21:00 и возможность сразу откликнуться, рабочая неделя - 5 дней со вторника по субботу.

Еще небольшие требования:
- желательно глубокое знание юнити
- не женат
-рыжий или шатен
266 826839
>>26838

>нужно быть онлайн с 9:00 до 21:00


Чек

>возможность сразу откликнуться


Чек

>рабочая неделя - 5 дней со вторника по субботу.


Чек

>желательно глубокое знание юнити


Знаю на 5+!

>не женат


Ес!

>рыжий или шатен


Чек

Куда писать?
267 826840
>>26839
Ладно, если серьезно я подготовлю презентацию своего проекта, и опубликую здесь или еще в паре тредов с контактами, может когда визуально все будет видно, найдется человек с 5-6 лишними часами в неделю
268 826841
>>26755
https://www.youtube.com/watch?v=vmAiOSH8zCE

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

public class InventoryController
{
public static event Action<int> OnMoneyAdded;

public bool TryAddMoney(int amount)
{
if(amount <= 0)
return false

var currentMoney = PlayerPrefs.GetInt("playerMoney", 0);

PlayerPrefs.SetInt("playerMoney", current + amount)

OnMoneyAdd?.Invoke(current + amount) //вызываешь

return true;
}
}

public class UIBag
{
public TMP_Text moneyAmount;

void OnEnable()
{
InventoryController.OnMoneyAdded += UpdateMoneyView //подписка
}

void OnDisable()
{
InventoryController.OnMoneyAdded -= UpdateMoneyView //отписка
}

private void UpdateMoneyView(int amount)
{
moneyAmount.text = amount.ToString()
}

Здесь дженерик <int> это тип доп инфа которую хочешь получить.

}
268 826841
>>26755
https://www.youtube.com/watch?v=vmAiOSH8zCE

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

public class InventoryController
{
public static event Action<int> OnMoneyAdded;

public bool TryAddMoney(int amount)
{
if(amount <= 0)
return false

var currentMoney = PlayerPrefs.GetInt("playerMoney", 0);

PlayerPrefs.SetInt("playerMoney", current + amount)

OnMoneyAdd?.Invoke(current + amount) //вызываешь

return true;
}
}

public class UIBag
{
public TMP_Text moneyAmount;

void OnEnable()
{
InventoryController.OnMoneyAdded += UpdateMoneyView //подписка
}

void OnDisable()
{
InventoryController.OnMoneyAdded -= UpdateMoneyView //отписка
}

private void UpdateMoneyView(int amount)
{
moneyAmount.text = amount.ToString()
}

Здесь дженерик <int> это тип доп инфа которую хочешь получить.

}
269 826844
>>26778
И вновь еблан тешит своё чсв, тратит силы и время вместо того чтобы просто ответить на вопрос.

Вывод: ты не выше джуниора
270 826845
>>26835
А может, ты будешь моей тян? Как тебе идея?
271 826846
>>26831

>я не натурал


Тяночка-лесбияночка, ты?
272 826847
>>26845
Эээээээ, нууу... не знаю... это как то внезапно..
273 826848
В общем раз уж тут речь зашла ищу бесплатно тяночку (соберете себе портфолио ебанутые бывших), нужно быть у меня дома с 9:00 до 21:00 (после девяти жена возвращается с работы) и возможность сразу откликнуться на приглашение к интиму, рабочая неделя - 5 дней со вторника по субботу.

Еще небольшие требования:
- желательно глубокое знание мужской анатомии
- не замужем
-рыжая или шатенка
274 826849
>>26841
Я попробую во всем этом разобраться, спасибо
275 826850
>>26847
Не переживай, всё будет отлично! Будем под поединком обсуждать свежие версии Юнити.
276 826851
>>26838
Жду
277 826852
>>26850
Извини, но я вынужден отказаться от данной позиции.
278 826853
>>26852
Под пледиком, не поединком! Это автоисправление. Нам не придется драться, не бойся! Ты из какого города?
279 826863
Как вам идея портировать на юнити старые гба игры про Покемонов, но в 3д ?

Нинка сильно возбудится если разместить это потом на itch?
280 826865
>>26863

>Как вам идея портировать на юнити старые гба игры про Покемонов, но в 3д ?


Хорошая идея. Начинай делать.

>Нинка сильно возбудится если разместить это потом на itch?


Тебя моментально выебут.
281 826866
>>26863
Идея интересная, но насколько это сложно?

Я вот подобную идею вынашивал после прохождения хреногеарс, даже карты в 3д скачал с текстурами готовые, покрутил в 3дмаксе, сделал вывод, что даже просто перекатить гемор, нужна команда
282 826867
>>26863

>Нинка сильно возбудится если разместить это потом на itch?


Двачую >>26865 это компания просто выебет и высушит и за меньшее.
image.png1,1 Мб, 1600x900
283 826873
>>26867
>>26865
Но фактически меня просто забанят как и мою поделку, так ведь?

>>26866
Если брать конкретно игры этой франшизы - то там самое сложное это запилить боевку и характеристики. Перенести самих покемонов (даже если пилить их с нуля) конечно займет время, но с этим справится даже школьник.
На пикриле образец 2019 года.
284 826874
>>26873

>Но фактически меня просто забанят как и мою поделку, так ведь?


Просто проебешь год на разработку игры, и тебя просто забанят. Так как ты и не собираешься ничего пилить то всё выходит еще проще.
285 826875
>>26874
Саму сюжетку конечно пилить лень. А вот сама основа - то есть выбор команды и баттлер, это уже интереснее. А если прикрутить сетевую то будет еще интереснее.
286 826883
>>26880 (Del)
Породили целое поколение наглухо ебанутых "ретрогеймеров".
287 826884
>>26844
Все так, и что? Ты же зачем-то пришел в медленный тред двача вместо того, чтобы написать в тг по юнити, где отвечают мгновенно на такие днищенские вопросы и не только.
288 826904
>>26884

>в тг


Окей зумер.
289 826960
>>26490
Ну ладно, шутки в сторону. Тут советуют MVP и разделение обянностей. Краем глаз глянул солид и мвп и понял так. Чтобы заебурить интерфейс создания персонажа мне нужно накодить класс, в котором будут храниться только данные, которые в последствии пойдут в конструктор создания персонажа. Создать класс, отвечающий за уи. и создать класс посредник, который перекрестит эвенты двух предыдущих. Все по феншую?
290 826966
>>26960

> Все по феншую?


Да не парься ты так, господи. Это всё ненужное дрочево.
291 826968
Я как-то исходники Террарии глянул. У меня чуть глаза не выпали. Там вся логика мира была описана в одном классе через миллионы IF'ов. И ничего. Игра взлетела. Потом её уже переписали.
292 826969
>>26968
У виабушников там какую то игру пилят на донаты. так там вся логика через if else
293 826972
>>26968
Где глянуть? Интересно.
294 826975
>>26972
Найди старую версию игры и открой любым декомпилятором сишарпа. Например - dotPeek. Код игры не обфусцирован и легко открывается.
295 826978
>>26904
Сорри, в вотсапе вряд ли есть такой канал. Только компьютером научился пользоваться? Тоже чересчур сложная технология для тебя? Говорю же, съебись, ну не твое это абсолютно. Ладно бы тебе было 12 лет, но ты пердишь так, словно тебе 50+.
296 827042
Всем привет, делаю простой шейдак, хелп плиз, сам в них не шарю.
Вообщем должен быть позлунок от 0 до 1, который регулирует длину лайн рендера.
То есть если ползунок на 0.5, то отображается только половина лайн рендера.
Пришел к тому, что нужен фрагментированный шейдер, и если 'какое-то условие', то col.a = 0, иначе 1, только не могу подобрать условие само, от чего можно оттолкнуться?
297 827052
Посоветуйте учебных материалов по шейдерам
298 827113
Аноны, почему когда я делаю вот так
LayerMask ground = LayerMask.NameToLayer("Ground");
и передаю переменную в рейкаст, то нихуя не работает. Через сериалайзфилд выставления ручками переменной все ок.
299 827114
>>27113
Может ты название леера неправильно написал. У меня всё связанное с этой функцией работает.
300 827115
>>27114
10 раз перепроверил, вплоть до копипаста.. Пробовал передавать через int переменную еще, тоже нихуа.
301 827116
>>27115
Хз, брейкпоинты поставь да продебажь епт.
result.jpg10 Кб, 285x199
302 827122
>>27116
У тебя какая версия юнити? Есть подозрение, что они чета сломали, потому что этот код выдает такое
303 827126
Насколько сложно на юнити сделать игры с сетевым подключением по локалке ? Уже есть примеры карточных игр? Там где пинг и оптимизация не особо важны
304 827128
>>27122
GetMask работает, до этого правда не работал. видимо я что-то недопонимаю.
305 827133
Так, я попытался разобраться с эвент системой, кое-как написал по гайдам такое:

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

На втором скрине, как я понимаю, сама эвент система, но нахуй она мне нужна я все равно не понял. Разве просто onTriggerEnter не будет щас работать без нее?

На третьем скрипт для анимации открытия-закрытия ворот. По какому принципу там что-то подписывается-отписывается, я тоже не очень понимаю, но работает. Из моего личного там по сути один метод public void onDoorwayOpen(), единственное, что я хоть как-то осознал: надо отписывать неиспользуемые состояние, подписывать новые. Ну это я вроде бы и сделал. Как советовали я сделал вызов открытия ворот внутри скрипта босса после смерти.

Собственно, это и есть эвент система или нет?
306 827134
>>27133

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



Надо чтобы были открыты, пока не зашел, закрыты пока идет бой, открыты, когда босс мертв*
307 827137
>>27133

> На втором скрине, как я понимаю, сама эвент система, но нахуй она мне нужна я все равно не понял. Разве просто onTriggerEnter не будет щас работать без нее?


Будет.

Подобная ивент система нужна, чтобы кто угодно мог подписаться на события, т.е. чтобы проще было связывать разные объекты.
Например пусть у тебя есть система стелса и враги должны на звуки прибегать. Как это сделать? Да просто инвокнуть эвент OnLoudSound(position), а враги его обработают.

В твоём примере она нахуй не нужна.

> На третьем скрипт для анимации открытия-закрытия ворот.


Неправильно, не надо так делать, к тому
Сделай bool переменную, которая эранит текущее состояние двери.

Делай только 1 подписку и й отписку ра ивент. Ну и повторюсь - конкретно в этом примере оно нах не нужно.
308 827141
>>27126
pun 2
309 827143
>>27137
А чем плох просто вызов анимации?
310 827144
>>27143
Ну, тем что происходит ебанизм с переподпиской на ивенты, который кстати вроде как не работает, хз че там в аниматоре самом.
311 827146
Делайте как в вове. Открытая дверь просто пропадает и на ее месте спавнится закрытая.
изображение.png80 Кб, 956x822
312 827147
>>27144
Да просто две анимации без транзишена, запускаются только со скрипта
image.png240 Кб, 1024x576
313 827148
>>27146

> Делайте как в вове. Открытая дверь просто пропадает и на ее месте спавнится закрытая.

314 827152
>>27148
Система уже второй десяток без нареканий работает под любую задачу
315 827187
Аноны, хелп.
Не могу зайти в юнити, нажимаю sign in и открывается белая страница в браузере (акк я сделал).
316 827192
>>27187
Enjoy your санкции, pidor!
317 827194
>>27192
VPN не помог.
>>27190 (Del)
Ну, серьезно, что делать то? Почему это говно не работает?
318 827197
Пиздец, почему такая ебля с входом? Нахуя вообще делать подтверждение бесплатной сука лицензии? Почитал форумы, там ебать танцы с бубном и все равно не помогает, я ебал.
КАК НАЧАТЬ ИГРАТЬ ДЕЛАТЬ ТО
319 827199
>>27197

>КАК НАЧАТЬ ИГРАТЬ ДЕЛАТЬ ТО



В паскале
320 827202
>>27199
>>27200 (Del)
>>27201 (Del)
Вы сами не знаете, потому что безигорные.
321 827203
>>27202
У меня есть знакомый Игорь
image.png75 Кб, 1389x781
322 827229
что за хуйня
изображение.png48 Кб, 1015x597
323 827234
>>27229
Ты где живешь?
324 827236
>>27234
хуя у тебя вопросы
в омске
по пику, ебурил в юнити норм все было, захотел ассетов поставить, некоторые с ошибкой не ставились. посоветовали проверить лицензию, не обновлялась. ща переустанавливаю, вроде обновилась, позже ассеты проверю
325 827237
>>27236
Ну я думал ты русский миллиардер в Англии и тебя решили задавить. Я бы в таких случаях только в сапорт юнити писал, лицензия-то их, они могут знать че делать. Но раз переустановка помогла
326 827240
>>27229
Просто отменяешь и заного регаешь бесплатную лицензию в чём трабла? Делов на 1 мин.
327 827242
>>27240
да после переустановки все заработало
просто когда каждый день заходишь в редактор и все норм, а на след день нихуя не работает немного странно
328 827256
>>27133

>Мне советовали не делать проверку на плеера, но я не понял почему и как иначе


Так ты её убрал. У тебя плеер сравнивался с null, хотя его можно было указать в инспекторе

>На втором скрине, как я понимаю, сама эвент система, но нахуй она мне нужна я все равно не понял


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

>По какому принципу там что-то подписывается-отписывается, я тоже не очень понимаю, но работает


Молодец, это главное. Хотя у тебя подписки не в том месте Заебашил прикл через пеинт, потому что так быстрее, лол, но ты можешь вообще избавиться от эвентов, если хочешь. Хотя всё итак работать будет
329 827279
Как отрисовать коллайдер в дебаге?
330 827286
>>27279
draw gizmos
331 827287
>>27286
так если ошибаюсь для этого нужно прописывать нужно каждый вектор, а нет что-ли метода для отрисовки коллайдера в одну строчку? Если нет, очень странное от решение юнити не добавлять такую возможность.
332 827288
>>27287
Чел, ну ты хотя бы просто в редакторе кода Gizmos. напиши, там тебе сразу DrawMesh вылезет
333 827319
>>27242
спасибо, мне тоже помогло
image.png772 Кб, 1242x688
334 827422
куда нажать чтобы так же?
335 827429
URP
Как сделать чтобы транспарент материал отбрасывал тень? Типа, есть тонированное стекло, от него должна быть полупрозрачная тень
336 827441
>>27422
PostProcessing -> EdgeDetection
337 827462
>>27429
Не знаю как в URP, но попробуй прозрачность выше 0.25 поставить
338 827466
>>27422
Поставить шейдор на материал.
Capture.JPG31 Кб, 604x557
339 827541
насколько я пососу со статическими эвентами? читал что их ну прямо вообще не нужно использовать, но удобно же
вот что у меня сейчас на пикрелейтед, все работает, этих NodeElement создается адова толпа, каждый отмечается при старте и обрабатывается
340 827545
>>27541
Если это теоретический пример, то пойдет, подписался/отписался и все при старте/уничтожении. Надеюсь у тебя там будут важные события.

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

Другая проблема всякие проверки "а подписан ли я".

Персонально я случайный хуй с горы предпочитаю использовать статичный лист с интерфейсами и дергать методы интерфейсов (возможно из-за интерпрайза стал так делать). Брат жив.
341 827556
Чтобы отписать объект от эвента при смене сцены нужно ондейстрой использовать жи?
342 827558
Пилю сейчас уи. Какой подход использования импутсистем лучше, просто отписывать слушателей от эвентов, когда они не должны принимать инпуты, или группировать инпуты по ситуациям и дизейблить непосредственно группы эвентов?
343 827591
>>27545
это реальный пример, суть задумки такова:
NodeElementManager создается в самом начале игры и работает до конца, т.е. Awake происходит в самом начале игры, OnDestroy - надеюсь в самом конце, менеджер единственный подписчик эвента, а сколько в процессе будет создано(префабы с этим моноб) NodeElement я заранее знать не могу, мне надо только передать ссылку когда префаб с ними готов перед первым Update(поэтому решил через Start эвент инвокать)
вроде работает, меня беспокоят истории про утечку памяти
но если у меня менеджер-подписчик сидит всю игру, наверное и норм?
344 827618
>>27462
К сожалению, в ЮРПе, если материал транспарент, то даже если он полностью непрозрачный, он не отбрасывает тень
345 827622
>>27591

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



По-моему ты пытаешься придумать велосипед - синглтон

>менеджер единственный подписчик эвента, а сколько в процессе будет создано(префабы с этим моноб) NodeElement я заранее знать не могу, мне надо только передать ссылку когда префаб с ними готов перед первым Update(поэтому решил через Start эвент инвокать)



По описанию неправильное распределение обязанностей, менеджер элементов не менеджерит элементы. Если правильно понимаю цель этого всего, то знать обо всем должен менеджер, а элемент как раз ничего не знать.
346 827639
Скомпилировал практически пустую игру и получил более 250 мб. Как уменьшить размер игры хотя бы до ста? Хорошая графика мне нахуй не нужна.
image.png13 Кб, 485x171
347 827646
>>27639
по дефолту должно быть включено всегда и на всех проектах
348 827647
>>27229
У меня такая хуйня при каждом запуске юнити. Без впн нельзя открыть ни один проект. Зато можно с отключенным интернетом.
349 827648
>>27639
На какую платформу скомпилировал?

Что значит "почти пустую" игру? Показывай, что у тебя там. Может ты нахуярил текстур по 50 мегабайт.
350 827655
>>27646
Помогло, благодарствую!
>>27648
Вообще без текстур. Пара объектов и скрипточек.
351 827656
>>27622
я наверное очень сумбурно объясняю.
у меня есть три класса:
1 - фабрика, отвечает за создание инстансов из префабов
2 - менеджер элементов
3 - сам элемент

я не хочу чтобы фабрика что-то знала об элементах или их менеджере, поэтому решил добавить эвент в сам элемент, который будет инвокаться только если этот элемент окажется в сцене. так что вот что сейчас происходит:
1. фабрика создает новый объект из префаба
2. на нем оказывается элемент - фабрика ничего об этом не знает, просто создан новый объект
3. элемент орет о себе в пустоту
4. менеджер узнает что есть элемент
5. профит?

я вот и хотел узнать, как бы лучше это можно было сделать, без статического эвента в элементе. спасибо что еще не послал меня нахуй с такими тупыми вопросами
anotherExample.jpg72 Кб, 1042x573
352 827669
>>27656
тот же хуй с горы
проблемы с утечками появятся из-за динамического подписания/отписаться т.к. ты забудешь в 1м месте отписаться и ВСЕ.

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

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

Вот еще поделюсь, я сделал себе некую обертку для листа и статики и все мои слабосвязанные евенты выглядят как код на пике (может вдохновить на что-то, а может и нет)
353 827675
>>27656

>я не хочу чтобы фабрика что-то знала об элементах или их менеджере


Правильно, менеджер говорит фабрике сделай мне элемент и отдай, если у тебя там префабы которые могут грузиться то возвращать нужно будет корутину с коллбеком или таску чтобы подождать. Мне нравиться реализация связка фабрика-пул, нет в пуле доступных фабрика досоздала, если есть сразу пул отдал.
354 827689
В импутсистем можно получить название клавиши, вызвавшей эвент?
355 827717
>>27689
context.control.ToString();
356 827792
кирилы, вопрос: как купить ассеты на ассет сторе из россии? есть какие-нибудь хитровыебанные пути?
357 827802
Юнитач, подскажи, как можно в редакторе замедлить воспроизведение игры/смотреть покадрово?
image.png1 Кб, 218x59
358 827812
>>27802
ппц
359 827815
>>27812
Да, уже нашел, чувствую себя крайне тупым. Все равно спасибо, анон
360 827819
>>27812
Не он, но как? Пауза только останавливает, а как замедлить?
361 827822
>>27819
Третья кнопка по кадрам листает. Замедлить - хз.
Автор вопроса
362 827824
>>27819
settings - project settings - time - вместо 1.00 ставишь 0.10 или сколько тебе там нужно
363 827826
>>27819
Если у тебя логика игры завязана на Time.deltaTime, то можно попробовать замедлить игру с помощью изменения Time.timeScale.
364 827937
Антуаны, ебусь с эффектом уже сутки. Какая-то поломанная хрень творится. Добавил свечение нормальное (не Light, а bloom), но оно почему-то в режиме редактора имеется. А вот сука в play mode не работает! Не понимаю чё за хуйня, памагити плиз
365 827951
>>27937
На камере постобработку включил?
image.png50 Кб, 594x269
366 827976
ябало представили?
367 827982
>>27976
Нормально безыгорного хохла-лапшетаскателя обоссали.
368 827987
Аноны, собираюсь делать систему итемов. Читал, что для хранения даты норм скриптбл обжект. Типо если у меня будет скриптбл обжект, а там в формате жсон описаны итемы, а потом когда я буду создавать итем в игре, он типо по названию своему будет подсасывать оттуда статы. Чи вин але шин?
369 827989
>>27987
Если удобно юзай скриптаблы. Лично я использую пару скриптов подтипов предмета, это дело храню в байто сэйве одной стринг строчкой. Из-за того что не люблю когда у и игрока есть возможность блокнотом открыть и всё почитать.
370 827996
>>27989
Я еще с ходу бахнул 3 интерфейса типа консумабл, эквипабл, коллектбл. И пошел делать инхеритансы типа итем-армор-хелмет. Потом планировал соответственно слоты в инвентаре делать типа public Helmet helmet. Такая тема рабочая?
371 827997
>>27987

>в формате жсон


yaml

Нашел тебе в гугле полезную тему плюсов и минусов:
https://forum.unity.com/threads/why-are-scriptableobjects-worth-it-surely-plain-text-is-better.216881/

PS собираешься юзать so, пользуй тогда райдер чтобы видеть измененные поля сразу в нем, а не постоянно в юнити переключаться искать сам ассет. Или визуал уже умеет так же, не ебу.
372 827999
>>27997
спс
373 828009
>>27996
Главный критерий чтобы тебе было удобно и понятно с этим работать.
374 828013
Есть ли вообще хоть какой-то смысл вкладываться в 4090 для разработочки при её выходе, или мне апгрейдить до 3090 Ti и не выебываться?

Имею домашний пет проджект в виде 2Д игоря и работаю в мелкой фирме что заказы на Юнити берет небольшие пока что. Начальник говорил скоро могут пойти заказы на виар, может там это смысл иметь будет?
375 828015
>>28013
Разве что для разворачивания нейронок для генерации текстур у себя на машине. Но проще оплачивать подписки на такие генераторы.
376 828018
>>28015
Между прочим сейчас так и делаю, есть доступ в закрытую и платную бетку Dall e 2. Но думал уже о поднятии собственных сеточек.

Вот только у 4090 и 3090 ti одни и те же 24ГБ памяти будут, разве что шустрее ебошить будет. Будет еще по идее 4090 ti на 48ГБ, но она вышибет нахуй пробки в квартире, ну нахуй. Да и то это инфа по сливам.
377 828020
>>28013

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


Ты уверен что заказы будут именно под компьютерный виар? Я чет сильно в этом сомневаюсь.
378 828088
Поясните - у меня есть сцена, она референсит разные ассеты. Когда сцена загружается - все нужные ассеты подгружаются, это стандартное поведение юнити.

Можно сделать, чтобы ассеты заранее загрузились? У меня много сцен, надо между ними перемещаться, и во всех одни и те же ассеты
379 828094
>>28088
Сцены можно грузить в дополнение к существующей.
123321.jpg216 Кб, 1832x1027
380 828098
Парни, мне кажется интерфейс надо раза в два уменьшать. Че думаете? квадраты сейчас 100 на 100. без панели быстрого доступа еще туда сюда ок было, с ней тупа полэкрана закрыло
381 828103
>>28094
Ну это конечно вариант, но хочется именно что заранее загрузить все ресурсы
382 828124
>>28098
Если это не под мобилу то смело дели всё на 2.
383 828140
>>28098

>квадраты сейчас 100 на 100


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

мимо проходил
384 828141
>>28140
Я делаю в пикселях. Беру разрешение 1920х1080 и под него всё делаю. У тех кого другое пусть страдают от кривого юи.
385 828144
>>28141
пздц, интерфейс уровня б
386 828145
>>28141
ебанько, тебе в годотю с таким подходом, не позорь юнити
387 828150
>>28098
скочи мочи для бедных?
388 828174
>>28150
Не очень понял о чем ты, но планирую партийную рпг с видом от первого лица.
321123.jpg314 Кб, 1797x1023
389 828177
>>28174
чтобы олдскулы сводило.
390 828178
>>28140
Ну юнити же растягивает там оттягивает че надо. 100 на 100 просто потому что клеточка канваса 100 на 100. Вообще это просто грубый набросок. У меня даже системы инвентаря еще, типо достаточно сложно для меня сходу разработать систему предметов, инвентаря и уи под все это. С учетом того, что инвентарь будет учитывать размер предметов.
391 828179
>>28178

>системы инвентаря еще

392 828180
>>28179

>нет


лол
393 828181
Вообще, вышел из бани, ебанул пивка и дай думаю спрошу как делать лол. В кратце пока думаю сделать так. Типа сделать класс инвентарь, который хранит тупа список предметов, у каждого предмета есть высота и ширина, выраженная целым числом. Потом
Дальше сделать класс, в котором будет двумерный массив булиан значений, который будет представлять как бы реализацию пространственного размещения предметов.. И сделать промежуточный третий класс, который будет запоминать в какую конкретную ячейку положен предмет и от этой ячейки уже заполнять второй класс трушками или фолсами. Вин или шин?
394 828187
>>28181
У тебя есть объекты Физические Объекты предметы, у каждого объекта класс Предмета.
Инвентарь это пустышка гейм обджект менеджер в котором есть собственный список. При взаимодействие ты передаешь свой список предметов, которые допустим берутся из инвентаря(Еще одного списка) в него, или из инвентаря торговца.
Далее проходишься по списку и показываешь на юи иконки из этого списка.
1111111111111.png349 Кб, 641x481
395 828189
>>28187
Тут ключевой момент, что все предметы помимо массы имеют и размер.
396 828191
>>28141
>>28098
Канвас скейлер и якоря юзай
397 828196
>>28189
Всегда считал такие ограниченные инвентари хуитой и издевательством... Какой еще нах реализм? А что тогда герои не срут? Нереалестично - срочно делайте сранье и туалеты
То есть я понимаю ограничения ячеек в фритуплей - ну купи еще ячеек в инвентарь, ну купи... Ладно, там что-нибудь про реальный мир... Но это все херня

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

И почему-то только китайцы придумали решение. Хотя в DnD оно было, но никто его не взял

А именно - пространственные кольца. То есть кольца с пространством в которое можно скидывать любой мусор. Можно ограничить количеством, если это зачем-то надо для механик - только нормально, а не два меча положил и уже полный.
398 828198
>>28196

>Вот так это блядь должно выглядить?



Ты видимо из тех, кто в елдер скролсах все вилки подбирает и тарелки.
399 828211
Если я делаю абстрактный класс item, от него наследуют всякие weapon, armor и тд, то издалека уже видится, что я создам условно List<Item> inventory и типа получу лист предметов со свойствами из item, а не Armor и Weapon. и как обходить такое? Я понимаю, что потенциально можно где-то что-то приводить к нужному типу, но слабо представляю реализацию. Или делать единый класс итем, но играться как-то через енум.типПредмета. Чет инвентарь у меня идет совсем трудно.
400 828213
>>28211
Делал своим велосипедом так - У предметов есть общий класс Item (В котором содержатся общий данные для всех предметов по типу уникального id или string).
И у каждого такого предмета в зависимости от типа или чего там надо уже висит скрипт по типу Weapon, Armor и т.п.
В менеджере ты берёшь предмет, смотришь его основное свойство в Item и далее уже решаешь откуда у него брать данные или как взаимодействовать.
При желании можно повесить также реваерэлемент.
401 828223
>>28211
тут все просто у тебя например простая иерархия:
Weapon<=Item
Armor<=Item

switch (Item)
{
case Weapon weapon:
Debug.Log($"This is {weapon.ToString()}")
break;
case Armor armor:
Debug.Log($"This is {armor.ToString()}")
break;
default:
throw new UnknownItemException();
break;
}


Но лучше посмотри несколько подходов по инвентарю на ютюбе, задача распространенная. Я смотрел пару роликов этого чувака, у него нет сильных косяков по логике и коду, так что у него можно глянуть(сам не смотрел кокретно этот видос)
https://www.youtube.com/watch?v=TGsyO3SmF-0
402 828224
>>28213

>уникального id или string


ты придумал Enum =)
403 828226
>>28224
Неудобно их использовать по сравнению со своим велосипедом.
404 828229
>>28211

Item item;
if (item is Weapon)
{
Weapon weapon = (Weapon)item;
}

Я делаю такой костыль, какие подводные?
405 828230
>>28223
Спасибо.

>>28229

Item item = new weapon();
типа item is Weapon даст тру ты хочешь сказать?
406 828235
>>28226
Ну как же, ты можешь получить уникальный айдишник в удобной форме, который будет глобальным, уникальным с подстветкой и подсказками ide. Работать удобно, ошибок допустить сложнее чем с string, пользовать ты его можешь как хочешь = получать коллекцию всех существующий значений, получать int и string значения, обобщать тип через T в абстракциях, даже cериализовать в инспектор. enjoy
407 828239
>>28230

>даст тру


да

кстати, такие вопросы по типам часто джунам на собесах гоняют
408 828244
>>28239
балдеж.
409 828246
>>28239
Причем оператор is позволяет автоматически преобразовать значение к типу, если это значение представляет данный тип.
410 828253
>>28244
Советую: metanit.com/sharp/tutorial/3.11.php
411 828259
>>28235
Возможно я тормоз. Но на примере можешь показать как он реализуется и используется?

Вот у меня у каждого предмета есть id, либо string.
Я во всей своей логике использую их просто оперируя как с числом или строкой, передаю туда сюда, тягаю.
Объявляется у меня этот индификатор простым полем в инспекторе, туда пишется число или набор букв на английском. Сменить секундное дело.
412 828280
>>28259
Ну типа енам по сути целочисленная константа.

типа public enum example { govno} можно обрабатавать как через example.govno,string govno, 0. При этом

public class Example<T> where t: Enum как генерик

а через Enum.GetNames(typeof(T)), можно получить все имена в формате массива
413 828290
>>28140
Делать только для одного разрешения
414 828300
>>28141

>Беру разрешение 1920х1080 и под него всё делаю. У тех кого другое пусть страдают от кривого юи.


У меня разрешение 1440x900 и мне пока хватает, это больше HD и почти дотягивает до FullHD. А страдать я не буду, я просто удалю твою игру и напишу негативный отзыв, чтоб другие знали и не покупали твою игру.

Кроме меня в этом разделе ещё кто-то с таким же разрешением, а у кого-то вроде даже меньше.

>>28145

>тебе в годотю с таким подходом


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

>>28178

>Вообще это просто грубый набросок.


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

>С учетом того, что инвентарь будет учитывать размер предметов.


Опять эта хрень, что в ней хорошего? Я редко такое встречаю в играх, но каждый раз бесит крутить-вертеть каждый предмет, чтобы освободить место под ещё что-то, чтобы не оставалось лишних дырок, в которые ничего не воткнёшь. Имхо, простой механики максимального веса более, чем достаточно, всё равно инвентарь в играх - игровая условность, и игрок будет носить в нём всякую хрень, которая ИРЛ порвала бы рюкзак (боевой топор, три штуки) или высыпалась из карманов (порох 1000 единиц, без мешка). Ограничения инвентаря на размер и форму предметов не играют на погружение в игровой мир, а только добавляют сложности при обращении с GUI игры, который, прошу заметить, в любом исполнении ломает погружение. Если хочешь высокое погружение, избавляйся от инвентаря и делай что-то вроде контекстных кнопок, чтобы персонаж сам доставал нужный предмет или ресурс, не заставляя игрока искать этот предмет в сетке предметов. Или делай 3D инвентарь, чтобы персонаж натурально снимал рюкзак и открывал его, показывая визуально лежащие там предметы, но это в разы сложнее и сильнее ограничивает геймплей, хотя и даёт максимальное погружение. С оружием такое сделать проще: если, скажем, нужно апгрейдить пушку, лучше будет чтобы персонаж приблизил пушку к камере и игрок мог кликать непосредственно на модули этой 3D пушки, а не просто отобразить меню с пушкой и кнопками модулей вокруг неё. Если же тебя не волнует погружение, забей на всё это и делай простейший инвентарь.
414 828300
>>28141

>Беру разрешение 1920х1080 и под него всё делаю. У тех кого другое пусть страдают от кривого юи.


У меня разрешение 1440x900 и мне пока хватает, это больше HD и почти дотягивает до FullHD. А страдать я не буду, я просто удалю твою игру и напишу негативный отзыв, чтоб другие знали и не покупали твою игру.

Кроме меня в этом разделе ещё кто-то с таким же разрешением, а у кого-то вроде даже меньше.

>>28145

>тебе в годотю с таким подходом


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

>>28178

>Вообще это просто грубый набросок.


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

>С учетом того, что инвентарь будет учитывать размер предметов.


Опять эта хрень, что в ней хорошего? Я редко такое встречаю в играх, но каждый раз бесит крутить-вертеть каждый предмет, чтобы освободить место под ещё что-то, чтобы не оставалось лишних дырок, в которые ничего не воткнёшь. Имхо, простой механики максимального веса более, чем достаточно, всё равно инвентарь в играх - игровая условность, и игрок будет носить в нём всякую хрень, которая ИРЛ порвала бы рюкзак (боевой топор, три штуки) или высыпалась из карманов (порох 1000 единиц, без мешка). Ограничения инвентаря на размер и форму предметов не играют на погружение в игровой мир, а только добавляют сложности при обращении с GUI игры, который, прошу заметить, в любом исполнении ломает погружение. Если хочешь высокое погружение, избавляйся от инвентаря и делай что-то вроде контекстных кнопок, чтобы персонаж сам доставал нужный предмет или ресурс, не заставляя игрока искать этот предмет в сетке предметов. Или делай 3D инвентарь, чтобы персонаж натурально снимал рюкзак и открывал его, показывая визуально лежащие там предметы, но это в разы сложнее и сильнее ограничивает геймплей, хотя и даёт максимальное погружение. С оружием такое сделать проще: если, скажем, нужно апгрейдить пушку, лучше будет чтобы персонаж приблизил пушку к камере и игрок мог кликать непосредственно на модули этой 3D пушки, а не просто отобразить меню с пушкой и кнопками модулей вокруг неё. Если же тебя не волнует погружение, забей на всё это и делай простейший инвентарь.
415 828303
>>28300

>Или делай 3D инвентарь, чтобы персонаж натурально снимал рюкзак и открывал его, показывая визуально лежащие там предметы


Сразу бы рефанд сделал
416 828316
>>28259
Вот тебе примерчик на коленке

https://pastebin.com/0VUuiVTr
417 828317
>>28196

>в DnD оно было


>То есть кольца с пространством в которое можно скидывать любой мусор.


О, так вот почему из днд пришёл термин "манчкин", описывающий людей, которые собирают всё подряд и гриндят циферки ради циферок. У них там инвентарь без ограничений, лол! Можно пропылесосить все локации и потом одним разом продать всё торговцу, так?

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

>>28181

>В кратце пока думаю сделать так.


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

Если кратко, такое можно сделать простым массивом, который будет храниться в классе инвентаря. Массив заполняется ссылками на предметы. У каждого предмета есть тип, у каждого типа есть собственный массив (в палитре предметов, из которой ты создаёшь новые предметы), описывающий форму предмета. Инвентарь при добавлении предмета ищет подходящее по форме свободное место и, если находит, заполняет ссылками в соответствии с массивом предмета. При удалении или перемещении обратная операция - ссылки в массиве обнуляются по той же форме. В общем-то простая система, сложнее продумать, какую форму должны иметь предметы, чтобы игроку было удобно (в любом случае будет неудобно 99% времени).
417 828317
>>28196

>в DnD оно было


>То есть кольца с пространством в которое можно скидывать любой мусор.


О, так вот почему из днд пришёл термин "манчкин", описывающий людей, которые собирают всё подряд и гриндят циферки ради циферок. У них там инвентарь без ограничений, лол! Можно пропылесосить все локации и потом одним разом продать всё торговцу, так?

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

>>28181

>В кратце пока думаю сделать так.


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

Если кратко, такое можно сделать простым массивом, который будет храниться в классе инвентаря. Массив заполняется ссылками на предметы. У каждого предмета есть тип, у каждого типа есть собственный массив (в палитре предметов, из которой ты создаёшь новые предметы), описывающий форму предмета. Инвентарь при добавлении предмета ищет подходящее по форме свободное место и, если находит, заполняет ссылками в соответствии с массивом предмета. При удалении или перемещении обратная операция - ссылки в массиве обнуляются по той же форме. В общем-то простая система, сложнее продумать, какую форму должны иметь предметы, чтобы игроку было удобно (в любом случае будет неудобно 99% времени).
418 828323
>>28300

>Ясно. Не забудь сделать отступ от краёв экрана.


Это в планах да.

>Опять эта хрень, что в ней хорошего?


Ну типа мне нравится лол. Меня тянет блевать от просто иконок. Ну типа серьезно. Вот посмотри на меч и магию, ну нашел ты такой доспех золотой, сразу большой такой видно, шишка привстает. или нвн 1. Кто бы мне конечно такие спрайты еще нарисовал лол))) Для меня лично, например, именно иконочный инвентарь был одним из разочарований в том же нвн2.

А так я согласен даже в том плане, что с точки зрения разумности надо либо в ограничение по массе идти, либо в объеме, а не сразу. Может сделаю просто иконки побольше. Что-то в стиле фолаута.

В общем и целом спасибо за фидбек так сказать.
Я
419 828329
>>28317

>О, так вот почему из днд пришёл термин "манчкин", описывающий людей, которые собирают всё подряд и гриндят циферки ради циферок.



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

>Погугли, как делается Тетрис.



спасибо за наводку.
image.png54 Кб, 900x456
420 828354
>>28300

> У меня разрешение 1440x900


1% говна спокнись не в обиду
421 828368
>>28317

>лишает тебя испытания, лишает необходимости думать об инвентаре.


Какое еще испытание?

>>28317

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


это и есть издевательство над игроком.

Знаешь, какие из этого возникают проблемы? Игрок устает туда-сюда бегать, от данжа до торговца(кстати, это один из антипаттернов геймдизайна. Игроки ненавидят такое.)

Так вот, игрок устает, добывает более-менее оптимальное снаряжение и все. Он просто забивает на луттинг. А значит все твои охуенные секреты и загадки он тупо пробежит. То есть игра теряет половину игрового контента, игрок не хочет тратить время на исследование, потому что у него все одно забит инвентарь, и даже если он решит загадку, там будет какой-нибудь мусор который ему все равно некуда положить.
При билде отключается часть кода 422 828381
Сап, проблема возникла. Сделал игру, в движке все ок, условия при коллизии работают. Делаю сборку (платформа не важна, везде так происходит) - эти самые условия отключаются. То есть в движке у меня при ударе мячика об стенку срабатывает гол, а после билда уже не работает, он ударяется об стену и ничего не срабатывает.

Вопрос: как фиксить? Ссылка на файл скрипта, который отвечает за это вот (Функция OnCollisionEnter2D) https://github.com/OUTS1D3R047/Pong/blob/main/Assets/Scripts/Playable%20objects/Ball.cs

Дополнительную инфу предоставлю по требованию
423 828386
>>28368

>Знаешь, какие из этого возникают проблемы? Игрок устает туда-сюда бегать, от данжа до торговца



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

>Так вот, игрок устает, добывает более-менее оптимальное снаряжение и все.


проблемы твоего геймдизайна.

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


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

>Он просто забивает на луттинг. А значит все твои охуенные секреты и загадки он тупо пробежит.


сначала сделан ничем не обоснованный вывод, а потом из него следует второй вообще без причинно-следственной связи.

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

Мимо играю почти во все на максимальной сложности.
424 828391
>>28381
Юнити пишет логи в файл, билд тоже пишет если ты не отрубал галочку для этой функции, она стоит по дефолту. Пути к логам тут:
https://docs.unity3d.com/Manual/LogFiles.html
425 828392
>>28196
>>28368
В дьябле 2 ограниченный инвентарь это элемент баланса, да и геймплея тоже. И че то на лутинг никто не забивает.
426 828403
Как замостить ебучую текстуру?

Есть куб, растягиваю его по какой-нибудь оси, у него также расстягивается текстура. В настройках самой текстуры стоит repeat, tiling на метариале по 1/1. Не хочу увеличивать tiling, потому что тогда придётся создавать на каждый объект свой материал.

Что делать, котаны, есть выход?
427 828406
>>28403
Тайлинг с помощью геометрии.
https://www.youtube.com/watch?v=aIswfcPsthM
428 828421
>>28392
В дьябле нет секретов и загадок. То есть там уровни из-за генерации построенны так, что игрок ничего не потеряет проигнорировав 50% карты (например это игнорят в склепах в пустыне - сразу бегут в склеп с боссом, игнорируя все остальные)
Плюс в дьябле легко вернуться на базу - цена дешевого свитка и двух кликов мыши

>И че то на лутинг никто не забивает.


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

>это элемент баланса


поэтому во всех модах в первую очередь увеличивают инвентарь.
А еще в ремастере увеличили кол-во ячеек (а игроки просили больше)
429 828424
>>28386

>и поменять отношение к лутингу


Как раз долбоеб ты - такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда
Плюс есть игры, где в предметах прописан лор игры (соулсы например, или таже might and magic откуда скрин)

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

>>28386

>который не умеет и не хочет играть в игры


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

>>Мимо играю почти во все на максимальной сложности.


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

>Забивают, посмотри стримы (особенно когда фармят какой-то арт или руну)


У тебя ОКР и ты мимо каждой какашки спокойно не можешь пройти, обязательно подбираешь?

>поэтому во всех модах


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

>А еще в ремастере увеличили кол-во ячеек


В сундуке.
431 828440
>>28391
Выдает такую ошибку

Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey)
Capture.JPG53 Кб, 700x858
432 828445
борщ, юнитач
я пытаюсь поженить друг с другом трансформы из разных префабов.
к сожалению у меня нет parent constraint из более новых версий.
пытаюсь отойти от варианта 1 к чему-то вроде варианта 2, как правильно это сделать?
433 828446
>>28391
Понял в чем ошибка, у меня сохранение идет и видимо оно криво сделано, буду править
434 828451
>>28445
Чем тебя первый вариант не устраивает? За второй уебать хочется
435 828455
>>28424

>Как раз долбоеб ты - такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда



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

>Плюс есть игры, где в предметах прописан лор игры (соулсы например, или таже might and magic откуда скрин)


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

>Плюс есть игры, в которых есть крафт


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

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



это ты с чего высрал вообще? самопридуманный тезис оппонента, который ты типа разнес?

>ито есть для тебя максимальная сложность - это когда надо вставить меч в инвентарь?


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

Ты просто тупой, чел. Ты даже тезисы не можешь изложить не противоречащие сами себе.
436 828456
>>28451
в первом варианте трансформы вместе со всем мясом выдираются из префаба-child и протаскиваются в префаб-parent
хз насколько это стремно т.к. я в текущем варианте кеширую их оригинальные родители и когда нужда отпадает(перед удалением инстанса префаба из сцены) проворачиваю фарш назад этим же методом. меня беспокоит ситуация если внезапно что-то не так пойдет и трансформы от child останутся на parent висяком после удаления.
а что со вторым не так? есть ли лучше вариант? я себя сам хочу уебать если что.
437 828458
>>28424
По слогу кстати похож на дауна, который усирался тут, что книги на английском не надо в шапку постить лол. Такой же конч, который ровняет весь мир по себе, при этом является планкой на малой высоте.
itemsystem.jpg93 Кб, 1015x714
438 828473
Бахнул бутылочку Букета Чувашии и сразу пошло дело. Походу придумал реализацию системы итемов. Через систему размер качество можно например вычислять цену, вес, ну имя предмета и так понятно, подсасывать спрайты с енамов. Потом хуйнуть енамы апгрейдов, который через енамы качества предметов будут накидывать свойства и вставать в префикс названия предмета и пошло поехало.
439 828505
Какие есть варианты получить Sprite из ассетов рантайм, кроме recources.load? Пробовал assetsdatabase.loadassetfrompath - не пошло. Делать какой-то монобихевиор с кучей сериалайзед филдов и набитыми туда спрайтами, а потом доставать оттуда через свитч не хочется от слова совсем.
440 828506
>>28505
в 2022 есть addressable
441 828513
>>28455

> а долбоеб я, потому что я собираю только предметы имеющие нормальную ценность и играю весь контент? может ты долбоеб в квадрате просто не?


Ты просто обычный подпивасный дотер. Ты наверное и квесты не читаешь.

В нормальных играх ВСЕ предметы ценны. В олдовых играх времен доса вообще каждая вилка была ценной - потому что всю игру ты был бомжом. (таже might and magic к примеру... это при том что в ней было 4 (а в более ранних - 6) окон инвентаря... но тогда страдали рюализмом (тогда даже были игры, где надо было в диалогах самому текст писать с клавиатуры задавая вопросы... странно что таки не сделали туалеты и сранье (сон и еда были)))

> только предметы


Ну да конечно, а остальные предметы от балды накидали.. Вот делать нехуй геймдизайнерам - давай мусора наделаем вместо игры.
442 828525
>>28513

>В нормальных играх ВСЕ предметы ценны.


обоснуй

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


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

>таже might and magic к примеру


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

>Ну да конечно, а остальные предметы от балды накидали..



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

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


Какой-то очередной абсурд. Аргумент твой в чем? В том, что если каждый кусочек лута в игре раположен не по пиздец какому-то вселенскому замыслу великому, то игра мусор? или в том, что если игра хорошая, то значит там великие геймдизайнеры, а если они великие геймдизайнеры то значит вот с того гоблина упала кожаная броня за 20 монет по его таблице лута и это пиздец какое красивое решение со смыслом? Ты че несешь то вообще?
443 828526
>>28513

>В нормальных играх ВСЕ предметы ценны


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

>might and magic к примеру.


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

> а остальные предметы от балды накидали.


Мусор создаёт эффект добычи и заполнености.
444 828531
>>28513

> В олдовых играх времен доса вообще каждая вилка была ценной



Мне нравится это одухотворение старыми легендами. Воооот были времена. Не смогли мы с пацанами настроить кривую сложности в игре, выправить лут и награды должным образом, а накидали просто вилок, просто дохуя вилок чисто каждую примостырили чтобы от души и продавай карочи иди и на тебе инвентарь бесконечный. апхапх
445 828533
Лутошиз и дефрагментатор стека это одно лицо?
446 828536
На мой взгляд вы по разному смотрите на игры и их геймдизайн.
Никто из вас не прав и в тоже время не виноват.

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

Разные подходы, жанры, игры.
447 828540
>>28525

>обоснуй


>>28526

>Таких игр значит нет


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

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

А особенно - в игре могли быть механики заточенные под определенное снаряжение (но которые не делают как раз из-за уебанских ограничений на инвентари). Например снаряжение с уроном по водным существам (тем более сейчас на фоне геншина такая механика стихий снова возродилась). То есть снаряжение, которое ты оденешь в определенных ситуациях.
Но если у тебя в инвентарь два меча помещается, то ты не будешь такое хранить - а значит из-за баланса такие механики если и будут, то только для галочки
Как это было в олдовых играх, где пытались даже разные виды ударов делать (рубящие, колящие, дробящие - вроде в готике такое было или пытались (там были разные анимации замахов мышкой)).
А мозгов сделать нормальный инвентарь чтобы было куда разные оружия помещать - им не хватило. поэтому эти механики оказуаливались, чтобы подпивас с одним мечом и против голема и против зомби воевал, и норм
448 828542
>>28540
Все игры надо делать одинаковыми, про одно и тоже и главное под твой вкус? Вопрос только зачем, если ты просто шизик, который не может структурно изложить мысли и просто какую-то кашу выкакивает, понадергав отовсюду что-то одно и смешав все в жижу.
449 828543
>>28526

>реализованно использовать более крутые циферки


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

Итого если делать нормально все эти механики - тебе уже нужно шесть комплектов снаряжения.

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

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

А вот если бы в 80-90 годы догадались давать героям пространственные кольца - ух какие бы были механики в играх

И нет, переодевание не будет дрочерским - просто делать переодевание в одну кноку. Даже в дьябло есть компекты снаряжения (два, но есть)
450 828544
>>28542

>Все игры надо делать одинаковыми


но вы же делаете - весь спор начался с того что опять какой-то довнич захотел ячейковый инвентарь. нахуя он не знает, но уже дрочится тем как делать предметы разных размеров (вместо того чтобы делать интересную игру)
451 828554
>>28544

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



и в чем противоречие?

>нахуя он не знает


вообще-то знаю

>вместо того чтобы делать интересную игру)


ну ты главное свою интересную игру делай, ох вейт.

>>28543
Да всех играх должны быть големы и оборотни с одинаковыми механиками это итак всем ясно. И если в солсе, скелетов надо убивать святым оружием, то во всех играх должно быть святое оружие, а так как святое оружие в солсах было с заточки, то надо заточку обязательно в игру мечты. А лут надо собирать как в секиро.

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


>И нет, переодевание не будет дрочерским - просто делать переодевание в одну кноку.


Как это сочетается в одной голове?

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

И не надо рассказывать пожалуйста про разнообразные игры 80х и 90х, как там было все чудно. Какие это были золотые времена механик и полетов фантазий. Это банально пиздеж.
452 828557
может вы сходите нахуй в /vg/
453 828558
>>28557
Справедливо.
image.png178 Кб, 1134x584
454 828571
Как применять все эти паттерны/SOLID/OOP/алгоритмы в реальной жизни и не привлекать внимания санитаров?

Вводные: программирую на C#, и на работе тоже. Делаю игру для себя (уже сделал, но хочу новые делать). Наткнулся буквально 5 минут назад на ролик, где автор говорит о том что 99% гайдов в интернете они сделаны максимально неверно с точки зрения оптимизации, и хуже начинающего юнити разраба трудно найти кого-то.

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

Уважаемые наносеки, как лечиться от этой хуйни? Только можно без советов в стиле "пиздуй учить ассемблер и регистры"? Спасибо

П.С. Это я нашел под одним из роликов где объясняется несостоятельность 99% гайдов по юнити
455 828572
>>28571
Никак. Это с опытом приходит. Быстрее всего набираются опыта те, кто работают с чужими проектами в команде.

Если ты инди, то смысла задрачивать код так сильно нет. Многие инди-шедевры написаны через жопу. В них спокойно может быть ОДИН класс со всей игровой логикой и ничего как бы.
456 828573
>>28572
Так это и плохо. Я и пытаюсь от этого уйти. В итоге я недавно вернулся к своей игре после перерыва, фиксил баги, долго понимал нахуя я понаписал вещей и куда я их понаписал тк файлов было много. А в "командной" разработке опять же - на работе читаю чужой код, нихуя мне он особо не дает, я максимум просто понимаю что хотел сделать автор и все
457 828575
>>28571
Для начала научись пользоваться профайлерами, для обычного кода и для шойдеров. В геймдеве у тебя время на расчёт кадра ограничено, поэтому ты должен знать во сколько каждая операция обходится, в терминах временного бюджета. Замороченый код никому не нужен, писать надо как можно проще, при условии того что расширять код при необходимости можно без костылей, т.е. интерфейсы и инкапсуляция должны быть предусмотрены абсолютно везде. Если алгоритм не придуман идиотом, то для производительности важнее всего не промахиваться мимо процессорного кэша, потому что частое чтение из оперативки превратит любую игру в слайдшоу. Поэтому начинаешь писать программу всегда держа в уме, что данные должны быть расположны рядом, а разветвления логики должны быть в минимальном количестве. Тогда будет у тебя 1000FPS. ООП это удел энтерпрайза, его надо использовать по минимуму в геймдеве, он просто помогает писать программы из тысяч компонентов, в игре это не важно и не нужно. В игре мы просто читаем данные и записываем данные, главное делать это без запонок, которые тебе как раз покажут профайлеры.
458 828579
>>28573

> нихуя мне он особо не дает


Если бы ты работал в геймдеве, то увидел бы, как много всего они используют. Они много своих инструментов пишут под тот же юнити. Используют активно всякие Zenject'ы, UniTask'и. Код пишут максимально модульным. И так далее.

> долго понимал нахуя я понаписал вещей и куда я их понаписал тк файлов было много


Это опыт. Теперь ты знаешь проблемы своего кода, а значит сможешь его улучшить.
459 828581
>>28579

>всякие Zenject'ы, UniTask'и.



обмажутся, а потом фпс пропукивает.
460 828583
>>24236 (OP)
Привет ребята. Вопрос по поводу assets store
Кто как деньги выводит? У меня после 24 февраля вообще ничего (на pay pal не поступают деньги) Быть может и был такой вопрос, но я его проебал. Пишу снова, не обессудьте.
461 828585
>>28583
Никак, очевидно. Если есть друг иностранец казах то через него выводи.
462 828608
>>28543

>Ну смотри, приведу пример. В игре есть разные монстры:


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

Итого если делать нормально все эти механики - тебе уже нужно шесть комплектов снаряжения.

нПока похоже на кал
463 828609
>>28585
А если, к примеру, через тинькоф банк?
В профиле на вывод денег указать счёт. Или тухлый номер?
464 828612
>>28609
Попробуй, может прокатит.
465 828613
>>28579

>если бы


Так я и хочу. Нихуя не выходит, везде мидлы нужны. Но из плюсов - сделал переключение между компонентами меню

Я чтобы не создавать дохуя сцен сделал все в одной и при "переключении" просто скрываю компоненты меню путем уменьшения масштаба до нуля
466 828631
>>28583
титькоф и хуйфайзен банк принимают по свифту
467 828636
>>28473
И тут случилось неприятное открытие. Создаю веапон Longsword, a переменная weaponType возвращает... Scimitar. посос.
468 828638
>>28636
Походу придется вместо енама с одинаковыми значениями делать отдельный статический класс, в котором будет хранится дикшенари, с ключем енамом, и целочисленным значением в валуе. Пиздец пушка. ((
469 828647
>>28572
двачую этого дева. Поработал пару лет на продакшен увидел разные проекты, встратые, сложные, простые, но неудобные и т.д. Потом сидишь такой пишешь в одной методе if else, потом ещё if else и ещё, и думаешь хуйню делаю такого не видел раньше - надо разделять, получилось много методов которые все равно запускаются из одно места, ага опять что то не так... и тут ты лезешь в шаблоны и например понимаешь что тебе подойдет паттерн стейт машина.
123321.jpg111 Кб, 1080x685
470 828649
Балдеж?
471 828660
>>28649
Ну и пиздец. Загугли скриптабл... нет, лучше сразу прямую ссылку дать https://habr.com/ru/post/421523/
472 828664
>>28572

> В них спокойно может быть ОДИН класс со всей игровой логикой и ничего как бы.


Вот такие гении годами пишут свою хуйню, хотя если делать по науке то за месяц уже игра будет готова.
473 828671
>>28649
да, балдёж, если ты в этом ориентируешься, не нужно в ссаный редактор лезть, чтобы что-то отредачить
474 828673
>>28649
Сделаю наверное немного не так. Сами данные буду хранить в структуре, чтобы можно было разные типы данных использовать, плюс все таки там филды с именами, меньше шанс запутаться. А потом создам дикшенари, с ключем енамом и велью структурой. По ключу енаму в коде опять же будет понятнее, чем по индексу от енама искать в массиве.
475 828676
>>28660
мне кажется у тебя все не пиздец, что ты в нубогайдах не нашел)) Щас отполирую и будет конфетка вообще, а не код.
кодмечтымлж360.jpg139 Кб, 1077x916
476 828693
477 828708
>>28676

>нубогайдах


Лол. Нубогайд как нельзя делать как раз на твоем скрине >>28649
Ты даже не понимаешь что проебался и постишь дрист, думая что тебя хвалить начнут.
478 828712
>>28708
Мне кажется, у тебя проблемы с самокритикой с головой . Это если посмотреть на проблему в общем. Поэтому у тебя сразу подлива потекла с нубогайда лол.

А если брать конкретнее, то ты пукаешь нубогайдами, потому что только по их лейкалу можешь работать, причем скорее всего мобильную хуйню по кальке производишь. Поэтому не понимаю че ты выебываешься вообще лол.
479 828713
>>28712
Ну пости дальше свой говнокод, будешь местным клоуном. Только на помощь больше не рассчитывай.
480 828715
>>28713

>помощь


запостил первую ссылку из гугла лол.
481 828717
>>28693
Адский гемор, не понимаю того анона что писал >>28316.
Проще в ручную просто иметь строку или нужные данные в отдельном скрипте чем ебаться с этой ебаторией. Не говоря о том что если внезапно чтото подправить нужно или изменить это пздц.
33333333.jpg42 Кб, 533x424
482 828722
>>28717

>Адский гемор, не понимаю того анона что писал



Там на самом деле мем оказался вообще в другом. У меня структура weaponStats дублирует по сути класс Weapon, в которую я хотел с нее гнать данные. Т.е. по сути это можно сделать например одним классом и свитч в конструкторе, например, но я не хочу, свитч на сотню итемов это не то что я хочу. или реально делать вот так
>>28649
483 828726
Лол, я понял, нада карочи статический дишенари оставить, структуру убрать вообще нахер, класс вепон сделать структурой и набить статический дикшенари уже готовыми экземлярами страктов вепон. Соответсвенно один и тот же тип оружия будет передавать в инвентари по значению и т.д.
да пошло она нахуй.jpg119 Кб, 1177x541
484 828734
Тут выясняется, что структура не может наследовать, получается коллекцию инвентаря надо забивать по интерфейсу. Можно ли кастить интерфейс к структуре, чтобы получить доступ к ее элементам я не знаю. Да ебись оно конем карочи лол. ))
485 828738
>>28734
Ору с долбоеба.
486 828741
>>28734
А чем тебе ScriptableObject не угадили, кстати?
487 828744
>>28734
Да я те говорю залупа это всё. Забей и делай по удобному и понятному.
488 828748
>>28722
анон, не тупи OnEquip у тебя должен быть в абстрактном классе Item
>>28734
это уже пиздец, юзай SO
489 828750
>>28741
С точки зрения программы хз, нет какого-то типа технически обоснованного мнения. Не хочу лишний раз в редакторе сидеть и кликать там это все. Сначала зайди в коде поменяй енамы, потом табайся в редактор, ищи нужное место, пкм, создать .... потом ищи все это в списке ассетов. Как-то муторно.

>>28744
согласен.
490 828751
>>28748

>анон, не тупи OnEquip у тебя должен быть в абстрактном классе Item


абстрактный класс айтем включает в себя не экипируемые вещи. Я либо интерфейсы буду делать, либо как-то через менеджер инвентаря мутить. пока хз.
1661336385035.jpg368 Кб, 1920x1440
491 828752
492 828757
Челы тупо троллят и стебаются над ньюфагами.
493 828758
>>28757
Над одним конкретным дурачком. Остальных ньюфагов любим и уважаем.
494 828759
>>28750
Ты статы оружия будешь постоянно менять, нет конечно. Все делают по разному, но самые правильные это so или сериализуемый в json класс, почему, потому что дев бережет свое время и делает статические данные таким способом чтобы ГД мог править, ГД в свое время будет работать с понятным интерфейсом, а это so где ты можешь ему ограничения поставить чтобы он не заебашил невалидные значения, так же json выводят на вебморду где ГД правит поля без закачки проекта, ещё профитнее.
Ну это так лирика, естественно ты можешь делать как хочешь, ведь это домашние поделки, но если ты задаешь вопросы здесь, то тебе отвечают как правильно, мы же не можем угадать как ты хочешь.

PS видел проект где основная статика была в json, для ГД были созданы гугл таблицы, где они уже и работали, потом все конвертировалось в json и обновлялись файлы в проекте. Вот так выебнулись не имея вебморды.
495 828763
>>28759

>сериализуемый в json класс


пока делаю чтобы работало.

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


Ну я вообще просто вбросил код и поделился задачами проблемами и неудачами. На что какие-то долбоебы агрятся и кукарекают про говнокод лол.

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

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

>типо забиваешь данные в стринг с какиеми-то метками, по которым потом дергаешь из него данные и приводишь к нужному типу чи шо?


ты описал json, xml.
497 828777
>>28758
У тебя аж поддувало сорвало.
11111111111.jpg140 Кб, 1189x679
498 828780
Готовьте пролапсы своих анусов.
499 828781
>>28780
Хз как ты разбираешься в этой каши, я бы сделал всё намнго проще но в паре скриптов.
500 828783
>>28781
Сенсей, пакеж мастеркласс.
501 828787
>>28783
Боюсь тебе уже бесполезно что-то показывать.
502 828789
>>28787
El clasasique
503 828792
Почему только в юнити треде 116 постеров, а на доске кроме арчтовера и мяса игр нет?
504 828794
>>28792
Мало кто хочет шкварить свою игру о харкач
505 828810
>>28368

>это и есть издевательство над игроком


В БОЛЬШИНСТВЕ игр инвентарь ограничен как минимум количеством, а в РПГ зачастую ещё и весом. Ограничение по форме предметов встречается реже и лучше бы вообще не встречалось, но оно тоже встречается. И во все эти игры играют. Если тебе в такие игры играть не нравится, это скорее твоё субъективное мнение, не сильно влияющее на статистику конкретных игр. Что есть издевательство над игроком - должны решать сами игроки (целевая аудитория конкретной игры), а не один ты.

>Игрок устает туда-сюда бегать, от данжа до торговца


Ну и не будет собирать всякий мусор. В идеале пусть лишний лут сам деспавнится или подбирается какими-нибудь мобами/НПЦ, чтобы не замусоривать локации. А вообще, балансируй систему лута, чтобы из дохлой крысы первого уровня не выпадало 5 шмоток, которые игроку вообще не нужны и приходится оставлять их на земле.

>это один из антипаттернов геймдизайна


И как он называется/где о нём прочитать?

>Игроки ненавидят такое


Абстрактные игроки ненавидят любой элемент геймплея. Эти же абстрактные игроки обожают любой элемент геймплея, даже самый садистский. Всё зависит от выбранной группы игроков (ЦА).

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


Это значит, что твои "секреты и загадки" нахрен не нужны данному конкретному манчкину игроку, раз он всё время собирает всякий мусор и бегает продавать его торговцу, вместо поиска секретов и решения загадок. Вопрос, который ты должен задать сам себе, почему игрок занимается уборкой бесполезного мусора вместо поиска секретов и решения загадок? Может, он не знает о существовании секретов, а загадки слишком сложны?

>То есть игра теряет половину игрового контента


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

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


Разве исследование == новый лут? Обычно в играх исследование связано с получением какого-то нового игрового опыта, а лут - это второстепенное, необязательное. К тому же, даже если инвентарь забит под завязку, а ты нашёл что-то новое, это новое может оказаться значительно лучше мусора в инвентаре и ты просто скинешь на землю лишнее, чтобы поднять это новое.

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


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

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

Лично я никогда не имел фрустрации от ограниченного инвентаря в играх. Правда, я редко играю в классические РПГ с квестами, лутом и т.д. Мне больше нравятся игры на выживание с элементами песочницы, в таких инвентарь почти всегда жёстко ограничен и это очень хорошо - безлимитный инвентарь убивает весь кайф от игры. Если бы инвентарь был безлимитным, не было бы смысла строить сундуки и сортировать имущество, не было бы смысла строить жилища/базы/транспорт, не было бы необходимости продумывать тактику следующих действий, сортируя в инвентаре инструменты, оружие, патроны, лечилки, еду и так далее. Короче, ограниченный инвентарь - очень важный компонент таких игр, формирующий геймплей, а не просто играющий на погружение (чаще всего ты таскаешь буквально тонны ресурсов в "рюкзаке", так что ни о каком реализме речи не идёт).

>>28424

>такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда


>снова обесценивая работу геймдизайнера


1. Скипать скучную часть игры - это нормально.
2. Если игра лично тебе скучна на 90% - эта игра просто не для тебя, ты не входишь в её ЦА.
3. Если игра скучна для большинства игроков, которым эту игру продали - её геймдизайн говно, а её геймдизайнера нужно уволить или отправить на переобучение. Либо нужно уволить маркетологов, которые продали игру не тем игрокам, которым нужно было продать (пример: маркетолог советовал сделать анимешную стилистику графики, но геймдизайнер таргетировал игру на любителей вахи, в итоге игроки, купившие игру за графику, недовольны геймплеем, потому что он рассчитан не на них).
4. Игроку насрать на геймдизайнера. В 99% случаев игрок даже не знает, кто делал его игру. Ему важно только получить удовольствие от игры. Что он и делает, рационально скипая скучные моменты игры.

>По твоему игра в игры - это дрочь с инвентарем, постоянный бэктреккинг, и отсутствие наград за испытание?


1. Дрочь с инвентарём может быть основополагающим для всего геймплея, пример см. выше (выживач).
2. Путешествие назад, в город или на базу - это уже проблема левел-дизайна. Делай так, чтобы прогулки были не слишком долгими или чтобы из любой точки можно было пойти в разные города (для разнообразия).
3. Испытание должно быть само по себе наградой. Игроку должно быть приятно проходить испытание. Если игроку неприятно проходить испытание, он не будет его проходить даже ради супер эпичного лута, потому что он играет ради удовольствия, а не ради виртуальных пикселей.

>>28513

>каждая вилка была ценной - потому что всю игру ты был бомжом


Лол, так у тебя просто синдром Плюшкина. ИРЛ ты тоже любое говно с мусорки домой несёшь или как? Не все игры заточены под больных синдромом Плюшкина, извини уж. Играй в игры, которые позволяют набивать бездонные карманы бесконечным лутом...

>>28543

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


>просто делать переодевание в одну кноку


1. Делая переодевание однокнопочным действием ты полностью обесцениваешь саму механику "комплектов снаряжения". Потому что если игрок может в любой момент переодеться в нужный шмот, это равносильно тому, что никаких комплектов нет - он всегда в подходящем снаряжении. Смысл тогда эти комплекты делать?
2. Если мы говорим об РПГ играх, то они как правило заточены на некоторый уровень реализма, чтобы игрок мог ОТЫГРЫВАТЬ РОЛЬ, например, быть "святым рыцарем" в блестящих доспехах и с освящённым мечом, борящимся с порочной нежитью и порождениями тьмы, но бессильным против магов света и чистых душой существ. Этот святой рыцарь не должен внезапно переодеваться посреди боя и брать в руки другое оружие, иначе какой он святой рыцарь? Так, фальшивка какая-то... Да и как ты себе это представляешь? Монстры нападают на рыцаря, а он такой "падажжи..." и, резко сбросив броню, вдруг выхватывает из жопы лук на +50 урона и становится дофига опытным лучником? Херовый отыгрыш в твоей РПГ получается.
3. Комплекты снаряжения могут сосуществовать с ограниченным инвентарём. Да. У тебя есть база, на базе есть сундуки с различным шмотом. Ты на базе решаешь, в какую локацию пойти. Зная, какие монстры обитают в той локации, ты выбираешь подходящий шмот. Если ты идёшь в ледяные пещеры, ты берёшь огненное оружие и защиту от мороза, а если идёшь в жерло вулкана, то берёшь морозящее оружие и защиту от огня. Логично? Логично. Левел-дизайн должен это учитывать - чтобы в ледяных пещерах не спавнились огненные ифриты, а в жерле вулкана не спавнились ледяные големы. Конечно, могут быть универсальные монстры, но тут ты просто должен выбирать, чем ты пожертвуешь, выбирая тот или иной комплект оружия и брони. Всё просто - заранее продумывай свои действия и всё будет хорошо.

Надеюсь, когда-нибудь ты найдёшь себе игру по душе или сделаешь игру мечты, аналогов которой пока нет. В любом случае, удачи и успехов, не забудь собрать мусор со свалки по дороге домой)) Шучу, не обижайся.
505 828810
>>28368

>это и есть издевательство над игроком


В БОЛЬШИНСТВЕ игр инвентарь ограничен как минимум количеством, а в РПГ зачастую ещё и весом. Ограничение по форме предметов встречается реже и лучше бы вообще не встречалось, но оно тоже встречается. И во все эти игры играют. Если тебе в такие игры играть не нравится, это скорее твоё субъективное мнение, не сильно влияющее на статистику конкретных игр. Что есть издевательство над игроком - должны решать сами игроки (целевая аудитория конкретной игры), а не один ты.

>Игрок устает туда-сюда бегать, от данжа до торговца


Ну и не будет собирать всякий мусор. В идеале пусть лишний лут сам деспавнится или подбирается какими-нибудь мобами/НПЦ, чтобы не замусоривать локации. А вообще, балансируй систему лута, чтобы из дохлой крысы первого уровня не выпадало 5 шмоток, которые игроку вообще не нужны и приходится оставлять их на земле.

>это один из антипаттернов геймдизайна


И как он называется/где о нём прочитать?

>Игроки ненавидят такое


Абстрактные игроки ненавидят любой элемент геймплея. Эти же абстрактные игроки обожают любой элемент геймплея, даже самый садистский. Всё зависит от выбранной группы игроков (ЦА).

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


Это значит, что твои "секреты и загадки" нахрен не нужны данному конкретному манчкину игроку, раз он всё время собирает всякий мусор и бегает продавать его торговцу, вместо поиска секретов и решения загадок. Вопрос, который ты должен задать сам себе, почему игрок занимается уборкой бесполезного мусора вместо поиска секретов и решения загадок? Может, он не знает о существовании секретов, а загадки слишком сложны?

>То есть игра теряет половину игрового контента


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

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


Разве исследование == новый лут? Обычно в играх исследование связано с получением какого-то нового игрового опыта, а лут - это второстепенное, необязательное. К тому же, даже если инвентарь забит под завязку, а ты нашёл что-то новое, это новое может оказаться значительно лучше мусора в инвентаре и ты просто скинешь на землю лишнее, чтобы поднять это новое.

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


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

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

Лично я никогда не имел фрустрации от ограниченного инвентаря в играх. Правда, я редко играю в классические РПГ с квестами, лутом и т.д. Мне больше нравятся игры на выживание с элементами песочницы, в таких инвентарь почти всегда жёстко ограничен и это очень хорошо - безлимитный инвентарь убивает весь кайф от игры. Если бы инвентарь был безлимитным, не было бы смысла строить сундуки и сортировать имущество, не было бы смысла строить жилища/базы/транспорт, не было бы необходимости продумывать тактику следующих действий, сортируя в инвентаре инструменты, оружие, патроны, лечилки, еду и так далее. Короче, ограниченный инвентарь - очень важный компонент таких игр, формирующий геймплей, а не просто играющий на погружение (чаще всего ты таскаешь буквально тонны ресурсов в "рюкзаке", так что ни о каком реализме речи не идёт).

>>28424

>такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда


>снова обесценивая работу геймдизайнера


1. Скипать скучную часть игры - это нормально.
2. Если игра лично тебе скучна на 90% - эта игра просто не для тебя, ты не входишь в её ЦА.
3. Если игра скучна для большинства игроков, которым эту игру продали - её геймдизайн говно, а её геймдизайнера нужно уволить или отправить на переобучение. Либо нужно уволить маркетологов, которые продали игру не тем игрокам, которым нужно было продать (пример: маркетолог советовал сделать анимешную стилистику графики, но геймдизайнер таргетировал игру на любителей вахи, в итоге игроки, купившие игру за графику, недовольны геймплеем, потому что он рассчитан не на них).
4. Игроку насрать на геймдизайнера. В 99% случаев игрок даже не знает, кто делал его игру. Ему важно только получить удовольствие от игры. Что он и делает, рационально скипая скучные моменты игры.

>По твоему игра в игры - это дрочь с инвентарем, постоянный бэктреккинг, и отсутствие наград за испытание?


1. Дрочь с инвентарём может быть основополагающим для всего геймплея, пример см. выше (выживач).
2. Путешествие назад, в город или на базу - это уже проблема левел-дизайна. Делай так, чтобы прогулки были не слишком долгими или чтобы из любой точки можно было пойти в разные города (для разнообразия).
3. Испытание должно быть само по себе наградой. Игроку должно быть приятно проходить испытание. Если игроку неприятно проходить испытание, он не будет его проходить даже ради супер эпичного лута, потому что он играет ради удовольствия, а не ради виртуальных пикселей.

>>28513

>каждая вилка была ценной - потому что всю игру ты был бомжом


Лол, так у тебя просто синдром Плюшкина. ИРЛ ты тоже любое говно с мусорки домой несёшь или как? Не все игры заточены под больных синдромом Плюшкина, извини уж. Играй в игры, которые позволяют набивать бездонные карманы бесконечным лутом...

>>28543

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


>просто делать переодевание в одну кноку


1. Делая переодевание однокнопочным действием ты полностью обесцениваешь саму механику "комплектов снаряжения". Потому что если игрок может в любой момент переодеться в нужный шмот, это равносильно тому, что никаких комплектов нет - он всегда в подходящем снаряжении. Смысл тогда эти комплекты делать?
2. Если мы говорим об РПГ играх, то они как правило заточены на некоторый уровень реализма, чтобы игрок мог ОТЫГРЫВАТЬ РОЛЬ, например, быть "святым рыцарем" в блестящих доспехах и с освящённым мечом, борящимся с порочной нежитью и порождениями тьмы, но бессильным против магов света и чистых душой существ. Этот святой рыцарь не должен внезапно переодеваться посреди боя и брать в руки другое оружие, иначе какой он святой рыцарь? Так, фальшивка какая-то... Да и как ты себе это представляешь? Монстры нападают на рыцаря, а он такой "падажжи..." и, резко сбросив броню, вдруг выхватывает из жопы лук на +50 урона и становится дофига опытным лучником? Херовый отыгрыш в твоей РПГ получается.
3. Комплекты снаряжения могут сосуществовать с ограниченным инвентарём. Да. У тебя есть база, на базе есть сундуки с различным шмотом. Ты на базе решаешь, в какую локацию пойти. Зная, какие монстры обитают в той локации, ты выбираешь подходящий шмот. Если ты идёшь в ледяные пещеры, ты берёшь огненное оружие и защиту от мороза, а если идёшь в жерло вулкана, то берёшь морозящее оружие и защиту от огня. Логично? Логично. Левел-дизайн должен это учитывать - чтобы в ледяных пещерах не спавнились огненные ифриты, а в жерле вулкана не спавнились ледяные големы. Конечно, могут быть универсальные монстры, но тут ты просто должен выбирать, чем ты пожертвуешь, выбирая тот или иной комплект оружия и брони. Всё просто - заранее продумывай свои действия и всё будет хорошо.

Надеюсь, когда-нибудь ты найдёшь себе игру по душе или сделаешь игру мечты, аналогов которой пока нет. В любом случае, удачи и успехов, не забудь собрать мусор со свалки по дороге домой)) Шучу, не обижайся.
506 828814
>>28780
>>28781
Я бы сделал намного лучше вас обоих. Беда в том, что я "работаю" на другом движке.

мимо проходил
507 828817
>>28780
Сумасшедший, просто сделай ScriptableObject со всеми этими полями и нормальными ссылками на ресурсы, а не ебанутый Resources.Load (который вообще не для этого создавался)

Тебе несколько дней подряд говорят как правильно делать, а ты продолжаешь срать себе в штаны.
508 828818
>>28814
Ты не сможешь сделать лучше, чем гайды с хабра. это невозможно. импосибуру, анбеливбл
509 828821
>>28817

>просто сделай ScriptableObject



не буду. И что ты мне сделаешь?
510 828823
>>28818

>гайды с хабра


Их пишут такие же люди, как и мы с вами. Только у них никнеймы и аватарки. В остальном они тоже ошибаются, делают сомнительные решения и т.д. Алсо, невозможно написать универсальный гайд, если он касается чего-то сложнее совсем тривиального. В каждом конкретном случае может быть выгоднее тот или иной способ. В программировании всегда много разных путей, и если бы один из путей был выгоден в 100% случаев, программисты были бы не нужны - просто возьми готовое решение.

навык демагогия +100 не даст соврать
511 828825
>>28817

>а не ебанутый Resources.Load



переделаю на System.IO.File.
512 828844
Не изобретайте велосипедов, господа. Всё уже придумано до вас. Максимум что вы породите — это хуёвую недоделанную версию существующего кода, щедро добавив кривизны и ошибок. Читайте книги и код профессионалов, благо что сейчас это сделать проще простого.
513 828849
>>28844

> Читайте книги и код профессионалов


Лучше послушайте меня, не слушайте этого уебана, книги не нужны, начинайте делать игру не мечты и всё у вас будет заебись, если что-то непонятно - гугл, ютуб
514 828871
Анон, может тупой вопрос но поясни про корутины.
Вот у меня объект и он выполняет какую-то корутину. При этом ему нужно время на выполнение корутины, например, в корутине время считается.
Но тут я снова обращаюсь к объекту и вызываю эту же корутину.
Что произойдет? У меня же, по идее, нет двух экземпляров корутины которые работают параллельно и независимо. Я обосрусь тут?
515 828882
>>28871
Если go активный и не уничтожен и ты не стопнишь корутину вручную, она будет работать. Ты это легко можешь чекнуть добавив логи и запустить, ну или проще прочитать документацию, которая гуглится в первую выдачу
516 828898
Смотрел одним глазом про мвп или мвц архитектуру. Какие-то примитивные примеры, типа есть середина, которая имеет доступ к эвентам концов и их друг с другом дружит. Ну ок. У меня есть синглтон со всеми инпут эвентами и слушатели сами на него подписываются и отписываются. Какие подводные так сказать? Типа что я слушателей должен сам искать по коду?
517 828913
>>28898
хуйбудешь кододебилище
518 828917
>>28913
>>28780
твое говно?
519 828928
>>28871

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


IEnumerator KOPYTNHA() {
if(coroutineRunning) return;
coroutineRunning = true;
...
coroutineRunning = false;
}
520 828946
Че есть почитать или посмотреть по оптимизации рендеринга?
Про дроу колы и как включить батчинг я в курсе, нужно что-то более глубокое и неочевидное
16572127928020.png1,8 Мб, 1144x1280
521 828959
Анон, мне нужно разобраться в РОТАЦИЯХ. Есть к примеру кватеринион и у него метод типа lookAt, там всё ясно. Но что если у меня нет предмета на который надо смотреть, а надо чтобы например от этого предмета он смотрел в сторону на N градусов, как мне быть тогда?
522 828960
>>28928
private Coroutine runningCoroutine = null;

void DoSomething()
{
if(runningCoroutine == null)
{
runningCoroutine = StartCoroutine(nameof(MyCor));
}
}

IEnumerator MyCor()
{
// DO

runningCoroutine = null;
}


Тут более контролируемо, есть ссылка на корутину, которую можно стопнуть.
image.png9 Кб, 851x664
523 828981
Есть аноны кто шарит за навмеш? У меня случилась проблема, на пике примерно обрисовал ее. Есть две ареи: дорога (дорога более выгодная по поинтам) и земля. Агент после того как из земли переходит на дорогу не хочет обратно на землю возращаться, даже если его конечная точка находится именно там. На что указывает стрелочка этого не происходит.
524 828982
>>28959
Кодишь симулятор девственника?
525 828988
>>28946
Извини, братишка, походу статьи на хабре нет.
526 828997
>>28959
Все просто. Используешь AngleAxis.
527 829001
>>28882
Спасибо, понял. Просто у меня возникли сомнения из-за того что я в корутине использовал одну "глобальную" переменную. Заменил на локальную и все стало нормально и логично.

Алсо, глянул документацию. Забавно, что если отключить объект через SetActive(false), то корутина тоже остановится. Так что потенциально не такие уж они неостановимые, эти корутины.
528 829008
>>29001
Это плюс корутины что они привязаны к жизненному циклу go, в отличии от тасок которые вручную надо стопить, создавать каселятион токены и т.д.
529 829029
>>28997

>AngleAxis


Типа сперва сделать LookAt а потом подкорректировать AngleAxis? Или в качестве второго аргумента можно указать направление?
530 829038
>>28981
Усиленно реквестирую, вроде во всей инфе что нашел за день никто блять с такой проблемой не сталкивался, что Агент из одной ареи в другую не мог, причем изначально стартуя из зеленой ареи.
531 829039
>>29038
Паготь, пытаюсь найти гайд на хабре
532 829042
>>29038
там ничего у тебя сверху, внизу нет? что то ему мешает, может дорога возвышенность с которой он не может сойти? Почекай настройки. Если долго сидишь создай пустую сцену сделай там часть функционала с 0 и попробуй так же
533 829055
>>29042
Нашел? Во всех гайдах, что я видел там просто пересказывают документацию юнити.
534 829063
>>28981
Да если вы думаете, что впустую провели день, то вспомните этот реквест. Пиздец оказывается, чтоб путь нормально высчитывался все слои должны быть на одной координате. Мое ебало представьте.
535 829192
Хочу однажды устроится как юнити программист. В вакансиях пишут знать паттерны программирования.
Вопрос, какие паттерны лучше изучить, какие вообще используются в геймдеве? Из всего списка требуемого это для меня самое темное.

Вообще, я думаю, что пока я не поработаю в команде над проектами, никакая теория не даст мне нужного понимания, поэтому сначала надо побыть джуниор-рабом. Там конечно конкуренция, но у меня с юнити опыт большой и есть 3 завершенные игры
536 829207
>>29192

>побыть джуниор-рабом


так ты устройся сразу на сениора, хули
537 829208
>>29192

>Там конечно конкуренция, но у меня с юнити опыт большой и есть 3 завершенные игры


помню пришел дев на собес, есть две игры и учит детишек программированию через игры как мило, у него говнокод в котором нехуя не понятно, addcomponent & findobjectoftype по всему проекту, 10 скриптов которые делают все.
Не взяли на джуна сразу на сениора-лида
538 829209
Мне кажется, самое главное для программиста - это умение строить расширяемую и гибкую архитектуру. Это супер важное и уже достаточное умение чтобы делать игры в команде, не страдая совместным хроническим прогревом жопы.

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

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

Или я могу работать программистом не думая о паттернах? Этим пусть занимаются специальные люди ? (более высокоуровневые программисты, или там кураторы, на чью должность я не претендую)

Ну вот допустим мне дали задачу: надо реализовать, чтобы игрок мог хакнуть все камеры в здании через компьютер, чтобы через них смотреть и переключаться между ними. Я такое вполне могу сделать. Но я хз правилен ли будет код с точки зрения "гибкости и расширяемости" и "по паттернам", что так требуют в вакансиях.

В общем, пока не поработаю в команде, наверное, нет смысла что-то изучать по паттернам, ибо такое можно только в команде понять, на живых примерах
539 829217
Zenject - это какая глупость? Фабрики и сигналы - это буквально одно и тоже. Что за бред? Ещё скажите что я не прав.
540 829282
>>29192

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


Тебе обязательно надо знать обсервер - в общем-то эвенты это оно и есть. Ими ты обязательно должен знать как пользоваться.

Неплохо бы ещё команду, стратегию, евент бас, сервис локатор(но учти, что он считается анти паттерном)

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

Model View Presenter неплохо знать тоже

Dependency Injection очень многие используют

Реактивное програмиирование(Unirx гугли) много где используют.

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

Пулинг кстати нередко тоже называют паттерном, ну разумеется ты должен уметь пулы делать.
541 829286
>>29282

>Тебе обязательно надо знать обсервер - в общем-то эвенты это оно и есть.



а в чем прикол фигачить какие-то интерфейсы и прочее, если делаешь просто паблик эвент и инвоакаешь и типо результат такой же. в чем профит?
542 829289
>>29286
Интерфейсы для совсем другого нужны.

Без интерфейсов ты делаешь Slime.OnAttack += ...
А с интерфейсом IEnemy.OnAttack += ...

А что там за IEnemy тебя не ебет
543 829296
>>29282

> Реактивное програмиирование(Unirx гугли)


Оно живое? Последний коммит в 2020.
image.png163 Кб, 1116x936
544 829298
>>29296
Не лезь в реактивное программирование. Оно тебя сожрёт.
545 829300
>>29289
Вот я и спрашиваю, нахуя делать паттерн обзервер с тремя интерфейсами, если можно ебануть айенемионаттак+=. в чем так сказать профит подхода? Дроча то явно чуть больше, чем строчка с эвентом.
546 829310
>>29300

> Вот я и спрашиваю, нахуя делать паттерн обзервер с тремя интерфейсами, если можно ебануть айенемионаттак+=. в чем так сказать профит подхода?


А, ты про это.
Не, вручную обсервер тебе делать не надо - евенты это и есть обсервер который уже за тебя сделан.
547 829316
>>24236 (OP)
Хули оно блять вылетает.

Начал делать игру майнкрафт только лучше, осваиваю юнити и эта хуйня стабильно намертво зависает раза 3 в день после изменений кода. Просто висит минутами без прогресса на updating scripts или reloading assets и все, нихуя.

Это у всех так и вы просто продолжаете есть кактус или это я одаренный?

P.S. После убийства через диспетчер задач эта хуйня еще и gpu ускорением перестает пользоваться, 3 фпса в редакторе, пока не перезагружусь.
P.P.S. Переустанавливать пробовал
P.P.P.S. Еще использую райдер, может он че-то ломает
image.png3 Кб, 506x103
548 829318
>>29316
Как жить нахуй
549 829319
>>29316
У меня все норм, за несколько месяцев 1 раз вылетело. Че у тебя за комп?
550 829329
>>29319
Ноут Dell XPS 15 9560 (i7 7700k, gtx 1050, 40gb ram, ssd)
Остальные тулзы / игры нормально себя ведут, только юнити чудит

Ну хорошо хоть что у тебя не вылетает, значит технология нормальная хотя бы можно на годот не переезжать
5.mp4612 Кб, mp4,
1280x720, 0:03
552 829334
>>29329

> Ноут


> 40gb ram

553 829356
Рофлан конечно, больные чет бугуртят тут на мой говнокод, а я тем временем с первого дня некоторые его части пишу по паттерну обзервер, даже не зная о его существовании пхех. А бугуртеры только по гайдикам чет могут. Недостойные мущщщины, аузубилля.
554 829366
>>29356
лол, ты изобрел event?
555 829377
>>29366
Я пошел дальше, я его просто использую)))))
556 829382
Чел какой-то спрашивал, как сделать так, чтобы скилы реагировали на изменение характеристик. Я посоветовал ебануть эвент, и нужные скилы подписывать на нужные характеристики и все чики пуки. какой-то местный клоун сказал, что говно и типо запутаешься и притащил первый же нубский говногайд через издерти нахуеверченый, буквально первый в гугле, там конечно не запутаешься, ага. А рофл в том, что гайдов через эвент просто нет лол ахахпахпха
557 829406
Как ПРОСТО достать текстуру глубины из камеры и сохранить в пнг?
558 829417
>>29382
Ну вообще да через евенты все очень красиво делается. Объясните только почему вы используете юнитевские ебенты вместо майкрософтских? Там есть, что ли какие-то крутые фишки?
559 829420
А есть какие-нибудь полные туториалы по динамическому изменению персонажей в игре? Вот есть моделька со скелетом и анимациями из Mixamo. Нужно на ней менять одежду, в руки совать разное оружие, но чтобы лицо и голые части тела оставались теми же. Как такое реализовать? Куда копать?
560 829427
>>29417

>почему вы используете юнитевские ебенты


Ну типо есть такой момент, что кнопки кушают только юнити эвенты. В остальных местах использую обычные.
561 829446
>>29417
юнити эвенты еще в иерархи видно. для тех кто привык все в редакторе делать наверное удобно.
562 829451
>>29427
О неплохо, я никогда не задумывался об этом и в случае если нужен было ивент вызвать создавал метод.
>>29446
Капец.
563 829484
юнитач, посоветуй как поступить
я идиот который запилил ассет с ебенячей кучей блендшейпов но не подумал что потом, возможно, нужно будет использовать два абсолютно разных материала на одном рендерере
я могу разделить свой ассет на две части на границах материалов и назначить каждому свой, но это удваивает количество блендшейпов которыми мне надо будет управлять.
возможно ли в юнити объединить блендшейпы в один, но для разных мешей?
или же стоит допилить шейдер чтобы можно было две разные текстуры использовать?
564 829842
https://www.humblebundle.com/software/unity-tools-software
чё думаете? для себя несколько интересных приметил, например destroyit, unistorm

а mech combat - это пиздец, видел в стиме несколько мобильно-донатных помоек, которые почти не отличаются, но от разных разрабов может так же сделать?
565 830149
>>29842
Что за бандл? У меня не грузит чето
566 831906
а чего тред сдох
567 832002
>>31906
все научились
Тред утонул или удален.
Это копия, сохраненная 19 января в 16:36.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски