Gamedev

Ответить в тред Ответить в тред
Check this out!
Unity thread # 9 Аноним 07/03/20 Суб 16:32:02 6471631
Unity-GDC2020-B[...].png 1329Кб, 1280x720
1280x720
image10-768x634.jpg 64Кб, 768x634
768x634
image1-6.png 507Кб, 1200x630
1200x630
image2-5-1280x7[...].png 863Кб, 1280x720
1280x720
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

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

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

На Unity сделано много замечательных игр - 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 - это начать делать игру и по мере разработки гуглить непонятные моменты.

Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
Аноним 07/03/20 Суб 16:59:54 6471702
Поясните за лучи.
Допустим я хочу нарисовать луч исходящий из gameobjecta пустого (насколько я понял нужно взять его трансформ)
Но как кинуть сам луч ?
Ещё видел в видосах ему можно задать длинну и цвет.
Аноним 07/03/20 Суб 17:02:25 6471713
Аноним 07/03/20 Суб 17:42:13 6471804
layerweight1.png 184Кб, 1662x974
1662x974
layerweight2.png 35Кб, 1194x619
1194x619
В игре два режима - обычный и боевой. В боевом режиме игрок достаёт пушку и меняются его анимации.
Запилил два слоя анимаций, стейты для них идентичны.
Смену анимаций делаю, меняя "вес" слоя анимаций, т.е. начинается бой - вес "стандартного" слоя (Base Layer) опускаю до нуля, а вес "боевого" (gun) повышаю до 1.

В теории при входе в бой у меня должен играться слой gun, но по факту при смене "веса" слоя gun на 1 мне пишет дичь "invalid Layer index '-1' и ничего не играется, пока не верну базовый слой взад.
В гугле пишут, что такая ошибка может быть если скрипт не может найти стейт в новом слое, но стейты в обоих слоях одинаковы, различаются только сами анимации в них.
Чего я тут не понимаю?

Аноним 07/03/20 Суб 18:59:13 6472055
>>647180
Базовый слой должен быть всегда включен. Добавь ещё слой "idle" и переключай его вместе с "gun". А базовый слой не трогай.
Аноним 07/03/20 Суб 19:23:13 6472136
>>647171
Премного благодарен
Аноним 07/03/20 Суб 23:51:46 6472637
Вы обращали внимание на глюк автомобиля из стандартных ассетов?
Если "заглушить мотор" машина не стартует вперёд пока не нажмёшь сначала "S" т.е. задний ход.
Это баг или фича? Как пофиксить?
Я думал это я напартачил, скачал официальный пак - там то же самое.
Аноним 08/03/20 Вск 00:32:52 6472768
Геймдвач, посоветуй ассетов для юнити/стороннего софта для рисования отладочных графиков в риалтайме. Будет хорошо, если даже геймдизайнер справится с добавлением переменных в отрисовку.
Аноним 08/03/20 Вск 00:34:48 6472779
>>647276
Можно даже немного платных
Аноним 08/03/20 Вск 07:14:23 64729610
анон кинь в меня ссылкой видео (а лучше целого канала) про то как работать с анимациями моделей.

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

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

Короче надо гайды
Аноним 08/03/20 Вск 07:39:56 64729711
>>647296
Смотри готовые примеры с того же сайта юнити. Смотри многочисленные видосики. Анимации сложная штука и на словах не объяснить. Надо самом щупать, тогда быстро освоишь.

Ещё посмотри новый Animation Rigging. Он пока в превью, но мне уже нравится. Платная альтернатива - FinalIK. Его можно бесплатно скачать на пиратских сайтах.
Аноним 08/03/20 Вск 13:08:51 64736212
45654564.png 12Кб, 870x331
870x331
145933208417394[...].jpg 88Кб, 999x675
999x675
>Анимации сложная штука

Ебанный аниматор со своими слоями довёл вчера мою сраку до точки плавления >>647180. В теории вроде понятно, на практике нормально работать не хочет. Вместо переключения слоёв решил проблему радикально, буду тупо заменять контроллер аниматора в рантайме. Пошли они нахер.
Аноним 08/03/20 Вск 14:16:53 64737713
Аноним 08/03/20 Вск 16:53:00 64741914
Насколько же burst увеличивая производительность, пиздец просто, в десять раз
Аноним 08/03/20 Вск 16:54:06 64742115
Unreal unity engine 5
Аноним 08/03/20 Вск 17:03:27 64742216
Пиздец.jpg 20Кб, 590x361
590x361
>>647421
Сильно хочется их объединения в супер движок на котором даже мы смогли бы делать игоры
Аноним 08/03/20 Вск 18:18:42 64743817
>>647163 (OP)
Ну что, пиздюки, похоже, придётся переходить на ваш сраный юнити. Надоело писать велосипеды вместо игр.
(Автор этого поста был предупрежден.)
Аноним 08/03/20 Вск 18:33:09 64744318
>>647438
Давай, давай, хватит уже бояться и прятаться.
Аноним 08/03/20 Вск 18:50:32 64744919
>>647443
Я продолжу бояться, т.к. юнити лаунчер может в любой момент перестать пускать меня в программу. мало ли что им взбредёт в голову. Но другого выхода нет. Это как вордпресс для говносайтов, все используют его, приходится следовать за толпой.
Аноним 08/03/20 Вск 18:55:27 64745520
>>647449
>юнити лаунчер может в любой момент перестать пускать меня в программу. мало ли что им взбредёт в голову.
А еще может метерит тебе на голову упасть, такая же вероятность. Ну бойся, хуль. Может уебищный говнодот взять, там никаких рисков!
(Автор этого поста был забанен. Помянем.)
Аноним 08/03/20 Вск 19:03:38 64745821
>>647455
>юнити лаунчер может в любой момент перестать пускать меня в программу. мало ли что им взбредёт в голову.
>А еще может метерит тебе на голову упасть, такая же вероятность.
Вот интересно кстати, край же изменял лицензию, после того как на нем игра какая-то вышла, прей по-моему. Заработал он после этого или еще меньше людей стало его юзать
Аноним 08/03/20 Вск 20:27:59 64748022
>>647449
Ну никогда же не было такого, чтобы фирма запрещала использовать свой движок. А когда игру переписывали на новый движок, изымала всё оборудование студии, в судебном порядке обязывала изымать тиражи игры и доводила студию до банкротства штрафами. Не было такого. Хотя юнити в этом плане одна из самых безопасных, почти как тот же край, скоро крайтек разорится нахуй и движок окончательно уйдёт в опенсорс.

>>647458
Так прей на четвёртой версии, а лицензия менялась на пятую. Да и там менялось в сторону большей демократичности.
>Заработал он после этого
Они жопу амазону продали за сотни денег и амазон выкатил ламберярд. Сомнительная сделка на самом деле.
Аноним 08/03/20 Вск 20:31:53 64748323
>>647480
>Так прей на четвёртой версии, а лицензия менялась на пятую. Да и там менялось в сторону большей демократичности.
Да не, они сначала сделали бесплатной все, а когда вышла сделали 5% как у аниала
>>647480
>скоро крайтек разорится нахуй
Ну а что они гениальные игры не пилят, могли же.
Аноним 09/03/20 Пнд 00:20:49 64751924
maxresdefault.jpg 81Кб, 1280x720
1280x720
Есть вопрос, суть токова:
Делаю аи для игры, начал с навигации. На уровнях присутствуют двери, которые персонажи должны открывать с помощью располагающейся рядом кнопки, вентиляции, в которые персонажи смогут залезать пригнувшись и тд. То есть, рассуждая терминами юнити навмеша, есть офф-меш линки, но чтобы ими воспользоваться, персонажу нужно совершить определенное действие. Как персонаж должен получать информацию об этих возможностях и необходимых для их реализации условиях?

Подозреваю, что вопрос базовый, и должно быть достаточно будет денек поковыряться с апи, но может есть здесь знатоки, которые ускорят процесс.
Аноним !gOlrx2AM8I 09/03/20 Пнд 00:56:38 64752525
68978418--portr[...].jpg 19Кб, 300x450
300x450
>>647519
>То есть, рассуждая терминами юнити навмеша, есть офф-меш линки, но чтобы ими воспользоваться, персонажу нужно совершить определенное действие.
офф-меш линком будет как раз кнопка открытия двери. ну или другое аналогичное действие.
если пути графа имеют цену прохода, то цена прохода через дверь соотвественно будет равна проходу к кнопке + проходу к двери, чтобы у ии была "мотивация" сьебывать жать кнопку вместо обычной рутинной беготни по графу навмеша

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

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

вообще, знаешь, ни разу не видел реализации подобного в играх. мб и нахуй не нужны такие шарады
Аноним 09/03/20 Пнд 01:24:21 64752926
>>647438
>(Автор этого поста был предупрежден.)
Это чё за хуйня? Тебе делать нечего, долбаёб?
P.S. Скачал Юнити 2019.3, что дальше?
Аноним 09/03/20 Пнд 03:59:09 64753827
>>647519
У ии в агента отключаешь
https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent-autoTraverseOffMeshLink.html

потом в апдейте проверяешь на навмешлинке ли он
https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent-isOnOffMeshLink.html

К самому навмешлинку лепишь триггер в котором устанавливаешь тип линка (дверь, кнопка, че хочешь) который он передаст ии

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

Самая простая реализация до которой я додумался
Аноним 09/03/20 Пнд 07:10:16 64754528
Аноним 09/03/20 Пнд 08:30:02 64755229
>>647483
Да нихуя оно и небыло бесплатным. Когда-то был крайэнжин сдк с версией движка что-то типа 3.5 с абсолютно непонятными условиями, потом была четвёртая версия движка с лицензией 10 баксов за место. Потом вышла пятая "плати сколько хочешь" версия движка, но прей-то на четвёртой. Потом вышла 5.5 "плати 5%" версия, но с оговоркой, что если ты зарегал проект до какой-то даты, то остаёшься на старой лицензии "плати, сколько хочешь". У юнити же вообще лицензирование удобное до охерения, есть вообще ретроактивная лицензия, когда ты покупаешь лицензию на новую версию и пользуешься под ней старой версией движка. Уверен, многие до сих пор на 2017 юньке пилят.

>>647529
>Это чё за хуйня?
Модер-долбоёб горе на доске.
Аноним 09/03/20 Пнд 12:07:04 64758730
>>647538
Спасибо, звучит как хорошая отправная точка.
Аноним 09/03/20 Пнд 13:51:14 64760231
>>647545
Не привык писать игру, привык писать движок. Вроде тут уже всё есть, и гейм обжекты, и класс трансформ, и граф сцены... Что делать-то?
Аноним 09/03/20 Пнд 14:22:27 64761132
>>647602
Определиться какую игру хочешь пилить, будешь ли сам делать модельки и прочее или рисовать если 2д. Если нет то делаешь игру из болванок ищешь художника. Если все сам можешь пару моделек запилить и уже с ними игру делать
Аноним 09/03/20 Пнд 15:06:01 64762533
>>647611
А может, пилить свой движок поверх юнити?
Аноним 09/03/20 Пнд 15:14:43 64763134
Как откатить юнитивский рендер пайплайн до вида а-ля DirectX 8? С шейдингом по Ламберу, с жёсткими олдскульными тенями, без этого ебучего PBR?
Аноним 09/03/20 Пнд 15:15:27 64763235
image.png 1122Кб, 1470x669
1470x669
image.png 757Кб, 1451x593
1451x593
>>647625
Кто ж тебе запретит, для прогера это идеально, игры сложно придумывать, слишком разноплановое творчество, движки чисто задача для прогера. Можешь плагинчик какой-нибудь запилить, например констрактовские события для 3д движка, такого еще нигде нет. Для юнити есть много систем упрощенного программирования, но они все одинаковые на нодах, популярная только одна. Иногда простенькие плагинчики могут приносить неплохой доход. Может быть конкретный шаблон игровой. Но тут тоже четкого пути нет, некоторые плагины слишком универсальные, для рпг например огромные, проще сишарп изучить чем изъебы этого плагина.
Аноним 09/03/20 Пнд 15:36:26 64763336
>>647631
Так, разобрался, вроде есть встроенные легаси шейдеры
Аноним 09/03/20 Пнд 19:10:27 64765237
15082528709713.jpg 109Кб, 960x696
960x696
Антохи, JS-долбоеб из веба решил закатиться в юнити.
Подскажите, UnityScript больше похож на ES5 или все-таки умеет штуки из ES6+? И поддерживается ли все еще US? Слышал от коллеги, что его выпилили/собираются выпилить
Аноним 09/03/20 Пнд 20:08:57 64766738
>>647652
Давно выпилили. Из юнити постоянно выпиливают какие-то фичи.
Например, я только что узнал, что из версии 2019.3 выпилили окно настроек: https://forum.unity.com/threads/the-display-resolution-dialogue-has-been-deprecated-and-will-be-removed-in-a-future-version.670798/

То есть теперь чтобы запустить игру на втором мониторе, нужно писать свой сторонний launcher (!) отдельно от юнити и запускать игру через командную строку либо сохранять/читать файл настроек.
Аноним 09/03/20 Пнд 20:16:27 64766939
>>647652
>UnityScript
забудь, переучивайся на решетку
Аноним 09/03/20 Пнд 22:56:10 64769940
Кто смог украсть книгу Hands-On Game Development Patterns with Unity 2019? Наверное там есть что-то ценное.
Аноним 10/03/20 Втр 03:22:10 64772541
>>647632
>например констрактовские события для 3д движка
а поподробней. я другой анон, хочу запилить ассеты, но что-то как-то идей нет (все мои идеи уже есть в сторе)
Аноним 10/03/20 Втр 03:57:12 64773042
>>647652
Выпилили. Но если норм знаешь Js, сипарашу легко выучишь.
Аноним 10/03/20 Втр 04:43:10 64773343
Аноним 10/03/20 Втр 07:56:27 64773544
>>647625
Долбоебина, ты не можешь поверх юнити (да и любого готового движка с закрытым кодом) написать движок, ты можешь написать только оболочку к движку.
Аноним 10/03/20 Втр 08:08:03 64773845
>>647733
Двачую. Сишарп легко выучить вне зависимости от того, какие языки знаешь.
мимовыучилшарп заджвамесяца
Аноним 10/03/20 Втр 08:10:35 64774046
Поцоны, дублирую вопрос из утонувшего треда. Есть класс Unit, который вешается на перса, и в котором много листов разного типа для модификаторов характеристик персонажа. Выходит так, что почти все они в каждом юните остаются пустыми, непустой только один-два. Юнитов на перса вешается дохуища. Как лучше делать, инициализировать листы юнита сразу и таскать с собой уйму пустых листов, или оставлять их null, а инициализировать нужные налету, когда добавляется модификатор соответствующего типа? В гугле говорят, что между null и пустым листом надо всегда выбирать пустой лист. Но у меня их будет реально дохуя, юнитов на персе может быть больше сотни, и в каждом - по 10 листов.
Аноним 10/03/20 Втр 08:28:14 64774547
>>647740
Я бы делал нулевые листы, которые лениво инициализируются при первом обращении.
> В гугле говорят, что
Говорят, что кур доят. Гуглить это конечно хорошо, но критически нужно относиться к любой информации. Даже к моему посту.
Аноним 10/03/20 Втр 08:49:30 64774748
>>647738
Подозреваю, что твой основной язык был не жс
Аноним 10/03/20 Втр 09:01:04 64774849
>>647747
Угадал.
А что не так с жс? Неужели есть язык, который засирает мозги программиста сильнее, чем турбовижуалбейсик Билла?
Аноним 10/03/20 Втр 09:10:30 64775050
>>647747
Да ладно тебе, синтаксис почти похож, стандартные функции те же. Адаптироваться придется не к шарпу, а к юнивской архитектуре, которая может выглядеть странно для программиста пришедшего из других областей.
Тебя же не плюсы просят дрочить.
Аноним 10/03/20 Втр 09:15:31 64775251
>>647740
Обычно такая ситуация означает, что что-то пошло не так. Ввести бы абстракцию для модификаторов и объединить листы. И юниты объединить!

Но если я абсолютно точно хотел бы оставить текущее положение вещей, то я бы предпочел ленивую инициализацию. Нехуй тратить ресурсы там, где не нужно. Можно даже сделать обёртку для твоих листов с кучей null проверок, чтобы было комфортнее.
Аноним 10/03/20 Втр 09:20:21 64775452
>>647750
> архитектуре, которая может выглядеть странно
Например?
Аноним 10/03/20 Втр 09:23:31 64775553
>>647735
Сука, я тебя выебу!
Аноним 10/03/20 Втр 09:30:47 64775754
>>647748
>>647750
Просто лично знаю примеры, когда жсник вкатывался в джаву или шарп, охуевал с типизации, охуевал с интерфейсов и выкатывался обратно.

Хотя с другой стороны их уровень как жсников я не знаю и с размашистости джавы сам охуеваю совсем чуть-чуть
Аноним 10/03/20 Втр 09:35:07 64775955
>>647750
Из пыха когда вкатывался в эти ваши шарпы, сначала такой "ебанись, оно выполняется вечно". Сейчас, наверное, уже на пыхе нихуя не смогу, а в шарпы быстро вкатился, когда понял, откуда точка входа. А жсники в принципе ебанутые.

>>647752
Двачую этого. Скорее всего листы на самом деле вообще нахуй не нужны, хранишь все моды в одном месте, а в юнитах только айдишники модов.
Аноним 10/03/20 Втр 09:35:50 64776056
>>647757
> охуевал с типизации, охуевал с интерфейсов и выкатывался обратно
Как-то несерьёзно он вкатывался. Если бы ему сулили зарплату 300КК/нсек, он бы и типизацию принял и интерфейсы бы постиг.
Аноним 10/03/20 Втр 09:47:17 64776157
>>647754
Собственный цикл жизни обьектов, начиная с кривой инициализации и кончая уничтожением, когда null не null.

Генераторы с yield вместо многопоточности.

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

Логика, размазанная по апдейтам, без единой точки входа и распределения.

Сюда же официальные мануалы, в которых публичные поля - норма, а умение написать пул объектов - нихуевое такое достижение.
Аноним 10/03/20 Втр 09:57:25 64776358
>>647761
> когда null не null
Уничтоженный инстанс не нуль во всех движках. Придирка непонятна.
> Генераторы с yield вместо многопоточности.
Многопоточность — это высший пилотаж кодинга, который здоровый преподаватель никогда не преподаст ньюфагам.
> Сюда же официальные мануалы, в которых публичные поля — норма
Сюда же. Мануалы — для ньюфагов. Профи юзают класс-референсы.
> Абуз рефлексии и дорогих переборов обьектов сцены во внешне невинных местах.
Сюда же. Ты доебался до мануалов (и туториалов наверняка) которые — для ньюфагов. Профи делают дорогие операции редко и контролируемо. Как пример — объявляют переменные с вызовом дорогих гетКомпонент в старте.
> Логика, размазанная по апдейтам, без единой точки входа и распределения.
Во всех движках логика размазывается по апдейтам. Потому что принцип такой, общепринятый всеми. Принцип главного цикла с коллбэками в него. Если у тебя логика непонятная тебе — то это проблема твоего проекта, а не движка.
Аноним 10/03/20 Втр 10:11:30 64776859
>>647763
Ты прав. Претензия моя в основном в том, что пока ты ньюфаг - тебя кормят говном. И пока станешь профи (а в таких условиях, может, никогда), наесться говна придется три ведра.

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

>Уничтоженный инстанс не нуль во всех движках. Придирка непонятна.
Зато знаешь где уничтожение зануляет референсы? Во всем остальном мире. Об этом я и говорил в начальном посте - трижды охуеешь, пока адаптируешься.
Аноним 10/03/20 Втр 10:17:33 64776960
>>647768
> Претензия моя в основном в том, что пока ты ньюфаг - тебя кормят говном.
Да. Качественное образование - очень редкая и ценная вещь. Грамотных преподавателей, которые умеют соблюсти баланс и не накормить учеников неюзабельным говном из легаси и упрощений, но при этом не вызывать в них уныния, преподавая сложные, трудноподъёмные вещи - вот эти преподаватели очень редки.
> Зато знаешь где уничтожение зануляет референсы? Во всем остальном мире.
Не буду спорить на сей счёт, навскидку не скажу, как там во всём мире кодинга.
Аноним 10/03/20 Втр 10:42:50 64777361
Я пытаюсь в фангус-юнити сделать открытый мирок. Как сделать так чтоб когда встретил персонажа, клацаешь на него и тот говорит с тобой?
Аноним 10/03/20 Втр 10:49:25 64777562
>>647773
Непонятный вопрос. Фангус это же для визуальных новелл ассет? И что в таком случае означает это кликанье по персонажу?
Аноним 10/03/20 Втр 11:00:37 64777963
>>647775
Я уже нашёл ответ. Просто нажимаешь персонажа чтоб поговорить с ним.
Аноним 10/03/20 Втр 11:23:01 64778364
1583828581040.png 118Кб, 297x300
297x300
Аноним 10/03/20 Втр 11:40:17 64778565
А кто знает как хождение локациям запилить? Когда простотипа кликаешь на стрелочки и фоновый рисунок сменяется. (В фангусе)
Аноним 10/03/20 Втр 11:47:28 64778766
>>647785
Бля, ну ты же сам сейчас нагуглишь ответ.
Аноним 10/03/20 Втр 11:54:06 64778867
>>647787
Увы. Жаль у меня нет крякнутой DevX GameRecovery, чтоб посмотреть как в других играх делали такое, прога стоит 500 баксов.
Я просто ищу среди кнопок может окажется такая спец функция чтоб Сцены сменялись.
Аноним 10/03/20 Втр 11:55:10 64778968
>>647788
> ищу среди кнопок
Документацию по фунгусу открой штоле.
Аноним 10/03/20 Втр 13:50:14 64783369
>>647752
>Ввести бы абстракцию для модификаторов и объединить листы. И юниты объединить!

Это было бы просто охуенное решение, если бы юнити умел сериализовать дженерики.

Ведь в принципе все модификаторы схожи, это просто число и ключ того значения, которое должно быть модифицировано. Различаются только типы этих ключей: это константы из перечислений Stat, Skill, и т.д., в статах соответственно сила, ловкость и другие, в скилах - одноручка, двуручка и тд. Былобы очень просто наследовать классы этих модификаторов от общего модификатора<Т>, где Т - перечисление, и хранить в массиве базового типа, но бля, юнити его сериализовать не будет. Я изначально о такой релизации думал, еще когда не знал о таких тонкостях движка. Но вот теперь знаю и страдаю с кучами коллекций неуниверсальных классов.
Аноним 10/03/20 Втр 13:54:05 64783570
>>647833
> если бы юнити умел сериализовать дженерики
А что если для сериализации юзать сторонний пакет? Например, Newtonsoft JSON?
Аноним 10/03/20 Втр 13:58:40 64783671
Аноним 10/03/20 Втр 14:16:34 64784472
>>647836
Не, ты не понял. Тут у тебя сериализуется лист одного типа, а мне предлагают сделать лист общего типа и хранить в нем модификаторы разного типа. А такое уже сериализовать не прокатит.

Так то юнити из коробки умеет листы сериализовать, никакие плагины не нужны, проблема в сериализации общего типа.
Аноним 10/03/20 Втр 14:24:50 64784673
image.png 3163Кб, 1677x967
1677x967
Аноним 10/03/20 Втр 14:25:48 64784774
>>647844
> а мне предлагают сделать лист общего типа и хранить в нем модификаторы разного типа
А, вон чо. Так это ты сам не понял, что тебе предложили. Общий тип - это класс-предок типа Модификатор. Лист специализируешь его типом. В лист кидаешь инстансы классов-наследников. А хотя да, хуита получится, при сериализации выведутся в файл только поля общего типа, а поля дочерних классов отбросятся. Теперь понял и я.

Да... В плане сериализации статически типизируемые языки посасывают у динамически типизируемых. Остаётся только либо кастомные утилиты сериализации писать чисто под твою задачу, либо делать как ты с самого начала и делал.
Аноним 10/03/20 Втр 14:28:57 64784975
VS не видит сурсы юнити. Соответственно автодополнение не работает, исходники не посмотреть. Что делать? Алсо, в rider та же ситуация
Аноним 10/03/20 Втр 14:30:46 64785076
>>647849
Удалять чистилку мусора (или оптимизатор), которой ты шындовс почистил. Переустанавливать юнити и все дотнет-фреймворки, и пакеты их совместимости/поддержки.
Аноним 10/03/20 Втр 14:33:21 64785177
>>647850
>чистилку мусора
Никогда не пользовался. Юнити поставил вчера, он же и подтянул весь дотнет и студию. Оно с самого начала не работало.
Нельзя его подключить в ide как стороннюю библиотеку глобально?
Аноним 10/03/20 Втр 14:40:39 64785478
>>647851
> Нельзя его подключить в ide как стороннюю библиотеку глобально?
Теоретически можно, но практически тебе настоятельно рекомендуется разобраться, почему автоматика не сработала.
Аноним 10/03/20 Втр 14:57:52 64786679
>>647850
Переустанавливать всё нахуй, включая студию.
Аноним 10/03/20 Втр 15:01:33 64786980
image.png 69Кб, 957x546
957x546
Аноним 10/03/20 Втр 15:04:26 64787381
>>647866
Ты из тех, кто все проблемы решает переустановкой?
Юнити с дотнетом встали нормально. Всё компилится, редактор сцен работает.
Проблема именно в индексации того говна, которое используется в скриптах.
Аноним 10/03/20 Втр 15:06:17 64787682
>>647869
> вы должны писать на Юнити свой движок
Именно так, однако я с формулировкой не согласен. С ДОТС разрабу поверх движка требуется писать свой тулсет, специфичный игровой редактор для редактирования конкретной игры. Что-то уровня беседковского криэйшон-кита, когда у тебя справа загруженная игра, слева таблицы с данными и ты летаешь по игре в режиме бога и создаёшь правила игры, которые тулсетом динамически сохраняются в наборы данных.
Ясен хуй, что впоследствии на этом мета-редакторе тот же разраб может написать и вторую игру и третью. Как, собственно это и делал Тодд.
Аноним 10/03/20 Втр 15:09:01 64787883
Аноним 10/03/20 Втр 17:11:04 64790584
1583849463270.png 79Кб, 792x738
792x738
1583849463375.png 28Кб, 309x768
309x768
>>647847
Я напиздел. Оказывается, как минимум ньютонсофт умнее и прекрасно умеет заглядывать в актуальные классы. Я думал-думал над этим, не удержался и наваял код для проверки.
>>647844
Надеюсь, ты ещё не ушёл и прочтёшь инфу. Вот код на скрине и вывод. Классы коттедж и тауэр - это и есть твои модификаторы разных подтипов, хранящиеся в одном листе общего типа. Как видишь, сериализатор прекрасно выводит их в текст со всеми различающимися полями.
Возможно и майковский дефолтный сериализатор так делает. Пока не проверял.

Надеюсь, это поможет тебе сделать годные игры. Я не тот, анон что доебался до тебя выше.
Аноним 10/03/20 Втр 17:35:45 64790985
>>647833
Скорее всего тебе поможет Odin. Сам городил анальные костыли при создании модульной логики, после траты 3к на это расширение выпилил их все нахуй. Теперь спокойно сериализую интерфейсы и абстрактные классы, в том числе и женерики (хотя про твой случай конкретно не понял, ты там что-то лихо завернул в обьяснении).

И словари!
Аноним 10/03/20 Втр 17:37:31 64791086
>>647846
Симпатично. Кто ты по профессии?

Хочу так же рисовать, но ебашу скрипты сутками и не имею времени вообще.
Аноним 10/03/20 Втр 18:21:03 64792387
>>647910
Я программист, писал на .net, play, grails, expressjs, yii2.
Для фронта писал на reactjs, vuejs,angular, knockout, jquery.

В прошлом ютубер 180к подписоты.

Не удовлетворён работой и ищу какие-то варианты для себя.
10/03/20 Втр 18:58:23 64793488
>>647923
на завод иди, зумер ебаный
Аноним 10/03/20 Втр 19:39:25 64794389
>>647909
Заманчиво, но что-то слабо верится, что поможет, проблема видится мне прямо дико укорененной. Смотри, если сделать так:

class Modifier<T> where T : enum {
T Key;
float Value
}

class ModifierStat : Modifier<Stat> { }
class ModifierSkill : Modifier<Skill> { }

enum Stat {
Strength,
Agility
...
}

enum Skill {
Melee,
Range
...
}


И где-нибудь объявить так:
ModifierStat mStat = new ModifierStat(Strength, 0.1f);
ModifierSkill mSkill = new ModifierSkill(Melee, 0.1f);
List<Modifier> Modifiers = new List() { mStat, mSkill };

То, с помощью одина, можно будет без изъебств сериализовать Modifiers? Чтоб прямо работало. Можно, а?


Аноним 10/03/20 Втр 20:02:35 64794890
>>647923
>и ищу какие-то варианты для себя
Задрачи юнити нормально, найди артиста который может в дизайн и модельки. И делай с ним актуальные, фановые игры, а не говно какое-то.
Аноним 10/03/20 Втр 21:14:08 64795691
>>647869
>>647876
>write your own or modify ours to your liking
я из криотанка, они сорцы открыли штоле?
10/03/20 Втр 21:33:19 64796092
>>647956
Нет, они предлагают именно то, что я написал: писать движок поверх Юнити. То есть вместо готовых систем (как части ECS) делать свои.
Аноним 10/03/20 Втр 21:46:34 64796493
>>647960
я правильно тебя понял что они предлагают юньку как тупо рендерер? а логовнотип выдрать можно будет тогда?
Аноним 10/03/20 Втр 22:07:44 64796994
>>647943
Тебе шарп учить надо. Ты неправильно объявляешь. Я скопировал твой код в тестовый проект и уже на первой строке он отказывается объявлять энум как шаблон. В качестве шаблонов нужно типы юзать, а не энумы. Типами могут быть классы и интерфейсы. Идея в целом ясна, но я не могу с наскоку попробовать реализацию.
Аноним 10/03/20 Втр 22:14:52 64797095
>>647964
За деньги давно можно.
Аноним 10/03/20 Втр 22:15:54 64797196
>>647970
да это понятно, просто если там тупо голый рендер остается, нахера это юнити нужно в таком случае еще и с логотипом
Аноним 10/03/20 Втр 22:28:33 64797497
>>647163 (OP)
>UnityScript

Че нахуй? На этом кто-то пишет хоть что-то?
Аноним 10/03/20 Втр 22:28:55 64797598
Аноним 10/03/20 Втр 22:32:39 64797699
1583868758089.png 4Кб, 237x194
237x194
1583868758171.png 77Кб, 678x839
678x839
>>647943
>>647969
Вот в таком виде работает. Если тебя всё устраивает - то можешь прямо сейчас тянуть нугетом ньютонсофт-жсон и нехер тратить бабки на какой-то там платный Один.
Энум очевидно сериализируется как инт. При десериализации тебе нужно будет как-то различать эти классы, добавляя serialization info как минимум. Или разнося значения шаблонных энумов по разные стороны, и детектируя класс по величине ключа.
Аноним 11/03/20 Срд 06:13:30 648016100
Продолжаю учить эту залупу, почитал посмотрел практики по коду, я так понял что все переменные в публик пихать не есть хорошо, и если нужно выводить в инспектор нужно писать
>[SerializeField] private int kekCount;
и что если нужно подсмотреть значение переменной из одного класса в другой нужно писать
>public float ppSize { get; private set; }
Правильно ли делаю? И вот как мне теперь лучше изменить этот самый флоат из вне класса? Через отдельный публичный метод внутри класса и вызывать его?
Аноним 11/03/20 Срд 06:31:44 648018101
GC1.png 66Кб, 1101x408
1101x408
Кто-нибудь в курсе почему дефолтный characterController на каждый Update генерит мусор?
И как от этого можно избавиться?
Писать свой контроллер с нуля?
Аноним 11/03/20 Срд 08:06:14 648021102
>>648018
>Писать свой контроллер с нуля?

Да можешь и движок свой с нуля писать, хуле там
Аноним 11/03/20 Срд 09:19:28 648027103
>>648016
>Правильно ли делаю?
К успеху идёшь.

>И вот как мне теперь лучше изменить этот самый флоат из вне класса? Через отдельный публичный метод внутри класса и вызывать его?
Да. Или через public set. Обычно методы используют когда надо намекнуть, что изменение значения - дорогая операция с сайд-эффектами, например, выстреливание ивентов. А set - для простых операций без сайд эффектов.

Функционально оба метода идентичны. Зачем нужны эти изьебства вместо написания публичного поля? Легко прикручивать дополнительную логику. Как я уже упомянул, ивент при смене значения, например. Или валидация, чтобы твой кек всегда был неотрицательным. Ну и чтобы знать и легко контролировать точки входа и выхода из класса, естественно.
Аноним 11/03/20 Срд 20:15:33 648229104
Как мне сделать карту для квеста, где типо стрелочками перемещаешься? Ставлю в Фангусе через загрузку сцен, а в новой сцене нет значений и персонажей из предыдущей, куда-то значения и переменные деваются, будто их не было. Я не могу искать ответ уже, а программировать не умею.
Аноним 11/03/20 Срд 20:36:06 648243105
Вопрос, А если я сделаю этот квест где все локации в одной сцене, меняться будет только положение камеры, это будет слишком нагружено на память и по-васянски? Я не знаю как нормальные люди это делают.
Аноним 11/03/20 Срд 20:47:24 648251106
Ну или посоветуйте чтоб чужие игры преобразовывать в юнити-проект типа DevXUnityUnpackerTools
Аноним 11/03/20 Срд 21:22:34 648269107
>>648229
> Я не могу искать ответ уже, а программировать не умею.
Лол, так мило закончил пост. Аж захотелось забрать к себе домой, напоить чаем с тортиком и всю ночь учить программировать.
Аноним 11/03/20 Срд 21:55:47 648281108
>>648269
Нет, в 2к20 негоже колдовать над одной кнопкой полчаса чтобы она заработала. Да и проблема тут скорее не программировании, а я не знаю схему как квесты на юнити делаются.
Аноним 11/03/20 Срд 21:57:53 648283109
>>648281
Читай документацию.
Аноним 11/03/20 Срд 22:11:45 648295110
>>648283
О какой документации вы все говорите? Если это про вики Фангуса, то мне придётся её учить наизусть чтоб сделать одну игру?
Аноним 11/03/20 Срд 22:31:27 648301111
>>648295
Ну не прям уж совсем наизусть, но в общих чертах ты должен знать, где что находится, чтобы быстро открыть и перечитать. По фангусу, по юнити, по шарпу. Либо ты разбираешься в документации, либо нанимаешь кодера. Но денег у тебя нет, поэтому >>648283
Аноним 12/03/20 Чтв 08:48:50 648361112
>>648243
Как минимум тебе нужно все остальные локации выключать в сцене, как максимум - уничтожать и создавать при смене. Делов-то, просто храни их префабами.
Аноним 12/03/20 Чтв 16:49:25 648519113
>>648361
И что мне в каждой локации выставлять выключение каждой из остальных? Так точно делают?
Аноним 12/03/20 Чтв 18:44:37 648542114
>>648519
Делают префабами которые загружаются/удаляются. Минуса два - будет спайк при смене (из-за загрузки большого префаба) - чтобы скрыть делают смену под какой то анимацией (у анимации должна быть точка остановки где ты можешь долго повисеть пока префаб не загрузится), второе - изначальная загрузка приложения будет долгой, из-за того что ты не разбил на сцены, а все ресурсы подгружаются на старте.
Аноним 12/03/20 Чтв 19:08:36 648549115
Мда
Аноним 12/03/20 Чтв 19:38:24 648553116
>>648542
Ну хорошо, а как разбить на сцены? Так все нормальные делают, я тоже хочу. Я уже выучил, что есть такая функция как загрузить сцену, но не знаю даже как в загруженную сцену перемещать данные и обратно. Всё что я придумал это с сохранениями в реестре колдовать, выгружать оттуда данные. (Кстати, на Маке такие сохранения будут работать?)
Аноним 12/03/20 Чтв 19:43:42 648554117
111.jpg 8Кб, 276x125
276x125
>>648542
И что такое префабы и почему я не могу создать (горит серым) вообще не догоняю.
Аноним 12/03/20 Чтв 19:50:57 648558118
>>648553
Пиздец, как же толсто!
Аноним 12/03/20 Чтв 19:59:02 648566119
>>648558
Почему толсто? Тяжело ответить чтоли. Мне так хреново из-за таблеток..
Аноним 12/03/20 Чтв 20:04:16 648567120
>>648519
Зачем? У тебя изначально список выключенных локаций, где ты включаешь первую. При смене - выключаешь первую и включаешь вторую. И так далее.

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

Про асинхронную подргузку сцен, думаю, рассказывать тебе ещё рано.

>>648554
Ты бы посмотрел пару туториалов для начала, никто тебе тут в двух словах не расскажет про азы работы в юнити.
Аноним 12/03/20 Чтв 20:24:11 648570121
>>648567
А подразумевается что всякие объекты кликаемые в локации тоже придётся постоянно включать/выключать муторно?
Я вообще думал не проще ли сделать всё через камеру, расположить объекты порознь и когда переходишь в другую локацию просто менять положение камеры, можно ещё выключением со старта самых крупных пикч запилить как ты писал чтоб меньше нагрузка на память, но все объекты заколебёшься делать. Какие подводные камни?
Аноним 12/03/20 Чтв 20:30:36 648574122
Unity2020031223[...].mp4 22114Кб, 1088x752, 00:00:16
1088x752
Unity2020031223[...].mp4 10799Кб, 1088x752, 00:00:09
1088x752
>>647163 (OP)
Анончики, я тут алгоритм поиска пути монстрикам под свою игрушку пишу, и у меня сейчас встал вопрос производительности. В прошлом треде анон поделился неплохим решением >>643420 → , точнее рядом решений, но работает это адекватно только в простых ситуациях.
У меня игровая локация представляет собой лабиринт, и грамотно рассчитать путь получилось пока только методом трассировочно-волнового алгоритма. Для этого на каждом нпс я выделил массив структур, содержащих gameObject и Vector3 координат предыдущей ячейки, меньшим способом я получить информацию о соседних ячейках не смог никак, да и мне кажется что будь-то массив одних только векторов3 или интов, тормоза от большого размера массива будут, потому что кручу его за один фиксед апдейт. Подсчёт этого массива сделал раз в секунду, если сменились ячейки у преследователя и преследующего. Чтобы рассчитывать очень длинный путь, нужно выделять массив где-то на 100 ячеек, и вот когда он заполнен почти полностью - начинаются подлагивания, при подсчёте на 10 нпс одновременно. Собственно мне длинный прямо-таки путь не нужен, хватает и 10-15 ячеек в массиве, всё-равно это тупо, что моб за тобой через всю локацию бежит, но всё же у меня навязчивая идея это оптимизировать иным способом. Может можно как-то попилить одну полную прокрутку массива на несколько апдейтов или что-нибудь в этом роде?
Аноним 12/03/20 Чтв 20:33:20 648576123
>>648574
>преследователя и преследующего
преследователя и преследуемого
fix
Аноним 12/03/20 Чтв 22:03:41 648600124
Пасаны, столкнулся с такой проблемой. Хочу запилить эквалайзер для настройки весов подачи энергии на определенные логические узлы. Выглядеть должно так: есть ряд ползунков, отвечающих за процент подачи энергии на соответствующий узел, от 0.0 до 1.0, все изначально выставлены на одном уровне (1.0 / кол-во ползунков). Тянешь один вверх, остальные тянутся вниз, и наоборот. Меня интересует только логика, как такое запилить, чтобы соразмерно прибавлялось/отнималось именно всем остальным ползункам значение, на которое был изменен один конкретный ползунок. Для ситуации с двумя ползунками все понятно, сколько убавилось у одного, столько добавляешь к другому. Но как делать для хотя бы трех ползунков?
Аноним 12/03/20 Чтв 22:18:29 648607125
Аноним 12/03/20 Чтв 22:19:41 648608126
Аноним 12/03/20 Чтв 22:24:40 648610127
>>648600
Закидываешь все значения в массив, потом сортируешь его, после чего пропорционально увеличиваешь/уменьшаешь. Готово!
Аноним 12/03/20 Чтв 23:41:37 648627128
>>648570
>А подразумевается что всякие объекты кликаемые в локации тоже придётся постоянно включать/выключать муторно?
Все делаешь внутри корневого объекта. Отключаешь его - выключаются все дети.

>Какие подводные камни?
Если локации крупные, то объектов будет дохуя. Сам как думаешь, это скажется на производительности?
Скрипты будут работать вхолостую. Анимации будут работать вхолостую. Системы частиц. Физика. Коллизии. Ладно ещё две-три локации, но если их будет больше десятка?

Выключенные объекты хоть и висят в памяти, но не нагружают процесс всем этим дерьмом. Часть всего перечисленного оптимизировано, чтобы не нагружать игру, если не в поле зрения, но многое придется оптимизировать самостоятельно. Откровенно говоря, проще будет потратить час-два-три на пару туториалов о сценах и сделать игру здорового человека.
Аноним 13/03/20 Птн 00:07:30 648633129
Аноним 13/03/20 Птн 04:57:59 648641130
15726424996090.jpg 71Кб, 918x578
918x578
>>648607
Это совсем другое. Я лучше подумаю как мне обработку длинного массива на несколько апдейтов разбить.
Аноним 13/03/20 Птн 06:17:20 648643131
>>648574
Если ты генеришь лабиринт, значит у тебя есть данные где можно ходить, а где нельзя.
Я бы эти "ячейки и клетки" хранил в NativeArray и поиск пути выполнял в отдельном потоке через Job.Schedule.
И вообще повторный поиск можно делать не каждый кадр, а если точка А или точка Б сместилась больше чем на 0.1 - просто и тупо, но эффективнее чем 60 раз в секунду строить путь.
Аноним 13/03/20 Птн 08:15:59 648647132
image.png 169Кб, 520x390
520x390
Анон, посоветуй какие-нибудь ассеты для игры в стиле Tower Princess (оригинал на UE4). https://awekteam.itch.io/towerprincess

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

Короче, вообще любые ассеты скриптов (кроме моделей) которые бы помогли начать такой проект
Аноним 13/03/20 Птн 08:53:40 648651133
>>648641
> как мне обработку длинного массива на несколько апдейтов разбить
int k = 0;
int[] array = {9,8,7,6,5,4,3,2,1};
void Update () {
if (k >= array.Length) k=-1;
k++;
string idx = str(k);
string msg = $"Now processing element {idx} of Array";
}
Аноним 13/03/20 Птн 13:23:44 648692134
Сделал триде сцену с обьектом при нажатии на который происходит действие.
Добавил интерфейс UI обьект при нажатии на который другое действие2.
У обоих стоит галка ловли рейкастов.
При нажатии на кнопку UI нажимается и обьект в 3д под ней, происходят оба действия
Что я делаю не так? Может прозрачность интерфейса пропускает клик?
Аноним 13/03/20 Птн 14:04:27 648718135
Unity UI - Bloc[...].mp4 8501Кб, 1280x720, 00:04:57
1280x720
Аноним 13/03/20 Птн 15:05:45 648759136
Почему с обновлением до 2019.3 рекомпиляция скриптов после сохранения занимает как минимум три секунды? Даже если это пустой проект и пустой скрипт, я меняю одну скобочку, сохраняю, и редактор Юнити виснет на 3-4 секунды. В 2018 такого не было!
Аноним 13/03/20 Птн 16:56:51 648768137
>>648643
>Я бы эти "ячейки и клетки" хранил в NativeArray и поиск пути выполнял в отдельном потоке через Job.Schedule.
Чёт я малость погуглил и сделал вывод что для чего-то подобного нужно переписывать всю логику воздействия сил с нуля. А ещё нужно этому научиться.
>И вообще повторный поиск можно делать не каждый кадр, а если точка А или точка Б сместилась больше чем на 0.1 - просто и тупо, но эффективнее чем 60 раз в секунду строить путь. -> >>648574
>Подсчёт этого массива сделал раз в секунду, если сменились ячейки у преследователя и преследуемого.
>>648651
Спасибо, а то я пытался укоротить цикл for в апдейте, когда можно от него отказаться. буду думать в этом направлении.


Аноним 13/03/20 Птн 17:09:01 648770138
>>648759
Известная практика, последние года 2 все становится только хуже, например запекание теней совсем недавно пофиксили (до этого их вообще не было)
>>648768
>Чёт я малость погуглил и сделал вывод что для чего-то подобного нужно переписывать всю логику воздействия сил с нуля
Вообще если сейчас у тебя нет данных о клетках, то да.
Если есть - там все проще чем кажется, создаешь NativeArray, заполняешь его своими данными, создаешь структуру IJob кажется и в ней делаешь переменную с этим массивом и всю логику, вызываешь этот метод через var mahJob = Job.Schedule(YourJobName);
Все, потом из mahJob.Result можешь в любое время брать результаты
ЛЕГКО И БЕЗ ЗАДНЕЙ МЫСЛИ как говорится
Аноним 13/03/20 Птн 17:40:02 648778139
>>648770
>Известная практика
Практика-то известная, почему это происходит и как это пофиксить?
Аноним 13/03/20 Птн 17:45:03 648782140
>>648778
Да никак, сиди на на старой версии да и все
Аноним 13/03/20 Птн 17:46:05 648783141
>>648782
Да, кстати!
Кто на какой версии сидит? Пишите в тред!
Я на 2.7
Аноним 13/03/20 Птн 17:48:17 648785142
>>648783
Я сижу на 2017 сам, мне норм
Аноним 13/03/20 Птн 17:50:34 648786143
>>648785
Но там нет Pro Builder, DOTS и прочей годноты!
Аноним 13/03/20 Птн 17:54:37 648787144
>>648786
Она мне не нужна особо, с дотсом вашим я вообще дел не имел и не представляю зачем он мне нужен, вместо пробилдера у меня блендер есть и классические кубики
Аноним 13/03/20 Птн 17:58:42 648790145
Аноним 13/03/20 Птн 18:17:37 648796146
>>648790
Ninelives кстати охуенная игрушка, жаль не доделали
Аноним 13/03/20 Птн 18:22:30 648797147
1.png 5Кб, 389x155
389x155
2.png 86Кб, 1016x709
1016x709
Нужна помощь. Почему эта срань намеренно не определяет Android SDK? Версия 2019.3.3f1. USB Driver и Google Play services установлены в том числе.
Аноним 13/03/20 Птн 18:24:40 648798148
Может кто скинуть видео по префабам? Корявый поиск ищет не что мне надо.
Аноним 13/03/20 Птн 18:40:54 648803149
>>648778
У них упор сейчас на юр лиц и АР-ы всякие, так что ищи самую комфортную версию и жди когда их Roadmap сменится с ориентацией на ИГРЫ, а не перфоманс или АR.
>DOTS
Делают брейкинг ченджез каждые 5-6 месяцев, тоже сомнительно сейчас использовать
Аноним 13/03/20 Птн 19:00:20 648807150
>>648797
хз, ANDROID_HOME в переменных среды попробуй прописать
Аноним 13/03/20 Птн 19:09:31 648809151
>>648803
Я понимаю, но вот интересно было бы узнать, что это там подвисает в ТЕХНИЧЕСКОМ плане? Может, какие-то встроенные assembly пересобираются, и их можно выкорчевать как-то оттуда.
Аноним 13/03/20 Птн 19:12:22 648810152
Аноним 13/03/20 Птн 19:30:50 648813153
>>648768
> я пытался укоротить цикл for в апдейте
Посаны! Я придумал, как объяснять новичкам суть проектирования на главном цикле! Когда новичок заводит речь о циклах в апдейте, говоришь ему, что игра уже содержит цикл и выглядит это так:
while (Application.Running() == true)
{
Application.Update();
}
Поэтому новичку можно (анонимус разрешает) не создавать свои циклы, а прицепиться к главному, путём размещения своего барахла в апдейте.
Аноним 13/03/20 Птн 19:39:08 648816154
>>648813
А теперь давай так же про корутины!
Аноним 13/03/20 Птн 19:51:56 648817155
Аноним 13/03/20 Птн 20:26:37 648823156
>>648817
> Ты что-то странное говоришь
Ты не новичок.
>>648816
Посаны! Я придумал, как объяснять новичкам суть корутин! Когда новичок заводит речь о корутинах, говоришь ему, что корутины - это функции с циклом внутри, каждая итерация которого приостанавливает выполнение корутины до следующего вызова... Корутины - это когда в жопу ебут. Карочи, корутины - это поилка для цыплят с автоматическим пополнением воды. Как только цыплята выпили всю воду, поилка автоматически наливает ещё порцию. Вот так же и корутины работают.
Аноним 13/03/20 Птн 20:33:40 648824157
Кто ставил версию 2019.3.5f1? Может, там пофиксили фризы при компиляции пустого проекта? У меня почему-то не качается, загрузка стоит на 0%
Аноним 13/03/20 Птн 21:28:03 648846158
>>648824
Поставил. Увы, нет. Всё такие же фризы.
Аноним 13/03/20 Птн 22:56:48 648881159
Аноним 14/03/20 Суб 05:11:12 648929160
>>648813
>новичкам
Ты хоть одну игру сделал?
Аноним 14/03/20 Суб 06:16:28 648934161
Аноним 14/03/20 Суб 09:29:37 648940162
Продолжаю ебаться с модификаторами и юнитами. Такой вопрос: как запилить в модификаторе ссылку на объект, который его предоставил? Это для того, чтобы добавить в игру возможность видеть, от каких объектов прилетели модификаторы, выглядеть должно так:
"+0.1 STR from: <ModifierSource>"

Проблема опять же в том, что источником модификатора могут быть разные типы объектов. Как юниты, так и некие эффекты, перки и т.д. Сначала я думал тупо хранить в модификаторе поле object Source и тип этого соурса, чтобы знать, к чему приводить. Но object сериализовать нельзя. Поэтому приходится задумываться о некоем глобальном объекте, который знает обо всех источниках модификаторов в игре и может предоставить таковой по индексу.
Или же написать класс ModifierSource, который будет таскаться с каждым модификатором. Он будет содержать поля всех возможных типов источников модификатора, но только одно будет не равно null (опционально добавить в него поле enum, которое подскажет, какое именно поле должно быть не-null), и парсить источник уже на местах.
Аноним 14/03/20 Суб 11:03:48 648946163
>>648940
> класс ModifierSource, который будет таскаться с каждым модификатором. Он будет содержать поля всех возможных типов источников модификатора, но только одно будет не равно null
Это чудовищно. Не делай так!

Зачем тебе сериализация? Ты хочешь каждому модификатору руками назначить источник? Или сохранять его куда-то? Не проще будет запилить обычный стринг, в котором ты просто пишешь описание модификатора?
Аноним 14/03/20 Суб 11:06:27 648947164
>>648940
Загугли мутаторы из квейка кажись. Эту проблему решили ещё в90е. А ты велосипед изобретаешь.
Аноним 14/03/20 Суб 11:14:49 648948165
>>648940
Храни в полях строки или именованные константы. А то может быть так, что у тебя прилетает пуля, с ней прилетает модификатор урона, пуля сделав свое дело уничтожается. Спустя пару кадров твой перс перебирает список модификаторов, чтобы посчитать урон и зачем-то обращается к никому не нужным ссылкам на объекты-источники и попадает на высвобожденную память. Жидко пукнув, твоё приложение крошится на десктоп.
Аноним 14/03/20 Суб 11:50:18 648950166
Unity3dSchool.png 257Кб, 1280x720
1280x720
Аноним 14/03/20 Суб 13:00:34 648962167
Когда выпилили физическое взаимодействие mesh to mesh?
Аноним 14/03/20 Суб 21:18:59 649037168
>>648718
Добра тебе, все заработало 10/10
Аноним 14/03/20 Суб 21:36:58 649041169
>>648950
Спасибо тебе, Крякин-гуд!
Аноним 14/03/20 Суб 21:38:02 649042170
>>648962
Дай-ка подумать... Никогда?
Аноним 14/03/20 Суб 22:51:21 649057171
Одного меня бесит кривое сохранение в юнити и что проекты весят несколько гигов?
Аноним 15/03/20 Вск 00:00:41 649079172
>>648950
А чем этот курс хорош?
Я с трудом просмотрел три серии, чуть не задохнулся. Ощущение такое, будто для детей с задержкой в развитии объясняют. Так это ещё и за деньги продавалось. Воистину, инфоцыгане - это не прикол и не форс.
Аноним 15/03/20 Вск 00:14:15 649084173
>>649057
Я периодически выпиливаю папку libraries, а то она сильно раздувается. После реимпорта опять жить можно.
Аноним 15/03/20 Вск 00:14:54 649085174
>>649079
>за деньги продавалось
>для детей с задержкой в развитии
Не вижу противоречий.
Аноним 15/03/20 Вск 07:36:11 649127175
>>648768
>>648651
Короче сделал я перебор запись/считку массива поиска пути в фикседапдейте, работает производительнее.
Но у меня теперь такой прикол - массив состоит из структур, объявляю и инициализирую я его сразу в классе моба, protected LocationCheck[] pathList = new LocationCheck[50];. И когда путь считается на несколько мобов - начинаются тупняки, как будто этот массив един для всех и все в него пишут. Если вместо структуры объявить класс с тем же внутренним составом - у меня не получается массив инициализировать предыдущим способом, и в старте тоже не прокатывает, по всем скриптам с ним выдаёт ошибку nullreference.
Аноним 15/03/20 Вск 07:45:32 649128176
>>649127
FixedUpdate - быстрее т.к. скорость апдейта настраивается в ProjectSettings, ты это значение можешь выставить даже "обновлять раз в 5 секунд", но и физика игры будет обновляться раз в 5 секунд.
>nullreference
Просто немного опыта работы со структурами и классами не хватает (структуры не могут быть null и по дефолту проставляются)
>начинаются тупняки, как будто этот массив един для всех
На логику нужно смотреть, fixedUpdate работает синхронно т.е. "посчитал 1 моба -> посчитал 2 -> посчитал 3", могу предположить что ты где-то ссылку на массив держишь в статике и случайно её переиспользуешь
Аноним 15/03/20 Вск 08:11:50 649130177
>>649128
>FixedUpdate - быстрее т.к. скорость апдейта настраивается в ProjectSettings, ты это значение можешь выставить даже "обновлять раз в 5 секунд", но и физика игры будет обновляться раз в 5 секунд.
Там про другое разговор.
>могу предположить что ты где-то ссылку на массив держишь в статике и случайно её переиспользуешь
Объявлен массив в родителе класса мобов, там же сразу инициализирован. Сейчас переделал структуру на класс [System.Serializable] и получилось его инициализировать, как получалось структуру. Но путь считается на одного моба, остальные с нульреференсом висят, видимо массив создаётся один и пользуется им тот, кто первый начал считать путь.
Аноним 15/03/20 Вск 11:46:57 649151178
>>649127
>>649130
В секундной задержке там проблема была при подсчётах, хуйнёй прострадал.
Аноним 15/03/20 Вск 13:17:07 649161179
Почему игра сжатая весит 3,2Гб, а несжатая 200 Мб?
Аноним 15/03/20 Вск 14:37:35 649173180
Ни у кого нет взломанной DevXUnityUnpackerTools?
Аноним 15/03/20 Вск 15:33:32 649185181
Как/в каких случаях правильно использовать ассет бандлы?
Аноним 15/03/20 Вск 15:45:34 649190182
Аноним 15/03/20 Вск 18:35:09 649229183
У юнитанов нет публичной дорожной карты, какая версия 2019 станет (?) Long Term Support (LTS) ?
Аноним 15/03/20 Вск 18:55:34 649234184
14279122519430.jpg 51Кб, 389x366
389x366
Аноним 15/03/20 Вск 18:56:54 649236185
Аноним 16/03/20 Пнд 17:20:52 649449186
LlmvTfGcYGQ.jpg 147Кб, 1080x1080
1080x1080
>>647757
Чот как-то после ТСа не сильно охуевается от типизации Жавы. Охуевается больше от Скалы.
Ну до диез так до диез, хуле поделаеш.

>>647652-долбоеб
Аноним 16/03/20 Пнд 17:28:44 649451187
>>649449
Учи шарп-диез. Сможешь в люди выбиться.
Аноним 16/03/20 Пнд 17:39:42 649453188
>>649451
Да я и так в людях вполне, работы для веб-дебилов сейчас много.
Аноним 16/03/20 Пнд 18:21:29 649461189
Аноним 16/03/20 Пнд 19:58:09 649473190
Где искать трешовые ассеты, типа ассетов рашки или ассетов с каловой массой?
Аноним 16/03/20 Пнд 20:35:10 649476191
>>649461
В умелых руках юнька может многое, пробуй.
Аноним 17/03/20 Втр 00:38:13 649536192
>>649461
Со стенами придется помучаться, прогиб труб немного смутил. В остальном ничего сверхъестественного.
Аноним 17/03/20 Втр 00:51:37 649540193
JZj29ahl400x400.jpg 19Кб, 352x352
352x352
С новой импут системой можно сделать переназначение клавиш в настройках прямо в игре?
Аноним 17/03/20 Втр 13:12:18 649619194
>>649540
Можно закидывать в инпут-систему джсон со всеми клавишами и прочим говном.
Аноним 17/03/20 Втр 14:37:18 649634195
Парни, че за хуйня со scrollview, когда руками в редакторе закладываю в него инстансы префаба, все выглядит нормально, но когда пытаюсь заполнять из скрипта, инстанциируя префабы в гейм обжекты и устанавливая им родителем content этого scrollview, то их распидорашивает и они вылезают по бокам за границы вьюпорта. Пробовал собрать самодельный scrollrect, все то же самое. Кто нибудь сталкивался с такой поебенью? Я просто даже представить себе не мог, что так можно ебаться с элементом, который должен работать из коробки.
Аноним 17/03/20 Втр 18:39:52 649663196
Хочу сделать в классе PersonStats константный массив ключей статов:

public static readonly string[] StatKeys = { "Strength", ... };

Но мне не нравится, что придется гадать по индексу, какой ключ я хочу получить, вдруг напишу несуществующий индекс, или не тот, который нужен. Хочу избежать таких ошибок и как-то получать ключ по его константному имени. Но не хочу делать ключи отдельными константами ради расширяемости. Приходит на ум сделать enum EStatKeys { Strength, ...}, а вместо массива использовать статический словарь <EStatKeys, string>, и получать строку-ключ по имени константы из перечисления. Содержимое словаря соответственно будет иметь вид:

{ { EStatKeys.Strength, EStatKeys.Strength.ToString() }, {...} ... }
Но вручную писать сначала объявление энума, потом и объявление этого словаря для каждого класса с таким функционалом как-то не в кайф. Опять же, на ум приходит инициализировать этот словарь проходом по всем элементам энума:

foreach(var elem in Enum.GetValues(typeof(EStatKeys)))
{
StatKeys.Add(elem, elem.ToString());
}

НО он по логике должен быть ридонли, его можно менять только в конструкторе класса, а мне его в принципе менять не надо, надо изначально задать и все. Какие могут быть решения? Реквестирую советов мудрых, может есть какие тайные фичи, которые помогут?
Аноним 17/03/20 Втр 19:24:10 649668197
image.png 20Кб, 269x321
269x321
>>649634
Хуй знает что там у тебя но я с интерфейсами ебался достаточно долго времени пока не узнал что все мои кастомные скрипты для юи это велосипеды которые уже давно есть в юнити из коробки и находятся они во вкладке layout. Без вот этих двух компонентов на пикрилейтеде например, скроллрект бесполезен.
Аноним 17/03/20 Втр 19:29:30 649669198
>>649663
Бля, столько много букв набросал, а разобрался через 5 минут гугла. Ответ: статический конструктор.
Аноним 17/03/20 Втр 19:30:38 649670199
Anon, что такое lua? Execute lua. Нашёл в поучительных фангусовских сценках. Мощное дерьмо или мне знать не надо?
Аноним 17/03/20 Втр 21:02:33 649680200
Посоветуйте ещё полезых тулов как фангус, что не мучиться с кодингом. Тред живой?
Аноним 17/03/20 Втр 21:05:34 649681201
>>649669
Кажется, то, что ты описал, можно инициализировать при обьявлении статического ридонли словаря, без конструкторов. Я что-то такое делал.

Но зачем ты делаешь енум и дублируешь его имя стрингом? Юзай чисто стринг! Enum.TryParse и ToString в помощь.
Аноним 17/03/20 Втр 21:21:42 649684202
>>649680
Ну а сейчас мучаешься с фангусом, какая разница.
Аноним 17/03/20 Втр 21:26:19 649686203
>>649684
Потому что его потенционал не достаточно раскрыт, но зато изи сделать квестовую игру без строчки кода.
Аноним 17/03/20 Втр 21:40:58 649687204
>>649686
Пиздец чож ты так строчки кода боишься?
Аноним 17/03/20 Втр 22:36:03 649695205
Анон, как завершить анимацию из скрипта досрочно.

У меня на анимации завязаны некоторые скрипты, так вот я хотел бы быстро по нажатию кнопки пропустить анимацию и перевести её в финальную позицию сразу.
Как это сделать?
Аноним 17/03/20 Втр 22:37:01 649696206
>>649695
А, помоему нашел, отбой.
Аноним 17/03/20 Втр 22:40:44 649697207
>>649687
На самом деле опасаюсь, печатаю криво, потом полчаса ищу опечатку, да и маломотивационный труд три часа разбираться как сделать кнопку.
Аноним 18/03/20 Срд 00:34:24 649706208
image.png 139Кб, 1378x900
1378x900
Анон, что не так? В проекте ничего нет, кроме двух объектов
Аноним 18/03/20 Срд 00:44:53 649707209
Есть игра huma fall flat, что за физика там используется? эфория?
Аноним 18/03/20 Срд 00:46:36 649708210
Unity in action ещё стоит читать?

Сложно ли будет вкатитьтся после тырпрайза на шарпах?
Аноним 18/03/20 Срд 00:49:41 649709211
>>649708
Книжка маленькая, поймешь азы юнити, типо интерфейс, компонентную систему, и просто познаешь всё, будешь потом обращаться к туториалам
Аноним 18/03/20 Срд 00:49:59 649710212
>>649708
после сисярпа темболее
Аноним 18/03/20 Срд 04:49:19 649722213
>>649668
Это лэйауты, которые пересчитывают размеры ректов каждый кадр, сами юнити рекомендуют их использовать только на стадии прототипирования, чтобы не тратить время на кастомный менеджер UI.
Аноним 18/03/20 Срд 06:29:45 649725214
image.png 600Кб, 1692x710
1692x710
Аноним 18/03/20 Срд 06:59:04 649726215
>>649681
Делаю так, чтобы потом делать вот так:
StatKeys[EStatKeys.Strength] // "Strength"

Я же написал, если юзать чисто массив, то придется получать из него значения по числовому индексу, а это понятность кода снижает, будешь потом постоянно вспоминать, в каком индексе у тебя лежит то или иное значение. Если юзать чисто стринг, то можно оебиться на криволапии ("Strngth", "strength" != "Strength"). Гораздо нагляднее (и надежнее), когда ключ получается по именованной константе из енума.

Зачем инициализирую словарь в статическом конструкторе? Так ради расширяемости же. Если в игре появится новая стата, это делается в одно движение: добавляешь ее в енум и все само собой подхватывается по цепочке.
Аноним 18/03/20 Срд 09:03:56 649739216
>>649726
>StatKeys[EStatKeys.Strength]
EStatKeys.Strength.ToString() не подойдёт вместо этого?
Аноним 18/03/20 Срд 09:14:54 649744217
>>649708
За последнее издание не скажу, но в прошлом было очень много воды. Тем не менее, она неплохо помогает в освоении большинства базовых знаний по юньке за пару вечеров.

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

Вот основное, что тебе нужно знать:
- Нативная многопоточность сосат. Придется строить костыли, предоставляемые юнькой.
- Генерация мусора сильно бьёт по производительности. Плохая новость для любителей LINQ и тех, кто объявляет классы внутри циклов, например.
- Тебе будут говорить, что паттерны не нужны, но они нужны.
Аноним 18/03/20 Срд 09:27:30 649747218
Аноним 18/03/20 Срд 09:35:12 649749219
Аноним 18/03/20 Срд 10:04:08 649753220
>>649749
Это прошлое издание. Читал его год назад, уже тогда там была устаревшая инфа.

За последние пять лет перепилили интерфейсы, систему префабов, системы рендера, несколько других систем. Читать ещё можно, но для большей актуальности рекомендую издание 2018 года.
Аноним 18/03/20 Срд 10:04:34 649754221
>>649739
Пойдет:
public static readonly Dictionary<string, string> StatKeys = {
{"Key1","Value1"},
{"Key2","Value2"}
};
Но лучше использовать enum - так правда меньше шансов потом ошибиться и .ToString() каждый раз будет генерировать CG мусор - а это для производительности плохо
другой анон
Аноним 18/03/20 Срд 10:06:07 649755222
>>649754
>public static readonly Dictionary<string, string> StatKeys
обосрался, так правильно:
public static readonly Dictionary<string, string> StatKeys = new Dictionary<string,string>(){
{"key","value"}
}
А вообще если тебе нужно только наличие, то вообще заведи List<string> и проверяй наличие методом .Contains("Твое значение")
Аноним 18/03/20 Срд 10:08:00 649757223
Аноним 18/03/20 Срд 11:20:03 649767224
Как в юнити проигрывать виде всякие .mp4 Может кто скинет образец
Аноним 18/03/20 Срд 11:36:16 649773225
>>649767
Эмм... Что? Добавляешь компонент "видеоплеер" проставляешь к нему путь к файлу и в коде запускаешь воспроизведение. Что сложного?
Аноним 18/03/20 Срд 12:13:29 649781226
>>649773
Ничего не сложно, я просто не знал, спасибо.
Аноним 18/03/20 Срд 13:03:34 649801227
Аноним 18/03/20 Срд 13:17:11 649806228
Аноним 18/03/20 Срд 16:47:17 649863229
>>649697
Я тебе в прошлом году советовал посмотреть видосы XPUCT на ютубе по сишарпу. Ты посмотрел? И не отнекивайся, это был не другой анон, это был ты, я тебя узнал.

Вот тебе ссылка на первый урок https://www.youtube.com/watch?v=MGypxPUNtWk
Заваривай кофе, нарезай печеньки ломтиками.
Аноним 18/03/20 Срд 16:48:08 649864230
>>649706
> что не так?
Ты тредом ошибся. Тебе в движкосрач. Там будешь доказывать анонимусу, что юнити не работает.
Аноним 18/03/20 Срд 16:57:44 649873231
1007028713.jpg 43Кб, 449x650
449x650
>>649863
Хз кто как считает, но эта книженция это как библия по шарпам, как минимум по моему опыту. Пусть она немного и протухла.
Аноним 18/03/20 Срд 16:59:32 649875232
>>649873
Мб уже есть издание поновее, но я в свое время во многом благодаря ей нашел первую работу.
Аноним 18/03/20 Срд 17:17:57 649879233
>>649873
В любом случае книги топ. Да даже статьи на МСДН круче видосов. Но мы должны понимать, что некоторые братья наши меньшие не могут воспринимать текст длиннее трёх предложений. Тем не менее, они могут делать крутые игры.
Аноним 18/03/20 Срд 17:19:56 649880234
>>649879
Хз-хз, если кто-то не можешь осилить книгу по программированию, то должен ли он вообще программировать? Может лучше на завод?
Аноним 18/03/20 Срд 17:21:14 649882235
>>649880
А может лучше в ассет-стор?
Аноним 19/03/20 Чтв 12:46:51 650026236
3д треш клип зв[...].webm 7639Кб, 320x240, 00:01:24
320x240
Аноним 19/03/20 Чтв 12:49:36 650027237
Как в фангусе выпилить дефолтные звуки печатания диалогов? Ну или заменить на свои.
Аноним 19/03/20 Чтв 14:16:02 650044238
>>650027
Я сталкивался с этой проблемой. Могу вот что сказать:

1) Я не смог найти, как сделать свои звуки именно печатания, если найдешь как то поделись пожалуйста, тоже интересно.
2) Решил проблему костыльным способом- попросил звукаря для каждого диалога предварительно подготовить свои аудиозаписи, и уже в фунгусе через функцию проигрывания звука озвучивать диалоги. Благо у меня было не много диалогов.
Аноним 19/03/20 Чтв 14:31:31 650045239
>>650044
Эта пикающая озвучка текста пропадает, если персонажу назначить кастомную озвучку. Обычно так ставят какие-то вздохи и хрюканья, а я додумался выставить кастомную озвучку с тишиной.
Аноним 19/03/20 Чтв 16:45:22 650063240
Как пофиксить?

Отправляю такой запрос

Texture2D texture2D = TextureToTexture2D(texture);
List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
formData.Add(new MultipartFormDataSection("description", description));
formData.Add(new MultipartFormFileSection("upload", texture2D.EncodeToJPG()));

UnityWebRequest webRequest = UnityWebRequest.Post(_uriCreateArtObject, formData);
webRequest.SetRequestHeader("Content-Type", "multipart/form-data");
webRequest.SetRequestHeader("Authorization", "token 75f8s7df75218735f8787a5s87d587587g587583d");

yield return webRequest.SendWebRequest();

и получаю ошибку Curl error 18: transfer closed with 111 bytes remaining to read
через постман все ок
Аноним 19/03/20 Чтв 19:04:16 650083241
>>650063
Рили, нига? Кто-то до сих пор кодит, когда есть божественные тулзы?
Аноним 19/03/20 Чтв 19:17:28 650084242
>>650083
ты имеешь ввиду web api kit, например?
Аноним 19/03/20 Чтв 20:03:45 650090243
Awe-inspiring g[...].mp4 24554Кб, 1280x720, 00:01:32
1280x720
>>647163 (OP)
Какие же крутые игры делают на ЮНИТИ.
Аноним 19/03/20 Чтв 20:52:23 650096244
>>650090
Только ты нихуя не делаешь.
Аноним 20/03/20 Птн 08:15:36 650133245
Unity Learn Pre[...].mp4 3517Кб, 1280x720, 00:01:04
1280x720
>>647163 (OP)
Может кому интересно.
«Во время кризиса COVID-19 мы стремимся поддерживать сообщество с бесплатным доступом к Unity Learn Premium в течение трех месяцев (с 19 марта по 20 июня). Получите эксклюзивный доступ к экспертам Unity, интерактивным сеансам, учебным ресурсам по требованию и многому другому.»
https://unity.com/products/learn-premium
Аноним 20/03/20 Птн 08:18:43 650134246
image.png 125Кб, 1464x839
1464x839
Аноним 20/03/20 Птн 09:44:54 650142247
>>650133
Ага, попытался взять их проект по micro games, открыл в последней версии 2019.3 и получил тонну ошибок и obsolete методов, которые уже удалили.
Аноним 20/03/20 Птн 13:18:40 650166248
Двадцаточка на подходе. Ознакомьтесь с новыми, ошеломляющими свойствами движка. Забудьте то, как вы делали игры раньше!
https://youtu.be/waHH86zTkx0
Аноним 20/03/20 Птн 13:48:15 650173249
>>650166
Того глядишь, может лет через 10 догонят UE4.
Аноним 20/03/20 Птн 16:22:26 650219250
>>650166
Подитожим:
- Ассестстор переезжает в пакет манаджер
- Пакеты для профилирования (которые в текущей версии тоже есть)
- Доработки 2д физона
- бесконечные Доработки рендер пайплайнов

Не густо
Аноним 20/03/20 Птн 17:15:27 650225251
>>650219
Зато не обидно, что я сейчас на 19 пилю
Аноним 21/03/20 Суб 14:40:16 650328252
Вы пиратите на юнити? Интересно возможно ли это. Собираюсь обмазаться Lua сприптом, посмотреть что это такое, но оно платное как и другие вещи для белых людей.
Аноним 21/03/20 Суб 18:58:58 650365253
1584806337606.jpg 48Кб, 600x500
600x500
>>650328
> Собираюсь обмазаться Lua сприптом, посмотреть что это такое
Обмажься бесплатными реализациями.
https://www.lua.org/download.html
Аноним 21/03/20 Суб 19:28:29 650368254
>>650365
А что с ней не так? Почему бесплатное?
Аноним 21/03/20 Суб 19:32:08 650370255
>>650368
Я не понял, что ты спрашиваешь. Луа бесплатное. Почему этот выше говорит, что оно платное? Наверное наткнулся на каких-то инфоцыган, продающих за деньги то, что можно скачать бесплатно.
Аноним 21/03/20 Суб 20:11:32 650378256
>>650328
Чет не понял при чем тут юнити
Аноним 21/03/20 Суб 20:23:41 650380257
>>650328
Пять секунд гугла и статья от 2014 года
https://habr.com/ru/post/211576/
Я правда ХЗ, работает ли описанное там сегодня и, если работает, то осталось ли бесплатным?
Аноним 21/03/20 Суб 20:34:06 650383258
>>650380
Комменты как всегда рулят, хабрачеры в комментах посмотрели на любителя луа свирепо и с недоумением.
Аноним 21/03/20 Суб 22:39:49 650402259
>>650370
Продаётся за 15 баксов в офииальном ассет сторе.
Аноним 21/03/20 Суб 23:31:37 650412260
>>650402
Я об этом и говорю.
Аноним 22/03/20 Вск 00:16:40 650416261
А есть какой годный канал в телеге по юнити? На первый взгляд - нет, но может я ошибаюсь.
Аноним 22/03/20 Вск 08:27:15 650455262
Аноним 22/03/20 Вск 12:27:08 650497263
Почему у меня в билдах нету Веб Плеера?
Аноним 22/03/20 Вск 12:42:27 650500264
>>650497
При установке выбираешь нужные тебе платформы. Просто через Хаб дозагрузи WebGL.
Аноним 22/03/20 Вск 12:52:52 650505265
>>650500
То есть я не правильно Юнити установил. Ещё такая беда, что только под свой виндоус могу билд сделать, у остальных кнопки серые.
Аноним 22/03/20 Вск 15:30:05 650524266
1584880204400.png 63Кб, 978x598
978x598
>>650505
Чот ты накаляешь своей тупостью, братишка. Пойду воздухом подышу. А ты держи скриншот.
Аноним 22/03/20 Вск 16:04:02 650531267
>>650524
Если так легко выходишь из себя, то самое время обратиться в ПНД.
Аноним 22/03/20 Вск 16:08:56 650532268
>>650524
У меня нет таких меню. Короче, говно твой обучающий курс.
Аноним 22/03/20 Вск 16:16:54 650533269
Аноним 22/03/20 Вск 16:45:08 650541270
Аноним 22/03/20 Вск 17:21:21 650548271
Аноним 22/03/20 Вск 18:03:03 650551272
>>650532
> У меня нет таких меню.
Страдай, идиотина тупорылая.
>>650531
В анус себе обратись, пёс.
Аноним 22/03/20 Вск 18:12:09 650554273
Посоветуйте норм курсы юнити на udemy, желательно 2d.
Аноним 22/03/20 Вск 18:16:46 650555274
>>650063
Я не шарю именно в юньке, но тут ошибка никак не связанная с шарпом, это ошибка сервака... Проверь запрос и то что передаешь еще раз, например в дебагере само тело запроса просмотри и сравни с тем что через постман передаешь, скорее всего в этом чето не правильно.
Аноним 22/03/20 Вск 18:18:00 650556275
>>650548
лол действительно но мне простительно я до сих пор на 5.х сижу
Аноним 22/03/20 Вск 18:55:18 650564276
>>650551
Сральник прикрой, шизик.
Аноним 22/03/20 Вск 19:05:38 650565277
>>650554
Ну что ты даун тупорылый? Ещё до изобретения письменности всем известно.
Аноним 22/03/20 Вск 22:24:54 650601278
>>647163 (OP)
Анон, насколько юнити требовательный к уровню знания шарпа?
Аноним 22/03/20 Вск 22:35:03 650605279
>>650601
говорят, что некий гуманитарий смог с гуглем, плеймейкером, напильником и такой-то матерью без какого-либо знания шарпа и вообще программирования выпустить весьма успешную игру
но это не точно
Аноним 22/03/20 Вск 22:35:52 650606280
>>650601
Насколько я понял, он требует больше знания программирования в целом, ну там алгоритмов разных действий в двухмерном и трехмерном пространстве и т.д. Пока чего-то требующего знания шарпа я не заметил, под этим имею ввиду что его можно было бы зменить на любой язык из мне известных и ничего бы не изменилось.

мимо разраб на шарпах перекатывающийся из тырпрайза, учу юньку меньше недели
Аноним 22/03/20 Вск 22:37:13 650607281
>>650605
Ну так ты по сути учишь язык, изучаю юнити.
Аноним 22/03/20 Вск 22:44:05 650610282
>>650605
Ну эт такое. Пизженный код, все через сраку работает.
Кто говорит то?

>>650606
Хорошо, а в целом к понимаю языка насколько требовательный?
Средне-плохо шарп знаю и паскаль, лол
Так что хз, заранее подтягивать язык или в процессе можно учиться.
Аноним 22/03/20 Вск 22:49:40 650614283
>>650610
Понимешь, тут дело в том что шарп интерпразнутый язык до мозга костей, а в тырпрайзе совершенно другие задачи, нежели в гейдеве. Тут шарп это скорее скриптовый огрызок по моим ощущениям, поэтому я не думаю что тут нужен прям большой уровень знания шарпа. Лучше, наверно, математику и физику подтянуть.
Аноним 22/03/20 Вск 22:54:07 650615284
>>650614
З.Ы: Проще говоря, знания WPF или ASP.Net тебе вряд ли как-то помогут в Unity, что как бы очевидно.
Аноним 22/03/20 Вск 23:06:50 650616285
>>650614
> Тут шарп это скорее скриптовый огрызок по моим ощущениям
>>650606
> мимо разраб на шарпах перекатывающийся из тырпрайза

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

мимо самоучка

первым делом попробовал подключать к проекту юнити различные неймспейсы платформы, потом сторонние сборки, в том числе через нугет - и довольно урчал, когда всё работало
Аноним 22/03/20 Вск 23:07:46 650617286
Аноним 22/03/20 Вск 23:14:59 650618287
>>650616
Ну мб ты прав, но выше кто-то писал что тот же LINQ тут редко используется для оптимизона, а в тырпрайзе он повсеместен, например.

Шарп крут в плане функционала доступного из коробки, спору нет, но что-то у меня есть подозрения что юнька не использует большую часть этого функционала, ибо он в игре тупо не нужен.
Аноним 22/03/20 Вск 23:18:23 650619288
>>650618
> выше кто-то писал что
Вся суть местных чмонек да вообще-то подавляющего большинства индюков по всему миру в том, что они не знают шарпа, да что шарп, не знают информатики в целом, что собственно ярко проиллюстрировано: >>650617

Поэтому и получается то, что мы видим на рынке игор - говно и треш.
Аноним 22/03/20 Вск 23:22:04 650620289
>>650618
А насчёт функционала, посмотри на игры крупных студий. Очень часто можно видеть в начальной заставке серию логотипов, среди которых помимо движка несколько коммерческих технологий. Очевидно же, что возможность сопряжения со сторонними модулями, библиотеками, серверами - заложена в современные движки. И если ты не видишь эту возможность, это не означает, что такой возможности нет.
Аноним 22/03/20 Вск 23:34:39 650622290
>>650619
зато они делают игры
Аноним 23/03/20 Пнд 11:32:06 650679291
>>650619
>они не знают шарпа, да что шарп, не знают информатики в целом
Классика, я даже на stackexchange натыкался на посты о гемдеве в духе "паттерны для энтерпрайза, в геймдеве паттерны не используются".

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

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

В результате мы видим мемы про взрывающиеся телефоны от юньки.
Аноним 23/03/20 Пнд 11:44:46 650681292
>>650618
>юнька не использует большую часть этого функционала, ибо он в игре тупо не нужен
Не то чтобы он в игре не нужен, просто юнити сам по себе ебанутый. Практически все обращения к компонентам используют под капотом нативный код движка, что не позволяет адекватно юзать шарповый многопоток, таски, таймеры, вот это всё. Плюс другие фичи, например, Math и Numerics, уже встроены в движок ради оптимизаций (иногда довольно сомнительных). Плюс альтернативы шарповским фичам вроде ивентов, которые по сути та же хуйня, только с другой стороны. Плюс другие задачи и требования к производительности (в тему LINQ, а некоторые аутисты я в их числе даже foreach не юзают ради оптимизаций).

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

мимо работающий в обеих областях одновременно
Аноним 23/03/20 Пнд 11:51:54 650683293
Посоветуйте годный редактор скриптов.
Аноним 23/03/20 Пнд 11:56:07 650685294
>>650683
VS Community или Rider. Первый чуть стабильней, а второй заточен под юнити и имеет кучу хипстерских ништяков.

В обоих случаях надо обмазываться расширениями для юнити, а также в самой юньке ставить пак под выбранный редактор.
Аноним 23/03/20 Пнд 12:08:58 650686295
>>650685
А eclipse норм? Или вообще без разницы в чём писать?
Аноним 23/03/20 Пнд 12:51:24 650694296
>>650686
Лучше используй блокнот, сразу весь шарп выучишь.
Аноним 23/03/20 Пнд 14:02:18 650704297
Может знаете ли вы какие полезные тулзы для сейв/лоада из реестра?
По сабжу писал первый способ из https://www.youtube.com/watch?v=oZ1gmpnQBFg
но так как я ньюфаг, то масса вопросов и не знаю даже как активировать в юнити скрипт. (Перетаскиваю на инспектор, а оно пишет ошибку.) Два часа уже пытаюсь разобраться как сделать.
Аноним 23/03/20 Пнд 14:23:14 650708298
Аноним 23/03/20 Пнд 14:25:23 650709299
КОТАНЫ!

Юнити дарят три месяца премиум-обучения в честь коронавируса! Налетай! С регистрацией, но без смс!
Аноним 23/03/20 Пнд 14:31:48 650713300
>>650709
Потом на торрентах скачаю, если соберусь.
Аноним 23/03/20 Пнд 15:23:11 650729301
>>650709
>КОТАНЫ!
Ты еще медленнее предыдущих. В чате от таких медленных раз в час сообщение о этом обучении.
>>650548

>>650133


Аноним 23/03/20 Пнд 16:39:41 650736302
>>650704
Во-первых, сохраняться в реестр - жуткое извращение. Так никто не делает. И ты не делай.
Во вторых, может тебе пока рано сохранения пилить, если у тебя проблемы с отладкой скриптов?

Лучше потратил бы эти два часа на базовые туториалы/книги по юнити, больше пользы будет.
Аноним 23/03/20 Пнд 16:50:18 650739303
>>650736
Блять, если нечего ответить по существу, не пиши сюда, пожалуйста. Никому не интересно мнение. Все так делают и я буду.
Аноним 23/03/20 Пнд 16:58:12 650741304
>>650704
Как тебе сказал >>650736 этот госпадин, сохранение это гемор, я не стал смотреть видос, но предложу тебе еще 2 варианта:
1 - EasySave - старый плагин, нужно в ручную каждую штуку сохранять (примерно как и PlayerPrefs), только там можно прям классы сохранять, давным давно пользовался когда был нубом и у меня даже вышло.
2 - Если со скриптами туго, лучше сделай систему вейпойнтов и сохраняй только точку, до куда дошел игрок, тип поршел треть и сдох? - начинай с контрольной точки. Так будет намного проще "сохранять/загружать" чем в ручную записывать каждый объект в сцене
Аноним 23/03/20 Пнд 17:17:18 650743305
>>650741
> в ручную записывать каждый объект в сцене
А если каждый объект в сцене будет при значимых изменениях своего состояния посылать сообщение в эфир с новыми данными? А некий, скажем синглтон (ууу, антипаттерн, дальше не читал) будет ловить такие сообщения и тщательно записывать в свою тетрадочку. А когда игрок нажмёт Ф5, то этот дядя с тетрадочкой запишет содержимое тетрадочки в файл. А когда игрок нажмёт Ф9, этот дядя загрузит содержимое из файла, пробежится по нему и разошлёт специальные сообщения о том, что он загрузил. А все объекты, о которых сказано выше, подписаны на такие сигналы и при их получении выставят значения своих параметров.
Аноним 23/03/20 Пнд 17:17:46 650744306
Аноним 23/03/20 Пнд 18:18:53 650753307
Кто фангус знает не по наслышке, пишет ли там функция сохранения инфу в реестр или куда? Важно знать.
Аноним 23/03/20 Пнд 18:26:23 650754308
>>650753
Хотя нет другой вопрос - можно ли имея чужую игру как-то узнать какие тулзы разработчик приплёл не спрашивая его?
Я уже не один день трахаюсь, пытаясь сделать сохранение и загрузку в игру. Наверное надо было на ренпае учиться делать игры...
Аноним 23/03/20 Пнд 18:26:26 650755309
>>650753
Кек, так и знал, что это ты в реестр пишешь, омич-фангусоёбок. Зачем тебе реестр? Защититься от взлома сейвов хочешь?
Аноним 23/03/20 Пнд 18:27:11 650757310
Аноним 23/03/20 Пнд 18:32:24 650758311
>>650755
>>650757
Мы тут вдвоём сидим, понимаешь? Я просто видел успешные люди сохранения через реестр делают и фангусом обмазывают, поэтому другие методы для меня извращение. Ещё локации и инвенты на сцены разбивают, но данные у них не пропадают как у меня. Похоже надо поискать другое место где спрашивать.
Аноним 23/03/20 Пнд 18:38:52 650759312
Y864JPS3V88.jpg 21Кб, 408x377
408x377
Добрый вечерок, двощ. Образовалась проблемка, помощь в которой могут оказать лишь здесь, т.к. исчерпывающей документации или внятного объяснения на просторах тырнетов я не нашёл. Ближе к делу. Появилась необходимость прикрутить пост процессинг к мобильному виару(GoogleVR), пробовал стандартный post processing volume, и относительно новый volume от UniversalRP, но в связи с какими-то подводными камнями ни один не работает. Просто не рендерит сам pp. Без ошибок, без предупреждений, просто пост процессинг нема. Если кто-то делал это под окулус или стим виар а ещё лучше под gvr, отпишите, сталкивались ли с таким, и как эту бибу фиксить
Аноним 23/03/20 Пнд 18:47:32 650762313
>>650744
Вот про это я говорил:
https://assetstore.unity.com/packages/tools/input-management/easy-save-the-complete-save-load-asset-768
даже сейчас можно найти на каком-нибудь сайте.

>>650743
Ну так напиши такой код, который это обработает, лол.
Синглтоны подходят для ГД т.к. тут работают другие правила успешного продукта, а именно "делай проще"
Аноним 23/03/20 Пнд 19:24:41 650768314
>>650759
Посмотри, как он включает пост проц
https://www.youtube.com/watch?v=WiDVoj5VQ4c&t=657s

Он довольно ебнутый в новых версиях, там играет роль еще то, на каком леере или какой тег на обьекте где пост проц висит. Много всякой дичи. Вообще погугли просто как новую версию использовать, в интернетах много инфы как переезжать на v2 пост проц.
Аноним 23/03/20 Пнд 22:22:38 650785315
Джентельмены, ситуация такова.
Я вкатыш из /pr/, сейчас в поисках работы. В том числе в игровой индустрии. В портфолио есть две игры на андроид, но они, фактически, написаны на голой джаве с опенгл, а часто требуются знания петушиных движков, в основном - Юнити. Вот и возникла идея ебнуть быстренько игру. Вся игровая логика уже продумана, уровни придуманы(это будет головоломка), точнее, написан генератор уровней на плюсах(тоже в качестве тренировки к собесам, лол), который их придумал и записал в файлики. Осталось только освоить быстренько Юнити(в объеме, достаточном для примитивной 2д-игры) и нарисовать несложный арт. По Юнити у меня пару вопросов:
1. Насколько требователен сам движок? Я просто сижу с некропека фактически без видюхи - даже опенгл выше 1.1 нет. Про директх вообще молчу - 9.0с потолок.
2. Есть ли простой туториал вроде видоса на 10 минут? Мне главное знать общую архитектуру приложения, как вывести спрайт и звук, ну и инпут.
Аноним 23/03/20 Пнд 22:48:44 650788316
>>650785
>Я просто сижу с некропека фактически без видюхи
Погромист 300к\мес не может себе позволить норм пеку?
Аноним 23/03/20 Пнд 23:00:07 650790317
>>650788
Я не погромист, раз даже работу себе не могу найти. Образования нет и систематических и глубоких знаний хотя бы по одному направлению нет. Поэтому решил добирать числом - изучить много чего на базовом уровне и долбиться, пока хотя бы один собес не пройду.
Аноним 23/03/20 Пнд 23:11:57 650792318
>>650743
Есть некие сложности с идентификацией обьектов. Как ты сохранишь, скажем, сундук в файл?

Можешь дать ему уникальный Id, по которому будет происходить сохранение/загрузка координат. Дальше что? Если у тебя 10 сундуков, то можно каждому назначить свой Id (ебанешься так делать). А можно написать алгоритм в духе "сохраняем 10 одинаковых сундуков по одному id, загружаем и расставляем 10 одинаковых сундуков". Но один хуй на каждую группу объектов придется делать id и держать его где-то.

И это без содержимого сундуков или динамического создания/уничтожения объектов.
Аноним 23/03/20 Пнд 23:17:10 650793319
>>650790
Не уверен, что могу рекомендовать тебе юнити. Тут сейчас табуны вкатывателей юнидрочеров ходят, ежедневно все ящики ломятся от курсов по юньке, работодатели зажрались, работы нема.

Знания движка полезные, конечно, но будь я тобой, то ломился бы в экзотические вакансии на мертвых языках. Туда ньюфагам обычно страшно идти, а по требованиям только алгоритмика без определенного стека.
Аноним 23/03/20 Пнд 23:27:36 650794320
>>650793
Дело в том, что я ищу специфические вакансии, если речь про игровую индустрию - программист игровой логики или программист ИИ. Я для них в принципе подготовлен, алгоритмы знаю, математику знаю, но не хватает знаний самих языков и движков, в которых придется работать. Вот и хочу просто поверхностно ознакомиться с Юнити.
Аноним 23/03/20 Пнд 23:58:33 650796321
>>650792
> каждому назначить свой Id (ебанешься так делать)
Зачем назначать вручную, если при создании сразу уникальный айди генерируется?
Никаких сложностей с сундуками не вижу. В том числе с содержимым. Любое содержимое любого контейнера это всегда просто [ список ] не вижу сложностей записать список в файл.
> на каждую группу объектов придется делать id и держать его где-то
Какие сложности? У тебя есть локация. Это уже готовый родитель, корень и создатель объектов внутри себя. В файле сохранения генерируешь пути вида "локация/группа/сущность" вот тебе и уникальный айди.

Карочи, выдумываешь сложности на пустом месте. Спокойной ночи!
Аноним 24/03/20 Втр 00:12:45 650799322
>>650796
>если при создании сразу уникальный айди генерируется?
А ты можешь гарантировать, что он не изменится при перезапуске?
Аноним 24/03/20 Втр 00:20:01 650802323
>>650794
>программист игровой логики или программист ИИ
Интересные, кстати, темы. Я, волею судьбы, оказался фуллстак прогером в геймдеве (если такой термин существует), но всегда засматривался в сторону ИИ как в фундаментальную специальность.

Ты изучал эту тему как-то особенно/книжки какие-то порекомендуешь?
Аноним 24/03/20 Втр 00:29:10 650804324
>>650799
Конечно. Ты что про random SEED никогда не слышал? Вот правда, ньюфаги набигают.
Аноним 24/03/20 Втр 01:02:11 650812325
>>650802
Не изучал. В универе был ИИ(нормальный, а не игровой) в рамках курса по обработке информации, при этом не дата сайнс и нейроночки, а нормальные алгоритмы. Отсюда знание алгоритмов(поиски по деревьям, методы оптимизации поиска), базовой теории игр(имеется ввиду раздел математики, а не геймдизайн), и все это легко наложилось на обширный игровой стаж. На самом деле читать-то особо нечего, если ты пиздюком придумывал игры на тетрадных листочках или хотя бы играл в сложные рпг или стратегии, где нужно посидеть и спланировать, что и в каком порядке добывать, что крафтить и кого бить. А так достаточно прочитать википедию на предмет вышеназванных тем и подучить соответствующие алгоритмы. Закрепить можно, взяв любой современный движок, и заебенить более-менее сложный ИИ с помощью деревьев. Если же ты говоришь про нормальный ИИ, то тут я не помощник - это тебе к датасаентистам. Там ничего интересного - сидеть ковырять практически по рандому нейроночку и выжимать из нее доли процентов при распознавании грубо говоря. Есть еще особые разделы, на которые в тайне дрочат все датасаентисты, потому что осознают ущербность того, чего делают - когнитивные вычисления, machine reasoning(совершение ИИ выводов на естественном языке) - этим заниматься можно только в лабораториях и университетах, ибо пока что это фантастика.
Аноним 24/03/20 Втр 09:47:44 650839326
Аноним 24/03/20 Втр 10:16:38 650840327
Вы ебанутые или я? Хотел вникнуть в тему треда, вы про свои айди. Нахера вообще айди какие-то? Берёшь схороняешь сундук, в свойствах сундука его положение, ссылка на префаб и содержимое. Какие-то сиды, какие-то айди, нахера плодить вот это всё? А если у вас неебаться рогалик, то идите нахер вообще, там содержимое сундука хер сохраняется, схороняете позиции и хватит.


>>650785
Скачивай 2017.2 юньку и учись. Туториалы на самом деле говно собачье, читай документацию, все видео по юнити - просто мусор созданный долбоёбами для долбоёбов, по ним ничему не научишься. Читай текст.
Аноним 24/03/20 Втр 10:59:08 650844328
Сосаны! ЭКСПЕРИМЕНТАЛЬНЫЙ ВОПРОС:
Вот у юнити есть DOTS, который заставляет создавать массив данных и передавать его в IJob.

А вот есть я, который не может (или не хочет) делать дизайн таким, чтобы можно было легко разделять данные.
Но есть идея перенести всю логику в BackgroundThread-ы, просто запустить их при старте (Application.ThreadCount) и кидать свои кастомные джобы как Action в какой-нибудь ConcurrentStack или Queue, и в основном потоке выполнять обновление Transform/создавать Go/и тд.

Сразу вижу проблему с GC т.к. каждый Action - это GC, потом еще возможно будет сложно создать GO и дальше работать с ним.
Насколько этот вариант пригоден для жизни вообще?
И может кто-то уже решал такие проблемы?
Аноним 24/03/20 Втр 11:02:15 650846329
>>650840
>Берёшь схороняешь сундук
Как? Сериализовать класс сундука? В каком виде держать ссылку на префаб для её корректной сериализации?
Аноним 24/03/20 Втр 11:15:10 650849330
>>650844
Дотс это целый стек, который, возможно, получится разделить и использовать раздельно жоп системсы и ецс. А вообще я когда-то давно пилил подобную хуйню, когда нагуглил кастомные системы с инвоками мейн треда из дочерних, показалось пиздец сложно. Так что я насрал две системы - одна в дочернем треде крутится, вторая в апдейте. Ну и два типа жобсов на основе структур. Go создавались в мейн треде, если фоновому тредовалось создать Go - создавалась задача на создание Go и добавлялась в список задач для основного потока. Фоновый умел в эвейты и прочую чушь. Спасло меня малое разнообразие задач, потому что система разсиралась просто огромная.

>>650846
В сундуке метод схоронить, в который входит и выходит массив байтов. В методе дописываешь в массив нужные байты - три флоата, один бул isMimic ну а хуле - сундуки есть, а мимиков нет? , ссылка на префаб это один ushort, который указывает на номер префаба в скриптейбл объекте. Если игра предусматривает рандомную генерацию параметров на предметах, то каждый предмет имеет метод сейв, а если предметы созданы заранее - то просто intы, не более. И срёшь на диск вот этим всем, лол.
Аноним 24/03/20 Втр 11:19:52 650850331
>>650848
>Бандл
>Класс ридонли
>или библиотечный класс
>или файл на диске
>навигация по стрингам
Спасибо, но я лучше создам словарь с id'шниками.
Аноним 24/03/20 Втр 11:24:22 650851332
>>650844
>Сразу вижу проблему с GC т.к. каждый Action - это GC
Не буду говорить наверняка, но ты можешь попробовать создавать Action заранее один раз, а потом просто кидать его по необходимости с разными параметрами. В обычных ситуациях мусор не генерируется.
Аноним 24/03/20 Втр 11:31:28 650852333
Аноны, а с помощью анимаций или таймлайна можно вызывать функции с аргументами, как с помощью Unity Event, например?
Я тыкал по кнопочке AddEvent в окошке анимации, но там ебала какая-то. Пользуется кто-то вообще таким? Все норм у вас работает?
Аноним 24/03/20 Втр 12:22:38 650854334
>>650839
Нет ты обострялся. Я для сида возьму хеш от строки "имяЧанка.имяОбъекта" и буду иметь гарантированно уникальные сиды, даже для вещей с именами, которые повторяются в пределах мира.
Аноним 24/03/20 Втр 12:30:59 650855335
>>650854
Тогда норм.

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

Небось ещё и GO.Find() юзаешь в связке с этим?
Аноним 24/03/20 Втр 14:48:37 650867336
>>650854
Я с Юнити не работал, но не проще иметь список ВСЕХ объектов в игре, при добавлении в который нового объекта, ему присваивается имя исходя из имени предыдущего и правило наименования. Ну или банально на основе порядкового номера данного объекта в списке? В списке также может быть ссылка на сам объект для быстрого доступа. Еще у каждого объекта могут быть в этом же списке флажки состояний. Можно иметь несколько списков под несколько типов объектов. Хуйню, наверное, сморозил...
ivan 24/03/20 Втр 15:07:45 650868337
unitswork.gif 4385Кб, 357x270
357x270
Люди.

А, люди.

Подскажите, что делать, если нет скилла для полноценной игры, но нет идей для чего-то интересного из "мелкого инди"?

Года с 2015 делал горсть мини-проектов "для себя" (платформеры, что-то типа смеси тавердефенса с тиром, пошаговка, подобие Дварфов, пикрелейтед)

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

Откуда взять мини-идеи, чтобы хоть не мировая-знаменитость аля Андертейл и подобное(да, я в курсе, что оно не Юнити), но хотя бы что-то играбельно-веселое придумать.
Аноним 24/03/20 Втр 15:26:56 650873338
>>650868
Копируй чужие мини-игры.
Аноним 24/03/20 Втр 15:37:19 650876339
>>650868
>но нет идей для чего-то интересного из "мелкого инди"?
Играй в инди игры. Посмотри itch.io, браузерки, конкурсные игры. Нужно самому много играть. Идеи сами по себе из воздуха не появятся.
Аноним 24/03/20 Втр 16:38:04 650889340
>>650555
Йоу, спасибо! Да, проблема в файле, который я пытался загрузить. По описанию ошибки понятно, что сервер закрывает коннект до того, как файл загружается полностью, но почему- хз. Анон выше люто ратует за тулзы. Теперь и я ратую, т.к. всё заработало, а код без лишних корутин с коллбеками и прочей лапши
Аноним 24/03/20 Втр 17:06:11 650898341
>>650867
вовсе не хуйню. В скайриме так.
>>650855
> GO.Find() юзаешь в связке с этим?
Нет конечно. ГОшные гетайтемы у меня тоже дальше старта не ходят.
Аноним 25/03/20 Срд 20:21:28 651095342
Аноним 25/03/20 Срд 21:43:27 651105343
Как в моём любимом фангусе сделать так что доилоги не проматывались, когда кликаешь вне панели? Смотрел на чужой пример, сравнивал и ничегошеньки не увидел, вроде как все галки так же дефолтно выставлены.
Аноним 26/03/20 Чтв 04:05:06 651140344
>>651095
Порадовало что юнитеки первым делом начали рассказывать про СТАБИЛЬНОСТЬ в будущих релизах, видимо до них наконец достучались о том что на всех новых версиях невозможно блядь работать из-за багов
Аноним 26/03/20 Чтв 05:44:45 651146345
>>651095
>стабильность
)

>перфоманс
>переписываем всё на DOTS
>до конца так и не сделали DOTS
Т.е. и дальше сидим на костылях

> визуальный язык программирования
блюпринты какие-то

> Анимации в DOTS DOTS DOTS
ну подождем еще пару лет

> Освещение
> Добавят разделение настроек лайтинга
Многие профи запекают тени в стороннем софте, но что-то там улучшают, ок

>World-building
Сделали: probuilder 4.0, scene visibility, scene lock, grids, terran holes
Prerelease: proBuilder 4.3
In Dev: Customizable toolbars (но сейчас же и так можно создавать свои окна?), Snap, align and pos improvements - вода какая-то

> VFX
> Будем фиксать баги
молодцы

> AI
Прям в движке можно редактировать текстуры, интересно
Можно научить AI играть в игру и тестировать её

> Camera Design
DOTS DOTS DOTS

> Working with assets
Lazy loading

> Universal Rendering
Хотят довести до ума и сделать стандартным рендером

> HDRP
> Ну мы улучшаем его))0

> Physics
> Havok 0.2.0 Preview

> Network
Сплошная вода, "будем делать онлайн игры еще лучше и DOTS DOTS DOTS"
Аноним 26/03/20 Чтв 05:49:44 651147346
Ребят, планирую брать макбук про 15 дюймов, будет ли на нем комфортно делать игры? Можно ли на нем делать под андроид? В общем перечислите все минус макбука для юнити геймдева
Аноним 26/03/20 Чтв 07:16:33 651156347
>>651146
>визуальный язык программирования
>блюпринты какие-то
Это они зря. Я как профиконстрактер все время ждал чего-то такого в юнити, и уже код освоил и уже считаю что вижуал скрипт говно. Но черт бы с ним, но скоро начнут пилить уроки по нему и все будет загажено лапшой, как у анриала.
>> AI
>Прям в движке можно редактировать текстуры, интересно
>Можно научить AI играть в игру и тестировать её
Вообще не понял, что это за хрень, по-моему бесполезная трата ресурсов очередная, у них половина отделов в пустую трудятся.
>будем делать онлайн игры еще лучше и DOTS DOTS DOTS"
Тоже не понял, какая мне разница, что там за дотсы, мне нужен рендир, чтобы красиво, и чтобы запекался мгновенно, и чтобы импорт не ломался на полтора месяца, и чтобы функций, чтобы нихуя не делать, и все само делалось. Каких-нибудь материалов 10к штук профессианальных. Они не понимают, что важнее иметь сто готовых крутых эффектов, чем усложнят инструмент на котором их делать, потому что что проф студии у которых есть отдельный профи на эффектах не берут юнити, а индюкам невозможно на высоком уровне освоить вообще все. Нужны паки анимаций на все случаи жизни, материалы готовые, шейдеры, генераторы растительности всякие. Анриал в этом плане лучше понимает, из магаза бесплатные раздает, но и они плохие, потому что отдельные небольшие паки. Посадите сабстенсдизайнера, пусть за пару лет несколько тыщ материалов сделает
Аноним 26/03/20 Чтв 07:17:03 651157348
>>651147
>В общем перечислите все минус макбука для юнити геймдева
Ща перечислю, погоди
Аноним 26/03/20 Чтв 08:16:05 651166349
image.png 56Кб, 569x534
569x534
image.png 27Кб, 712x428
712x428
Сап, геймев. Попытался сделать заливку - юнити умер. Может посоветуешь чего?
Аноним 26/03/20 Чтв 08:26:19 651168350
image.png 16Кб, 469x336
469x336
>>651166
ДАЛАНДА. Оно сработало. Пацаны, я хз в чём дело. Но оно то работает, то оверфол выдаёт, то зависает.
Аноним 26/03/20 Чтв 08:40:57 651170351
>>651166
> Может посоветуешь чего?
Посоветую:
LEARN SHADERS
Аноним 26/03/20 Чтв 08:50:24 651172352
>>651168
Подозриваишь в юните ошыбку, да?
Аноним 26/03/20 Чтв 08:51:48 651173353
>>651170
Я хз, при чём тут шейдеры
>>651172
Просто я чего-то не понимаю.
Аноним 26/03/20 Чтв 09:23:43 651176354
>>651173
> Я хз, при чём тут шейдеры
> я чего-то не понимаю
Да. Ты чего-то не понимаешь. Вот когда поймёшь, тогда у тебя и появятся игры.
Аноним 26/03/20 Чтв 09:41:17 651178355
>>651156
>Нужны паки анимаций на все случаи жизни, материалы готовые, шейдеры, генераторы растительности всякие.
Опять развонялись бомжи ебаные. Отложи 200 баксов с зарплатки и накупи на ассет сторе всё что тебе надо, там всё есть
Аноним 26/03/20 Чтв 09:51:45 651179356
>>651176
Я так и не понял, при чём тут шейдеры. Я ловлю StackOverflowException, потому что метод переполняется, когда рекурсий слишком много.
Аноним 26/03/20 Чтв 10:09:16 651181357
Накатил новый инпут систем, сверху новый гуи систему. Аха-ха, да они же несовместимы! Как я люблю юнити, особенно моменты, когда левая рука ебёт в рот правую и обе они не знают, что делают вообще.
Аноним 26/03/20 Чтв 10:32:44 651183358
unitybase.png 278Кб, 1280x720
1280x720
Аноним 26/03/20 Чтв 10:35:14 651184359
Аноним 26/03/20 Чтв 11:35:13 651186360
image.png 37Кб, 544x342
544x342
Аноним 26/03/20 Чтв 13:13:16 651210361
Assets\SaveSystemExtras\SaverTypes\NarrativeLogSaver.cs(4,73): error CS0234: The type or namespace name 'NarrativeLogSystem' does not exist in the namespace 'CGTUnity.Fungus' (are you missing an assembly reference?)
Аноним 26/03/20 Чтв 13:29:24 651217362
>>651215
>Мочератор не налится
Мне кстати это говно здесь и посоветовали.
Аноним 26/03/20 Чтв 14:38:25 651229363
>>651182
Ебанько? Ты не знаешь че несёшь клоун всратый.
Epic toon fx тот же 300 эффектов и 900 вариаций в сумме, всего за тридцать баксов
> Пак материалов хотя бы 2к штук
Если тебе так дохуя надо то покупай подписку на gametextures.com и не еби людям мозги, нормальным людям хватает паков по 100 материалов для своих задач
Ебаная нищета совсем охуели
Аноним 26/03/20 Чтв 15:45:05 651239364
А тем временем сишарп говно. Ебал рот.
Аноним 26/03/20 Чтв 15:47:30 651242365
Аноним 26/03/20 Чтв 16:07:00 651249366
>>651230
>Где там эффектов хотя бы штук 300, дура?
>Показали Пак эффектов на 300 штук
>УУУУ ЭТО НИ ТАКИЕ ЭФФЕКТЫ КАК МИНЕ НАДА))
Ебать шизик, я ебу чего тебе там надо, мультяшные или нет? Ты сказал что нету паков на 300 штук, я тебе кинул первый который вспомнил, есть ещё дохуя в любом стиле.
Алсо
>2d говно
Ебанутый ? Там 3д эффекты
>Может еще нанять себе личного художника, дура?
>Кококо мне предлагают тысячи человеко-часов работы за десяток баксов в месяц, но я буду верещать что мне все нужно бесплатно кокок я мерзкая оборзевшая нищепидораха, не уважающая чужой труд но почему то думающая что все должны уважать мой
Отвратительно
Аноним 26/03/20 Чтв 16:46:25 651266367
>>651259
>Начал пиздеть про эффекты и материалы
>Обосрался
>ААААА зато анимации и шейдары не найдешь)))
Иди одноклассников троллируй этой хуйней, клоун
>годный 3д Пак шейдеров Пак анимаций
Ебать дебил, определение годного какое у тебя? Мне делать нехуй тебе тут что-то искать, а ты потом будешь кукарекать что НИТОЧТОНАДА))) ХУЛИТАКДОРОГО))) если надо ищи сам, я уже тебе уже указал на парашу после того как ты кукарекнул что нормальных паков нет, больше мне доказывать ничего не требуется
Аноним 26/03/20 Чтв 16:48:05 651268368
>>651264
>Основной функции сохранений нет
А playerprefs тебе на что,м?
Аноним 26/03/20 Чтв 18:28:19 651301369
>>651283

https://assetstore.unity.com/packages/vfx/particles/ultimate-vfx-26701
Вот ещё один, 300 эффектов за 40 баксов
>Один Пак только нашел
>Два пака только нашел
>Десять паков только нашел
>Сто паков только нашел но они не такие как мне НАДА)))
Да да, продолжай обсираться, клоун
Аноним 26/03/20 Чтв 18:29:10 651302370
>>651288
Ну так и не учи, никто тебя не заставляет юзать юнити
Аноним 26/03/20 Чтв 20:32:18 651323371
>>651316
Мёртвость языка не популярностью определяется. Так можно сказать, что и Джава не мертва.
Думаю, самые живые языки программирования на данный момент это Питон и C++.
Аноним 26/03/20 Чтв 21:39:26 651330372
Народ, кто-нибудь шарит, 2D свет новый в URP запекать можно?
Аноним 27/03/20 Птн 10:07:53 651386373
>>651323
>Мёртвость языка не популярностью определяется
А чем она определяется, лол?
Аноним 27/03/20 Птн 10:21:53 651387374
Не понял в чем прикол Mathf? Почему мне стоит использовать его вместо Math?
Аноним 27/03/20 Птн 10:25:34 651388375
>>651387
They're not duplicate, most of System.Math works with doubles, most of UnityEngine.Mathf works with floats, using System.Math on a float you're implicitly converting to double precision before doing anything with it.
Аноним 27/03/20 Птн 11:14:30 651396376
>>651386
Вот щас бы допытываться у залётного нафани, что означают его бредовые посты. Удачи тебе в этом нелёгком деле, братишка.
Аноним 27/03/20 Птн 15:38:40 651437377
help pls
прикручиваю ironSource рекламу

вылетает такая ошибка:
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (:support-compat-27.1.1:) and classes.jar (androidx.core:core:1.0.0)

нагуглил что нужно дописать это в gradle.properties:
android.useAndroidX=true
android.enableJetifier=true

но где gradle.properties ?
gradle кастомный
Аноним 27/03/20 Птн 17:03:50 651450378
>>651386
Количеством библиотек и удобством их использования.
Вот слышал ты когда-нибудь, что "а давайте писать нейросети на джаве/сишарпе"? Питон — иное дело.
Аноним 27/03/20 Птн 17:12:59 651451379
>>651450
А ты вот когда-нибудь слышал "а давайте на питоне делать игры"? Джава/сишарп - другое дело.
Аноним 27/03/20 Птн 18:31:34 651455380
Имеет ли смысл реализация алгоритма greedy meshing при рисовании вокселей в 2020 году при использованию Unity?

Если да, кто-то может пояснить как этот алгоритм работает?
Аноним 27/03/20 Птн 19:01:22 651460381
>>651450
Нейросети не пишут на питоне, их пишут на С++.
На питоне пишут клиентскую обвязку, чтобы ты смог запустить эту нейросеть с нужными параметрами на нужных данных.
Твоё утверждение по уровню непонимания утверждаемого тобой звучит примерно так же, как "википедия написана на html", без понимания того, что у неё есть бэкенд на сервере, который написан не на html.
Аноним 27/03/20 Птн 19:02:05 651461382
>>651455
> алгоритма greedy meshing
Это какой-то местный форс?
Поясните, в чем заключается мем?
А то я уже кучу раз видел этот пост в разных тредах, не понимаю, в чем прикол.
Аноним 27/03/20 Птн 19:09:48 651463383
>>651461
Скорее всего, мои посты и видишь. Суть алгоритма заключается в объединении рядом стоящих отдельных квадов в один большой, уменьшает количество треугольников (если говорить о майнкрафт-лайк поверхностях)

Суть то ясна, просто не могу найти хорошее описание деталей работы алгоритма.
Аноним 27/03/20 Птн 19:11:40 651464384
>>651463
А на юнити так разве можно? Да и есть ли смысл? Все равно наверняка будет большой оверхед, такие вещи надо напрямую на графическом апи пилить, не зря же у майнкрафта и его клонов кастомные движки.
Аноним 27/03/20 Птн 20:02:29 651481385
>>651464
> наверняка будет большой оверхед
Если оверхед написан не тобой и при работе не отнимает слишком много ресурсов, немного увеличивает размер выходного бинарника. НО при этом даёт тебе удобный функционал так, что ты можешь делать игры, а не движок. ТО почему бы не воспользоваться?
Аноним 27/03/20 Птн 22:32:45 651501386
>>651455
Если пилишь на HDRP c ECS, то не особо важно. Но именно HDRP, в URP ещё вроде не допилен gpu инстансинг. А вообще да, надо комбайнить объекты, надо сливать полики.
Аноним 28/03/20 Суб 01:53:03 651516387
Сделал спавнер спрайтов на пкм, на лкм их движение.
Все прогнал через один монобехейворский апдейтер, вызывающий экшены этих спрайтов. Количество спрайтов в движении на экране 9к - 60 фпс.
Без этой фичи 5к спрайтов - 60 фпс.
Но если вкидываю туда колижены и райджтбоди, физика сжирает прям все ресурсы и количество спрайтов максимум 200-300. Что я делаю не так? Мне это не нравится. 9к спрайтов мне нравилось больше.
Я не хочу пилить физику на движке. Это бред. Зачем тогда движок?
Асинки пока не рассматриваются, все на одном ядре.
Аноним 28/03/20 Суб 02:58:15 651518388
Безымянный.png 69Кб, 1226x820
1226x820
>>651516
Прилагаю скриншот профайлера без всякой физики
Аноним 28/03/20 Суб 02:59:51 651519389
Безымянный.png 79Кб, 1167x958
1167x958
Прилагаю скриншот с физикой.
Аноним 28/03/20 Суб 06:26:54 651523390
>>651519
'Deep profiler' нажми и тыкни на пик, чтобы можно было увидеть, что именно в физике жрет это всё.

Другой вариант - в PlayerSettings (кажется) или Time можно выставить частоту обновления физики меньше, физика будет менее точная, но быстрее считаться.
Аноним 28/03/20 Суб 13:13:04 651585391
>>651523
Там просто бокс колизии. Я просто чекаю, что надо остановится, если ты в кого-то врезался. Если я это сделаю банальными радиусами с перебором всех, это будет гораздо быстрее, чем эта херня. Но тут проблема, я начинаю делать что-то за движок, пытаясь на более верхний уровень натянуть костыли более нижнего. Это не хорошо.
Аноним 28/03/20 Суб 13:54:35 651606392
>>651585
Это нормально. Считай движок обычной песочницей с большим количеством неоптимизированных решений. Хочешь сделать что-то оптимально - делай это сам.

По теме - можешь подкрутить настройки коллайдеров, rigidbody и физической вкладки параметров. Но вряд ли ты выжмешь больше, чем вдвое-втрое от того, что сейчас. Простые векторные расчеты будут быстрее, чем физика коллизий.
Аноним 28/03/20 Суб 17:53:11 651694393
Вот вам пример: на сцене 2 объекта - 1 рендерится камерой 1, второй - камерой 2. По нажатию на кнопку обе камеры выключаются и включается камера 3, которая рендерит оба объекта.
Я тестирую это на старом девайсе, в качестве объектов - пачка спрайтов, из-за альфа блендинга все это дело выдает где-то 40 фпс. Включаю режим одной камеры - прироста ФПС нет.
Но если сделать, что бы камера 1 рендерила в текстуру - то 2 камеры будут выдать порядка 30 ФПС.

Вопрос - в чем разница? Почему рендеринг камерой не сжирает ФПС, а рендер камерой в текстуру - сжирает. В обоих ведь случаях идёт полный проход по фрейм буферу.
Аноним 28/03/20 Суб 19:29:39 651721394
>>651516
Возможно тебе стоит переходить на юнити джоб систем. И писать упрощённую физику самому. 9к коллайдеров, ебись-колотись.
Прилагаю мощный пример:
Аноним 28/03/20 Суб 19:30:07 651722395
Аноним 28/03/20 Суб 20:35:40 651754396
>>651694
Cкорее всего ты в неправильном цикле всю хуйню крутишь, а именно в OnRenderImage. Не делай так, это лочит фрейм. Готовь в OnPreRender, выводи в OnPostRender, не забудь занулить буфер и мой руки почаще.
Аноним 28/03/20 Суб 20:49:59 651757397
>>651754
Я это никак не регулировал - просто назначил камере рендер текстуру. Если я правильно тебя понял - то процесс рендеринга в тестуру по умолчанию вызывается в OnRenderImage.
Т.е. я должен вызывать рендер в текстуру руками, и камере не назначать рендер текстуру - ты это имел в виду?
Аноним 28/03/20 Суб 22:54:30 651790398
1.png 123Кб, 1252x629
1252x629
>>651757
Не, по умолчанию всё ок, там производительность падает вдвое, как и должно быть. Ради прикола проверил, 4.5к юнитикубов с коллайдерами и две камеры - одна в текстуру, вторая на экран. С одной 100 фпс, с обеими уже 60. Может, ты в какие-нибудь буферы упёрся, хуй знает. Никто не поддерживает старые устройства и ты так делай. Был ещё какой-то баг с иос, когда буферы не чистились, ещё лечилось дебильно - добавлением камеры, которая не рендерит никуда.
Аноним 28/03/20 Суб 23:01:54 651792399
>>647163 (OP)
Планирую делать симулятор космического корабля Союз-ТМА. У меня имеется математическая модель движения этого корабля (одна из самых точных), которая принимает в себя начальные условия (параметры орбиты и начальное состояние корабля), а на выходе дает положения корабля в пространстве и его скорость с шагом 1 мс. Вопрос - подойдет ли Юнити для реализации графической составляющей(планета Земля и корабль с возможностью получения текущей позиции, ориентации и скорости объектов по протоколу TCP)&
Аноним 29/03/20 Вск 00:08:13 651813400
>>651792
Собираешься юнити чисто как фронт юзать, а всю логику просчитывать у себя?

Сам таким не занимался, но люди так делают весьма успешно.
Аноним 29/03/20 Вск 01:21:36 651824401
>>647163 (OP)
Аноны, подскажите пожалуйста книг по скриптингу в юнити.
Аноним 29/03/20 Вск 02:18:25 651832402
Аноним 29/03/20 Вск 03:43:11 651837403
>>651721
Я подумал, что лучше создам хеш тайлмапы и переведу объекты в плоскость тайлов, где каждый объект будет прописываться в конкретной клетке на карте. Это будет незаметно для пользователя, а все обсчеты будут типа "Спросить есть кто там в матрице по прописанной клетке, если есть - ну че, братан делай че-нибудь".
Это работает очень быстро, т.к. тупо запрос к ячейке памяти. Так же я могу прописывать объекты на несколько клеток сразу, делая их более "толстыми" и выписывать сразу из всех клеток. Таким образом, я задам радиус коллизии. Да, не очень удобно в подходе с динамическими играми, но для моей мини-стратегии подойдет.
За пару дней накатаю базовый прототип и проверю.
Аноним 29/03/20 Вск 05:06:10 651839404
>>651813
Да, вся логика у меня отдельно просчитывается, в Юнити же только графика - вид от первого лица в кабине космического корабля и панель управления с интегрированным в нее GUI штатного ПО Сюза. С Юнити просто происходит обмен UDP пакетами, так что в данном случае Юнити выступает в роли СИВО(Системы Имитации Внешней Обстановки).
Аноним 29/03/20 Вск 11:13:30 651867405
>>651451
Я не слышал, чтобы приглашали делать игры на джаве (кроме андроидных) или сишарпе. Но на C++ да.

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

Что насчёт википедии, то это не уместно, так как википедия это набор статей, склееных по определённым идеям и соглашениям. Твоё утверждение подошло бы их движку, викимедия или как там его.
Аноним 29/03/20 Вск 11:56:00 651871406
раз уж тут про нейросети зашла речь, а зачем они вообще нужны? я так и не понял. игровой ИИ? генерация ассетов? где почитать?
Аноним 29/03/20 Вск 15:18:43 651913407
спайдермем-шабл[...].jpeg 39Кб, 544x400
544x400
>>651871
здесь рекурсия, чтобы понять зочем нужна нейросеть, нужно иметь собственную нейросеть.
Аноним 29/03/20 Вск 16:22:40 651931408
>>651832
Я знаю C# на уровне паттернов, мне интересно именно взаимодействие с юнитями.
Аноним 29/03/20 Вск 16:47:04 651936409
>>651913
Бля, так тонко, что я порезался.
Аноним 30/03/20 Пнд 04:10:24 652084410
костюм лошади д[...].jpg 211Кб, 578x800
578x800
Здарово, котаны. Хочу писать игру на ведроид. Внимание, вопрос: это нормально, что пустая сцена с камерой и коробкой ощутимо тормозит? У меня конечно мобилка за 3к вечнодеревянных, но не должно же быть всё так помойно. Может я чего-то не знаю? Или дело в телефоне?
Аноним 30/03/20 Пнд 11:22:53 652093411
>>652084
не нормально
Если серьёзно настроен - оставь контакты, у нас команда из трёх человек и цель делать игры на андроид. Мы сделали уже три игры
Аноним 30/03/20 Пнд 11:37:46 652094412
>>652084
> это нормально, что пустая сцена с камерой и коробкой ощутимо тормозит?
мы не медиумы ,запиши вепку
Аноним 30/03/20 Пнд 11:48:10 652095413
Есть нормальные видеоуроки для совсем тупых, таких как я?
Аноним 30/03/20 Пнд 11:57:38 652096414
Аноним 30/03/20 Пнд 13:39:30 652110415
Как лучше связывать объекты, в инспекторе или с помощью GetComponent/FindObject в Start() методах?
Аноним 30/03/20 Пнд 16:09:01 652127416
Unity2020033019[...].mp4 39042Кб, 1600x752, 00:00:25
1600x752
>>648574
Анончики, я тут продолжаю свой рогалик пилить, и сейчас стоит вопрос реализации полосочки ХП/стамины над головой вражины во время удара. Сильно накладно по производительности будет на каждого нпс свой canvas создавать? И если да - то есть ли простые альтернативы?
Аноним 30/03/20 Пнд 16:26:34 652131417
>>652110
Если у тебя несколько сцен и хочешь делать "понятный красивый код" - GameObject.Find(ObjectNames.GoConstName).GetComponent<Type>.

Если ты один и у тебя одна сцена как у меня - испектора с префабами достаточно.

Кстати заворачивать эти объекты в префабы тоже норм варик.

>>652127
Конечно сильно накладно, вот секунда в гугле и ответ:
https://answers.unity.com/questions/799616/unity-46-beta-19-how-to-convert-from-world-space-t.html
Аноним 30/03/20 Пнд 17:13:34 652139418
>>652131
>вот секунда в гугле и ответ
Ну там у него один таргет, а у меня количество полосочек не определено, то есть ударю сразу пять вражин - пять полосочек над головами, ударю двух - две.
Не мог бы ты объяснить чем будет плох допустим небольшого размера world space канвас, привязанный к нпс и активирующийся при нужде а потом опять дизэйблящийся?
Аноним 30/03/20 Пнд 17:22:44 652140419
>>652127
Есть простая альтернатива не использовать канвас
Аноним 30/03/20 Пнд 18:53:21 652154420
>>652127
>есть ли простые альтернативы
Спрайт, который ты скейлишь по x в зависимости от хп. 1 = фул хп, 0 = нет хп соответственно.
Аноним 30/03/20 Пнд 19:33:26 652161421
>>652139
Делать канвасы на каждую хп как делать камеру на каждого солдата, зачем тебе делать 1000 раз то что можно сделать 1 раз?

Да, тебе не нужно знать все твои полоски, ты сделаешь метод (как в том форуме) и будешь передавать в него список своих полосок.
Если твоих солдат расставляешь ты сам, то добавляй их например в public static List<Soldat> _nvm = new List<Soldat>();
потом можешь через for while foreach (что угодно) проходить по этому списку и говорить "дай мне позицию солдата на канвасе" это будет в сотни раз быстрее чем и правильнее чем делать на каждого солдата канвас
Аноним 30/03/20 Пнд 22:35:27 652180422
>>649708
Нет. Но основы рендеринга нужно будет выучить.
Аноним 30/03/20 Пнд 23:11:30 652184423
Пагни, такой вопрос. Сейчас лёрн премиум открыт для свободного доступа, может кто-то все это дело выкачал уже и поделится? Или хотя бы подскажет, как скачать полностью интересный туториал, а то я вот посмотрел про паблишер-сабскрайбер, применил, все заебись, но хотелось бы сохранить себе, чтобы освежить моменты если что.
Аноним 30/03/20 Пнд 23:22:59 652192424
>>652184
> хотя бы подскажет
Регистрируешься и пишешь ОБС-ом.
Аноним 30/03/20 Пнд 23:58:03 652208425
>>652110
Если ты ОКР касательно перформанса и хочешь выиграть 0.01 наносекунды на каждый префаб - то прокликивай руками. Или если у тебя тысячи объектов подгружаются.

Я раньше так делал, сейчас понял, что продуктивней и проще лишнюю работу выносить в скрипты. Чем меньше тебе настраивать в инспекторе - тем больше времени останется на важные вещи. И проект почище.
Аноним 31/03/20 Втр 00:01:54 652209426
Есть тут господа, которые готовы влиться в дружную команду по разработке виар-хуйни? Нужно много кодить на шарпе, не бесплатно.
tg @comewithme
Аноним 31/03/20 Втр 02:15:35 652221427
е
Аноним 31/03/20 Втр 05:34:11 652237428
>>652209
Готов кодить забесплатно. Но я не знаю шарпа. Возьмете? Буду изучать на ходу.
Аноним 31/03/20 Втр 07:03:37 652238429
>>652127
Есть, создай один WorldCanvas и там рисуй полоски для всех вражин.
Аноним 31/03/20 Втр 19:12:02 652320430
Билд на андроиде крашится после сплэш-скрина. Куда копать?
Аноним 31/03/20 Втр 19:21:22 652321431
Fade.jpg 43Кб, 1088x630
1088x630
>>647163 (OP)
Почему если у материала Render Mode = Fade, объект не принимает тень? Только когда = cutout.
Аноним 31/03/20 Втр 22:30:39 652349432
Стикер 63Кб, 56x56
56x56
>>652320
Отключить сплеш-скрин.
Аноним 31/03/20 Втр 23:45:10 652357433
>>652349
Ты неправ, братан, нужно было обнулить нахуй все пэкэджи.
Аноним 01/04/20 Срд 11:15:05 652412434
Unity2020040114[...].mp4 23801Кб, 1600x752, 00:00:11
1600x752
Аноним 01/04/20 Срд 13:43:22 652477435
В юнити можно зациклить анимацию персонажа не с 0 кадра, а скажем с 5 или 7 кадра?

Чтобы при активации действия шла анимашка, но зациклен был лишь ее конец?
01/04/20 Срд 13:44:19 652478436
Аноним 01/04/20 Срд 13:44:50 652479437
Аноним 01/04/20 Срд 14:00:09 652486438
>>652477
В импорт сеттингс режешь анимацию на две, одну циклишь
Аноним 01/04/20 Срд 14:02:12 652487439
>>652486
Звучит как костыль
Аноним 01/04/20 Срд 14:04:39 652489440
>>652477
Никто так не делает. Делай отдельно луп и не луп анимации.
Аноним 01/04/20 Срд 15:07:26 652510441
Как в job передать NativeArray без размера? И указать этот размер позже в самой job?
Аноним 01/04/20 Срд 18:07:39 652590442
Аноним 01/04/20 Срд 18:40:03 652603443
>>652590
Да, точняк. Спасибо. Я уже и сам допер, как обычно, задаешь вопрос на дваче а потом сразу понимаешь что нужно делать
Аноним 01/04/20 Срд 20:51:22 652659444
Без названия.jpg 4Кб, 239x211
239x211
Выручайте! После открытия пустого проекта перестает работать мышь. При этом клавиатура работает, окно редактора отвечает на действия, т.е. я могу открывать меню, создавать папки и т.д. Мышь обычная, без дополнительных кнопок, USB. Пробовал запускать разные версии Unity 2019.3.7f1 (64-bit) и Unity 5.4.0f2 (64-bit) результат один и тот же. Помогает только перезагрузка компьютера. Чем это вызвано? Что мне следует сделать?
Аноним 01/04/20 Срд 21:00:44 652662445
Поменял USB порт, вроде работает. Колдунство какое-то
Аноним 01/04/20 Срд 21:13:10 652671446
>>652662
Меняй материнку, скоро южный мост сдохнет.
Аноним 01/04/20 Срд 23:31:17 652694447
>>652683
я нажимал alt+f4 юнити закрывался, но мышь продолжала стоять на месте. Отключать включать пробовал. не помогало. Ещё писало, устройство не опознано вроде бы.
Аноним 02/04/20 Чтв 11:24:25 652739448
Такая проблема:
Сделал я 3д модельку, прикрепил кости и спустя много времени увидел, что у костей вперед это Vector3(0,1,0) а вверх это Vector3(-1,0,0)
Хочу сделать, чтобы lookAt работало, написал
var _orientation = Quaternion.LookRotation(new Vector3(0, 1, 0), new Vector3(-1, 0, 0));
var _bipedRotationFix = Quaternion.Inverse(_orientation);
и успешно вызываю код:
HeadBone.LookAt(targetPos);
HeadBone.rotation = HeadBone.rotation * _bipedRotationFix;
А теперь хочу, чтобы кость головы не крутилась на 360 градусов и не могу это сделать, через localEulers и clamp по x и z он оработает пока я стою перед моделькой, если захожу за спину, то её разворачивает до -180 (хотя в клампе стоит 70), и хз что делать.
У кого-нибудь была такая проблема?
Уже думаю модель всю переделать из-за этого
Аноним 02/04/20 Чтв 13:01:46 652746449
>>647163 (OP)
В 2019 таймлайн переделали, что-то вообще туториалы из 2017 не подходят. Есть актуальные?
Аноним 02/04/20 Чтв 16:57:12 652764450
>>652671
не будет южного, пойдет через северный
Аноним 02/04/20 Чтв 19:43:58 652773451
>>652237
есть какой-то опыт? Я не он, но у нас тоже есть своя команда.
Оставь телеграм
Аноним 02/04/20 Чтв 20:04:13 652776452
Идеальное время чтобы полностью отдать себя геймдеву
Аноним 02/04/20 Чтв 22:02:21 652798453
изображение.png 274Кб, 1920x1200
1920x1200
В Юньке ограничение на 64к вертексов на один меш.

1. Как быть с отрисовкой больших воксельных моделей, где требуется большее количество вертексов?

Делить на несколько мешей?

2. Насколько дико каждый воксель делать отдельным мешем (с учетом, конечно, отсечения граней)? На пике - один меш, 20x20x2.
Аноним 02/04/20 Чтв 22:12:35 652801454
>>652776
У кого как, некоторых карантин не коснулся вообще.

>>652798
Это не юньковское ограничение, а хардварное. Большие модели разбивай на модели поменьше, очевидно же. Когда не влезаешь в лимит по полигонам - создавай новый меш. Но я бы шёл от противного, создавал объект, который не может в принципе содержать максимальное количество полигонов, и набирал из таких объектов всю сцену. И помни, что вершины часто густо дублируются.
Аноним 02/04/20 Чтв 22:34:07 652810455
>>652804
>Eбать, я нашёл 32х битные буферы!
А потом отваливаются мобилки, отваливаются ноутбуки, нихера не рендерится, везде ворнинги и пустые экраны. Зато в редакторе меши охерительных размеров, которые пересчитываются ёбаную вечность при деформации сетки.
Аноним 03/04/20 Птн 03:59:07 652847456
image.png 62Кб, 559x840
559x840
Как сделать копию (duplicate в курсе что прохожу) префаба? В опциях по ПКМ нету.
Аноним 03/04/20 Птн 05:35:40 652851457
Аноним 03/04/20 Птн 10:43:31 652877458
Аноним 03/04/20 Птн 13:42:52 652906459
>>652851
>>652877
Спасибо большое!

Но почему в выпадающем меню нет этой функции? Типа это как то контринтуитивно\нелогично что ли.
Аноним 03/04/20 Птн 15:54:36 652931460
>>652906
Просто юнитеки сами не используют свой движок в работе, оттого делают не для людей.
Аноним 03/04/20 Птн 18:21:24 652960461
Аноны, столкнулся с такой проблемой. Импортирую в проект obj модельку сделанную в магике воксель, выставляю нужные координаты, но почему-то при запуске к координатам модельки (в частности к Y) добавляется почему-то 1.23 (т.е. если по Y она была выставлена на 0, то после старта будет находится на 1.23). Как фиксить проблему? Пробовал закидывать в пустышку - не помогает.
Аноним 06/04/20 Пнд 12:45:50 653401462
Кто-то когда-то собирал андроед плагины для Юнити?

Делал по туториалу, получил ошибку при запуске на устройстве: AndroidJavaException: java.lang.ClassNotFoundException: com.cw.unity.MyPlugin

До этого андроид студию в глаза толком не видел, но делал все по туториалу.

Java код: https://pastebin.com/UWNBTRug

C# код: https://pastebin.com/TmqL8mX0

Что я могу делать не так?
Аноним 06/04/20 Пнд 12:48:37 653402463
Как уменьшить нагрузку на ноут (макбук) в юнити? я просто открываю редактор и прохожу уроки начальные, где нет большой нагрузки просто пару 3д кубов и скриптик их движения, а мой сраный макбук этого не понимает и сжирает кучу заряда просто так и нагревается...
Аноним 06/04/20 Пнд 13:45:19 653406464
>>653401
Я давно это делал и все забыл, сразу смущает приватный конструктор, ты можешь попробовать запустить java код без юнити, а просто через еклипс.
А еще лучше сначала сделать даже без статиков, а самому создавать инстанс класса и вызвать метод простой.

>>653402
В течении года поправят, а сейчас никак, я на своем режим энергоуправления настроил и число кадров порезал

>>652960
Похоже будто на 1й кадр применяется анимация, в магике можно анимации делать?
Аноним 06/04/20 Пнд 14:16:21 653409465
>>653406
а как настроить режим энергоуправления и порезать число кадров?
Аноним 06/04/20 Пнд 14:34:33 653413466
>>653401
java файл в папку plugins засунул? Он точно не из всех папок его подхватывает. И [DLLImport("")] разве не нужен в твоем C#?
Аноним 06/04/20 Пнд 14:39:02 653414467
>>653402
Юнити жрет в редакторе весь доступный ЦПУ, смирись, можешь попробовать Application.targetFrameRate поставить поменьше, так будет жрать меньше в запущенном режиме.
Аноним 06/04/20 Пнд 14:40:33 653415468
>>653413
>java файл в папку plugins засунул?

Да, засунул. С импорт сеттингами тоже все ок.

>И [DLLImport("")] разве не нужен в твоем C#?

Это же не dll, это aar файл. Он иначе импортируется.
Аноним 06/04/20 Пнд 14:42:00 653416469
>>653406
>ты можешь попробовать запустить java код без юнити, а просто через еклипс.

Я так понимаю, проблема кроется где-то на стадии импорта всего этого говна в Юнити.
Аноним 06/04/20 Пнд 15:28:03 653424470
>>653415
Больше не знаю что тебе подсказать, посмотрел в свой код, все в целом так же, единственно без статик инстанса, я обернул в using(.. new AndroidJavaClass()). Никаких танцев с манифестами, ничего необычного не делал.
Аноним 06/04/20 Пнд 16:55:15 653460471
Всем привет. 100 лет тут не был.
Начал недавно изучать шейдер граф. И заодно пиксельную графику.
Есть небольшой вопрос. Как зайти за пределы текстуры?
Т.е. есть рисунок 16x16 полностью заполненный. Хочу сделать обводку, но сосу хер, т.к. места для нее нет
Аноним 06/04/20 Пнд 17:57:37 653469472
>>647163 (OP)
Анон ПАМАХИ.

Пару лет назад ковырял уеч для интереса. Ща решил поковырять юнити. И сильно уебался - я не понимаю принципов архитектуры юнити.

В сраном уече были GameMode\GameInstance\GameState классы, которые гарантированно появлялись в определенный момент.
И в них можно было написать какую то логику первичной инициализации и не парится, что блядь какой то объект проснется раньше все и получит кучу нуль референсов.

В юнити все что я нашел - костыли. Костыльные недосинглтоны, костыльные геймстейты, костыльные костыли. Блядь, как так жить то?

Можно где почитать про базовые архитектуры и бестпрактиклс в юнити? В туторах на ютубе как обычно делают коней в вакууме.
Аноним 06/04/20 Пнд 18:21:14 653476473
>>653402
>>653414
Можно анально запретить использовать некоторые ядра через /affinity, я так на 50% нагрузку цпу понизил.
Аноним 06/04/20 Пнд 18:44:18 653479474
.алала аоал
Аноним 07/04/20 Втр 00:10:55 653541475
>>653469
Прицнип простой. У тебя есть точка входа (самый простой вариант - монобехейвиор, висящий на геймобжекте, но можно и иначе это сделать). Из точки входа ты инициализируешь все что тебе нужно, и создаешь все необходимые объекты с помощью пулов и фабрик.

Синглтоны и глобальный доступ - для пидоров.
Аноним 07/04/20 Втр 01:40:43 653571476
>>653541
И чем это отличается от синглтона
Аноним 07/04/20 Втр 02:25:24 653584477
>>653541
ЕХИДНЫЙ СКРИПТ ПРОСЫПАЕТСЯ ПЕРВЫМ
@
NULLEXCEPTION
@
ЖИДКО ПЕРНУВ В ЛОГ ПРОДОЛЖАЕШЬ ВЫПОЛНЕНИЕ
Аноним 07/04/20 Втр 02:28:16 653585478
>>653541
>>653584
АЛСО

ПОРЯДОК ВЫПОЛНЕНИЯ СКРИПТОВ НЕ ОПРЕДЕЛЕН
@
СПЕЦКОСТЫЛЬ ИЗ КОРОБКИ - ПРИОРИТЕТ ВЫПОЛНЕНИЯ СКРИПТОВ


Не ну пиздец же.
Аноним 07/04/20 Втр 02:32:04 653586479
>>653541
Алсо.

В итоге даже мелкий МВП у тебя будет либо пиздецом макарон из райтонли кода и зависимостей.
Либо нагромождением самописных архитектурных костылей.

В чем проблема блядь была сделать ебучие
>У тебя есть точка входа (самый простой вариант - монобехейвиор, висящий на геймобжекте, но можно и иначе это сделать)
Из коробки, что бы мне не нужно было выснять как это делать по форумам или другим
>можно и иначе это сделать
Аноним 07/04/20 Втр 05:35:33 653592480
Аноним 07/04/20 Втр 07:56:49 653596481
>>653592
Рискуешь вместо игр начать делать системы, а потом ненавидеть дотс т.к. он лишает легкой гибкости
Аноним 07/04/20 Втр 08:57:09 653598482
>>653584
Как ехидный скрипт может проснуться на сцене, если его нет в момент запуска? Суть точки входа в том, что она является единственным скриптом, находящимся на сцене в момент загрузки.

>>653571
>И чем это отличается от синглтона

Ты вообще знаешь что такое синглтон?

>>653586
>макарон из райтонли кода

Што?

>и зависимостей
Кури dependency injection.

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

Ты в Юнити программировать пришел, или лепить говно из блюпринтов? Если ты пришел программировать, то на столько очевидные вещи ты какбы должен был бы и сам знать.
Аноним 07/04/20 Втр 16:37:20 653657483
>>653596
>Рискуешь вместо игр начать делать системы
ну я в общем-то если быть предельно честным и не хочу на самом деле никакую игру делать уже, теперь мне больше интересно техдемки ради техдемок пилить
(что бы не придумают лишь бы игры не делать)
Аноним 07/04/20 Втр 17:52:22 653671484
>>653657
И как получается с монетизацией техдемок?
Аноним 07/04/20 Втр 18:02:50 653674485
>>653671
А как с монетизацией игр?
Аноним 07/04/20 Втр 19:47:08 653703486
>>653671
а надо? у меня есть стабильный источник дохода, а это просто хобби
Аноним 07/04/20 Втр 20:53:55 653716487
>>653674
В минусе.
>>653703
Тогда норм. Обычно вкатываются в геймдев с целью заработать миллионы на своей гениальной идее.
Аноним 08/04/20 Срд 08:07:52 653800488
>>652739
Ты некорректно импортировал модель из редактора. Гугли видео про то как из ивоего зд-редактора импортировать модели в юнити. Скорее всего ничего с моделью тебе делать не придется, только в настройках импорта оси поенять.
Аноним 08/04/20 Срд 09:23:11 653808489
>>653800
Спасибо, я пробовал их менять, в 3д максе всего 2 типа экспорта осей, оба глючат.
Вместо lookAt стал использовать:
_animator.SetLookAtPosition(targetPos);
_animator.SetLookAtWeight(0.8f, 0f, 1f, 1f, 1f);
Это работает валидно
Аноним 08/04/20 Срд 09:44:13 653811490
>>653808
Странно, макс нормально всегда экспортировал, пок крайней мере в фбх-формате... поищи видиво на ютюбе, точно должно быть как сориентировать и экспортировать модели
Аноним 09/04/20 Чтв 20:18:00 654712491
Возникла проблема при разработке игры. Имеется: 3д персонаж и анимация взятая с миксамо десять раз пожалел что связался с этим гавном. Выставляю чтобы анимация была зацикленной и ставлю галочку на Loop Pose, настраиваю тип анимации везде на Humanoid и также в анимацию бега прикрепляю изначальную модельку взятую с миксамо. Тащемто проблема заключается в том что при движении персонаж почему-то бежит не ровно прямо, а уходит вправо ну т.е. двигается по диагонали . Как это исправить
Аноним 09/04/20 Чтв 21:12:15 654729492
image.png 334Кб, 1920x1080
1920x1080
image.png 355Кб, 1920x1080
1920x1080
Короче, думал поубачаться юнити пока сижу на карантине, но при загрузке туторила выдает дохуя ошибок, что собственно нихуя не дает обучаться
Может быть из-за того что 8 винда?
Аноним 10/04/20 Птн 06:58:40 654821493
>>654729
Какой у тебя в туторе рендер?
Аноним 10/04/20 Птн 09:21:58 654831494
SampleScene-Ray[...].jpg 90Кб, 1678x758
1678x758
Это нормально, что стандартные 3D модели бежевого цвета, а не белого... В туториалах они белого цвета. Создал новый маериал белого ццвета, закинул на модельки, а они все равно бежевые... В чем косяк?
Аноним 10/04/20 Птн 09:50:14 654837495
>>654821
я таких слов не знаю
Аноним 10/04/20 Птн 11:00:49 654853496
А, до орешка моего дошло.. Дефолтный источник света просто светит желтоватым оттенком
Аноним 10/04/20 Птн 20:18:15 655172497
8c368129c67ab50[...].jpg 82Кб, 773x773
773x773
Мужики, можно как-то убрать начальную иконку Unity в обычной версии, мб есть какие-то хитрости для этого? Или только покупать? Есть тут такие, кто купил? Дорого вообще?
Есть кто пиратит? Подскажете ресурсы, откуда качать лучше?
Аноним 11/04/20 Суб 01:55:23 655327498
Блядь насколько вот пиздатый редактор UI в хуече, настолько он уебанский в хуюнити. Просто пиздец.

Искал пол часа проебавшийся TEXT, дошло до того, что я нахуй снес все на канвасе, заспавнил 2ой текстовый элемент и поставил все 1 в 1 как на первом.
И знаете? ОН НИХУЯ НЕ ПОЯВИЛСЯ 2 ЧАСА ЕБЛИ С ЕБУЧИМИ АДАПТИВНЫМИ ПАНЕЛЯМИ ЧТО БЫ УЗНАТЬ ЧТО ХУЙНЯ ПРОСТО ЗАГЛЮЧИЛА

Все еще лучше чем CSS. Спасибо Абу.
Аноним 11/04/20 Суб 11:44:17 655385499
2020-04-11 11-3[...].mkv 965Кб, 800x408, 00:00:07
800x408
>>655327
А я люблю обмазываться UI и писать новые абстракции. На два слоя целый день уходит. Очевидно, что каждый объект на экране это UiItem, хуярим поверх юипанель. Ну, она же может иметь хедер, так что пилим юитекст. А если панель можно закрыть? Точно, пишем поверх юиитема новый класс - юибаттон. Так, нужно окно инвентаря? Ну, значит, пишем поверх юипанели таббедпанель для которой нужен класс баттонпанели!, а уже поверх неё инвенторипанель. В которую добавляются инвенторипейджесы. Так, таскать по страницам инвентаря мы будем кнопки? Оно же кликабельное, как кнопки. Но и драгабельное, как юипанели. Ладно, незачем дописывать родительские классы, напишу новый InvItem. Ах да, это всё ещё View, теперь-то надо начать писать контроллер.
Хорошо, что я проигнорировал UiElements и запилил всё на uGui.
Аноним 11/04/20 Суб 15:54:57 655462500
1586609687934.png 14Кб, 491x156
491x156
1586609687993.mp4 973Кб, 800x408, 00:00:07
800x408
>>655385
Ремультиплексируй, сука! Ремультиплексируй, мразь! Неужели это так сложно, гандонище?
Аноним 11/04/20 Суб 20:56:48 655634501
>>655462
Нахера, уёбок? И так заебись получается. Хотя я хотел вебм, но айскрим вконец охуел.
Аноним 11/04/20 Суб 21:02:25 655636502
>>655385
>UiElements
Так эта залупа для едитора же
Аноним 11/04/20 Суб 21:24:04 655645503
>>655636
Эта залупа и для эдитора, и для игрового гуи. В целом работает, я уже потыкал, но не поддерживает новую инпут систему, события не проходят.
Аноним 11/04/20 Суб 22:53:06 655673504
>>655172
Боже, кряком делаешь всё, макс 2 мин, вуаля чёрная схема и все дела. Если не собираешь рубить больше 10к зелени можешь не париться.
Аноним 11/04/20 Суб 23:19:53 655688505
1586636393351.png 16Кб, 539x382
539x382
>>655634
> Нахера, уёбок?
Тащемта по банальной причине.
Аноним 12/04/20 Вск 08:38:12 655822506
SampleScene-Poi[...].jpg 348Кб, 2384x1320
2384x1320
Бля что за хуйня?
Аноним 12/04/20 Вск 13:15:57 655921507
скрин1.jpg 248Кб, 1280x980
1280x980
Сап анон. У меня есть персонаж в блендере (жаба). У него есть риг языка, который может растягиваться (и при этом сужаться). В идеале, мне нужно, чтобы язык в юнити двигался за целью. Нужно ли заморачиваться с IK в юнити или достаточно обойтись Blend Tree? Насколько сложно сделать такой IK в юнити?
Аноним 12/04/20 Вск 20:59:26 656179508
Что будет работать быстрее? Если сделать множество маленьких шейдеров под нужды каждого материала? Или если сделать один универсальный мегашейдер (типа встроенного Standart) для всех материалов?
Аноним 12/04/20 Вск 21:45:46 656207509
>>655688
У тебя с пекарней что-то не то, кодеки накати.

>>655921
Я бы на твоём месте поубавил костей в языке и просто двигал их скриптом. И удалил нахуй блендер.

>>656179
А ты вскрой стандартный шейдор, он на самом деле не монолит, а тонна инклюдов, которые не инклюдятся, когда не нужны. И в нём не включены прямо таки все варианты, только некоторые.
Аноним 12/04/20 Вск 21:56:03 656217510
>>656207
Где найти исходники встроенных юнитивских шейдеров, особенно Standart?
Аноним 12/04/20 Вск 22:11:09 656225511
1.png 25Кб, 616x409
616x409
Аноним 12/04/20 Вск 22:44:11 656250512
Нужно ли Жабу экспортировать с костью root? или экспортировать только Deform?
Аноним 12/04/20 Вск 23:15:53 656275513
>>656207
> У тебя с пекарней что-то не то
Линуксянка, осложнённая опенсорцом головного мозга.
> кодеки накати
Не помогает. Надо отказаться от браузера и перейти на небраузер от корпорации добра. Чего я делать конечно же не буду. Так что, демультиплексируй, няш. Секунда делов-то! Как я показал в предыдущем посте, запостив демультиплексированный твой файл, это даже размер слегка уменьшает.
Аноним 13/04/20 Пнд 09:32:16 656372514
А тут не принято прогресс постить?
Аноним 13/04/20 Пнд 10:21:38 656385515
>>656372
Где "тут"? В треде? Не принято. На доске? Принято. Есть отдельный субшота-тред для похвастаться мелочью. Так же практикуется создание своего треда с девлогом.
Аноним 13/04/20 Пнд 14:28:41 656495516
>>656275
>965Кб
>973Кб
Уменьшает, ага, на целых 8 килобайт твой файл больше моего.
>Не помогает.
Тогда хуйня твой опенсорц, матроска на самом деле не формат, а контейнер, там внутри mp4. Если не забуду, в следующий раз раскукожу, как удобнее, я obs только ради тех семи секунд и накатил.
>>656250
Деформ это блендшейпы, ты ими нормально язык двигать не сможешь. Смотри в сторону Transform.LookAt ну и двигай тазом скриптом кости.
>>656385
В личных тредах опа принято хуесосить, так что я бы не советовал.
Аноним 13/04/20 Пнд 19:23:36 656611517
>>656250
Имел в виду только кости, деформирующие меш. Насколько я понял, анимации в юнити могут быть in-place (например, шаги на месте) и анимации, когда двигается весь персонаж root motion. Вот в чем разница для далнейшего использования в юнити?
Аноним 13/04/20 Пнд 23:46:00 656681518
>>654831
сначала почитал вопрос, думал что за хуйня. но оказалось у меня тоже не белый. а дело в том, что цвет света directional light не белый, а серо-бежевый как у тебя.
Аноним 14/04/20 Втр 14:02:20 656806519
>>648950
404, анонче, не перезальёшь за сотню нефти?
Аноним 14/04/20 Втр 18:46:39 656884520
>>656611
> Вот в чем разница для далнейшего использования
Циклические анимации удобнее ин-плейс, болванчик дрыгается на месте, а ты его координаты по карте таскаешь со скоростью, совпадающей с частотой дрыгания, чтобы ноги не чесали по земле. Рут-мовшен удобнее для одиночных анимаций, тебе ничего двигать не надо. Анимация сама переместит болванчика из точки А (земля) в точку Б (площадка не лестнице, например). Потом правда возникнет проблема, что нужно ловко подменить координаты при переключении на следующую анимацию.

В общем, вопрос вкуса, стиля, привычки и всего такого. Анонимус предпочитает инплейс. Чтобы все перемещения контролировать самостоятельно.
Аноним 15/04/20 Срд 13:03:14 657069521
image.png 1Кб, 262x19
262x19
Когда билдишь с il2cpp, зачем нужна вот эта папка?
Help 15/04/20 Срд 14:47:23 657083522
Скриншот 15-04-[...].png 108Кб, 198x540
198x540
Скриншот 15-04-[...].png 225Кб, 1113x487
1113x487
Скриншот 15-04-[...].png 33Кб, 244x613
244x613
Ребят, объясните ньюфагу в чём проблема? Как правильно экспортировать не скелетную анимацию? Если кидаю файлом .blend, то в Юнити всё нормально, при экспорте .fbx какая-то дичь. Что делать? Что надо исправить?
Аноним 15/04/20 Срд 17:59:26 657154523
15/04/20 Срд 18:04:30 657158524
>>657154
Ну, есть Мая. Но опять же, как я готовую анимацию туда перенесу, чтобы нормально для Юникь экспортировать? Или чекать как делать анимацию в Мае?
Аноним 15/04/20 Срд 18:55:25 657186525
>>657158
Ну там блендер же не только в два формата экспортирует? Или только в два? Экспортируй в майку, оттуда в fbx и в юнити. Скорее всего у тебя или плагин блендера кривой, или блендер кривой. Или не та версия питона, нужна такая же, но с перламутровыми пуговицами. Но это скорее вопрос для /td, чем для /gd, тут так-то не особо много пользователей этой хуйни. Рабство стола. Ну или кидай файлом .blend, какие проблемы? Юнити в таком случае, если не ошибаюсь, сама переконвертирует в человеческий формат. Или попробуй не делать передом отрицательную ось, я хуй знает. Олсо ты ебанутый, кстати, ты анимацией там колёса крутишь? Пиздос просто.
15/04/20 Срд 19:15:19 657199526
Скриншот 15-04-[...].png 20Кб, 297x250
297x250
>>657186
Вроде как Юнька не конвертирует, в этом и проблема. Блендфайл по итогу весит в три раза больше. FBX 300 кб, BLEND 900 кб. Проблему решил методом тыка. Надо было убрать эти две галочки
Аноним 15/04/20 Срд 21:33:22 657275527
Как узнать есть ли циклические зависимости в риге в блендере? существует ли команда в консоле? (анон >>655921
)
Аноним 17/04/20 Птн 14:51:01 658307528
Перекат будет? а то у меня серьезный вопрос
Аноним 17/04/20 Птн 16:47:36 658329529
>>658307
Перекати сам. И можешь вопрос прямо в оп-посте задать. Круто же будет, целый юнити-10 тред с твоим вопросом в оп-посте!
Аноним 18/04/20 Суб 04:40:31 658660530
>>647163 (OP)
>На выбор два языка - C# и UnityScript
Когда перекатывать будете уберите нахуй юнитискирпт он с 2018 не поддерживается
Аноним 18/04/20 Суб 11:15:41 658713531
>>658660
>Когда перекатывать будете
Не будем.
Аноним 18/04/20 Суб 13:40:40 658746532
15855821235590.jpg 14Кб, 399x400
399x400
>>658713
Ну перекати заебал
Аноним 19/04/20 Вск 10:38:41 659127533
123.png 1756Кб, 1366x768
1366x768
Как в Unity натянуть модель змейки, которая будет так же гнуться, как и сама змейка. Может шейдеры, короче любая инфа интересует.
Аноним 19/04/20 Вск 10:44:06 659128534
>>659127
Fbx + кости, костями управляй сам без заготовленной анимации -> оч легко
Аноним 19/04/20 Вск 10:45:31 659129535
Аноним 19/04/20 Вск 10:56:09 659131536
>>659128
Еще вопрос. Как решать проблему того, что змейка увеличивается? На ходу строить кости я не могу, и так же не могу 100 моделей загружать для одной модельки, с разным кол-вом костей. Может тут все таки шейдеры нужны или нет?
Аноним 19/04/20 Вск 11:12:57 659132537
>>659131
А это уже сложнее, в юнете есть TrailRenderer и LineRenderer, Trail идет как хвост, а Line - можешь сам указывать точки, но оба компонента 2D
Если хочешь 3D реалистичную змею, то тут я бы сделал 2 части - голову и хвост, а тело генерировал сам, но повторюсь, если ты новичек - это будет оч сложно т.к. нужно разбираться в типе данных 3д форматов, самому строить векторы, полигоны и UV карту.
Аноним 19/04/20 Вск 11:25:17 659133538
>>659132
Ты шаришь в этом? Если да, то по чему изучал?
Сейчас по шейдерам вообще очень мало инфы, особенно для юнити, копать только книги, насколько вообще оцениваешь сложность, с нуля месяц или больше? У меня много идей, и если кто-то с этой может помочь, то можем доход поделить, змейки сейчас актуальны, особенно 3D и казуальные.
Аноним 19/04/20 Вск 11:46:09 659135539
>>659133
Лол, я бы мог это сделать, но желания нет, свое гавно пытаюсь доделать.
По чему изучал - одно время читал все подряд на том же хабре и ютубе.
Про вертексы и UV узнал когда смотрел многочасовые уроки по моделированию, моделировать так и не научился.

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

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

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

А еще точнее - https://www.raywenderlich.com/3169311-runtime-mesh-manipulation-with-unity тут разбирают тему "изменения меша" прям в движке, так же можно нагуглить и кости и всё это соединить
Аноним 19/04/20 Вск 11:57:25 659137540
>>659135
Годный материал, спасибо и удачи со своим проектом.
Аноним 19/04/20 Вск 13:11:29 659148541
>>659131
Тащемта ничего сложного тут нет, делаешь модель для головы плюс модель сегмента тела с хвостом. В рантайме инстансируешь голову плюс сегмент, потом наращиваешь сегмент за сегментом. У каждого сегмента своя кость или даже две, так что анимировать скриптом будет легче лёгкого. Из минусов, овердрав большой, но можно добавить урезанный сегмент без хвоста.
Аноним 19/04/20 Вск 13:29:03 659153542
>>659148
А как эти сегменты будут соединяться между собой?
Аноним 19/04/20 Вск 13:32:37 659155543
QgxBd3Ynq5yD4Pq[...].] 658Кб, 1124x632
1124x632
>>659148
Мне надо вот такую змейку получить
Аноним 19/04/20 Вск 14:30:48 659165544
>>659153
Так ты же сам их и позиционируешь скриптом, как расположишь - так и будут соединяться. Делаешь у переднего торца вейт вершин 100% к крайней кости спереди, у заднего вейт 100% крайней кости сзади. Потом помещаешь первую кость второго сегмента тупо в последнюю кость первого сегмента и двигаешь ими, как одним целым, обе кости за раз. Не лучший вариант с точки зрения аккуратности, но сработает. Возможна z-битва, но это не точно.
Если ты хочешь делать по-людски, то пили процедурную генерацию змейки. Для графона, как на пике, даже текстуры не нужны, так что головняк с uv отваливается, уже проще. Около хвоста добавляешь луп, хвост сдвигаешь чуть назад. И да ты можешь и ты должен на ходу строить кости - это просто, создаёшь пустышку и закидываешь её в SkinnedMeshRenderer.bones, тут главное индексы не проебать.
Аноним 19/04/20 Вск 15:34:20 659182545
Наверное тупой вопрос, хочу использовать скриптабл обжектс для хранения информации статы итемов, первая же проблема - как собсна эту информацию получить? Думаю повесить на геймобжект класс с сериалайзед массивом и через инспектор все скриптаблы туда запихать, но тогда возникает другой вопрос - как мне достать конкретный итем, как-то это все индексировать? Должен же быть какой-то правильный путь?
Аноним 19/04/20 Вск 16:04:42 659189546
>>659165
Все четко, я нашел даже ассет, в котором кость тянут и меш вытягивается, только у меня в этом опыта ноль, я не знаю как такой меш сделать, как динамически кости добавлять, можешь более подробно для ньюфага объяснить?
Аноним 19/04/20 Вск 16:05:41 659190547
>>659165
Или я проебался и мне нужно читать первую ссылку о деформации меша? Сорян что так посты разбиваю, просто туплю чото, курю дохуя.
Аноним 19/04/20 Вск 16:49:16 659214548
>>659182
1. public class YourHolder : MonoBehaviour{
public static readonly YourHolder Instance = null;
// Тут твои scriptable objects
protected void Awake(){
Instance = this;
}
//on destroy -> Instance = null;
}
И потом YourHolder.Instance.YourScriptableObject

2. Пихаешь их в папку Resources и потом в коде Resources.Load<YourType>("YourScriptableItem")

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

Я использую 1 и 3 способы
Аноним 19/04/20 Вск 18:24:28 659266549
>>659189
Cмахивает на то, что ты ебанут. Любой меш будет растягиваться, если за кости потянуть. Так скиннинг и работает, если что. Другое дело, что он будет деформироваться. И чтобы этого избежать, нужно добавлять точек и треугольников.
>как динамически кости добавлять
>создаёшь пустышку и закидываешь её в SkinnedMeshRenderer.bones
Я писал уже вообще-то.
Аноним 19/04/20 Вск 18:34:51 659269550
>>659266
Я не ебанут, а объяснил ты кратко, говорю же, не шарю.
Если все так просто, спасибо за помощь, буду гуглить этот скиннедмеш. Я сам просто не капал и хотел найти уже что-то более менее похожее на то что я хочу, но с костями на ютубе только с персонажами работают.

Если отталкиваться от моего скрина, где уже есть созданные части змейки, могу ли я их использовать как кости? Братан, можешь не отвечать если вопросы тупыми кажутся, я же сказал, настроение такое, нехуй делать, сейчас тупо время прожигаю и собираю ответы, завтра может начну уже что-то искать.
Аноним 19/04/20 Вск 19:48:03 659287551
>>659214
А как мне достать конкретный объект? Просто хардкодить индекс в массиве?
Аноним 19/04/20 Вск 21:21:34 659322552
>>659287
Я бы через dictionary сделал.
Аноним 19/04/20 Вск 21:54:09 659338553
1587322442553.png 684Кб, 1919x1079
1919x1079
>>659127
> Активация Шиндовс
Обрети свободу, пацан.
Аноним 20/04/20 Пнд 06:33:53 659453554
>>659287
Поддерживаю этого >>659322
Dictionary<ТипИдентификатора, YourScriptableType> data;
Ну и ТипИдентификатора можешь использовать как int string или лучше enum создать, например
public enum ScriptableTypeEnum {
Weapon = 1,
Body = 2,
Sound = 3 и тд
}
Аноним 20/04/20 Пнд 06:46:22 659455555
>>659453
Сколько бамплимит, надо перекатывать
Аноним 20/04/20 Пнд 09:25:00 659498556
>>659455
Вроде 450, перекати плз
Аноним 20/04/20 Пнд 12:21:52 659530557
Аноним 24/04/20 Птн 18:04:03 661975558
>>659182
Сделал такую хуйню: Для объектов, из которых нужно сохранить инфу, сделал абстрактного предка. А на том самом классе с сериалайзед массивом на геймобжекте сделал поиск всех этих предков на сцене. Правда здесь проблема в том, что выключенные объекты не находятся.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов