Двач.hk не отвечает.
Вы видите копию треда, сохраненную 16 марта 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
unity-mwu-black.png97 Кб, 3000x1995
Unity3D #16 766778 В конец треда | Веб
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

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

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

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

FAQ

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

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

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

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

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

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

- Что такое стартер киты?
- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.

- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?
- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).

- Бесплатен ли Unity?
- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.

Обучение

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

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

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

Шапка: https://www.writeurl.com/publish/qzgktisltkskaitem6aa
2 766779
Есть где скачать простой CRT (эффект CRT монитора) шейдер/скрип для камеры, который работает c URP? Все интернеты облазил, нихуя простого/рабочего нет.
3 766981
Аноны, что думаете о ork framework? Выгляди как топ ассет для создания РПГ. Но сел на нем данжен кравлер делать и что то все там как то через жопу работает.
И вот думаю стоит ли его дальше изучать или пойти по хардкору все кодить с нуля, без всяких этих визуальных программирований.
Есть аноны с опытом работы в нем? Стоит ли его изучать или дело гиблое?
image.png238 Кб, 1920x1080
4 767111
Как можно улучшить данный код?
Как правильно сгруппировать эти переменные векторов и булевых значения?

Что-то мне подсказывает, что я говнокод лютый пишу.
5 767126
>>67111
Если чтобы визуально улучшить то массив/лист. Если структурно то функцию/структуру. Если работает и тебе понятно, то лучше не трогай.
8 767192
>>66778 (OP)
Разрабатываю я, значицца, игру и иногда анал.
И вот такой у меня вопрос возник. Хочу текст (цвет, шрифт и пр.) всей игры менять где-то в одном месте и чтобы изменения происходили везде. Это делается только через префабы? Или еще как-то можно?
9 767193
>>67192
создай настройку в одном месте
из других префабов читай ее
10 767194
>>67193
Имеешь ввиду создать статичный класс с данными?
11 767195
>>67194
К примеру да
12 767198
Аноны поясните за префабы.
Я сделал босса, прикрепил к нему скрипт с условием если босс умер то дверь дальше открывается, на двери так же скрипт открывающий дверь только тогда, когда босс мёртв, но когда я делаю префаб босса и удаляю со сцены босса, чтобы он не просто стоял, а вызывался из кода, как префаб внезапно у него теряется связь между его скриптом и скритом даери и заново в ручную нужно назначать ссылку на скрит двери.
У меня есть подозрение, что я фундаментально неправильно прописываю вызов префаба.
13 767200
>>67198
Первый пик это то что я сделан на сцене и связал, второй пик это то что я имею в префабе когда вызываю его из кода и естественно такой префаб не работает.
14 767201
>>67198
в префабе нельзя сохранить ссылку на объект на сцене
15 767203
Как лучше сохранять данные между сценами, допустим, в РПГ?

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

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

PS. Перенес вопрос с мертвого треда..
16 767205
>>67203

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


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

чтобы сохранять состояние объектов на сцене и загружать его обратно при загрузке сцены, надо сериализовать объекты. это просто так не сделать.
17 767229
>>67203
Самый простой вариант иметь обьект который не будет удаляться при переносе сцен и в себе он имеет скрипты с данными. + Всегда можно их читать/менять. - Весьма примитивно.
18 767581
Посоветуйте пожалуйста какую-нибудь книгу или видео, по которому можно понять принципы SOLID и подобное. Хочется понять как правильно писать красивый и поддерживаемый код
19 767587
>>67581
По книге не поймешь. Устройся в любую контору и тебя там быстро научат писать код.
20 767590
>>67587
Так чтобы устроиться в нормальную желательно уже знать
21 767612
Чем может похвастаться данный тред?
Video2021-09-01214157.webm1,9 Мб, webm,
1920x1040, 0:31
22 767615
Не понимаю почему освещение луча дрожит при движении. Памагите.
23 767620
>>67615
У тебя луч это спрайт же?
24 767634
>>67620
Это Line.
25 767640
>>67615
Это блум альясит. Вообще не стоит всякие лазерные мечи делать блумом, сделай просто текстуру с размытием по краям.
26 767655
>>67640
А как потом избежать, что оно заблумит эту текстуру? Со слоями ебаться?

мимо
27 767853
Спрошу еще раз, мб кто ответит. Есть какая-нибудь книжка или еще чего, чтобы изучить принципы SOLID и т.д
28 767998
Как быть, если нужно хранить в объекте одного и того же типа функционал и данные разных типов. Например, есть класс Modifier - модификатор характеристики. В простом случае он просто добавляет или отнимает число от характеристики перса. Но целью модификатора может служить не только персонаж, а, скажем, другие вещи, надетые на персонажа, например +1 к защите для всей железной брони. В этом случае при применении модификатора получать нужно уже не набор характеристик перса, а надетые на него вещи (персонаж и вещь разные типы, очевидно), среди них искать подходящие, и вешать модификаторы уже на них. Тут сам собой напрашивается сделать у модификатора target общего или интерфейсного типа, но юнити не умеет такие типы сериализовать, и в инспекторе этой переменной не будет, а что тогда делать то ебаный ебоманый. Кто-нибудь сталкивался с такой архитектурной задачей?
29 767999
>>67998
Так при чём здесь юнити? Меняй/изменяй архитектуру хранения и взаимодействия, видно же что какую-то хрень придумал. Не зря же пограммист, вот решай задачу.
Такие задачи ты можешь решить на любом языке, разница лишь в твоём складе ума и подходе к реализации.
30 768007
>>67998
SendMessage
31 768039
>>67998
А ты поменяй подход к реализации. Например, тебе нужно +1 к защите для всей железной брони. Сделай для перса скрытую характеристику, которая будет называться как-то "ironArmor". Каждый елемент брони будет увеличивать ironArmor, также как и другие характеристики. Ну и твой модификатор будет увеличивать скрытый стат у перса, и не нужно будет навешивать ничего на другие вещи.
32 768078
>>68039
Так в том то и смысл ебли, чтобы за каждый элемент давали +1. Одна железка надета - +1, две - +2 и т.д. В любом случае надо знать, сколько вещей надето. Это не говоря о том, что если модификатор будет процентный, тогда нужно знать еще и сколько каждая штука дает, чтобы процент высчитать.
cbcbb8938190bd6df996dc9571687048.jpg91 Кб, 1280x720
33 768090
>>67998

>Как быть, если нужно хранить в объекте одного и того же типа функционал и данные разных типов


https://ru.wikipedia.org/wiki/Полиморфизм_(информатика)
1a0d2abf2c11edf5f7c0a391f586c97ee77382f3.jpg30 Кб, 640x538
34 768132
>>66778 (OP)
Сап аноны, я застрял на одном неприятном баге, который не могу исправить вот уже неделю.
Есть бот игрока который охотится за врагом, отлично охотится, находит и уничтожает его в то же время и враг отлично воюет против бота это всё если я префаб врага перетаскиваю на сцену, но как только я создаю здание которое будет респавнить врагов, то тут же бот перестаёт видеть врага, я проверял, були не срабатывают. При том враги продолжают видеть игрока и бота.
35 768138
>>68132
Копай в сторону скриптабле обьектов, проверку ссылок при спавне и типы передачи. Это фишка юнити.
image.png93 Кб, 220x260
36 768202
Блядь, посоны, наверняка ПЛАТИНА, но хуле юнити микрофризит?
Делаю тестовую гиперказуалку, при клике машинка должна менять направление. Но ПОРОЙ, клики тупо не проходят. Вообще не ебу в чём дело, профайлер пики никак внятно не расшифровывает. Грит эдитор луп.
Объекты создаю в пуле, хуле ему ещё нужно-то сука тварь?
13823771043231.jpg851 Кб, 3280x2667
37 768208
>МОНОБИХУВИУР
38 768209
>>68202

>профайлер пики никак внятно не расшифровывает


Как ты себе это представляешь?
Копай свои скрипты если фризит всегда в одни и теже моменты чекай и пытайся понять что может происходит в эти моменты. Если в разные, то надо копать в сторону циклов и подобной хрени. И если используешь инстансы и чекай Не забывай заместо инстансов юзать простое включение/выключение. Одним словом, скорее всего лапша говнокода. А и последнее сделай билд и чекни вне редактора, возможно это только в редакторе.
39 768243
>>68202

>ПОРОЙ, клики тупо не проходят


В каком месте у тебя чекаются клики?
40 768613
вопрос - в мануале по Unity Ads несколько раз наткнулся на упоминание файла app-ads.txt типа его нужно внести на свой сайт и тд

это сильно нужно для работы рекламы?
у меня простая аркада на телефоны с короткими баннерами раз в 10-15 минут и, судя по дэшборду, по несколько центов там капает с юзера, хотя у меня этого файла нет (и даже в профиле Гуглплея как оффсайт указана страничка на itch)
41 769017
>>68613
Не сильно, реклама и без него будет работать.
Screenshot20210910-210907Telegram.png311 Кб, 849x637
42 769086
смотрю уроки по юнити и чет не совсем понял нахуя так делать и как это работает
именно строчка
body = GetComponent<RigidBody>();
43 769088
>>69086
Эта строчка делает ровно то, чем является. Просто читаешь - добавить компонент ригидбоди. Что сложного? У тебя двойка по английскому?
44 769102
>>69088

>GetComponent


>добавить компонент


>У тебя двойка по английскому?

45 769103
>>69102
Добавить компонент в переменную. А чтобы её добавить - нужно получить ссылку из геткомпонента. Здесь даже разжёвывать нечего было.
46 769104
>>69103

>Здесь даже разжёвывать нечего было


Дела в том что есть метод AddComponent который действительно добавляет компонент а не вертит сракой как ты.
47 769105
>>69104
Кроме добавления он ещё и возвращает ссылку. Пиздец, лучше даже не вникай в эту тему, сразу видно - не твоё.
48 769135
>>67201
Разве? В старте вызвать Find и полученную ссылку присвоить куда надо, или я не понял?
49 769149
>>69135
Ты при инстансировании префаба заполни все переменные, иначе работать не будет. А ещё лучше напиши логику в одном скрипте, где будут ссылки на босса, двери и всю эту хуйню. Так не придётся передавать ссылки туда-сюда, всё будет сразу под рукой, так сказать.
>>69107 (Del)
Хуя ты тупой.
50 769160
В тайлмапах все тайлы одного типа это не отдельные инстансы, а ссылки на один и тот же объект? Хотел было прицепить к отдельным тайлам функционал, а хуй там плавал по ходу. Есть какой-то способ это обойти?
51 769210
Посоветуйте курсы/лекции для вката с нуля. Можно и ру, и англ.
>>67156
Эти видел, но вижу там даты 15-16 годов, не устрарело ли?
Что стоит учить сначала, c# или сперва разобраться в ООП?
52 769212
>>69210
Для начала стоит понять ты хочешь делать игры или смотреть туторы/читать миллионы гайдов, но ничего не делать.
Как только с этим определишься дальше сам поймёшь.
Подсказка - Если собрался делать игры, то открываешь тутор на оф сайте и делаешь по примеру, следом делаешь любую простую игру которая приходит на ум одновременно гуглишь все возникающие трудности. Поздравляю, вы научились делать игры. Теперь дело за малым, научится делать контент к ним.
53 769214
>>69212
Я хочу, возможно, в перспективе, работать в этой сфере.
Не просто поделки для себя делать, короче
54 769219
>>69214

>Я хочу, возможно, в перспективе, работать в этой сфере


На собеседовании тебя не будут спрашивать какие ты курсы смотрел. Берешь и делаешь игру, че непонятно гуглишь.
icevideo20210911-090653.webm3,3 Мб, webm,
776x400, 0:28
55 769221
До чего же юнити любит делать больно. Накинул такой инверсную кинематику, всё отлично. Ограничить скручивание на конкретных суставах? Накинь отдельный компонент и настрой. Ограничить вращение? Ахахах! АХАХАХ! АХАХАХАХ! Разве что импортировать файлы и редактировать их вручную самому. Люто, конечно, добавить корекшн твистов, но не добавить корекшн ротейшонов. Пора забрасывать этот проект с домиками.
56 769231
>>69219
Да понятно, но теория то нужна, и, как я понял, не мало. Берешь и делаешь, че непонятно гуглишь приведет к пробелам в теории, в любом случае, какое-то поэтапное структурированное обучение в этом плане лучше, разве нет?
57 769233
>>69231
Уже миллиарды раз везде обосывали, что 'обучение' заканчивается на просмотре видосиков и читке текста.
Если ты хочешь как написал научится, лучше чем делать сразу ты ничего не найдёшь. Если же ты ищешь оправдания делать что угодно лишь бы не заходить в проект и писать код/таскать ассеты, то дальше туторов ты никогда не уедешь.
Пробелы ты будешь встречать на всём пути разработки, даже с опытом сто лет всегда что-то новое, что-то меняется, еще что-то ломается, гуглить/смотреть видосики всегда прийдётся.

Итог TLDR: Берёшь и делаешь. Хочешь 2Д? Сделай простую игру где у игрока меню, смена сцены, кликать по картинкам. Хочешь 3Д? Тоже самое, менюшка, сцены, двигать кубы физикой, делать камерой облёт вокруг куба.
Уже то что я написал затронет большой спектр основных механик к любой игре.

Единственное куда не лезь никогда и даже не думай, это в сетевые взаимодействия.
58 769235
>>69233
Я не говорил о том, что не хочу писать код, лол. Совмещение теории с практикой и всё. Большинство "курсов", что на торрентах лежат в том и заключаются, из того, что видел, на выходе пара тройка проектов будет. Просто спросил, чтобы случайно не нахвататься неправильной инфы от хуевых людей
59 769237
>>69235
Еще раз повторю. Если ты реально хочешь заняться юнити, то единственное что тебе это надо - скачать хаб -> скачать последнею версию юнити вместе со студией -> создать проект 'New project 0' -> Запустить его и начать делать то что у тебя в голове.
Не знаешь что нажать? Не знаешь как реализовать что-то? Заходишь в гугл и пишешь 'Unity3D chto-to' пытаешься сформулировать свою мысль на англюсике. И я тебе гарантирую, после пары вечеров ты уже сможешь сделать простую игру, да, вот так просто, всего то надо блять зайти и начать делать а не пиздеть.
60 769238
>>69235

>чтобы случайно не нахвататься неправильной инфы от хуевых людей


То есть ты намеренно решил нахвататься хуйни от хуёвых людей? Проверь строку адреса и спроси себя, понимаешь ли ты, что это за сайт.
61 769239
>>69235

>чтобы случайно не нахвататься неправильной инфы от хуевых людей


>полез за инфой в гд

149432713511106650.jpg45 Кб, 540x604
62 769248
>>69210

> Что стоит учить сначала, c# или сперва разобраться в ООП?


ООП — это парадигма, C# — это язык, инструмент.
В чём ты хочешь в первую очередь разобраться? Вот в этом и разбирайся.
Но если ты с головой залезешь в теорию, то 99% что ты очень быстро заебёшься и забьёшь сколько я таких повидал, ты охуеешь, так как не видишь живого результата и эту самую теорию не закрепляешь.
Не строй себе графиков, типа "в понедельник ООП, во вторник C#, в среду гоняю капсулу по террейну", ты так очень быстро сгоришь.
Правильно тебе анон говорит, создаёшь проект и делаешь то, что хочешь. По языку есть MSDN, по юнити — документация. Что непонятно — смотришь.
Попляшешь на граблях, набьёшь шишки, построишь пару десятков башен из говна и костылей, после этого поймёшь где у тебя узкие места, поймёшь нахуя нужны абстракции, паттерны, солид, грасп и прочие штуки, выведенные за десятилетия мучений и страданий. Научишься строить грамотную архитектуру, тогда и попрёт.

мимо сеньор-помидор
63 769250
>>69248

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


Забавно, лет 5 ебашу в юньке, и в душе не ебу что эти понятия значат лишь образно представляю о чём речь, и что самое смешное за плечами имею две игры в стиме и десяток в маркете.
Проще описать весь процесс создания игры, чем даже гуглить и читать эти слова от которых в сон бросает.
Алсо, за качество говно-кода не выёбываюсь, но главное что работает и без лагов
64 769251
>>69250

> в душе не ебу что эти понятия значат


Это нормально. У нас есть один в отделе, как два года назад пришёл джуном, так до сих пор джуном и остался. Ему это просто не интересно. Сидит себе пилит что дают, ему норм. Ну и мне норм, такие тоже нужны.
65 769255
>>69251

>как два года назад пришёл джуном, так до сих пор джуном и остался


Это называется галеры. Но больше похоже на выдумку, как за два года активной разработки не апнуться выше? Прохладная история.
66 769256
>>69251
У нас тоже такой был когда я пришел в контору. Посмотрел что и как он пилит, ну и сказал чтоб его пидорнули т.к. пользы от него не было. Начальство не всегда понимает что такие люди типа >>69250 просто не нужны и поэтому не западло им подсказывать.
67 769257
>>69255

> как за два года активной разработки не апнуться выше?


Ему это просто не нужно. Отсидел от звонка до звонка, получил аванс, через 2 недели получил ЗП, смыть, повторить.
Да, код уже совсем не такой говёный, как был когда он пришёл, но он не хочет сам что-то решать а именно это отличает джуна от миддла, он хочет чтобы ему ставили простые задачи и он их делал.
68 769258
>>69256

> такие люди типа просто не нужны


Тут нужно смотреть что за контора, какие проекты и задачи и т.д.
Иногда такие нужны, иногда — нет.
Если он тянет команду на дно, то да, его надо увольнять. Либо перевести в другую команду. Тут надо, опять же, смотреть по ситуации.
70 769260
>>69250
А надо ли оно? По факту из всех этих парадигм только ецс имеет смысл освоить, улучшает производительность. Хотя и ценой лютого запутывания кода. Солид - говно собаки. Кисс пытается подтереть собачье, и не только, говно. Навязывая очередные принципы, которые должны нивелировать навязанные ранее принципы. Как и yagni. Чтобы пользоваться dry нужно просто быть ленивым, но, что самое смешное, он применим в настолько редких случаях, что, можно сказать, не существует в природе. Вообще в юньке базовая парадигма это КОП, вот и пишите КОП. А когда залагает, тогда вам пизда и переделаете.
71 769261
>>69260

> А надо ли оно?


Если ты сидишь дома и пилишь что-то для себя, то, возможно, и не надо. Ты можешь и в маркете выпускаться и в стиме. Но ты сам по себе.
А в большой разработке — надо, да. Оно не просто так придумано. Оно как раз нацелено на решение кучи однотипных проблем, возникающих при масштабировании проекта, при изменении его курса и прочих факторах, которые неизбежны, если ты на рынке.
72 769262
>>69261

>нацелено на решение кучи однотипных проблем


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

>А в большой разработке


Ну я последний коммерческий код писал не для игр и там чаще требовали сделать быстро, чем сделать правильно. Да, просто срать в файлы нежелательно, но если на первый взгляд прилично и работает, то похуй. А что у тебя в приложении интерфейсов вообще ни одного - никого не ебёт. Всегда ненавидел это говно, лол, бесполезное засирание пустотой. А потом приходит начальник и говорит, что нужна какая-то фича, крайний срок вчера и вообще. А ты такой, ой знаете, её реализация нарушит принципы open-closed, так что нет.
73 769266
>>69256
Конечно если челик работает в конторке, то и требования к нему другие, тут правильно.

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

>>69260
Как уже писали конечно надо, но в другой области разработки, и в больших проектах где просто если дать каждому право делать как хочет, всё наебнётся. Раньше думал что единственное место где эта дрочь может понадобится это в net фраемворках, но после того как сделал игру с реализацией сервер-клиенты понял что и там в пизду это не надо.
Ну и если лагает да, значит ты явно обосрался и иди апать скилл и всё переделывать, тут 100% виноват проггер Если конечно это не 3д где моделист обосрался тоже, сделав ебучие модели по 100к и обвесив их десятками материалов.
74 769272
>>69262

>А что у тебя в приложении интерфейсов вообще ни одного - никого не ебёт. Всегда ненавидел это говно, лол, бесполезное засирание пустотой


Понятно что тут все свои и стесняться некого, но сообщать что ты отсталый долбоеб не обязательно.
75 769279
>>69263 (Del)
Я не против здравого смысла, но запрещать самому себе модифицировать базовый класс, когда требования к нему уже изменились? Ну такое, ты по сути, пишешь код, который с первого дня - легаси.

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

>>69272
Смешнее всего, что если следовать тому же ягни, то интерфейсы это как раз тот код, который вам не нужен и не должен быть написан никогда.
76 769280
Освятил тред альфа-кабанчиком:

https://www.youtube.com/watch?v=Y9QWCQq3B00
77 769283
>>69279

Если у тебя изменились требования к базовому классу, значить что то ты делаешь не так. Они не могут измекниться.
78 769290
>>69279

>тому же ягни


Кто это, ебырь твой?
79 769291
>>69283
Так у меня процесс разработки идёт, я не могу заранее предсказать требования к классу.

>>69284 (Del)
Окей, класс возвращает длину в байтах. Но 99 классов из ста используют метод расширения базового класса, который возвращает длину в символах. И, собственно, длина в байтах больше не нужна.
Хотя если на основе какого-то класса массово создаются буфера, то проще сделать фабрику.
80 769292
Вы ебанулись, что вы обсуждаете? Тут тред блять про разработку игр на юнити блять а не шарп под винду.
Всё ваше говно сводится просто к использованию готового ассета и написанию кода по тутору.
81 769293
>>69292

>Тут тред блять про разработку игр на юнити блять а не шарп под


винду

Альфа-кабанчик Роман >>69280 Сакутин тебя обоссал.

Писать праильно только EnterpriseFizzBuzz.

Иначе чмоня, олень и быдлокод.
82 769305
>>69280
>>69293
Он что, запрещает нам срать? Он что, Джейсон Стетхем?
image63 Кб, 1000x585
83 769331
>>69293
>>69305
Сила в ассетах брат.
84 769342
Использует ли кто-нибудь goto в шарпе? Удобно же.
image41 Кб, 286x175
85 769357
Юниторы, может вы поможете?
В общем у меня вылетает одна игра во время загрузки. На полсекунды вылезает окошко как на пикрил (пик взят из интернетов, игра не вальхейм) и потом вылезает ошибка от Виндоуза.
Я смог записать код ошибки, Unity 2019.4.20f1_6dd1c08eedfa.

Что делать? Играю я на ноуте, драйвер своей встроенной видеокарты обновил. Может что-то установить надо?

Игра точно будет работать на моём некроноуте, так как версия игры на питоне запустилась сразу и без проблем.
86 769359
>>69357
Копай в сторону того что использует юнька, и чекай установлено ли это в системе.
87 769361
>>69357

>Unity 2019.4.20f1_6dd1c08eedfa


Это не код ошибки, это идентификатор билда движка. Можешь поискать логи в аппдате. А лучше обратись в поддержку твоей конкретной игры.

>C:\Users\%USERNAME%\AppData\LocalLow\%ФИРМА%\%ИГРА%

88 769364
>>69359
>>69361
В общем я и программу поюзал и в логе поковырялся. У меня только один вопрос: вот это

ERROR: Shader Hidden/PostProcessing/ScreenSpaceReflections shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
ERROR: Shader Hidden/PostProcessing/Debug/Waveform shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
ERROR: Shader Hidden/PostProcessing/MultiScaleVO shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
ERROR: Shader Hidden/PostProcessing/Debug/Histogram shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
ERROR: Shader Hidden/PostProcessing/Debug/Vectorscope shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
ERROR: Shader Hidden/PostProcessing/Debug/LightMeter shader is not supported on this GPU (none of subshaders/fallbacks are suitable)


означает что я соснул и мне не судьба поиграть на своём ноуте?
89 769365
>>69364
Шейдеры не может запустить на твоей видяхе. Странно, что пытается грузить дебаг шейдеры. Если есть возможность, выключи полностью все пост эффекты в настройках игры. Главным образом отражения. Вообще похоже что у тебя нет DX11.
90 769370
>>69365
Возможности нет, так как я в саму игру зайти не могу.
DirectX11 есть.
Ладно, не буду вам тут мозги ебать. Это уже выходит за рамки треда про Юнити. А тут уже полезли хардварные траблы.
Спасибо вам, юниторы.

За меня не переживайте, я через 10 дней наконец вернусь домой и попробую поиграть уже на своей игровой пекарне.
91 769373
>>69370

>За меня не переживайте, я через 10 дней наконец вернусь домой и попробую поиграть уже на своей игровой пекарне.


Фух, слава богу
92 769381
Анонсы, подскажите нормальный туториал по созданию full body fps контроллера.
pepe-rage.gif477 Кб, 498x387
93 769451
Редактор работает отлично, ни единой ошибки. Собрал проект. Краш. Логи? В логах хуета, по факту нуллпоинтер, но где, откуда? Где-то в цпп. Ага, переключим бекенд на моно, чтобы найти где ошибка. Переключил, пересобрал. Всё работает, ошибок нет, краша нет. В редакторе всё работает. Скопировал манифест в пустой проект, собрал il2cpp. Все работает, ошибок нет. Охуительно.
94 769452
Сап Кирилляч. Как можно реализовать следующее?

Есть персонаж и его коллайдер, есть мелкий монстрик(мышь) бегающий туда-сюда и его коллайдер.

Как реализовать что бы мышь могла пробегать через персонажа не утыкаясь в его коллайдер , но персонаж все еще мог с ней взаимодейстововать(задавать)?
96 769464
Начал делать анимации атаки через DOTween и появился вопрос. Предположим у меня сложная анимация, состоящая из около 30 точек, это нормальная практика все 30 точек руками вписывать в метод и потом этот метод вызывать? Может как-то импортировать данные из Animation Clip'oв? Знаю что можно пользоваться анимационными кривыми, но какой способ конвенционально лучший?
97 769465
>>69464

> какой способ конвенционально лучший


spine
98 769468
Продолжаю подможите с кодом. Выдает ошибку object reference not set to an instance of an object
99 769469
Продолжаю подможите с кодом. Выдает ошибку object reference not set to an instance of an object
100 769470
>>69468
>>69469
А где ты плеер.инстанс назначаешь?
101 769472
>>69470
В скрипте персонажа
102 769473
>>69472
Не вижу. Скорее всего, не назначаешь.
изображение.png5,9 Мб, 1920x1080
103 769474
>>69473
Аа. все заработало. Держи котика
104 769558
Хочу перекатиться в юнити, думаю сделать что-нибудь вроде дюны или какой-нибудь тд, но не как в мобилках, где на нужные точки башни ставишь, а как аналог в варкрафте замок скиби. Какие подводные?
105 769563
>>69558
Никаких, бери и делай.
o5wgz86u6eu21.jpg199 Кб, 1188x720
106 769566
>>69558
Рантайм генерация навмешей, соснёшь. Так что советую делать, как в богоугодном варкрафте 3, разбиение на квадраты, а потом уж а-стар справится без навмешей. Но ты всё равно соснёшь.
107 769601
Что можно почитать/посмотреть о процедурной генерации комнат? Инглиш не проблема, если что
108 769632
>>69566
Нафига для тд вообще пасфайндинг? Поставил себе вейпоинты и двигаеш юнитов между ними.
109 769636
>>69601
тут разжевали, как это работает в Исааке (судя по пикам, у тебя нечто похожее планируется в плане карты)
https://www.boristhebrave.com/2020/09/12/dungeon-generation-in-binding-of-isaac/
wintermaul-guide.jpg88 Кб, 648x515
110 769644
>>69632
А игрок строит из башен лабиринт и мобы не могут найти путь. Всё, рефанд, игра говно.
111 769652
>>69558
Перекатывайся, есть навмеш из коробки, есть ассеты, юзал и на 3д и на 2д, если не дорабатывать работает, но смотрится не очень красиво. Пару дней допилить и почти идеал и то что ты хочешь.
112 769659
>>69656 (Del)
Перед каким сохранением? Ты в товер дефенс не играл чтоли?
113 769661
>>69660 (Del)
Это в хуёвых тавер дефенсах так. Поиграй в хорошие.
114 769663
>>69662 (Del)

>Все, никакой пасфаиндинг тебе не поможет.


В этом случае мобы начинают атаковать и ломать башни.

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

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

На мобилочках же для упрощения планирования ца - казуалы, им думать слишком сложно оставили только избранные точки, куда можно ставить башни.
115 769666
>>66778 (OP)
Как экспортировать большие анимационные сцены из блендера? Есть персонажи с индивидуальными анимациями (ходьба, атака...), каждый в своем бленд файле. А есть сцена, где много персов друг с другом взаимодействуют. Могу создать еще один бленд файл для этой сцены, импортнуть туда персов, анимировать их. Потом из этой сцены обратно импортнуть анимации в персональный файл каждого перса, потом все это экспортировать в юнити. Есть способ лучше?
116 769667
>>69662 (Del)
Ты вообще в ТД не играл, там всё это решено давно. Иногда по-тупому, не позволяя игроку строить башни на дороге, это явно хуёвые тд, потому что не позволяют тебе реализовывать весь потенциал как башни, так и творческий.

>Твоя проблема не в пасфайндинге


Но у меня нет проблемы, я не делаю тд, мне хватило их ещё в нулевых. Хороших, годных тд.

>изначально не пойдет под вражеские башни


Только вот у него точка назначения непосредственно указана и он не может туда не пойти.
Но да, если ты делаешь максимально херовую т.д, то можно даже заранее захаркодить мест 10 под вышки, кликать по ним и жать "поставить вышку". В идеале ещё совместить с каким-нибудь кликером, потому что экстремально скучно получается. Хотя и казуально, для игроков жопой в сортире сойдёт.
117 769671
>>69666
Есть несколько подход.
Самый простой, но и рабочий это есть модельки персонажей с обычными анимация, и дополнительными анимациями по типу: получил урон, прыгнул, использовал. Для отдельных сцен или редкий вариаций используются дубликаты модели, но с нужными анимациями. Подменяется модель персонажа игрока на дубликат при проигрывании нужной, редкой анимации.
Второй метод, хранить все анимации в персонаже, но как понимаешь тут сразу есть и явные минусы, особенно если анимацией и их вариацией под сотню и более, но зато удобное хранение всего в одном месте.

Для твоей же задачи подходит первый вариант. Сложно сказать не глядя. Тут нужно смотреть по гемору, что быстрее и удобнее, анимировать сцену с кучей персонажей в блендере и переносить один ассет, или каждого персонажа по отдельности.
118 769683
>>69671
Неужели в юнити так сложно добавить искаробочный риггинг и сложную анимацию с констрейнами, ИК и драйверами как в блендере? Вот была бы действительно полезная фича, чтобы основной контент можно было пилить непосредственно в самой юнити, а не сторонних прогах, чтобы юнити стал самодостаточным инструментом как флеш. Флеш умер, а его убийцу так никто и не сделал.
119 769760
>>66778 (OP)
Почему юнити превратился в тяжёлое лагающее говно с лежащими в разных местах фичами и ебанутым интерфейсом?
120 769810
Труден и тернист путь Кирилла.
Может кто то подсказать? Как запихать методы OnCollider2D/OnTrigger2D в другой метод что бы тот запускался по нажатию кнопки?
Поясню. Нужно включать\выключать лампу. Однако , с моим уровнем знаний после включения лампы из ее коллайдер-триггера нужно выйти и снова войти что бы выключить.
121 769813
>>69810
Хз что там за лапша у тебя, но проще всего сделать либо массив доступных объектов вблизи, либо чекать коллайдер на нахождением в нём.
122 769814
>>69813
Как чекать постоянно на нахождение в коллайдере\триггере? OnTriggerStay 2D чекает только в течение нескольких секунд
123 769815
>>69810

>что бы тот запускался по нажатию кнопки?


Здесь нужно понимать, что весь старый инпут говно собаки. И чтобы без боли в заднем проходе пилить инпут - нужно импортировать и настроить пакадж с новым инпутом. Однако, если его нет..

void Update()
{
if (Input.GetKey("a");)
{
Debug.Log("A!");
//Можешь добавить сюда чё хочешь
}

}
124 769817
>>69814
https://docs.unity3d.com/ScriptReference/Collider2D.html
OnTriggerStay2DSent each frame where another object is within a trigger collider attached to this object (2D physics only).
OnCollisionStay2DSent each frame where a collider on another object is touching this object's collider (2D physics only).

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

Если сможешь описать что ты хочешь я напишу код.
125 769819
>>69815

>что весь старый инпут говно собаки


Огорчу тебя, новый еще хуже, к тому же наполовину не рабочий. Единственная фича которая мне зашла из нового это возможность менять координаты курсора мыши.
126 769823
>>69815

Не не, ты не понял вопроса. Кнопка, назначена, она работает, свет выключается , все норм. Проблема в триггерколлайдерах.
То есть OnTriggerEnter и OnTriggerStay не чекают постоянное нахождение в коллайдере лампы , а только факт столкновения или захода в нее. Отчего что бы включить лампу нужно выйти и снова войти.

То есть. Мне нужно что бы или чекалось постоянно (для чего нужно в метод Апдейт запихать метод OnTrigger или запихать этотже метод на if (Input.GetKey("a");). Но он нехрена не работает в обеих этих случаях
127 769825
>>69823
Чел, монокласс тебе не надо запихивать в функции или апдейт, просто оставь его как одиночную функцию в скрипте.
128 769826
>>69824 (Del)
Спойлер: Такой функции нету, нужно самому реализовывать.
129 769827
>>69817
Может я что то делаю не так , но у меня OnTriggerStay2D дрочит проверку только несколько секунд после захода в коллайдер цели и при смене позиции внутри него.

Что нужно :
Что бы коррекно работало
void Update()
{ if (GetButtonDown("Knopka")) NajatKnopku();
...
private void OnTriggerStay2D(Collider2D collision)
{
if (collision.gameObject == Lamp.Instance.gameObject&&NajatKnopkeu)

Lamp.Instance.Fire();

}
130 769828
>>69827
void Fire ()
{ if (On) lampOff(),On=false
else if(!On) lampOn() On=true
}
image88 Кб, 671x620
131 769830
>>69827
Вот рабочий пример. Но лучше конечно реализовывать это по другому.
132 769831
>>69830
Думал сделать так как один из вариантов. А по выходу из зоны коллайдера флажок InArea сменится с true на false?
133 769832
>>69831
Там всего два положения - Если объект рядом то истина, если же нет, то ложь. Пограничного состояния, или не известного нет. Это идёт по сотне проверок в секунду, дрочь.
134 769837
>>69832
Та же проблема что и была, но с другой стороны . При выходе из зоны триггера флажок не меняется на false. По итогу персонаж-телепат и включает лампочки на расстоянии
Что я делаю не так?
135 769839
>>69837
Где то проёб либо в компонентах, или самих объёктах, что-то упускаешь.
Сделай для теста c OnTriggerEnter и OnTriggerExit, и чекай где у тебя может проёбываться.
Безымянный.png11 Кб, 496x484
136 769853
>>69819
Полностью отказался от старого инпута, всё делаю на новом, вообще ни одной проблемы не заметил пока что.

>>69823
Ояебу. Я бы на твоём месте вообще нахуй послал коллайдеры. Ну или вот так, наговнякаем лишь бы работало. Пара нюансов, лампам нужен тег, сам нагуглишь и нельзя, чтобы коллайдеры ламп были внахлёст.
137 769854
>>69853

>GetKey


Это поебота будет прожиматься стро раз за фрейм, нужен down.
138 769857
>>69855 (Del)
>>69856 (Del)
>>69848 (Del)
>>69843 (Del)
Не пойму, это бот отвечает или в чём прикол?
139 769859
>>69857
Нет, просто рофл с дурачков. Какие сто раз за фрейм, ебанушки
140 769975
Приветствую вас, господа разра/b/отчики.

Пишу небольшую мультиплеерную игру для WebGL и думаю, как реализовать Authority.

Хотел спросить(сам никогда с WebGL до этого не работал),
лучше сделать всё как надо и считать большую часть логики на сервере, чтобы даже при вторжении в код игры извне проект был защищен от читерства
или забить и считать все это на клиенте?

Защищен ли WebGL билд от вторжения, если он крутится на моем сервере?
141 769978
>>69975

>или забить и считать все это на клиенте?


На данном этапе да, в твою игру всё равно никто не будет играть - это первое, логику на сервере ты не осилишь - это второе, но лучше сидеть с игрой в которую никто не играет чем быть безыгорным.
142 769979
>>69975
Палю самый простой и эффективный вариант. Делай всё на клиенте, и не запаривайся насчёт защиты.
Как только ты сделаешь что-то похожее на игру, что можно будет тестово запустить в несколько окон и протестить, только тогда ты поймёшь какие значения и данные следует прятать и не показывать игроку. Потом просто переносишь все связанные с этим вычисления на сервер и всё. Ну и авто логи которые чекают значения в пределах нормы, если нет дисконект.
143 769981
>>69978
>>69979
Благодарю за дельный совет. Я расчитал объем работ, сопряженный с реализацией логики на сервере и действительно, это силно затянет разработку.

Два самых лучших чая вам, Аноны!
код1.PNG38 Кб, 898x404
Код, который должен выполняться при прерывании корутины 144 769995
Для выполнения атак/передвижения противников использую корутины, но хочется чтобы любую атаку противника можно было остановить, застанив врага.

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

Я исправил это тем, что копировал финальную часть кода (не выполняемую из-за прерывания корутины) и вставлял её в кусок кода, который прерывал корутину. Какое есть лучшее решение этой проблемы? Может как-то можно указать корутине, что определенный кусок кода должен обязательно исполниться
145 769998
>>69995
Сделай в цикле корутины проверку на переменную bool stopped какую-нибудь, while(!stopped && time < AttackDashTime), когда надо закончить корутину делаешь stopped = true.
image.png238 Кб, 1400x998
146 770153
>>66778 (OP)
нужна помощь скачал ассет карты
добавил игрока
игрока
контролер
прописал скрипт

в результате игрок проваливается и падает
что делать
147 770156
>>70153
Давай погадаем.
1. У террэйна или обьектов по которым ходит игрок нет коллайдера.
2. В скрипте игрока в месте с гравитацией указан тэг, или тип который используется для проверки работает ли она, так этот моментик нужно указать объектам по котором игрок ходит.
3. Спав игрока происходит под или ниже средней линии террэйна.
4. Скорость или механизм гравитации слишком высок, что делает игрок не восприимчивым к любым коллизиям.

Пробуй боец.
148 770161
>>70153
первое
спс
149 770162
Новый проект на URP

При движении строго влево-вправо или строго прямо-назад все вроде нормально.
При движении по двум осям сразу, да если еще и крутить камеру пытаясь удержать объект, вокруг которого ты идешь, в центре экрана - получается вырвиглазный пиздец с дерганьем камеры/геометрии и остаточными контурами (ghosting?).

Капсюль со стандартным rigidbody.
Код движения:
rb = transform.GetComponent<Rigidbody>();
void Update()
{
float x = Input.GetAxisRaw("Horizontal");
float z = Input.GetAxisRaw("Vertical");
Vector3 moveBy = transform.right x + transform.forward z;
rb.MovePosition(transform.position + moveBy.normalized speed Time.deltaTime);
}

Код камеры:
Vector2 mouseLook;
Vector2 smoothV;
public float sensitivity = 2.0f;
public float smoothing = 1.0f;
GameObject character;

public void Update()
{
var md = new Vector2(Input.GetAxisRaw("Mouse X"), Input.GetAxisRaw("Mouse Y"));

md = Vector2.Scale(md, new Vector2(sensitivity smoothing, sensitivity smoothing));
smoothV.x = Mathf.Lerp(smoothV.x, md.x, 1f / smoothing);
smoothV.y = Mathf.Lerp(smoothV.y, md.y, 1f / smoothing);
mouseLook += smoothV;
mouseLook.y = Mathf.Clamp(mouseLook.y, -90f, 90f);

transform.localRotation = Quaternion.AngleAxis(-mouseLook.y, Vector3.right);
character.transform.localRotation = Quaternion.AngleAxis(mouseLook.x, character.transform.up);
}
149 770162
Новый проект на URP

При движении строго влево-вправо или строго прямо-назад все вроде нормально.
При движении по двум осям сразу, да если еще и крутить камеру пытаясь удержать объект, вокруг которого ты идешь, в центре экрана - получается вырвиглазный пиздец с дерганьем камеры/геометрии и остаточными контурами (ghosting?).

Капсюль со стандартным rigidbody.
Код движения:
rb = transform.GetComponent<Rigidbody>();
void Update()
{
float x = Input.GetAxisRaw("Horizontal");
float z = Input.GetAxisRaw("Vertical");
Vector3 moveBy = transform.right x + transform.forward z;
rb.MovePosition(transform.position + moveBy.normalized speed Time.deltaTime);
}

Код камеры:
Vector2 mouseLook;
Vector2 smoothV;
public float sensitivity = 2.0f;
public float smoothing = 1.0f;
GameObject character;

public void Update()
{
var md = new Vector2(Input.GetAxisRaw("Mouse X"), Input.GetAxisRaw("Mouse Y"));

md = Vector2.Scale(md, new Vector2(sensitivity smoothing, sensitivity smoothing));
smoothV.x = Mathf.Lerp(smoothV.x, md.x, 1f / smoothing);
smoothV.y = Mathf.Lerp(smoothV.y, md.y, 1f / smoothing);
mouseLook += smoothV;
mouseLook.y = Mathf.Clamp(mouseLook.y, -90f, 90f);

transform.localRotation = Quaternion.AngleAxis(-mouseLook.y, Vector3.right);
character.transform.localRotation = Quaternion.AngleAxis(mouseLook.x, character.transform.up);
}
150 770238
Где искать работку вкатышу? Судя по вакансиям для джунов(hh), много где нужен опыт 1-2 года + проект
151 770240
>>70238
Что-то не то ищешь, джуном не требуется опыт. 1-2 года кек, "джун с опытом" - оксюморон какой-то. Таких надо стороной обходить.
152 770242
>>70240
Кабанчикам HR-ам подавай с опытом, да побольше.
Поэтому и спрашиваю, где искать?
153 770243
>>70242
Сроки опыта пишут для отпугивания бесхребетных чуханов, просто в резюме кидаешь ссылки на свои игори (пару демок надо иметь в портфолио) и ты принят.
154 770244
>>70243
Примерно так и думал. А по сайтам поиска подсказать не можешь?
155 770248
>>70243
Ищу вакансии на удалёнке, но их очень мало. Всё-таки нужно в ДС-ы перекатываться для начала?
156 770276
как обьеденить train-ы
в один
нашел только это
http://gamesetup.ru/topic/259.html
но по мне это какойто костыль
157 770284
>>70276

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


Статью годотя писала? Дальше не читал.
158 770285
>>70284
>>70276

>Последнее, к слову говоря, можно смело ставить на 30-40, человеческий глаз все равно больше не увидит


Не читал что там, но это же бред. Как такие люди живут на свете? Всё что ниже 300 кадров, 144гхц грязь.
159 770292
сука все сношу винду
это невозможно
ридер
10 вкладок хрома
и юнити
и все вылетает лагает
где мои 8 гигов оперативки fx 6100
надо сносить винду
160 770296
>>70292
У меня на ноуте 4гб, и работать в юнити боль. 8 конечно лучше, но минимум сейчас надо 16 для комфорта, чтоб и музычку слушать и двачик скроллить во время разработки.
image.png2,7 Мб, 1920x1080
161 770298
>>66778 (OP)
Как же так, Blasphemous не упомянут в шапке.
162 770310
>>66778 (OP)
Всем привет. Хотел бы задать простой вопрос.
Как вы двигаете transform если объект должен двигаться только когда он активирован?

Мой вариант примерно такой

void FixedUpdate()
{
if(!isActive)
return;
transform.position += moveDirectiorn * speed;
}

И все отлично. Но проблема если таких предметов много ( >1000). И я уже начинаю думать что надо было использовать корутины при активации.
163 770318
>>70310

>Но проблема если таких предметов много ( >1000)


В чём проблема? И почему ты юзаешь FixedUpdate?
164 770320
>>70318
Как сделать лучше?
Вначале мне было его удобнее использовать чтобы двигался объект в независимости от фпс
165 770323
>>70320
В апдейте с умножением на тайм.дельтатайм
166 770326
>>70323
Да. Но проблема того что он будет это делать каждый кадр остаётся.
Вот и думаю о корутинах
167 770339
>>70326
Ну будет у тебя тысяча ифов чекаться, дальше что? Тормозит что ли? Ну при активации стартуй корутину тогда
168 770340
>>70326
Не стоит думать об оптимизации того, что оптимизировать не надо и обусловлено самим движком. Не засовый в апдейт кучу кода и всё. Нужные вещи вызываются одноразово. В апдейте только всякое говно с вычислением при необходимости которое выключается когда не надо.
169 770344
>>70339

>тысяча ифов чекаться


Блин, сделал три миллиона ифов в скрипте, райдер завис. Вырубил. Юнити при запуске упал нахуй, слабаки
image.png14 Кб, 736x218
170 770345
>>70344
Эх райдер, как не стыдно
171 770347
>>70345
>>70344
Опа, поясните за райдер. Всё планирую перекатиться на него со студии, т.к заебало что она большая и лагучая и куча лишнего функционала. На сколько он удобнее и быстрее? Триал раз в месяц батником и всё, траблов во время работы нет?
172 770352
image56 Кб, 1000x677
173 770357
>>70352

>...


..

Подробности где?
174 770361
>>70357
Мне райдер больше нравится. Но я не профи, не знаю всех тонкостей. Для себя пришлось немного цвета в теме менять, плагин скачал для скролла средней кнопкой мыши, всё заебись, он за меня код пишет, я просто наблюдаю и радуюсь
175 770366
>>70361
Проблемы с установкой, или во время работы не возникало из-за отсутствия лицензии? Всякие там вылезающие окошки с регой и т.п?
176 770367
>>70366
Не было проблем, но окошко немного бесит, когда включаешь, оно вылазит и нужно три клика сделать, невыносимо, знают на что давить.
177 770369
>>70367
Мда, как раз бесит такое, особенно если во время написания внезапно какое нибудь говно вылезет.
Наверное тогда всё таки попробую его завтра поставить, слишком уж его хвалят все, что он удобнее и быстрее студии, пора трайнуть.
178 770373
>>70369
Оно вылазит только при старте один раз
image50 Кб, 553x217
179 770377
>>70371 (Del)
Кстати про него забыл, как то давно ставил, и что то он не хотел доки с юньки подтягивать и я забил.
Ща поставил, вроде шустро, единственное комменты кирилики не отображает.
180 770379
>>70347
В райдере редактор вин формочек багнутый. В остальном райдер лучше студии при наличии волшебного батника конечно
181 770401
>>70389 (Del)
Да уже гуглил, переставлял, даже установил русский пак, старые комменты вопросики, но если новые писать на ру то ок, думаю чито поделать.
182 770404
Бляяяя оно файл перезаписало, теперь и в студии эта херота, сука....
183 770409
>>70404
Зато теперь будешь знать какая кодировка должна быть в документах.
184 770420
>>70409
Зачем я на ночь глядя решил заняться этим, мде... Теперь ебаться и вспоминать что где было.
185 770424
>>70420
Вообще райдер автоматом конвертирует кракозябры в UTF-8 когда открываешь файл, так что это ты сам что-то сломал.
186 770522
You must include a demo scene (.unity file) in order to be approved. You must include a .unity file within your submission that shows your asset working. If your contents are 3D models, there need to be prefabs placed within the scene in an appealing way that shows all of the contents of the package. Please include 3-point lighting set up and a floor plane with a flat color material to set up your 3D models on. If there are animations included within the package, you must display those in the demo scene. For information on attractive lighting setups, please go to this link: https://unity3d.com/learn/tutorials/topics/graphics/introduction-lighting-and-rendering (https://unity3d.com/asset-store/sell-assets/submission-guidelines, Section 3.3.a)

Какое демо? Если там пропсы обычные, меш и текстуры
187 770536
>>70522
А если ты нахуячил где-то 100500 тыщ полигонов в скрытой геометрии, из-за которой сцена с твоим ассетом будет выдавать 5 фпс? Это же нужно проверить. Ну и сделай презентабельно, чтобы купить захотели и проблем подобной выше не было. Или иди на цгтрейдер какой-нибудь.
188 770554
>>70536
А чем тебе так цгтрейдер презрителен. Треш ты конечно можешь там выставить, но его никто не купит. Юнити куча правил, ничего не объясняет,комментарии не дают хотя там исправить пару кликов, ждешь месяцами.
изображение.png6 Кб, 656x128
189 770732
Чому не работает такая конструкция в связке с ...Input.GetKeyDown("space")
190 770737
>>70732
Вместо "space" надо KeyCode.Space
Если у тебя визуал студия то она должна была подсказать автокомплитом что вводить.
191 770766
суп гдач, на связи мамкин праграмизд плохо секущий в ооп

Допустим есть класс, BeizerMover, он перемещает годаунов по кривой безье, но в моём проекте разные типы годаунов, одни сосут хуй Хуанатм (SimpleMover), другие на нём прыгают (SimplePhysicMover), и чтобы не было конфликтов, то все годауны которых можно двигать реализуют интерфейс IMove, что гарантирует что они все будут идти по кривой безье к хую Хуанатм.

Но встаёт проблема, как вызывать движение годаунов через интерфейс, ведь я же не стану проверять каждого годотю через какой скрипт его нужно двигать, заражусь ещё. Если просто объявить поле с типом IMover в качестве годоти, то его не видно в редакторе, и вообще ему не присваивается значение, что приводит к ошибке.
Как же Даше-Путешественнице заставить годоть присесть на хуй Хуанатм и при этом не зашквариться?
192 770767
>>70766
Создаешь все объекты IMover через манагер который сохраняет созданные объекты в список и он же Move у IMoveров будет вызывать в цикле. Интерфейс через sozdanniyImover.GetComponent<IMover> можно достать.
изображение.png8 Кб, 791x141
193 770768
>>70737
Та же херня. Без ...&& Input.GetKeyDown(KeyCode.Space) работает , с ней нет. Где проебываюсь?
194 770773
>>70767
Спасибо, через getComponent<IMover>().Move() работает, но всё равно не могу понять, почему я могу присвоить значение полю с типом GameObject, из которого потом достать интерфейс, а присвоить значению полю с типом интерфейса - нет, с остальными компонентами же всё так и работает, интерфейс что, особенный? Хотя вроде догадываюсь, интерфейс же нельзя инстанировать, хотя по идее присвоение значения полю это не создание нового интерфейса, или всё таки создание?
195 770775
>>70773
Проще говоря, почему пик1 работает, а пик2 даже не отображает IMover, а если через костыли и отображает, то не работает?
196 770776
>>70768
OnTriggerEnter срабатывет в момент когда объект залезает в триггер. У тебя код "если в момент захода в триггер надавить на пробел..." - ты никогда не сможешь тыкнуть пробел именно в момент срабатывания триггера. Юзай OnTriggerStay, он вызывается пока объект находится в триггере.
image.png271 Кб, 1920x1080
197 770835
>>70776
так какого хуя
у меня функция закрывается внутри цикла
198 770836
>>70835
И что ты хотел показать этим скрином?
199 770838
>>70836
>>70836
табуляция
200 770839
Продукты, опубликованные с этой лицензией, не могут быть проданы, переданы или переданы другому физическому или юридическому лицу в том виде, в каком они загружены с сайта, но могут быть использованы в ваших коммерческих проектах несколько раз после оплаты только один раз.

так я не понял использовать в комерции можно или нет
201 770842
Почитал в треде советуют начинать делать свою игру по примерам сразу же и тем самым обучаться.
Я уже начал c# учить по курсам с ютуба, с нуля буквально, стоит закончить обучение хотя бы базовым вещам языка или можно сразу переходить к практике с юнити?
014856172693465.jpg485 Кб, 596x587
202 770844
>>70842
Можно, разрешаю
203 770847
>>70839
Купил ассет, не можешь его выложить в маркет от своего имени. Но можешь вставить ассет в проект и зарелизить, получая с проекта денежный профит.
15321585564540.jpg34 Кб, 560x560
204 770848
>>70839

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

205 770873
>>70842
Основу посмотри от самих юников на ютабе, это около 2 часов ирл времени, и далее только практиковаться в юньку, не надо тратить время и силы на чтения всякое устаревшей залупы, главное опыт.
Ну и второе по значимости, если что-то не получается реализовать, идёшь в гугл гуглишь примерно что представляешь на инглише, также ошибки сразу туда же гуглить.
206 770896
>>70873
Спасибо за ответ.
изображение.png170 Кб, 996x399
207 770915
Вопрос по аниматору. Как проще сделать что бы анимация не зацикливалась?

То есть что бы при определенном условии анимация начинала проигрываться и останавливалась на последнем фрейме?
208 770918
fy
209 770932
Что лучше, в одном классе иметь ссылки на все компоненты и получать доступ к копонентам через этот класс или по необходимости вызывать GetComponent там, где он нужен, даже если этот компонент уже хранится в другом классе, к которому есть доступ?
210 770935
>>70932
Делай так как удобно, единственное не вызывай этотгет в апдейте или каждый фрейм.
211 770986
>>70935

>в апдейте или каждый фрейм


Масло масляное
212 770987
Существует ли вообще нормальный классический FPS контроллер? Чтобы не прилипал к стенам, поднимался по ступенькам, пинал ящики, отскакивал от прилетевших ящиков, переносился и вращался движущимися платформами?
213 770993
>>70987

>Чтобы не прилипал к стенам


???

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


Делаются просто пологими.

>пинал ящики


Отдельно в скрипте.

>отскакивал от прилетевших ящиков


Отдельно скрипт.

>переносился и вращался движущимися платформами


Отдельно скриптом.
214 771010
>>70993
Там вроде как есть Rigbody для физики. Хотя при попытке использовать его в качестве контроллера он начинает вести себя как говно, и всё равно приходится писать куту скриптов.
215 771023
>>70987
Наверняка существует, но ты можешь сам найти на гитхабе сорсы квейка и посмотреть, как там это сделано, и сделать так же.
216 771025
>>71023
Как раз сейчас и копаюсь в них. Но почему так? Я же использую целый движок! Почему там нет готовых встроенных решений?!?!
217 771026
>>71025
Есть шаблон проекта FPS Microgame, можешь оттуда контроллер вытащить.
218 771126
В который раз сажусь пилить свои корованы, вот дошел до этапа, на котором требуется работа с графонием. Больше всего, как я сейчас вижу, мне подходят тайлмапы. Суть игры в том, что можно отправлять корованы, и они быстрее едут по тайлам, соединенным дорогами, и мне кажется, здесь-то я и ебанусь. Я планировал 6 типов природы: луга, леса, жунгли, пустыня, болота, снега. На каждый тип по три варианта тайла. Для каждого тайла надо нарисовать все возможные конфигурации дорог, их всего 40... И еще я планировал разное качество дорог, 3 уровня. Итого, 6 3 40 * 3 = 2160 тайлов... Я не беру в расчет особые тайлы - города, деревни, важные места, и т.д., их не так много относительно общих, но в итоге все равно выйдет где-то 2500. И тут закономерный вопрос, как теперь жить то блядь? Не, я понимаю, что работа так-то умственного труда не требует, можно навалиться и за один день все запилить, просто надо засесть. Но может подскажете более простой способ, как с такой задачей разобраться?

Еще проблема в том, что отдельным тайлам нельзя настроить собственную логику, они не инстансы, а ссылки на один и тот же библиотечный объект в палитре. Начал смотреть в сторону объектовых тайлов, чтобы каждый тайл был объектом и ему можно было в инспекторе накидать логику - в каких направлениях дороги, какого качества, и какой вид он в связи с этим должен принять, но это надо в 3д вкатываться, в блендеры хуендеры, я в этом вообще не шарю. Помогите советом, братва.
219 771131
>>71126
Пчел, не надо не каких тысяч разных объектов, реализовывай логику которая позволит смешивать и изменять графику. В твоей же случаи точно стоит это делать по другому, никаких сотен вариаций, всё намного проще.
Первый слой это графика лес/луг и т.д.
Второй слой это дорога, и в него же входит улучшение по средством уровня.
Еще раз напишу, что всё намного проще, не надо мудрить.
220 771137
>>71131
Да, я это понимаю, было бы здорово рисовать на тайле в несколько уровней. Нижний - нетронутая природа, средний (или несколько их) - уровень дорог, верхний - природа со стертыми по маске линиями под дороги. Но только готового решения под такую задачу нет, а я уже говорил, я не так силен в графике, чтобы запилить собственный компонент.

>>71132 (Del)
Начал сейчас считать и понял, что их даже больше, чем 40. Я не посчитал все тройные дороги.

На каждом тайле могут быть следующие варианты конфигураций дорог. Дорогой я называю путь от края до центра тайла. Итак. 1 - нет дорог, 1 - все дороги, 6 - одна дорога с каждого направления с тупиком в центре, 6 - две дороги под 45 градусов, 6 - две дороги под 60 градусов, 3 - две дороги под 180 градусов (напрямую), 6 - три дороги под 45, 12 - три дороги (из них 2 под 45 и одна под 60), 2 - три дороги под 60 (трехконечная звезда), 6 - четыре дороги под 45 градусов, 6 - 5 дорог под 45 градусов. Итого - 55. На один вариант тайла. Короче, это точно не вариант так ебаться.
221 771139
>>71138 (Del)
Не так, дели на два. Или даже четыре, лень думать. Потому что половина случаев - просто зеркальное отображение другой половины.
222 771141
>>71138 (Del)
Да, это шесть вариантов, если рисовать дороги отдельным слоем. Если ты знаешь, как это сделать, то я рад буду послушать.
image.png21 Кб, 1216x162
223 771142
Я указал, чтобы игнорировался слой номер 2. И тем не менее, он вполне себе хитится, в дебаге выдает: layer = 2 (это я свой класс дебага написал).
ЧЗХ, как мне заставить, что луч пролетал мимо layer 2
224 771143
>>71126
Возьми бесплатный ассет, попробуй с ним поработать. Понравиться поменяешь на более красивое.
image.png20 Кб, 1130x177
225 771148
Как такое вообще может быть? По умолчанию, если не передать layerMask в physic.raycast, игнорироваться будет IgnoreRaycast. Так почему же он не игнорится, аааа
226 771153
>>71148
Разобрался.
Проблема уже несколько лет существует (https://forum.unity.com/threads/raycast-on-child-gives-parent-name-in-hit-transform-name.57172/), а юнитя не может добавить пофиксить это, или добавить разъяснение в документацию, что, если луч ударил в дочерний обжект, то raycastHit.transform ссылается на родителя. Поэтому, если нужно получить именно тот обжект, куда реально стукнул луч, надо писать raycastHit.collider.transform.
Пиздец, как же я блять до того не додумался-то, это же блять так очевидно. Вот из-за таких странных багов, на которые тратишь по пол дня, мне прям очень хочется дропнуть юнити. Но потом осознаю, что в других движках тоже могут быть проблемы, да и изучать что-то новое времени нет, поэтому продолжаю страдать
227 771170
>>71153

>Вот из-за таких странных багов,


Это не баг, а особенность, у меня тоже несколько таких случаев было. Юнити хорош тем, что уже всё сто раз обсосано, нужно усиленно гуглировать
228 771189
>>71153
Физоний в юнити от нвидии, так что это не проблема юнити и пофиксить они её вряд ли могут. Если вообще хотят, сейчас-то на подходе два новых физона, все силы туда кинуты. Я надеюсь.

>очень хочется дропнуть юнити


Если тебе хочется дропнуть юнити из-за проблем, которые решаются за полминуты, то лучше дропай.
229 771193
>>71189

>решаются за полминуты


хм, и как бы ты за полминуты решил этот вопрос, не зная, что hit.transform.gamoeobject это не всегда hit.collider.transform.gamoeobject
Разве что на форум пошел спросить, где мне и помогли
230 771194
>>71193
Во всех туторах и примерах по рейкасту юзают hit.collider.transform а не hit.transform. Это уже ты навыдумывал что-то.
231 771196
>>71193
В гугл вбиваешь и читаешь десятки постов. На ансверхабе таких, как ты, очень много. Буквально с такой же "проблемой".
Хотя сначала я думал, что ты долбоёб из-за длины луча.
232 771197
>>67111
Ну, если работает нормально, то лучше не трогать. Если визуально, я бы вместо построчного повторения перменных, сделал бы всё в одну строку, соответствуя типу. Например:
public Vector3 Up, Down, Left, Right;
Код будет более компактным, а работать будет так же.
233 771198
>>71196
гуглил, у всех проблема - неправильно маску прописали или типо того. я все делал по их коду тем не менее, не получалось. ах да, писали везде raycastHit.transform а не raycastHit.collider. Но я на это особо и не предавал этому значения. С чего бы? Я же не знал, что проблема именно в этом. знал бы - тогда и проблемы бы не было.
у меня же была проблема:
есть parent с layer Raycast Ignore, и есть дочерний объект, который мне и нужно ловить лучом, минуя родителя. Но ловился всегда родитель
234 771199
>>71196
гуглил, у всех проблема - неправильно маску прописали или типо того. я все делал по их коду тем не менее, не получалось. ах да, писали везде raycastHit.transform а не raycastHit.collider. Но я на это особо и не предавал этому значения. С чего бы? Я же не знал, что проблема именно в этом. знал бы - тогда и проблемы бы не было.
у меня же была проблема:
есть parent с layer Raycast Ignore, и есть дочерний объект, который мне и нужно ловить лучом, минуя родителя. Но ловился всегда родитель
235 771205
>>66778 (OP)
Котятки, я уже давно задался идеей реализовать управление через систему событий в юнити. Идея такая: есть скрипт, который отслеживает определённый ввод по нажатию кнопки/движению стика/етц, а затем запускает определённое событие, на которое подписаны объекты. Цель данной затеи в том, чтобы не отслеживать нажатие кнопок в апдейте для каждого объекта, как учат во всех туторах по юнити. В общем, мне такой подход кажется более целесообразным и красивым, но я не надеюсь на какой-то большой прирост производительности, а просто хочу повыёбываться. Подскажите пж, как это можно грамотно реализовать/что почитать/готовые решения, а то я новичок и лох. Заранее спасибо.
236 771206
>>71205
Грамотнее всего это реализовывается так.
Жмёшь Window, там выбираешь Package Manager. Там жмёшь import from git url. Туда вводишь com.unity.inputsystem.
237 771207
>>71206
Это та самая новая система инпута от юнити?
238 771208
>>71205
public enum KeyType { A, B, C, ... и т.п. }
...
public event Action<KeyType> OnKeyDown;
public event Action<KeyType> OnKeyUp;
...
void Update()
{
if(Input.GetKeyDown(KeyCode.A)) OnKeyDown?.Invoke(KeyType .A);
... и т.д.
}
239 771209
>>71207
Запятые не нужны, бтв)
240 771210
>>71208
Ну ты предлагаешь всё равно через апдейт отслеживать нажатие клавиш, а я как раз хотел бы уйти от этого. Хотя я не представляю, как это можно сделать и можно ли вообще.
241 771211
>>71210
В одном скрипте будешь отслеживать, во всех остальных скриптах будешь подписываться на эвенты этого скрипта.
242 771213
>>71207
Она уже не новая.
image.png106 Кб, 225x225
243 771214
>>71211
Это фасад или god object?
>>71213
А какая тогда новая? Тоже чекну по пути
244 771215
>>71214
Есть Input Manager и Input System, никакой "новой" нет. Новой была input package, но сейчас она уже просто актуальная.
image.png8 Кб, 473x77
245 771216
>>71206

>Жмёшь Window, там выбираешь Package Manager


Жмешь Project Settings, там выбираешь Other Settings
246 771217
>>71216
Там дальше ещё схемы создавать и т.д. Не буду же я всё разжовывать, когда всё и так понятно.
247 771218
Можно ли запихнуть массив предметов в массив более широкого класса (например юнитов в геймобжект)?
248 771219
>>71218
Можно что угодно, можно хоть массив в массив и на массив, всё зависит от потребностей, скилла кодера который всё это пропишет и сам себя не наебёт где-то при передачи ссылки, и не создаст парадигму феллера.
249 771221
>>71217
Окей, спасибочки. На ютабе уже нашёл туторы. Цмок в пупок
250 771222
>>71219

>парадигму феллера


Я такую не смогу. Могу только парадигму вафлёра создать
251 771223
А вот такую хуйню я вижу впервые. У куба и плейна один и тот же материал, но куб это GameObject, а плейн это entity. Это, конечно, не ошибка, просто плейн не получает информации об освещении, но в итоге задумался. Чтобы плейн с кубом рендерились одинаково, я уже добавил на плейн 15 компонентов. Это причём просто плейн, без логики никакой. Будет ли вообще хоть какой-то прирост перформанса-то, лол. Кто вскрывал эту тему, давайте советов мудрых.
252 771227
>>71222
Пчел, борда 18+, с вкшэчкой не перепутал? А ну брысь отсюда.
253 771229
>>71227
Ты чего разверещался то, пердикс?
Снимок.PNG5 Кб, 186x109
254 771260
Юнити грузит материалы в память.
Даже если на сцене нет ни одной модели которая бы использовала / ссылалась на материал.

Создаю новый материал (не в папке Resources) получаю + 3мб к расходу памяти (графа Textures).

Так же не должно быть, чяднт?
255 771275
Юнитеки выложили в самом деле полезную статью
https://blog.unity.com/technology/speed-up-your-programmer-workflows
Я не ньюфаг, но некоторых вещей не знал..
256 771281
>>71275
К сожалению ничего нового или интересного не увидел. Ньюфагам да, будет пара вещей полезна, особенно взять за привычку делать кастомный юи.
257 771286
>>71205
Как сказали выше - InputSystem.
С одной стороны удобно что оно за ьебя разруливает штуки типо "удерживай Е 5 секунд чтоб открыть ящик". С другой - GodObject 99% гаррантирован. И всё равно половину инпута прихлдится получать в апдэйте.
258 771287
>>71286
Ньюфани досихпор не научились в менеджеры? В чём сложность сделать уникальную обработку нажатий всего лишь в одном скрипте, не разнося это дело по миллионам других?
Это я если что про старый импут, новый адская параша.
259 771299
>>71287
Что блять?

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


SRP может быть?
>>71286
Ну вот это и смущает. Правда везде написано, что это по перфомансу не должно сильно бить, но чисто архитектурно выглядит по-еблански, кмк
260 771417
Анон, подскажи. Допустим, есть простой раннер. Как генерировать дорогу с поворотами, как это было в ретро гоночках? Попробовал сам додумать, но в итоге при перспективном виде дорога быстро заканчиватся.
261 771436
>>71417
Либо ассетом, либо префабом, что тут думать?
262 771439
>>71417
На ютубе был урок по сабвей серферсу там шейдером легко гнулись дороги
263 771453
Как лучше реализовать контакт одного объекта без RigidBody c другим?

OnTriggerEnter2D не работает без RigidBody на одном из них а в OnCollisionEnter2D не работают теги объектов
264 771461
>>71436
Каким ассетом?
265 771462
>>71453
Либо ассетом, либо префабом, что тут думать?
266 771464
>>71462
Может я неверно выразился. Вобщем. Есть некий объект(без Rigidbody) который должен дойти до определенной точки и повернуть обратно. Пытался реализовать это через ОnTrigger и через OnCollision. Оба одинаково не работают. Что я делаю не так?
267 771470
Как сделать с ригидбади нормальный лифт? Когда персонаж становится на платформу и едет вверх, еще более-менее, но когда лифт едет вниз, игрок не держится ней, тупо остается в воздухе а потом падает на платформу, и так пока платформа не достигнет дна.
Вариант с заменой родителя игрока не работает.
268 771471
>>71470
Делается скриптом, отдельно.
269 771476
>>71470
Проверяй, если перс на лифте и едет вниз приклеивай или добавляй силу вниз
270 771479
Короче летом залетел в юнити, нарисовал графония для проекта, в анимацию даже вьехал, но скрипты совсем никак не даются. На них мой запал потух. Я ещё очень слаб в английском языке, поэтому туторы из шапки мне не помогли.
А с русских уроках с ютуба во мне как-то очень плохо все усваивается, и четкой картины не составляется.
Подскажите какие-то русские книги мб или уроки, чтобы прям даже тугой понял
271 771480
>>71476
Звучит как нормальный костыль, попробую.
272 771482
>>71470
Делай, как отцы делали. Перемещай не игрока, а весь уровень.
image.png1,3 Мб, 1055x586
273 771499
>>66778 (OP)
не ну че юнити три дэ меня породило а убьет распутный образ жизни который я виду на деньги с треша в стиме

https://store.steampowered.com/app/1588160/Putin_VS_Zombies/

шо думаете достойно таким заниматься или надо идти на завод?
274 771500
>>71499
Данный шедевр игровой индустрии помог мне вылечить артрит, склероз и геморрой. Всем очень. Сюжет захватывающий, дизайн сногсшибательный, геймплей мощный.
275 771506
>>71499
Чел, если ты сумел не то что сделать игру, а её еще и выпустить в стим, поздравляю, ты успешнее 99% разработчиков из гэдэ, моё почтение, продолжай.
Sage 276 771509
>>71499

>мама я покакал

277 771525
Вот допустим у меня есть на сцене какое-то количество объектов X и Y. И объекты X должны высчитывать значения на основе состояния всех объектов Y. Допустим X суммирует все координаты объектов Y и на этой основе решает куда ему пойти. Как это все грамотно организовать в unity, чтобы я мог взять все объекты Y, высчитать какое-то значение и передать всем объектам X, чтобы они уже что-то свое посчитали?
278 771528
>>71525
Только через главный менеджер на который у каждого обьекта X и Y появляется ссылка при спавне. Не вздумай дрочить апдейт в каждом из этих обьектов.
279 771534
Клал ли кто то Bolt на C# и пробовал кириллить через болт?
Сложнее или проще через него кириллить и можно ли им полностью заменить погромирование?
изображение.png284 Кб, 768x768
280 771535
>>71534
*отклеилось
281 771601
Задача на 5 минут, пиздец блять
Скачал блендер и сделал модельку (пик 1)
Закинул в юнити и сколько я не ебался то выходит пик 2, какого блять хуя, как эту хуету убрать, у меня жопа горит, работы на 5 минут что бы минимально блендер узнать и простую модель сделать, а я мозги себе ебу всю ночь
282 771602
>>71601
Выложи модельку
283 771610
>>71601
Юзай пробилдер и прогрид, блендер не нужон
284 771629
Сделал в блендере гекс, а он подтягивается со своим светом и камерой. Камеру я убрал, а вот если без света в блендере пересохранить, то происходит пик 2 - моделька какого-то хуя поворачивается на 90. Что за хуйня?
285 771631
>>71629

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


Сколько тебя еще ждет открытий чудных
изображение.png64 Кб, 184x184
286 771635
>>71631
Че делать то?
287 771638
>>71635
Ты каждый мизерный вопрос будешь в треде писать и ждать ответа? Тысячи человек импортит из блендера в юнити, может кто-то уже задавал такой вопрос, гугли
288 771640
>>71629

>Сделал в блендере гекс, а он подтягивается со своим светом и камерой


Так в блендере на сцене удали источник света и камеры, омг.

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


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

>Что за хуйня?


Первое что пробуй это всегда самому гуглить, смотреть туторы а ютубе, и лишь если не помогло беги на двачик спрашивать.
289 771650
>>71640
Спасибо, анон, сорян за тупость, я блендер открыл третий с половиной раз. Обещаю что тоже объясню все по порядку следующему такому как я.
290 771688
Аноны, поделитесь, кто в чем рисует спрайты для своих игор? в чем удобнее рисовать здания?
291 771692
>>71688
Страшный секрет, только никому! Работать надо в инструменте удобным для тебя. Скачиваешь тройку самых популярных, юзаешь и думаешь
292 771696
>>71692
А вот интересно, в чем тебе, анон, удобно рисовать? расскажи, пожалуйста
293 771709
>>71696
Асерспрайт для пиксельарта, крита для попыток в нормальнвй арт, гимп для пережемания фоток в текстуры.
294 771711
>>71688
Фотошоп. Для иконок иллюстратор
295 771714
>>71696
Фигма ван лав
296 771741
>>71601
Триангулируй полигоны в плендере
297 771742
>>70915
Через код реализуй анимацию, а эту паутину в помойку выкинь
298 771754
Как создать префаб какого-нибудь объекта типо спрайта вместе с UI элементами? Обязательно ли тогда каждому объекту на сцене иметь свой канвас? Просто получается, что при паре десятков таких объектов едитор люто засирается этими километровыми канвасами, хотя мне надо просто маленькую кнопку и текст под объектом отобразить.
Почему юнитеки еще не придумали? 299 771755
Префабы аниматора. От которого делаем префаб варианты для всех нужных персонажей, и если надо как-нибудь изменить логику анимаций - меняем в префабе, что меняет сразу для всех дочерних аниматоров. Почему такого еще нет, или я о чем то не знаю?
300 771783
>>70915
Галочку looping убрать?
И не делать никаких переходов после анимации.
Должна просто зависнуть на последнем фрейме.
301 771784
>>71783
Рофлишь? Как только заканчивается анимация, происходит стандартный переход на самую первую от входа, если её нет, то ставится начальное состояние модели. Заморозить на последнем фрейме анимацию в юнити нельзя.
302 771788
>>71755
Не уверен, что то что нужно, но есть компонент Animator Override Controller
303 771795
>>71788
Забавно, это именно то, что нужно. Хорошо, что такая штука есть.
304 771807
>>70915
Animator.Play() и стейт сделай без переходов, чтобы граф дальше никуда не уходил.

>>71784
Я хоть и другой чел, но тот анон дело говорит, а ты ошибаешься.
305 771808
>>71754
Берешь и создаешь. Канвас таскать не обязательно, но помни, что любой объект, который таскает на себе CanvasRenderer не будет рисоваться, если на каком-нибудь из парентов не висит канвас. То бишь, ты можешь сделать 100500 префабов кнопок с текстом/спрайтами, но обязан их всех спавнить в любом из чилдов канваса.
306 771847
привет.

я сейчас делаю игру по вот этому туториалу в рамках освоения юнити:https://noobtuts.com/unity/2d-pong-game
Я сделал функционал описанный в туториале и помимо этого я хочу добавить следующее:
-главное меню
-счет
-возвращение положения ракеток и мячика в исходную позицию после того как кто-то из игроков забьет мяч.
у меня есть несколько вопросов по этим пунктам.
1.Правильно ли я понимаю что главное меню реализуется отдельной сценой/набором сцен?
2.Счет можно реализовать при помощи объекта UI а шрифт добавить при помощи Text Mesh?
3.Как реализовать третий пункт? Я пробовал менять позицию мяча и ракеток через присвоение значения полям position в классе Transform (возможно немного криво пишу, извините.) но visual studio ругается и говорит что "Не удалось изменить возвращаемое значение Transform.position так как оно не явлется переменной.
Заранее спасибо за помощь.
307 771848
>>71847

>Unity 2018.3.14f1


Едрать ты откопал тутор древнее чем чьято мамка! Чем тебя современные видео туторы от самих юников не устраивают? Куча всего меняется и используется по другому, лишь засоряешь голосу сторой не нужной инфой.
308 771849
>>71848
ок, я поищу актуальные туторы, но старые типа вообще бесполезны?
309 771850
>>71849
не слушай больного, в 2018 все тоже самое
делал спокойно офф тутор для 2020 сидя на 2018, все было идентично
310 771851
>>71849
Вот тут https://learn.unity.com/, самые актуальные туториалы. Смотришь видосик, делаешь по аналогии, всё расписано и понятно. И что главное от самих юников.

>но старые типа вообще бесполезны


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

Актуальная версия юнити сейчас чтоб ты понимал Unity 2021.1.23. Думаю улавливаешь на сколько большая разница уже.
311 771852
>>71851
так, у меня сейчас стоит 2020.1.5f1f. как обновиться до актуальной версии? в хабе удалить текущую и установить последнюю (2021.1.23f1)?
sage 312 771853
>>71852
Не надо ставить последнюю, сиди на последней LTS.
313 771855
>>71853
>>71850
Чел, зачем ты траллируешь ньюфага? Яж не предлагаю альфу или бету ставить, а лишь последнею стабильную версу.

>>71852
Там в списке выбираешь и скачиваешь, можешь удалять или нет без разницы.
314 771856
>>71853
последняя LTS - это 2020.1.5f1 которая у меня и стоит. получается это самая стабильная версия на данный момент?
315 771857
да, и что по основам.
я правильно в итоге понимаю что в Юнити все строится на сценах?
главное меню - это отдельная сцена, первый уровень - это отдельная сцена и т.д., так?
316 771859
>>71855
Я те говорю что в 2020 ничего существенного по сравнению с 2018 не заметил. (на черную тему похуй)
А, ну 2020 запускается медленнее и тормозит, да.
317 771861
>>71859
Чел ты ради прикола пробывал читать чейндж логи? Там туеву кучу всего фиксят каждый мини патч, а теперь подумай.
318 771869
>>71847

>Я пробовал менять позицию мяча и ракеток через присвоение значения полям position в классе Transform


Как ты это делаешь?
319 771878
Два rigidbody, boxcollision ящика. У обоих метод коллизии Discrete
Один стоит на втором.
Если удалить нижний ящик через Destroy(); то верхний будет висеть в воздухе пока его чем-нибудь не стукнуть.

Как заставить верхний ящик падать после удаления нижнего без изменения метода коллизии на Continuous?
320 771889
>>71878
У меня верхний норм падает после удаления, ты что-то не то делаешь
321 771908
>>71869
вот весь код скрипта для мячика. подчеркнут тот код, которым я пытаюсь реализовать возвращение мяча в изначальную позицию.

public class Ball : MonoBehaviour
{
public AudioSource Sound;
public Transform positon;

public float speed = 50;
// Start is called before the first frame update
void Start()
{
//Initial velocity
GetComponent<Rigidbody2D>().velocity = Vector2.right speed;

}
static float hitFactor(Vector2 ballPos, Vector2 racketPos,float RacketHeight)
{
return (ballPos.y - racketPos.y) / RacketHeight;

}

private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.name == "RacketLeft")
{

Sound.Play();
//Calculate hit factor
float y = hitFactor(transform.position, collision.transform.position, collision.collider.bounds.size.y);

Vector2 dir = new Vector2(1, y).normalized;
GetComponent<Rigidbody2D>().velocity = dir
speed;

}
if (collision.gameObject.name == "RacketRight")
{

Sound.Play();
float y = hitFactor(transform.position, collision.transform.position, collision.collider.bounds.size.y);

Vector2 dir = new Vector2(-1, y).normalized;
GetComponent<Rigidbody2D>().velocity = dir * speed;

}
if (collision.gameObject.name == "WallLeft" || collision.gameObject.name == "WallRight")
{

positon.position.y = 0.0429;
positon.position.x = -2.6;

}


}

}
321 771908
>>71869
вот весь код скрипта для мячика. подчеркнут тот код, которым я пытаюсь реализовать возвращение мяча в изначальную позицию.

public class Ball : MonoBehaviour
{
public AudioSource Sound;
public Transform positon;

public float speed = 50;
// Start is called before the first frame update
void Start()
{
//Initial velocity
GetComponent<Rigidbody2D>().velocity = Vector2.right speed;

}
static float hitFactor(Vector2 ballPos, Vector2 racketPos,float RacketHeight)
{
return (ballPos.y - racketPos.y) / RacketHeight;

}

private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.name == "RacketLeft")
{

Sound.Play();
//Calculate hit factor
float y = hitFactor(transform.position, collision.transform.position, collision.collider.bounds.size.y);

Vector2 dir = new Vector2(1, y).normalized;
GetComponent<Rigidbody2D>().velocity = dir
speed;

}
if (collision.gameObject.name == "RacketRight")
{

Sound.Play();
float y = hitFactor(transform.position, collision.transform.position, collision.collider.bounds.size.y);

Vector2 dir = new Vector2(-1, y).normalized;
GetComponent<Rigidbody2D>().velocity = dir * speed;

}
if (collision.gameObject.name == "WallLeft" || collision.gameObject.name == "WallRight")
{

positon.position.y = 0.0429;
positon.position.x = -2.6;

}


}

}
213241.jpg63 Кб, 604x478
322 771911
323 771912
>>71911
Лям баксов точно стоил, может и десять, подписчики уплатят за всё
324 771913
>>71911
Важными делами занимаются.
325 771914
>>71847

>"Не удалось изменить возвращаемое значение Transform.position так как оно не явлется переменной.



Transform.position это property а не field, там сеттер сразу весь вектор3 ждет
пиши не
positon.position.y = 0.0429;
positon.position.x = -2.6;
а
positon.position = new Vector3 (-2.6, 0.0429, 0);
image.png1,4 Мб, 2048x683
326 771915
>>71911
Надпись нравится, куб не нравится. Понятно, что сменить или кардинально изменить его невозможно, но бля, он конченный
327 771929
>>71914
ох, анон, спасибо тебе! добра тебе, счастья, здоровья!
заработало!
плюс я сразу добавил и возврат ракеток на свое место.
328 771931
>>71911
интересно, дизайнер хотя бы гей-ниггер, чтобы такое выдавать?
329 771932
>>71499
Где отзывы заказывал? Или срал по форумам и накопилось?
330 771935
Посоны спасайте!!!11!1!

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

Какие ещё есть способы? Мб асеты какие, или встроенные приколы? Нужна в первую очередь практичность.

Да, гуглил и яндексил, по запросу "how animate list/massive/collection unity" выдаёт максимум туторы по анимациям.
331 771942
>>71935
Под анимацией ты понимаешь методы Move или Interpolate?Обработай каждый элемент списка по отдельности в цикле. Вообще не понял проблему твою.
332 771945
>>71942
Под анимациями имею ввиду компонент Animation. Он просто физически не даёт анимировать списки.
333 771946
>>71945
Приделай Animation всем элементам списка по отдельности. Вообще опиши задачу нормально, что ты хочешь анимировать и зачем.
334 771984
Юнитач. Какое твое мнение по поводу Bolt'a? Кириллит ли кто то через него и насколько им можно заменить погром?
335 771999
>>71984
Ни насколько, болт это то же самое программирование, только с лапшой дрочиться неудобно и поэтому все кто юзает болт сосут болт
336 772001
>>71946

> Вообще опиши задачу нормально, что ты хочешь анимировать


Постараюсь описать понятнее

Абстрактно:
Есть List<GameObject>, задача изменять его содержимое во время катсцен, удалять, добавлять элементы по заранее заготовленному шаблону.
Изначально планировалось делать это через компонент Animation, но он не позволяет анимировать List<>, поэтому требуется найти другой метод это делать, не уступающий по простоте использования компоненту Animation.

Более конкретный пример использования:
Есть объект "группа рабов 1", на нём висит скрипт "управление рабами", с полем типа List<GameObject>, содержащем ссылки на каждого раба, формально принадлежащего этой группе.
Задача: "освободить" половину рабов из группы, то есть удалить из списка, причём "освобождение" является частью катсцены, то есть должно быть заранее заготовлено и вызываться анимацией.
Ограничения: тк групп рабов будет много, катсцен будет много, прописывать каждое изменение List<> вручную непрактично, нужно упростить процесс.

Надеюсь понятно расписал, если нужно, могу скинуть скрипты

> и зачем.


На днях Аллах явился ко мне (он тоже использует юнити) и сказал что я должен написать ему продвинутую систему управления муслимами, он хочет чтоб можно было в два клика мышкой создавать их группы, разделять их, автоматизировать, анимировать всё это и не париться с каждым муслимом вручную.
Рефлект от стены в 3D 337 772156
Захотел перенести 2D прототип игры в 3D, столкнулся с проблемой в физике. Если запустить игрока в стену, то он не отрефлектит под тем же углом, а отлетит перпендикулярно поверхности.

Не хочется писать скрипт рефлекта через Vector3.Reflect, есть какой-то способ это пофиксить через параметры физики или как-то ещё?

пик1 - рефлект в 2Д проекте (как должно работать)
пик 2 - рефлект в 3Д проекте (как НЕ должно работать)
пик 3, 4 - параметры Physic Material для 2D и 3D соответственно, которые применялись для объектов
338 772159
>>72156

Если что рефлект в 2D делал просто через Physics Material 2D, игроку давал скорость через rigidbody.velocity, тоже самое делал и в 3D, только использовал обычный Physics Material
339 772162
>>72159
У тебя тут 3д физика не нужна. Используй 3д рендер но 2д физику.
340 772164
>>72162

А так можно? Использовать 2D компоненты в 3D рендер пайплайне? Не знал что так можно, спасибо
341 772165
>>72164
Конечно, можно - берёшь и вешаешь 2Д компонент, только убедись, что всё в правильной плоскости. 2Д физике нельзя оси повернуть.
14095121513960.jpg42 Кб, 600x600
342 772190
Бродяги, платина конечно, но всё же спросить негде.
Хочу запилить кликер на юнити
да, да, я знаю, иди нахуй
В общем суть - хочу иметь панель вкладок (порядка 10), если видели в глаза хоть раз idle игру для десктопа, то понимаете о чем речь.
И не совсем врубаюсь как его реализовать чтобы пооптимальнее.
Туториалы везде опираются на меню из 3х кнопок, и там ссылки на сцены, как то слишком ресурсоемко, имхо
Думал о чем то вроде 10 панелей и панель с кнопками, каждая из которых делает setVisible (не нашёл кстати в unity мда) определенную панель(или поднимает её поверх остальных)
setActive не подходит если что.

Какие будут идеи, как лучше это реализовать?
343 772191
>>72190

>setActive не подходит если что


Почему? Всегда через него делал и не выёбывался.
344 772199
Аноны, подскажите плс. Сел ковырять юнити, но происходит пикрилю Как можно пофиксить?
345 772200
>>72199
Tranform с ошибкой написано. Скачай визуал студию чтоб ошибки выделялись.
image.png2 Кб, 284x60
346 772201
В чем разница?
347 772202
>>72200
Пофиксил, спасибо, но все равно нихуя не работает. Как советовали в одном из гайдов - поставил пик 2. Перезапустил юнити и VSC. В визуалке появились две страницы с кодом, на несколько кусков которых ругалась визуалка. Я попробовал их удалить, В VSC ошибки пропали, но теперь вылезло говно как на пике 1.
348 772203
>>72202
Тыкни на ошибку 2 раза, поменяй все GUIText на UI.Text.
image.png16 Кб, 1295x116
349 772204
>>72203
Поменял, все ошибки пропали, но теперь пишет пикрил.
350 772205
>>72204
Напиши сверху скрипта
using UnityEngine.UI;

А лучше выдели пару неделек на изучение C#, поймешь основы, и такие вопросы отпадут сразу.
image.png23 Кб, 607x322
351 772206
>>72205

>using UnityEngine.UI;


Написал, один хуй.

>выдели пару неделек на изучение C#


А каким образом лучше учить по твоему? Я когда курс по юнити на тытруба искал, так там все друг друга хуесосят и обвиняют в криворукости.
352 772208
>>72206
Блять, я рот ебал этого юнити. Оказывается, не надо было ебаться в каком-то стороннем файле с библиотеками, качать ассеты, етс, надо было тупо делитнуть старый проект и создать новый.
353 772212
>>72190
Если на канвасе, то
Через енейбл/дисэйбл компонент Canvasrenderer-a

Если у тебя панели не в УИ, то через енейбл/дисейбл мешрендерера. Это с т.з. производительности дешевле, чем сетактив.
354 772213
>>72001
Нахуй вы лезете в макакинг игр, когда не знаете основ макакинга общего назначения? Твоя задача решается через стек корутин которые задают сценарии поведения объектов заданного типа.

Вот есть у тебя лист рабов. Ты создаешь клас раьменеджер, пишешь в нем корутину, в которую передаешь массив ссылок/индексов на рабов из листа и сам лист. Корутина представляет собой сценарий событий, например запускает анимацию плюс выводит рабов из листа который ты в нее передал. Эта корутина универсальна для любых листов с объектами типа "раб".
355 772215
>>71260
Это в или чисио в редакторе потому, или у тебя в каком-то объекте есть скрип со ссылкой на материал, даже в эмпти.
356 772219
>>71889
Да, оказывается я сначала делал

gameObject.GetComponent<Renderer>().enabled = false;
gameObject.GetComponent<Rigidbody>().isKinematic = true;
gameObject.GetComponent<BoxCollider>().enabled = false;

И только потом дестроил, в другой функции. Похоже на какой-то баг.
357 772238
Кто пользуется ui toolkit? Как гуй делаете? Я вот делал через создание гуя полностью через посторонний код, то есть вот точка входа, которая на основании загруженной сцены выбирает нужный класс, который уже спавнит гуи елементы. При этом никакого наследования от VisualElement нет. В целом работало нефигово. Но потом решил сделать правильно, как это задумывалось разработчиком. Наследуемся от VisualElement, добавляем обязательные UxmlFactory, UxmlTraits и переопределяем войд Init. Вуаля, наш класс появляется в списке доступных контроллов в Ui builder и можно начинать таскать мышкой. Окей. Пусть это будет "базовый" класс, поверх которого я создам разные гуи элементы. Ну, чтобы не создавать каждый раз однотипные классы с одинаковым функционалом. Создаю новый класс, наследуюсь от предыдущего и его Ui builder не видит. Потому что в нём нет UxmlFactory, UxmlTraits и так далее. Отлично, то есть мне нужно копипастить хуйню из класса в класс. Что несколько неудобно. Во втором подходе в принципе код выглядит как-то неприятно. Так вот - как сами делаете? Есть ли профит в мышкотягании? Пока что выглядит менее удобным, потому что отпадает возможность просто скопировать папку Ui в новый проект и получить готовый гуй.
358 772245
>>72215
А есть простой понятный гайд как точно профайлить без помех от редактора?
14095121513971.jpg48 Кб, 600x600
359 772258
>>72191
щас вот подумал и вроде бы неплохая идея, все расчеты просто с дуру клал на панели, ща понял что это хуйня и лучше скрипты работающие фоном держать отдельно.

>>72212
Благодарочка тебе, братишка
1.png15 Кб, 616x511
360 772266
>>72238
Не, нахуй, делать "правильно" физически больно. И очень большие проблемы в прикручивании контроллера к отображению.
361 772305
Вечер в хату юнитаны, вопрос не из простых для меня хочу пощупать как верстаются интерфейсы в ngui, сам до этого с юнити почти не работал, вопрос - как то его ngui можно посмотреть-поверстать не покупая? Или если покупать, есть ли место где это можно сделать дешевле чем в ассетсторе?
362 772313
>>72305
Нахера, а главное - зачем? Есть тот же uGui бесплатно, который не хуже nGui.
363 772317
Кого из кириллов на ютубе можете посоветовать для обучения ? В приоритете 2Д .
364 772318
>>72313
в месте где я работаю юзают его, я хочу научиться, чел
365 772321
>>72317
Рекомендую посмотреть сливы курсов на рутрекере.
366 772346
>>72317
Jason Weimann, Максим Крюков. Если полный ноль - Brackeys. Но нет никакого смысла смотреть всё подряд, ищи то, что интересует и не понятно. Для развлечения и вдохновения - Sebastian Lague. Все остальные - только во вред или нудные, за редким исключением.
367 772357
Кто-нибудь сталкивался с задержкой при лупе Audio Source? Есть правильно зацикленный кусок мп3 на 2 минуты, при окончании он стартует с самого начала с небольшой задержкой(0.1 секунды да, я проверял) что довольно заметно, так как музыка идет плотной стеной. Лупнул просто поставив галку Loop в инспекторе. Есть что с этим сделать? Вроде банальная вещь ведь.
368 772381
Господа, я нид хелп.
1)Какого-то хуя у генерируемого объекта не работает физика. Риджибоди подключен.
2)Без цикла после создания объекта сцена вылетает. С циклом происходит пикрил 2. Чому так? Ведь при каждом нажатии должен создаваться всего один объект.
369 772389
>>72381

>Ведь при каждом нажатии должен создаваться всего один объект.


Да, но у тебя другое условие
370 772395
>>72389
Я вообщем-то нахуй в цикл полез - писал генерацию объекта по гайду с ютуба, написал слово в слово, но у меня нихуя не работает. Создает один куб и вылетает из сцены. Для примера поставил сферу, которая с тем же реджибади падает
Где я проебался и как это можно пофиксить?
15321585564540.jpg34 Кб, 560x560
371 772397
>>72395
Черт его знает, как ты умудрился в такой простоте запутаться
372 772398
>>72397

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


Тут скорее интересно, как один и тот же код умудряется работать на одной системе и не работать на второй.
373 772402
>>72398
По своему опыту скажу, накосячил ты. Я уже тыщу раз проклинал юнити в разных затыках, и всегда оказывалось что тупанул я или просто не знал как устроено. Судя по тому куда ты цикл воткнул ты вообще нулевый. Попробуй еще раз повторить урок
374 772403
>>72398

>Тут скорее интересно, как один и тот же код умудряется работать на одной системе и не работать на второй.


На всякий напомню, что код исполняется одинаково где угодно, на то он и код, а не что-то выдуманное или мысленное.
Если что-то не работает, или не то что ты ожидаешь, то единственный вывод - ты говнокодишь не понимая что делать. Есть супер редкие случаи багов самой юньки, но с вероятностью 99.9% ты их никогда не встретишь.
375 772408
>>72402
>>72403
Ну а можете подсказать, в чем именно я накосячил? Я все делал по алгоритму в гайде:
1)Создал объект, повесил на него рб
2)Сделал его префаб, изначальный объект удалил
3)Написал скрипт слово в слово
376 772414
>>72408
И что ты хочешь? Спавнить обьект? Ты его спавнишь. Хочешь свойства обьекта? Меняешь свойства. Что сложного? Я в душе не чаю чего ты хочешь, и что в твоём гайде. Может он старое гавно на старой версии и уже не работает.
Единственный путь это понять что ты хочешь, следом понять какой код написать.
377 772415
>>72414

>И что ты хочешь?


Хочу по нажатию кнопки спавнить объект N раз, и чтобы после спавна он падал.
378 772417
>>72415
Ща катка закончится, зайду в юньку и скажу точно где ты проёбываешься.
image209 Кб, 1912x1018
379 772425
>>72415
Только что зашёл, потратил минуту, всё работает, что у тебя не так?
380 772427
>>72415
https://dropmefiles.com/KiDzB юнити пакет просто открой и посмотри, всё я ушёл.
381 772447
>>72381
https://www.youtube.com/watch?v=N-8jkDqR58U

Во долбаёб! У тебя ГетКейДаун обновляется кадый кадр и в каждом таком кадре спавнится физический хуй. Сколько кадров выдаёт легаси сцена? Ну скажем тыщу, на кнопку ты допустим нажимаешь пол секунды, то есть у тебя друг в друге создастся 1000/2=500 кубов. А теперь умножь это число на свой цикл for, и получишь 50000 полностью физических объектов в один тык. Сколько миллионов лет потребуется чтобы посчитать все коллизии между твоими кубами? А потом этот долбаёб спрашивает почему у него юнька вылетает. Съеби нахуй из треда учить матчасть.
382 772450
>>72447

>А теперь умножь это число на свой цикл for


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

А хули у него миллиард кубов не спавниться? Он так же в юпдате пишет
https://www.youtube.com/watch?v=YuahY7ZSXJA&ab_channel=Zemlia

>почему у него юнька вылетает


А где я, блять, говорил, что у меня сам юнити вылетает? Я про сцену говорил.
383 772451
>>72447

> на кнопку ты допустим нажимаешь пол секунды


Да не, у него же геткейдовн, а не геткей, довн
16327447366730.jpg63 Кб, 453x604
384 772464
>>66778 (OP)
Где воровать платные ассеты?

Меня больше шаблоны интересуют, посмотреть как там что сделано, чисто для примера.
385 772479
>>72464
forum.cgpersia.com
386 772482
>>72479
Спасибо
387 772483
>>72381
1. Убери цикл в апдейте.
2. Проверь что в ригидбоди префаба стоит галка на юзгравити и снята с кинематик. Либо ресетни компонент
388 772484
>>72479
Осталось получить инвайт.
389 772488
>>72484
И не забудь, что эти сиджипирс помойки регулярно удаляют аккаунты.
390 772499
>>72488
Нужно хоть изредко проявлять активность, написать хоть пару комментов, лайки ставить
391 772508
>>72499
Я просто предупредил анона, что если ему что-то надо - пусть скачивает сразу и не рассчитывает на свой аккаунт.

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


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

Сообщества в тг\дискорде какие?
393 772512
>>72508
Не преувеличивай, я туда один раз год не заходил, аккаунт целый. Может нулевых без сообщений удалили и все
394 772515
>>72510
Да таких помоек тысячи. Вбиваешь в гугл Unity Asset Collection и вот уже одна. В тг тоже скорее всего есть, но в тг в принципе крайне неудобная навигация, хуй найдёшь что.

>>72512
Ну повезло значит. Проверь ещё раз, вдруг удалили, пока ты пост писал. У меня до бреда доходило, когда я раздаю, а аккаунт уже удалён. Так на эту парашу и забил.
395 772518
>>72515

>Проверь ещё раз, вдруг удалили, пока ты пост писал


Нет, всё хорошо. И cgpeers.to тоже цел, хотя там вообще ни разу не писал
1.mp45,2 Мб, mp4,
1920x1080, 0:42
Разница в повороте предметов в 2D и 3D 396 772523
Обратил внимание, что повороты происходят по разному в 2D и 3D проектах. В 2D они как будто вращаются вокруг какой-то оси, я предположил, что это зависит от родителя, но потом я вынес меч из родителя и ничего не изменилось.

С чем это может быть связано?
397 772526
>>72523
У тебя в 2д офсеты детей относительно родителя 0 равны, в 3д нет, поэтому когда ты вращаешь родителя ты вращаешь и вектор офсета в 3д
398 772529
>>72395
Больше смотри таких же дегенератов на ютубе. Пиздец, хуею. Не разбираются и смотрят каких-то придурков, чтобы ещё тупее становиться.
Гугли Jason Unity и нахуй год не вылазь с его канала, ни дай бог что-то другое посмотришь - анус отвалится, и разумеется после этого уже никогда не будешь разработчиком.
399 772536
>>72526
Спасибо!
400 772545
>>72529

>Не смотри этих дегенератов в ютубе


>Смотри другого дегенерата в ютубе


Серьёзно? И это при наличии пачки официальных-то уроков.
401 772551
>>72545
Ещё одна нюфаня? Официальные уроки такое же дерьмо, в них очень много плохого кода. И они безумно затянутые к тому же. Не знаю как можно было так обосраться. Если смотреть что-то от Юнити, то только презентации, но это уже не начальный уровень.

А Джейсон профессионал с многолетним стажем, всегда отмечает, что этот кусок кода нежелателен и как его можно оптимизировать, если показывает какой-то быстрый пример. Человек отлично понимает как Юнити, так и программирование в целом.
402 772553
>>72551
Если человек пилит видосы про программирование это автоматически значит, что он вообще не шарит. Так что смысла его смотреть никакого.
403 772554
>>72553
Слова гения. Те, кто шарят, кидают ассеты и молча воруют код со стаковерфлоу и видосов на ютубе. Как ты. Потому что не в состоянии отличить хорошего программиста от плохого.
1.png206 Кб, 1019x633
404 772559
>>72554
Вот, у тебя в голове не сказать, чтобы дельные мысли, но проблески бывают. Стаковерфлоу, там есть код. Заметь, тебе на ум пришел не ютуб. Потому что уроки в целом не должны быть видосами, это должен быть текст, а не бесконечно экание и бэкание на фоне пустого экрана. Видос про кодинг это автоматически сблёв, который не стоит смотреть. Да, я знаю, что большинство юнити-уроков это видосы, но они прилагают ещё и код, который можно почитать. Не то, чтобы я его читал. Можешь бесконечно защищать бесталанного ноунейма с ютабчика, но это ничего не меняет. Спасибо, хоть не с твича. Но я его даже загуглил, какая-то реклама unity3d.college с патреона. Мда. Ну ладно, никто не говорил, что уроки должны быть бесплатными. И вишенка на торте, я открыл его рандомный видос с ютуба. Во-первых, while в апдейте. Никогда так не делайте, потому что это может вызвать краш юнити. Во-вторых, геткомпонент в апдейте. Геткомпонент это довольно дорогая операция и делать его в апдейте не рекомендовано. Кешируйте ссылку на компонент.
405 772570
>>72559
https://youtu.be/YdERlPfwUb0?t=396
Как и говорю, всегда отмечает такие моменты. Но мне тоже не нравится, что он в принципе так оставляет, не понимающие люди всё равно начнут втупую копировать. В целом, хорошо описывает паттерны и другие штуки, когда нужно быстро вникнуть в тебе и дальше самому разобраться какое решение применить.
406 772634
Пытаюсь сделать slow-mo через Time.timeScale = 0.3f;
Но все объекты с rigidbody начинают перемещаться рывками.
Решается это через установку им интерполяции в окне настроек rigidbody.
Но юнити пишет про такую практику:

>It is recommended to turn on interpolation for the main character but disable it for everything else.



Какие подводные камни если на сцене будет сотня или больше rigidbody?
407 772684
>>72570
Ну и зачем делать заведомо неверно, чтобы другие копировали?
Хотя я тоже его смотрю, чего уж там.
изображение.png53 Кб, 528x498
инвентарь 408 772700
Где зеленому Кириллу подсмотреть годный и универсальный код на инвентарь?
Пытался слепить что то с ютуба но там все из разряда "5 роликов пишем тонны кода, вот наш инвентарь, можно в нем вещи перетаскивать и стакать" . При этом так и не понятно как в такой инвентарь пихать вещи из сторонних контейнеров. Кирилл удручен и просит о помощи
409 772703
>>72684
Потому что привычка. Он сам привык так делать и тебя учить делать неправильно. А как правильно он уже и сам не помнит, если знал вообще.
410 772711
>>72700
Отталкивайся от задач, Кирилушка. Универсальный инвентарь, возможно и существует но это будет платный ассет за 100 баксов предусматривающий все случаи жизни и ты такой никогда не напишешь.

Определись с тем что тебе нужно. В просто случае это информация которую ты хранишь в какой-то структуре данных состоящая из айди и класса вещи например, и рисование окошка.
1.png32 Кб, 863x224
411 772734
>>72700

>как в такой инвентарь пихать вещи из сторонних контейнеров


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

Но вообще я пришёл к выводу, что инвентарь невозможно написать "правильно", в нём в любом случае будет куча каких-то ебанутых хаков. Вот берём мы перетаскиваем окошко, а юнити рисует все окна с соблюдением иерархии, что в югуи, что в юиэлементс. То есть нам надо перетащить это окно поверх всего, что уже как бы некрасиво.
А ещё асмдефы. Решил такой писать код "как положено". Есть "сборка" персонаж, есть "сборка" инвентарь, есть "сборка" гуи. Окей. Персонаж создаёт инвентарь, инвентарь создаёт гуи. Звучит логично. А теперь берём в гуи и взаимодействуем с инвентарём. Только вот гуи не может ничего знать про инвентарь и про персонажа. В общем, не советую асмдеф использовать.
412 772741
>>72529
Джейсон хорошие видео снимает, но ты какая-то его оголтелая фандырка походу. Помимо него есть заеюись и кэтдайк.кодинг и кодманки.
413 772870
>>72741
Нет, мне похуй на него, но пока один из самых адекватный из всех, кто делает ролики на все темы, поэтому последнее время стал включать его видео в поисковой выдаче. Несколько месяцев назад попал на какое-то очередное видео Кодманки и окончательно закрепилось мнение, что они - это что-то вроде зарубежного фламинго или как там его. Максимально уебанский код и ентри-левел туториалы.
415 772933
>>72741
Код манки делает как-будто для детей. На нормальный продукт его код не похож.
мимохуй
416 772934
>>72634
Перфоманс сделает пике покруче рубля и будет 0,002 фпс
417 772946
>>72934
Проверил на 200 коробках, стоящих друг на друге в ряд по 10 штук и падающих. Лок в 250 фпс держался, но сцена была пустая. Поэтому и не понимаю что не так.
image.png1,2 Мб, 1479x953
418 772966
Есть у меня такой дом-каркас, где происходит игра, он что-то типа дебажного объекта, чтобы мне не приходилось сначала создавать модели всего мира. Это не игровой объект, я его текстурить не собираюсь - когда игра будет готова, я на него отдельными объектами наложу пол, стены, обои и все остальные объекты. А сам объект я хотел удалить. Но потом решил оставить и использовать его как огромный коллайдер дома (Mesh коллайдер).
Вопрос: не слишком ли сильно отобразится это на производительности? У него 1244 вершин/1939 граней/660 плоскостей.

И еще вопрос: как можно определить, что производительность хромает, если у меня железо хорошее? Вот я бы хотел узнать, например, сколько будет fps в i3 8100 +1050.
419 772967
>>72966
зы делаю на pc, но потом планирую на ведро, хотелось бы, чтобы можно было играть на мобилках от 13К рублей хотя бы, так что производительность да, важна
420 772968
>>72966
Я конечно нуб, но с дивана мне кажется что куча квадратных примитивов в качестве коллайдеров будет лучше чем один здоровенный дом.
Подкрепить фактами не могу.
XYZ Logo.jpg74 Кб, 960x540
421 772988
>>66778 (OP)
Курс XYZ School - Алексей Малороссиянов - "Unity" (2021)
https://t.me/ue4ru/47
Цель курса: Научить тебя работать с Unity — движком, на котором создают 90% мобильных игр. На курсе ты сделаешь прототип простого 2D-платформера и с каждым уроком будешь добавлять в него новые механики: от перемещения по уровню и диалогов до чекпойнтов и босса с несколькими фазами боя.
Продолжительность: 74:56:27

Содержание:
Блок 1. Пазл-платформер
Лекция 1. Знакомство с Unity
Unity HUB и версия, IDE, создание пустого проекта, обзор интерфейса (scene, game, hierarchy, inpector, console). Трехмерное пространство сцены. Разбор GameObject и компонентов: Transform, Camera. Концепция Prefab.
1.Настраиваем окружения для работы:
• получаем Unity Id
• скачиваем Unity Hub
• договариваемся о версии Unity
2.Создание нового проекта:
• выбор необходимого темплейта
• обзор интерфейса (Scene, Game, Hierarchy, Inspector, Console)
3.Базовые сущности:
• пространство сцены
• unit
• Game Object
• Transform
• Camera

Лекция 2. Создание сцены и ее наполнение
Объяснение объекта .unitypackage и импорт необходимых ассетов. Сборка игровой сцены из префабов. Объяснение понятия текстур и Sprite. SpriteRenderer. Настройка камеры (инструменты редактора по алигну камеры). Запуск проекта.
1.Импорт ассетов:
• импорт ресурсов через unitypackage
• импорт сырых текстур
2.Настройка текстур:
• обзор возможных настроек текстуры
• настройка текстур под пиксель-артный проект
3.Grid & Snap Settings
4.Создание объектов на сцене:
• компонент SpriteRenderer и его свойства
• взаимосвязь настроек текстур с SpriteRenderer
5.Камера и её свойства
6.Пакет 2d Pixel Perfect

Лекция 3. Оживляем сцену
Понятие MonoBehaviour. Создание Player.cs базовый цикл жизни бихэйва (Awake, Start, Update, OnDestroy). Разбираем методы, переменные, базовые типы, условные операторы, модификаторы доступа. SerializedField и то как это влияет на GameObject (посмотреть на изменение сериализованных данных). Разбор класса Input, реализация базового передвижения игрока по сцене.
1.Первый скрипт:
• Обзор MonoBehaviour
• Жизненный цикл скрипта
• Создание контроллера игрока Player.cs
2.Вспомним теорию:
• переменные
• базовые типы
• условные операторы
• методы
3.Пользовательский ввод:
• Разбор класса Input
• Обработка ввода через Input
• Обзор нового пакета Input System
• Создание контролов и привязка методов из Player.cs
4.Перемещение объекта по сцене

Лекция 4. Физика и коллизии
Рассказ о физике: гравитация, rigid body, импульсы, статические объекты. Размещение на сцене необходимых компонентов пола и привязка физики к GO игрока. Переделываем управление на импульсы. Рассказ детекции коллизий, компоненты
Colider. Методы колизий в компоненте игрока. Создаем новый компонент коина и добавляем механику собирания монеток.
1.Физическая модель Unity
2.Разбор Rigidbody:
• типы физических тел
• масса
• гравитация
• ограничители
3.Разбор Collider:
• виды коллайдеров
• обзор параметров компонента
4.Переписываем управление персонажем на физическую модель:
• Velocity, AddForce
• Добавляем возможность прыгать
• Ground Check и его различные реализации
5.Делаем управление более отзывчивым:
• управление высотой прыжка
• safe jump
6.Реализуем детекцию коллизий на примере монеток.

Лекция 5. Тайлсеты и камера
Работа со спрайтами и тайлами. Настройки и свойства Sprite, SpriteRenderer. Обзор встроенных инструментов для тайлсетов и грида. Создание тайлсета для уровня. Расстановка тайлов из палитры на сцену. Расширения и кастомные тайлы.
Что такое тайлсет и зачем он нужен?
1.Импорт ресурсов:
• настройка спрайта
• нарезка текстуры.
2.Создание уровня с помощью Tile Palette
• Обзор интерфейса и возможностей
• Grid и TileMap
3.Простой скрипт слежения за передвижением игрока:
• Интерполяция: зачем нужна и как применить?
4.Пакет Cinemachine и реализация слежения через VirtualCamera:
• обзор технологии
• разбор параметров камеры
• настройка камеры под проект

Лекция 6. Анимация
Рассказываем о покадровой анимации, знакомимся с интерфейсами Animator/Animation. Создаём аниматор для героя с набором состояний передвижения. Рассказываем о переходах и параметрах анимации. Программируем контроллер для анимации.
1.Анимация в пиксель-арт играх:
• Покадровая анимация.
• Спрайтшиты.
• Настройка и нарезка ресурсов.
2.Интерфейсы Animator/Animation
3.Анимирование героя:
• Добавление аниматора и состояний.
• Создание анимаций и привязка к состояниям.
• Условные переходы между состояниями и проброс параметров.
• Привязка к коду.
4.Программная покадровая анимация:
• зачем может понадобиться
• реализация компонента

Лекция 7. Программирование игровых механик
Рассматриваем компонентный подход в разработке. Пишем компоненты для лестницы, переключателя (открывалки дверей), передвижной платформы, разрушающихся платформ. Компонент для слежения камеры за игроком.
1.Разбираем компонентный подход в разработке.
2.Немного теории о делегатах и разбор UnityEvent.
3.Создаём интерактивные компоненты и связываем их между собой:
• переключатель
• дверь
4.Опасные предметы:
• Добавляем пики и обработку их взаимодействия с героем
• Добавляем анимацию урона и связываем с кодом.

Лекция 8. Партиклы и инстанциирование
Рассказываем о Particle System. Создаём партиклы для прыжка, резкого разворота, сбора монет. Программно привязываем всё это.
1.Частицы, какие бывают и зачем нужны:
• Particle System
• Спрайтовая анимация частиц.
2.GameObject.Instaniate зачем нужен, как применять
3.Пыль под ногами:
• Настраиваем точки спавна для частиц и реализуем компонент
• Ивенты в анимации и связывание с кодом.
4.Реворк монеток:
• Новые ивенты в покадровом аниматоре
• Добавляем эффекты исчезновения монеток.

Блок 2. Боёвка и NPC
1.Melee и разрушаемые объекты.
• Реализуем механику холодного оружия. Дополняем код и соответствующие контейнеры в префабе персонажа. Реализуем механику разрушаемых пропсов.
2.Модель данных игрока и текущей сессии.
• Рассказываем о ScriptableObject как о хранилище данных и настроек. Проектируем и реализуем модель данных игрока, привязываем эти данные к игре. Реализуем бочку со взрывчаткой, которая ранит персонажа при ее взрыве. Дополнительное задание: на основе материалов с этой и предыдущей лекции реализовать механику аптечки.
3.Мобы и базовый AI.
• Рассказываем о неигровых персонажах и добавляем простой контроллер моба который который ранит персонажа при приближении. Рассказываем об агро рэнже и базовых поведениях.
4.Range атаки.
• Рассказываем что такое проджектайл и настройки Bullet в разрезе физики и детекции коллизий. Реализуем рэнж оружие игрока (пистолет). Доп. задание: реализовать дробовик.
5.Стреляющие противники и стратегии ИИ.
• На основе компонентов и предыдущей лекции реализуем стреляющего моба. Рассказываем о стратегиях и стэйт машинах для AI. Реализуем простую модель поведения моба.
• Дополнительное задание: реализовать такое поведение моба, чтобы стреляющий переходил в рукопашную при приближении персонажа.
6.Инвентарь. Модель данных и связывание.
• Создаем модель данных инвентаря и ячеек быстрого доступа. Реализуем собирабельные ресурсы и механики патронов, ключей.
• Доп. задание: собирабельная аптечка.
7.Звук.
• Обзор звуковой подсистемы Unity, реализация эмбиента уровня, программное воспроизведение звуков, компонент воспроизведения звука.
8.Чистый код, связность, зацепление.
• Лекция на тему хорошего кода: какие есть признаки, чего нужно придерживаться. Рефакторим созданные классы.
• Дополнительное задание: отрефакторить один из старых классов.

Блок 3. UI и новые игровые механики
1.Введение в UI.
2.Скрины и HUD.
3.Диалоговые NPC. UI диалога.
4.Локализация.
5.Загрузка новых уровней.
6.Чекпоинты. Красивости (паралакс).
7.Продвинутые механики: способности и прокачка.
8.Прокачка персонажа.

Блок 4. Продвинутые игровые механики и «красивости»
1.Освещение.
2.Эффекты камеры.
3.Coroutines.
4.Сражение с боссом.
5.Сражение с боссом-2.

Блок 5. Оптимизация, аналитика, сборки
1.Инструменты анализа производительности.
2.Память, атласы, пулы объектов.
3.Сборки под разные платформы, на что смотреть в параметрах. 4.Unity Analytics. Ивенты, воронки.
XYZ Logo.jpg74 Кб, 960x540
421 772988
>>66778 (OP)
Курс XYZ School - Алексей Малороссиянов - "Unity" (2021)
https://t.me/ue4ru/47
Цель курса: Научить тебя работать с Unity — движком, на котором создают 90% мобильных игр. На курсе ты сделаешь прототип простого 2D-платформера и с каждым уроком будешь добавлять в него новые механики: от перемещения по уровню и диалогов до чекпойнтов и босса с несколькими фазами боя.
Продолжительность: 74:56:27

Содержание:
Блок 1. Пазл-платформер
Лекция 1. Знакомство с Unity
Unity HUB и версия, IDE, создание пустого проекта, обзор интерфейса (scene, game, hierarchy, inpector, console). Трехмерное пространство сцены. Разбор GameObject и компонентов: Transform, Camera. Концепция Prefab.
1.Настраиваем окружения для работы:
• получаем Unity Id
• скачиваем Unity Hub
• договариваемся о версии Unity
2.Создание нового проекта:
• выбор необходимого темплейта
• обзор интерфейса (Scene, Game, Hierarchy, Inspector, Console)
3.Базовые сущности:
• пространство сцены
• unit
• Game Object
• Transform
• Camera

Лекция 2. Создание сцены и ее наполнение
Объяснение объекта .unitypackage и импорт необходимых ассетов. Сборка игровой сцены из префабов. Объяснение понятия текстур и Sprite. SpriteRenderer. Настройка камеры (инструменты редактора по алигну камеры). Запуск проекта.
1.Импорт ассетов:
• импорт ресурсов через unitypackage
• импорт сырых текстур
2.Настройка текстур:
• обзор возможных настроек текстуры
• настройка текстур под пиксель-артный проект
3.Grid & Snap Settings
4.Создание объектов на сцене:
• компонент SpriteRenderer и его свойства
• взаимосвязь настроек текстур с SpriteRenderer
5.Камера и её свойства
6.Пакет 2d Pixel Perfect

Лекция 3. Оживляем сцену
Понятие MonoBehaviour. Создание Player.cs базовый цикл жизни бихэйва (Awake, Start, Update, OnDestroy). Разбираем методы, переменные, базовые типы, условные операторы, модификаторы доступа. SerializedField и то как это влияет на GameObject (посмотреть на изменение сериализованных данных). Разбор класса Input, реализация базового передвижения игрока по сцене.
1.Первый скрипт:
• Обзор MonoBehaviour
• Жизненный цикл скрипта
• Создание контроллера игрока Player.cs
2.Вспомним теорию:
• переменные
• базовые типы
• условные операторы
• методы
3.Пользовательский ввод:
• Разбор класса Input
• Обработка ввода через Input
• Обзор нового пакета Input System
• Создание контролов и привязка методов из Player.cs
4.Перемещение объекта по сцене

Лекция 4. Физика и коллизии
Рассказ о физике: гравитация, rigid body, импульсы, статические объекты. Размещение на сцене необходимых компонентов пола и привязка физики к GO игрока. Переделываем управление на импульсы. Рассказ детекции коллизий, компоненты
Colider. Методы колизий в компоненте игрока. Создаем новый компонент коина и добавляем механику собирания монеток.
1.Физическая модель Unity
2.Разбор Rigidbody:
• типы физических тел
• масса
• гравитация
• ограничители
3.Разбор Collider:
• виды коллайдеров
• обзор параметров компонента
4.Переписываем управление персонажем на физическую модель:
• Velocity, AddForce
• Добавляем возможность прыгать
• Ground Check и его различные реализации
5.Делаем управление более отзывчивым:
• управление высотой прыжка
• safe jump
6.Реализуем детекцию коллизий на примере монеток.

Лекция 5. Тайлсеты и камера
Работа со спрайтами и тайлами. Настройки и свойства Sprite, SpriteRenderer. Обзор встроенных инструментов для тайлсетов и грида. Создание тайлсета для уровня. Расстановка тайлов из палитры на сцену. Расширения и кастомные тайлы.
Что такое тайлсет и зачем он нужен?
1.Импорт ресурсов:
• настройка спрайта
• нарезка текстуры.
2.Создание уровня с помощью Tile Palette
• Обзор интерфейса и возможностей
• Grid и TileMap
3.Простой скрипт слежения за передвижением игрока:
• Интерполяция: зачем нужна и как применить?
4.Пакет Cinemachine и реализация слежения через VirtualCamera:
• обзор технологии
• разбор параметров камеры
• настройка камеры под проект

Лекция 6. Анимация
Рассказываем о покадровой анимации, знакомимся с интерфейсами Animator/Animation. Создаём аниматор для героя с набором состояний передвижения. Рассказываем о переходах и параметрах анимации. Программируем контроллер для анимации.
1.Анимация в пиксель-арт играх:
• Покадровая анимация.
• Спрайтшиты.
• Настройка и нарезка ресурсов.
2.Интерфейсы Animator/Animation
3.Анимирование героя:
• Добавление аниматора и состояний.
• Создание анимаций и привязка к состояниям.
• Условные переходы между состояниями и проброс параметров.
• Привязка к коду.
4.Программная покадровая анимация:
• зачем может понадобиться
• реализация компонента

Лекция 7. Программирование игровых механик
Рассматриваем компонентный подход в разработке. Пишем компоненты для лестницы, переключателя (открывалки дверей), передвижной платформы, разрушающихся платформ. Компонент для слежения камеры за игроком.
1.Разбираем компонентный подход в разработке.
2.Немного теории о делегатах и разбор UnityEvent.
3.Создаём интерактивные компоненты и связываем их между собой:
• переключатель
• дверь
4.Опасные предметы:
• Добавляем пики и обработку их взаимодействия с героем
• Добавляем анимацию урона и связываем с кодом.

Лекция 8. Партиклы и инстанциирование
Рассказываем о Particle System. Создаём партиклы для прыжка, резкого разворота, сбора монет. Программно привязываем всё это.
1.Частицы, какие бывают и зачем нужны:
• Particle System
• Спрайтовая анимация частиц.
2.GameObject.Instaniate зачем нужен, как применять
3.Пыль под ногами:
• Настраиваем точки спавна для частиц и реализуем компонент
• Ивенты в анимации и связывание с кодом.
4.Реворк монеток:
• Новые ивенты в покадровом аниматоре
• Добавляем эффекты исчезновения монеток.

Блок 2. Боёвка и NPC
1.Melee и разрушаемые объекты.
• Реализуем механику холодного оружия. Дополняем код и соответствующие контейнеры в префабе персонажа. Реализуем механику разрушаемых пропсов.
2.Модель данных игрока и текущей сессии.
• Рассказываем о ScriptableObject как о хранилище данных и настроек. Проектируем и реализуем модель данных игрока, привязываем эти данные к игре. Реализуем бочку со взрывчаткой, которая ранит персонажа при ее взрыве. Дополнительное задание: на основе материалов с этой и предыдущей лекции реализовать механику аптечки.
3.Мобы и базовый AI.
• Рассказываем о неигровых персонажах и добавляем простой контроллер моба который который ранит персонажа при приближении. Рассказываем об агро рэнже и базовых поведениях.
4.Range атаки.
• Рассказываем что такое проджектайл и настройки Bullet в разрезе физики и детекции коллизий. Реализуем рэнж оружие игрока (пистолет). Доп. задание: реализовать дробовик.
5.Стреляющие противники и стратегии ИИ.
• На основе компонентов и предыдущей лекции реализуем стреляющего моба. Рассказываем о стратегиях и стэйт машинах для AI. Реализуем простую модель поведения моба.
• Дополнительное задание: реализовать такое поведение моба, чтобы стреляющий переходил в рукопашную при приближении персонажа.
6.Инвентарь. Модель данных и связывание.
• Создаем модель данных инвентаря и ячеек быстрого доступа. Реализуем собирабельные ресурсы и механики патронов, ключей.
• Доп. задание: собирабельная аптечка.
7.Звук.
• Обзор звуковой подсистемы Unity, реализация эмбиента уровня, программное воспроизведение звуков, компонент воспроизведения звука.
8.Чистый код, связность, зацепление.
• Лекция на тему хорошего кода: какие есть признаки, чего нужно придерживаться. Рефакторим созданные классы.
• Дополнительное задание: отрефакторить один из старых классов.

Блок 3. UI и новые игровые механики
1.Введение в UI.
2.Скрины и HUD.
3.Диалоговые NPC. UI диалога.
4.Локализация.
5.Загрузка новых уровней.
6.Чекпоинты. Красивости (паралакс).
7.Продвинутые механики: способности и прокачка.
8.Прокачка персонажа.

Блок 4. Продвинутые игровые механики и «красивости»
1.Освещение.
2.Эффекты камеры.
3.Coroutines.
4.Сражение с боссом.
5.Сражение с боссом-2.

Блок 5. Оптимизация, аналитика, сборки
1.Инструменты анализа производительности.
2.Память, атласы, пулы объектов.
3.Сборки под разные платформы, на что смотреть в параметрах. 4.Unity Analytics. Ивенты, воронки.
422 772989
>>72966
Во-первых, твой "каркас" обычно делается из небольших примитивов, это буквально называется грейбоксинг. Мне кажется, так проще и тебе, и движку. Теперь к вопросу о коллайдерах. Большой коллайдер это плоховато, но ты вряд ли заметишь разницу. Просто если у тебя в одной из комнат дома будет падать условная чашка на пол, физика будет просчитывать, не может ли эта чашка контактировать с любым объектом в любой из комнат, ну и не только, захватится ещё лишнее пространство вокруг всего дома. Ну и по классике - меш коллайдер это дорого, используй составной из примитивов. Хотя разницы в 90% случаев ты просто не увидишь.
423 772993
>>72734

>Персонаж создаёт инвентарь, инвентарь создаёт гуи. Звучит логично.


Блин, тут подумал, что если заюзать MVC из вебмакакинга? Каждый объект состоит из трёх частей, модель, отображение и контроллер. Так я смогу связать логику и отображение объекта вместе. А условная сборка "гуи" будет содержать в себе только примитивные типы и сама гуй создавать не будет. Вообще заметил, что в гдаче по вопросам архитектуры даже срачей нет.
424 772999
>>72988
Нахуй постить курс по юнити в чатик уеча-дебилов?
image.png460 Кб, 602x342
425 773097
>>72999

>Нахуй постить курс по юнити в чатик уеча-дебилов?

426 773107
У меня, по сути, пустой билд на мобилу весит 86мб. Это почти все игры выходят такого размера и, скажем, 15мб никак не добиться?
427 773134
>>73107
Пчел у тебя проёбаны настройки. Пустой билд под андрюшу весит +-25 мб.
428 773140
>>73134
APK весит 18, установленная игра 85.
А что и где мне менять в настройках?
429 773148
>>73114 (Del)

>половина начнет доказывать что надо делать на ООП+лапше.


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

>менеджера уровнем выше.


Менеджеры это в принципе идея так себе. Но допустим. Есть какой-то менеджер, который создаёт персонажа, инвентарь и гуи к нему. И это ведь тот же mvc, только с прикрученным сбоку менеджером-фабрикой. В этот момент пытаемся взаимодействовать с инвентарём. Гуи инвентаря как это должен обрабатывать? Обращаться в менеджер он не может. Допустим, гуи может обратиться в сам инвентарь. А теперь гуи нужно перерисовать. И из инвентаря мы его перерисовать не можем, только из менеджера. Мне тут два момента не нравится, что персонажи со своими инвентарями не связаны и что менеджер получает очень большую зону ответственности. Наверное, переделаю сейчас на этот подход, а то из предыдущего невозможно передать ссылку на инвентарь персонажа в глобальном "гуи-менеджере", который рисует панели быстрого доступа.
430 773168
>>73097
Пройди по ссылке там группа под названием "Unreal Еngine на Русском"
431 773264
Скоро 2022, а в юнити все еще нет стандартного средства для декалей от выстрелов.

Кто как решил эту проблему?
Нашел вот https://github.com/Anatta336/driven-decals.git
Но хз что там в теории с производительностью.
432 773271
>>73264
Лепи спрайты да и всё
433 773280
>>73271
Поподробней можешь рассказать?
Просто plane/quad с текстурой?
Тогда на неровных поверхностях хуита получится.

Как кстати дырки на подвижные неровные модели лепить?
На персонажей и все такое.
434 773283
>>73264

>driven-decals


Поехавшие декали?
435 773285
>>73280

>Тогда на неровных поверхностях хуита получится.


Ну и что, всем похуй на эти дырки, инди простят
436 773450
Короче.
Объект создается через GameObject.Instantiate под объектом, который задизебленен.
Таким образом. Start и Awake не будут дернуты для созданного объекта, пока его родитель (и он сам) не буду раздизейбленыны. Есть какой-то способ (или другие методы), которые можно использовать в данной ситуации?
437 773458
>>73450

>создается под объектом


Чайлдом или что? Пиши нормально
438 773483
>>73458
Да, чайлдом. В GameObject.Instantiate в здается transform объекта
439 773486
>>73450
Ага. Пишешь нужный код в свой кастомный метод и дёргаешь его после инстансирования.
440 773488
>>73486
проблема в том, что это ряд компонентов, который может быть, а может не быть у игрового объекта.
Т.к. компоненты нельзя получать по интерфейсу, придется для каждого отдельное условие писать, если у каждого свой базовый класс уже есть.
441 773503
>>73486
>>73488
Решил через базовый класс, в итоге. Но, мне кажется, это может быть потенциально проблемой.
image.png68 Кб, 568x107
442 773516
ньюфаг на связи
посмотрел гайд и озадачен
почему нельзя сразу написать ghost.transform.position = ghost.home.inside.position?
автор что-то про это сказал но я не могу разобрать что именно на ангельском + съел окончания
443 773542
>>73488

>Т.к. компоненты нельзя получать по интерфейсу


Откуда такая инфа?
444 773563
Заебался настраивать navmeshagent с animator-ом с включенным apply root motion. Адекватного движения так и не смог достигнуть.

Собственно, проблема, моб может ходить с переменной скоростью, от точки А до Б скорость может варьироваться от 1 до 2, например, если он хромает. Если использоваться скорость как константу, то местами он будет скользить, или на месте топтаться.

Поэтому анимация сама должна толкать моба.

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

С какими подводными могу столкнуться?
445 773587
>>73563

>С какими подводными могу столкнуться?



Анимация двигает трансформом. Если ты двигаешь трансформом - значит что объект будет проходить сквозь коллайдеры, стены и т.п. Двигай через rigidbody.addforce или character controller.
446 773593
>>73587

> значит что объект будет проходить сквозь коллайдеры



В основном у моба анимации ходьбы и бега - при запуске моб тупо бежит вперед, куда повернут его rotation.
Поэтому, все, что мне нужно, это изменять его rotation от одного угла к другому
447 773594
>>73542
На форуме юнити говорили.
448 773595
насколько я понял, NavMesh.CalculatePath возвращает позиции, по которым надо двигать персонажа, чтобы он дошел до указанной точки, не сталкиваясь с препятствиями.
при этом надо чтобы была навигационная сетка была запечена.
То есть, чтобы заставить двигаться анимированного персонажа, я должен его повернуть к ближайшей такой точки. анимация сама доведет его до нее. Когда он до нее дойдет - повернуть к следующей и тд, пока не дойдет конечную точку.
Потом его можно будет стопарнуть анимацией идлинга.
449 773725
>>73720 (Del)
Сделай змейку, три в ряд, тетрис.
Можешь сам попытаться, можешь по туторам.
Как сделаешь поймешь, надо ли оно.
450 773743
Не думал, что когда-нибудь забреду на это доску, но...
С инженерной вакансии вдруг прислали задание реализовать в Unity3d емкость с жидкостью и изменение уровня жидкости.
Это сложно для человека, который Unity и ему подобные среды разработки в глаза не видел?
451 773783
Вы довольны тем, фактом, что умеете делать игры?
452 773785
>>73783
Делаю игры на юнити около 5 лет, 2 последних года как главный. Очень доволен.
453 773786
Почему у меня Ruby adventure по официальному тутору занимает 400мб? Что там занимает столько места? И как, если можно, это вычищать?
454 773787
>>66778 (OP)
На дворе 2022 год почти а в шапке до сих пор втирают про unityscript
455 773788
>>73743
Емеость в 3д или как? Напиши подробнее.
изображение.png303 Кб, 2065x1353
456 773790
>>73788
Да, 3Д. По ютубу сделал емкость через ProBuilder и скачал плагин Zibra liquids.
457 773832
458 773835
>>73832
Ну, вода льется, только вот за границы выходит и если куб вращать на месте стоит.
Аноним 459 773839
>>68132
прописывай объекту в Старте FindObjectOfAType<Нужный Тип>();
460 773861
Есть разные объекты и они ходят по поверхности, на которую я наложил SurfaceShader, который меняет высоту поверхности по y.

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

я из webgl пришел, мимоахуеваю
461 773862
>>73861
бля неужели я должен каждый раз рисовать HeightMap?
462 773878
>>73861
подскажи пожалуйста, что за цветовая схема на втором скрине?
463 773920
>>73878
minuit soft
464 773931
>>73920
спасибо. тема топчик
T6SPO7UlEv.gif1 Мб, 991x649
465 773933
Пытаюсь заставить персонажа патрулировать между двумя точками. Вычисляю путь с помощью CalculatePath и гоняю это персонажа по этим точкам. Точнее, гоняет его анимация (включен Apply Root Motion), я лишь его поворачиваю от точки к точке по мере достижения. Проблема в том, что анимация бега включает в себя вращение влево-вправо спины и его потомков. Поэтому, на поворотах я бы хотел ее отключить, а то эти вращения иногда выглядят очень широкими.
Как лучше ее сделать? Я пытался в LateUpdate transform.rotation = nextCorner. Не помогло, пытался залочить всю спину - спина-то залочилась, а вот руки, и все остальное по-прежнему крутились, несмотря на то, что спина - их родительский элемент.
466 773962
>>73861
Шейдером никак.
467 773963
>>73933
Какой то велосипед - велосипедов делаешь, до тебя уже миллион раз делали. Загугли примерное решение и посмотри, всё делается намного проще и быстрее.
468 774038
>>73963
Этот способ требует несколько строчек код, и он простой, никакого агента. Он отлично работает, тут чисто косметику навести надо. А именно чтобы телом не вилял в определенных местах. Например, при приближении к углу.
Все решения в инете, где нужно подружить агента с навигацией, были сложнее, и требовали допила, чтобы корректно работали. Или вообще предлагали новые библиотеки.
Ну, в любом случае может возникнуть такая ситуация, что анимацию нужно подкорректировать с учетом местности. Не делать же мне отдельную анимацию "RunInCorner". Хотя уже думаю, что просто скачаю другую анимацию, где чел при беге не виляет, а прямо бежит.
469 774039
Впрочем, зачем тут что то спрашивать? Есть же https://forum.unity.com/forums
Хотя и там могут молчать. Со вчерашнего дня оба моих треда без ответа
470 774047
>>74039
А ты чего ждал? У тебя крайне специфический случай, никто рутмоушном не пользуется, так у тебя ещё и гоняешь персонажа непонятно как.
9k2MNXZOMm.gif1,3 Мб, 909x649
471 774054
>>74047

>У тебя крайне специфический случай, никто рутмоушном не пользуется


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

https://docs.unity3d.com/540/Documentation/ScriptReference/NavMeshAgent-velocity.html
5qab6a7nyN.gif2,2 Мб, 723x649
473 774062
А с рутмушн все четко
474 774085
>>74062
При повороте скользит
image.png3 Кб, 389x94
475 774146
ёбаный рот этого движка блядь
image.png1 Кб, 111x51
476 774178
давно у них новое лого?
477 774193
>>74146
че дебил час ждать
478 774195
>>74193
тя ебёт?
479 774224
>>74178
недавно
480 774233
Такой вопрос, допустим я хочу сделать небольшую 3д игру, бюджет нулевой, где брать на нее ресурсы (ибо в магазине из бесплатного нихуя нет), и где их берут аноны, неужели все сами делают?
481 774237
>>74233
В чем проблема? Анимации есть на mixamo, бесплатные базовые модели тоже можно найти, если нет, то сделать лоуполи. Даже скрипты и тех куча.

создатель 3Д игры только из кубов
482 774316
>>74233
Воруй и переделывай.
483 774348
Хочу все ассеты делать вручную в Блендере, какие подводные?
484 774356
>>74348
Никаких. Проблема появится на моделях сложнее куба, которым надо будет делать развёртку, рисовать текстуры, и анимировать.
485 774383
Аноны, посоветуйте как быть.
Недавно начал искать работу джуном, вакансий норм очень мало (без опыта чтобы и без сверх. скиллов). Написал один челик, ищут типа джунов и готовы меня рассмотреть после тестового. Тестовое я сделал, после оценки сказали хорошее и готовы (внезапно) давать пробовать пилить прототипы ГК. Собеса даже и не было. Но то хуй с ним. Но вот цена это пиздец. Начальная ставка аж 2$ в час.
Я конечно понимаю что геймдев это не ВЕБ какой-то, да и я зеленый джун. Но блять, это же крохи пиздец.
Вот и думаю соглашаться или нет. С одной стороны я готов пойти чтобы опыт капал какой-то. Но с другой, это же ебаные прототипы ГК (даже не фул игры), и ебаная галера раз платят так мало. Там не ревью, не менторства не будет. Так какой опыт я там заработаю я хз. Проще уже самому идею взять с ютуба и пилить ее периодически подсматривая решения. И в спину никто не давит дедлайнами.
В общем, хз как поступить. Есть тут братья работающие?
486 774409
>>74383
Во-первых, делать гиперказуалки на самом деле труднее, чем сидеть месяцами на большом проекте. Поэтому опыта будет нового предостаточно.
Во-вторых 350$ / мес для зеленого джуна, вполне норм.
Но ты, скорее всего быстро выгоришь (а.к.а. заебешься), потому что, опять таки, делать гиперказуалки это на самом деле трудно, а тебе придется выпускать примерно одну в неделю.
487 774410
>>74383
Если хочешь больше, сделай себе красивой портфолио в виде дев. аккаунта на гугл плей и/или гит.
488 774411
>>74409
Я не говорю что их делать легко, они разные бывают. Некоторые механики вообще хуй пойми как сделаны. Я говорю про то, что меня будут заставлять делать прототипы ГК на отъебись, без ревью и прочего. И вот стоит оно того или можно еще работу поискать а пока ищу, самому пилить прототипы и без переработок и заебок свыше.

Вообще, я в ахуе видеть что в айти 350 норм. Даже джуну. Ну правда, смешно. Или это геймдев такой где нет норм зп. Пока не понял.

>>74410
Гит есть, нахуй никому не нужен. Ну судя по игнору от хрюшек. В плей маркет хз че лить. Точно не прототипы недоигр. А заканчивать такое это не один месяц может уйти. И опять же, вдруг похуй будет и снова не кто не глянет.

Блять, в шапке надо еще писать, что хуй устроишься на работу если вдруг решили сюда вкатываться.
489 774412
>>74411

>Вообще, я в ахуе видеть что в айти 350 норм. Даже джуну. Ну правда, смешно. Или это геймдев такой где нет норм зп. Пока не понял.


А ты поверил в сказки про 300к / сек? На самом деле это не сказки, просто нужно годик - два поРАБотать за "копейки"
490 774415
>>74411

>делать прототипы ГК на отъебись


Ну так-то ты на ревшару обычно претендуешь, нет смысла делать на отъебись. Так-то если есть возможность не работать то делай сам, можешь даже в издательство отсылать на тесты.
491 774421
есть какой-то смысл явно указывать gameObject?
например gameObject.transform
492 774432
Анонасы, хочу сделать 3д порнушную адвенчуру от третьего лица где в приоритете будут катсцены, это лучше делать на Unity или на Unreal? Я графон в модели пытаюсь максимально сильный выкрутить
493 774436
>>74432
Где удобнее, и что понятнее там и делай. Разницы в этих двух движках давно уже почти нет. Что-то лучше там, где-то проще там. Вкусовщина.
Сам юзаю юньку около 5 лет, и паралельно анрил 2 года.
494 774438
почему Camera.main не видит камеру? ошибку выкидывает, камера у меня если что в персонаже запрятана
495 774446
>>74412
Ну в санном фронте так и есть. Джуны по 80к+ зашибают. Печальненько все тут.
496 774453
>>74438
Потому что камера мейн это поиск по тегу MainCamera. Проверяй тег.

Олсо, аноны, а кто как раелизует базу данных? Я пока что придумал только создавать под каждый объект скриптейбл и плюс-минус организовывать через другие скриптейблы. Но выглядит не слишком гибко.
497 774461
>>74453
Пиздец. Везде всё прокликал и не заметил этой очевидной штуки, выручил
498 774466
>>74453
Свою реляционную базу данных хочешь написать, нахуя? https://habr.com/ru/post/442954/
499 774471
>>74466
Мне не нравится sqlite. Чтобы использовать пароль нужно отдать два вечнозелёных килорубля. Это много. Можно запаковать базу, а не хранить её в streaming assets, но тогда нужно будет её всю загружать в память. Это плохо. Меня не интересует какая-то серьёзная защита, но когда база лежит в открытом виде и редактируется за полсекунды это как-то хуёво.
500 774475
>>74471
Зачем тебе вообще база данных?
501 774485
>>74475
Предметы хранить, параметры, вот это всё. Для рпг-лайк игры. Сейчас пилю расширение редактора, чтобы не утонуть в файлах и никогда не заглядывать в папку с ними. Получается не слишком гибко, но лучше, чем ничего.
502 774496
503 774499
>>74485
Не знаю, если нормально организовать данные это буквально пару словарей. Не могу представить ни одной ситуации, когда нужно подкручивать полноценную бд.
505 774520
>>74512

>IQ Dev


Подпекает с таких названий, ну типа iq, ну вы поняли, мы тута умные все сидим, интеллектуалы короче.
image.png135 Кб, 578x500
506 774529
Как быть, если у персонажа 10 анимаций, и должна быть возможность плавно перейти из одной анимации в любую другую?
Как убрать этот пиздец, как на пике? (хотя в боевых условиях работает он все же хорошо)
Я слыхал про blendrtee, но он годится для объединения одного типа анимации (бег влево, бег вправо и тд).
Ну, допустим я могу запихать в blendtree анимации:
1) стоять (x=0)
2) оглядываться (x=0.5)
3) бежать (x=1)

Допустим, чел стоит, я и хочу чтобы бежал.
Я могу с 0 поменять до 1, он побежит, но это будет без плавного перехода от анимации "стоять" до "бежать".
А если я буду плавно менять 0, 0.05, 0.1,0.15 .... 1, то это коснется и анимации "оглядываться ". В итоге весь этот переход будет выглядеть странно.
507 774531
>>74496

>finding yourself needing to make use of a database in the cloud?


Явно не то, что мне нужно. Хотя традиционную sql базу делать всё равно надо, но там уже просто парсинг файлов и заливка куда-то в постгрес.

>>74499
БД это в принципе удобно. Тем более дальше я захочу добавить квесты, ещё какие-то параметры, так бы создал таблицу и погнал. Скриптейблы не слишком удобны, делать свою бд на основе жсона или xml это шиза. Адекватная поддержка mysql была бы кстати.

>буквально пару словарей


Да пока списками обошёлся, номер списка в качестве ключа сгодится.На сколько я помню, юнити не умеет сериализовать словари. Но всё равно не нравится создавать по файлу на каждый предмет, надо как-то оптимизировать. Либо делать массивы в скриптебле, который играет роль таблицы, но тут меня пугает добавление новых полей, не проебётся ли вся старая информация.
508 774537
Посоны, тупой вопрос наверное, но все же. Нихуя не пойму как адекватно сделать анимацию приземления, типа облака пыли. Сделал через collision 2d, но анимация срабатывает когда персонаж подходит к краю земли и резко поворачивает обратно.
509 774545
>>74529
Там чето типа ноды энистейт надо исполтзовать, а на транзишены от нее ставить условия перезода от этого энистейта в анимацию.
510 774562
Как лучше и правильнее всего передвигать 2д персонажа? Велосити, аддфорс или еще что? Использую капсульный коллайдер чтобы не застревал нигде, но персонаж постоянно скользит с уступов вниз, как пофиксить?
511 774565
Как делать игры на Айфоны? Можно ли обойтись без Мака? Это придется всё делать через виртуальную машину?
512 774570
>>74565
в vmware заблочена возможность установки макоси, но есть кряк под 15 версию (вроде)
но учти что и 15 версия уязвима и есть способ заражения зондами основную ОС
513 774585
>>74570

>есть способ заражения зондами


Какая разница если использовать только для билда?

Эпл стор пропустит?
514 774598
>>74545
спасибо за наводочку, то что мне нужно
image.png4 Кб, 464x32
515 774605
заебала эта ошибка уже, проебал где-то референс и как его теперь найти? дабл клик не работает
516 774606
>>74529

>Как убрать этот пиздец, как на пике?


Вы таки антисемит?
517 774607
>>74606
вот как оно в жизни бывает.
Пишешь код абы как. Похуй, лишь бы доделать и лишь бы работало. Все равно скачает от силы 5 человек.
А потом тебе становится похуй на свое желание "лишь бы доделать", и появляется чувство прекрасного, и ты начинаешь править свой код, шоб было красиво и правильно.
А потом, уставши, осознаешь свою никчемность, и снова пишешь код абы как.
колесо сансары
cyclesskinnode.JPG70 Кб, 1234x617
518 774647
Аноны, у меня статические объекты пропадают если сначала смотреть в стену, а потом резко развернуть камеру. Зуб даю, что они "куллятся" некорректно.

Настройки запекания Occlusion culling такие:
Smallest occluder - 0.5
Smallest hole - 0.4
Backface - 20

Использую Юнити 2018 LTS.
519 774656
>>74545
спасибо, анон, сейчас выглядит более-менее, как на скриншотах от других челиков. давно терзался этой проблемой
520 774696
А можно ли для 3д объектов использовать нарезку из SpriteSheet, как в 2д, или для каждой текстуры отдельный файл? Мне нужно на каждый куб написать номер. И так получится, что нужно импортировать 30 картинок.
16345799828820.jpg60 Кб, 500x625
521 774783
>>66778 (OP)
Сап аноны, такое дело пилю АИ противника на навмеше всё ничего, быстро, дёшево и сердито, но один косяк, КАК УПРАВЛЯТЬ МОДЕЛЬЮ В НАВМЕШЕ? Короче когда охранник теряет игрока то возвращается на стартовую точку, но стоит при это условно лицом к двери, а мне нужно чтобы это даун стоял спиной к двери.
Как обычно, вытягивают информацию о положении модели из навмеша АИ, чтобы я мог её развернуть?
522 774874
>>74783
Насколько я помню, навмешагенты можно поворачивать через transform.rotation без подводных камней.
1.jpg134 Кб, 1398x522
523 774902
До меня только дошло, причём тут веб к uiElements. Это злоебучие таблицы буквально со всеми их недостатками. Сам-то я всегда верстал на дивах, потому пытался найти тот же функционал в элементах. А он не про дивы, а про таблицы. Очень неудобно.
524 774905
Обновился до 2021.2.0f1
В чём я не прав?
image41.png144 Кб, 1999x735
525 774906
>>74905
А надо было сразу на 2022
526 774907
>>74906
ну нахуй, она же в альфе
1.png3 Кб, 258x136
527 774908
>>74905
Тормозишь. Кстати, 16 бета имеет баги, в 15 не было.
image.png24 Кб, 384x256
528 774933
Где найти этот ассет? Или как его хотя бы накинуть на объект
пишет что он снаружи проекта
529 774939
Пока что самая графонистая игра на юнити, что я играл, lust from beyond 2021
530 774962
Сап вечерний. Может кто дать скрипты к tpc и заделом под аниматора (playercontroller буквально прыжок, ходьба и если есть возможность атаки). Пытался написать сам камеру с контроллером, но соснул хуйца, камера как шальная крутиться и пофиксить после нескольких дней дрочи нонстоп не смог. Гуглить пытался, везде не рабочее говно либо я не так гуглю.
532 775013
>>74783
Отслеживай дистанцию до двери или состояние охранника двигается-стоит и как только он подходит к двери или останавливается, пусть отворачивает хлебальник.
533 775024
>>74975
Спасибо за ответ, я уже на бугорном ютубе нашел немного другой ассет. Слушай, а как минимально по времени перебить ассетные анимации на свои?
534 775041
Вкатываюсь с тупым вопросом. Есть кольца. На них, на костях, которые идут внутри модели (не юнитивские Динамик Бонс, а то, что из Maya экспортировалось, jointы). Я на них повесил по бокс коллайдеру, и всё было бы хорошо: колечки вешаются друг на друга, врезаются в стены и пол и вообще прекрасно себя чувствуют, но если запустить анимацию, то с радостным свистом коллайдеры пролетают друг через друга. Почему и как это пофиксить?
1 - кольцо
2 - каждый джоинт в нём
3 - физика.
16299872068970.jpg643 Кб, 1440x2160
535 775055
>>66778 (OP)
Посоветуйте годных слитых курсов на русском в фоне послушать.

Желательно с более углубленным разбором физики и/или шейдеров, да и вообще нормальный разбор рендер-пайплайна и что мне из него нужно знать, а что ни в коем случае не трогать.
536 775114
>>75055

>в фоне послушать


Группу хлеб фоном послушай или сердючку, для тебя больше пользы
537 775164
Xyли ЮНЬКА такая необъятная?
Уже полгода пытаюсь сделать свою игру, но вечно упираюсь в одну проблему Я НИЧЕРТА НЕ ПОНИМАЮ! Смотришь гайд, где вроде как все понятно объяснят, так в коментах его засрут и скажут, что все не так используя кучу непонятных слов и букаф, пытаешься смотреть прокачанных ребят, так они сами говорят какими-то непонятными словами и бууквами. Однако сколько курсов я не смотрел нигде не было видевоурока в котором бы произошел этот момент перехода с базы, на сложные буквы и слова. Кароч я в отчаянии анонче, кажется что я мегатупой валенок который ничерта не способен понять в этой жизни(
16256821540130.mp4151 Кб, mp4,
1280x692, 0:01
538 775165
>>75164
Делай базу, потом преисполнишься в познании и перейдешь на сложные буквы.
539 775167
>>75165
Как? По мановению волшебной палочки, однажды проснусь всезнающим существом?
540 775182
>>75167
Сделаешь как в туториале
@
Обнаружишь, что чего-то не хватает (универсальности/производительности/фичи, которая задумана в твоем проекте и тд)
@
Бля, а как сделать получше
@
Так вот зачем эти сложные буквы

Короче практикуй и всё получится.
541 775184
>>75164

>засрут и скажут, что все не так используя кучу непонятных слов и букаф


Это дрочеры на корпоративные стандарты. Им необходимо, чтобы каждый использовал KISS, SOLID, синглтоны и прочую херню. Потому что их на работе заставляет это делать менеджер, который даже не знает, что все эти слова значат. По факту ты можешь уже использовать все эти буквы, не зная, что они на самом деле значат. Сделал статик класс? СИНГЛТОН. Сделал класс, который спавнит кубы? ФАБРИКА. Разделил гуи и данные? MVC. Не совсем так разделил? MCVV или MVCC или хуй моржа. Можешь загуглить все эти буквы, короче. Сейчас тренд один, архитектура, ориентированная на данные, это единственное, что тебе не мешало бы знать и использовать.
542 775186
>>75184
>>75182
Спасибо анонче, словил лютый дизмораль, но ваши слова согрели мою душу, и мир уже не таким серым кажется
543 775189
>>75114
Любая информация - информация, лол. То что тебе печет с инфоцыган не значит, что там не рассказывают полезные нюансы.
544 775205
>>75024
Признаю долбоеб, немного поебал шары и понял.
>>75055
>>75114 - этот правду рубит, без визуала, аудио в чистом виде больше запутает чем научит, как ты собираешься запоминать всякие графики и остальные хитросплетения?
>>75164
Изучи вобще тему тему программирования, сначала простое, потом ООП и забудь (судя по специфике кодинга на юни), но все равное пойдет понимание как гуглить и что тебе надо.
>>75184
А вобще этот говорит правду. У тебя есть в голове игра делай любыми способами, главное чтоб фпс не падал и проект не весил терабайт за 2 минуты гейплея
545 775225
В GTA SA все интерьеры зданий находятся высоко в небесах и в одном мире, насколько целесообразно делать так же в юнити? Хочу так же, но очкую что нужны какие-то скрипты отдельные для этого
546 775226
>>75225
В принципе можно, но я бы не советовал. Чем больше Go в сцене, тем больше мс займёт сортировка окклюжн куллинга. Лучше посмотри в сторону аддитивной загрузки сцен в рантайме.
547 775247
>>74453
Как понять, что ты конченный? Написать около 2к строк кода, которые ничего не делают. Упоролся в эту ёбаную базу данных, в какой-то момент решил, что ну всё равно же связывать это с инвентарём. Так что создавать автоматически атласы и класть туда спрайты для инвентаря это хорошая идея. А ещё все ГО можно паковать в адресейбл ассеты.
548 775292
>>73264

>Скоро 2022, а в юнити все еще нет стандартного средства для декалей от выстрелов.


Декали улучшены и теперь доступны как для URP, так и для HDRP.

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

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

В HDRP был добавлен параметр обычного смешивания, улучшающий смешивание неплоских форм, а полный шейдер декалей HDRP теперь доступен из графика визуальных эффектов.
549 775345
а почему когда запускаешь потестить проект, там все текстуры в хуевом разрешении? хотя вроде не сжимал
550 775351
>>75345
Зайди в проджект сеттингс, там найди Quality и выбери Ultra. Ещё проверь, чтобы там же в Texture Quality было выбрано Full Res
551 775356
>>75292
Это откуда такие картинки интересные?
Особенно первая.
552 775359
>>75356

>Это откуда такие картинки интересные?


>Особенно первая.


Как вы геймдевом занимаетесь, не следя за новостями и обновлениями своего движка. Тебе сложно что ли на сайт захаживать или на юнити твиттер подписаться? Лучше в тиктоке сидеть
https://blog.unity.com/technology/whats-new-for-artists-and-designers-in-unity-20212-0
553 775361
>>75359

>October 29, 2021 in


Ты хочешь чтобы я юнитековские новости рефрешил каждый день?
Следить за обновлениями на продакшене смысла мало, больше вероятность похерить все при перекате на новую версию.
554 775369
>>75351
спасибо, но там все нормально включено было. Когда строишь локацию, все текстурки хорошие если приблизить, как надо (пик 2). А как загрузишь в игру там если приблизить то хуево (пик 3).
думаю это как-то с настройками камеры мб связано?
555 775372
>>75369
Во-первых, у тебя не назначен рендер пайплайн ассет. Если не импортировать SRP, то поля вообще не должно быть, а если импортировать и не назначить, то он не работает. Во-вторых, а как ты приближаешь? Если через перемещение камеры и\или FOV и текстуры бесоёбит, то переключи разрешение гейм окна на фиксированное, я обычно всё проверяю на Full HD. Если это не помогает, то проблема в фильтрации текстур. Билинейная фильтрация ок. А вот если ты "приближаешь" через ползунок скейл, то всё так и должно быть.
556 775373
>>75372
да, приближал через ползунок. Про остальное вообще не шарю, но попробую разобраться
557 775374
>>75373
Когда ты в режиме сцены крутишь колёсико, то фактически "камера эдитор мода" перемещается. Когда ты таскаешь скейл, то у тебя просто итоговая картинка растягивается. То есть как бы очевидно, что будет пикселизация, если пикчу растянуть в пять раз. Тебе нужно двигать камеру.
558 775375
>>75374
теперь понял, не догонял что это так работает
559 775382
>>75361

>рефрешил каждый день?


Запостили в твиттер и увидел, не надо не следи
560 775384
Я помню во времена, когда вы ещё не родились, была охуительная технология, которая позволяла смотреть ленту новостей, собранную из избранных тобой сайтов. То есть заголовок новости, картинка 100х100 и буквально две строчки краткой информации. Тебе не требовалось заходить на каждый сайт и смотреть, не запостили ли чего, ты открывал одну страницу в браузере и видел всё сразу. Эта хуйня ещё кое где встречается до сих пор. И ридер этой хуйни был в каждом браузере по умолчанию, иконка в строке адреса была просто обязательной. А сейчас даже хрому нужно устанавливать дополнительное расширение. Блядь, это что, доступ к информации усложнился, хотя самой информации стало больше?
561 775400
>>75384
R S S
S
S

Попробуй еще захочешь, технология старая как говно мамонта. Все ей пользуются, нахуя еще что-то?
562 775404
>>75400
Так я о ней и писал. В хроме из коробке нет поддержки rss фидов, у меня они открываются, как xml просто. В строке адреса нет кнопки rss, нужно долго и нужно искать ссылки на фиды. Короче rss почти умер, все забыли.

> нахуя еще что-то?


Есть ещё Atom.
563 775534
Кириллы ,подскажите по коду.

Один объект можно "сконтачить" с другим множеством способов, к примеру :

Кирилл = GameObject.Find("Кирилл");

Как можно "сконтачиться" с компонентами объекта?
К примеру

private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Player")
{
///выключить/включить/передать значение аниматору кирилла///
}

}
564 775539
>>75534
кирилл.гетКомпонет.аниматор, и дальше что хочешь делай с аниматором кирилла
1.jpg198 Кб, 1960x856
565 775546
Посоны, ща с ума сойду, что за хуйня. В анимации есть анимейшн ивент. Если он стоит на 0:45, то все работает. Передвигаю его на 0:50 - не работает. Тупо не вызывается.
566 775547
>>75546
Блядь, как обычно спросил и понял. Exit Time криво стояла
image.png70 Кб, 387x147
567 775548
Сап юнитач, нужна помощь нубу. Освещенный квадрат содержит 70x70 гексов. Таких квадратов может быть довольно много. Если создается сетка 10 на 10 квадратов, то на это уходит много времени. Комбинирование сеток - не вариант, так как я сталкиваюсь с допустимым пределом для вершин. Как ускорить создание таких квадратов?
image.png87 Кб, 467x402
568 775569
Поставил HDRP, пофиксил ошибки в визарде и конвертнул все материалы, что я делаю не так?
569 775577
Я правильно понимаю, что вся логика игры должна находится в специальном отдельном классе, а все компоненты игры ничего про игру не знают, в смысле, там нет никаких проверок о текущем состоянии игры, игрока, и прочем?

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

И еще, например, есть компонент "дверь" и есть "ключ". Ключ не должен знать, что он может открыть конкретную дверь, а дверь не может отслеживать, какой именно ключ к нему применили. Компонент "ключ", возможно, вообще может не содержать никакого кода, а дверь может лишь иметь методы Open() и Close(). Вся это логика открывания-закрывания должна лежать именно в отдельном классе. Например, в нем можно указать ссылку на дверь и на ключ, и этот же компонент проверяет, что, если у игрока есть ключ, то он может открыть такую-то дверь.
570 775583
Пацаны, может кто знает, как сделать так что бы когда я касаюсь экрана двумя пальцами (одним управляю персонажем, вторым жму на кнопки) они не складывались?
571 775588
>>75577
Хуй знает как пишут всякие студии, но ты можешь писать как хочешь. Вообще твой вариант выглядит логичным и удобным
572 775590
>>75548
Так получается ты создаёшь 490 000 квадратов. Это будет быстро только с многопотоком. Но комбинировать меши тебе всё равно надо. Лимит вершин огромный, меши у тебя простые, сможешь сократить количество квадратов в сотни раз.

>>75569
Используешь шейдер, который не поддерживает hdrp.
573 775591
>>75577
Я бы делал по-другому. В двери есть инт айдишника ключа, в ключе есть свой айдишник. Применяешь ключ на дверь, дверь проверяет айдишники и открывается. В отдельном классе заебёшься, тебе придётся создавать списки дверей, ключей и т.д. А если окажется, что один ключ может открыть две двери либо одна дверь может быть открыта двумя-тремя ключами, то можно пиздануться.
574 775592
>>75577
Ну в целом да, это же принцип SOLID и прочих взрослых букаф.
Но жаль что не всегда так получается писать. По крайней мере у меня. С точки зрения архитектуры проекта это крута. Разделенная логика и т.п. Но когда ты делаешь проект в соло, у тебя таких абстрактных классов не знающих друг о друге может переваливать за еба кол-во в n степени.
Мне вот дают задания делать вонючие ГК и я не могу туда впихнуть эту парашу с единой ответственностью. Поэтому пишу иногда как жмыхи-бородачи с ютуба. Типа, есть мелкий скрипт (объект) который нихуя не знает, а этот мелкий скрипт в свою очередь держит в себе скрипт по крупнее. И т.д. Компонентный подход короче. Хуй знает, правильно или нет, но прототипы делаются.
575 775594
>>75592

>ГК


?
576 775596
>>75594
ну гипер казуалки. У нас в снг только ими рынок считай и забит.
577 775597
>>75596
А, ну да, сколько времени дают на создание прототипа в среднем?
578 775599
>>75597
Ну смотря какой. Они разные бывают. Но в целом, у меня 2 недели примерно уходит до создания прототипа. В прототипе у нас обычно 1-2 уровня, ну и вся механика игры работает. А потом если тесты проходит, то полировкой и доводкой занимаются уже другие челы еще недели 3-4.
579 775600
>>75577
Я бы сделал так наверное:
есть ключ у которого есть только идентификатор, который задается в инспекторе, либо в другом классе
есть дверь, у которой тоже также есть идентификатор. И метод который берет идентификатор ключа и сравнивает с ключом, если они совпадают, то дверь открывается
Хуй знает, может я долбаеб, но в моей голове выглядит норм
580 775613
>>75599
Как стать таким как ты? Запилить себе партфолио из пары игр на гугл плей и стучаться в издательства?
Безымянный.png3 Кб, 829x44
581 775697
Кто-то делал инверсную кинематику персонажей? Попробовал animation rigging, не работает с гуманоидами, нужно городить что-то другое.
582 775804
>>75613
Неудачником делающим прототипы ГК за 50к в месяц? Блять, да лучше не надо. Я то на свою шарагу устроился даже без собесов и прочего. Просто в чате пиздел в телеге и написали.
На ХХ было несколько собесов, но там такие кабанчики, думащие что я буду делать их тестовое на 3 дня рассчитанное. Но если у тебя с этим проблем нет, то можешь попробовать.
А вообще, просто сделай резюмехи везде где только можно, социализируйся в деве и думаю найдешь работу. А пока ищешь сделай пару простых ГК игр, подключи сдк и рекламу типа ты еба крут. Думаю ты уже сделаешь больше чем 90% соискателей.
Untitled 13.mp4365 Кб, mp4,
1280x720, 0:20
583 776014
Как натянуть материал на внутренний объект? Я сделал бутылку у которой внутри есть другой объект типа жидкость. Но материал я могу перетащить только на внешний объект, а редактировать материал выделенного внутреннего объекта никак нельзя. Видимо есть какой-то другой способ?
584 776039
>>76014
Нажми на боттл, в настройках импорта твои материалы. Указываешь там.
585 776046
>>76039
спасибо, получилось
586 776148
Сап, нюхач. Заебала своя рабская РАБота, хочу делать игры, какие подводные?
587 776171
>>76148

> какие подводные?


Выпустишь игру, разбогатеешь, всего добьешься и словишь депру и выпилишься
image.png42 Кб, 398x251
588 776201
Сап юнитач, суть проблемы, зелёное поле - сгенерированный меш, у которого ВСЕ вершины по y иеют позицию 0. Сами куски дороги - тоже сгенерированы, но у них высота по y по середине - больше нуля. В чём может быть причина по которой идут такие артефакты? Пробовал создать пустой проект где также генерируются эти меши и всё в порядке, наложений нету. Но при переносе - такая срань
589 776203
>>76201
Я перса с анимациями с блендера закидываю в юньку и кости предплечий немного сжатыми получаются, подскажи почему так?
590 776205
>>76203
Я хуй знает, почему ты мне вопрос задаёшь? Я сам в ахуе с того что у меня не получается
591 776209
>>76205
Потому что хуйню какую-то спрашиваешь, тут экстрасенсов нет
592 776244
Может кто-нибудь посоветовать какой-нибудь хороший бесплатный инструмент для редактирования примитивов прямо в юнити? Надоело заходить в блендер каждый раз, когда нужно сделать треугольник или полукруг
593 776247
>>76244
Своруй про-билдер.
594 776253
>>76247

В каком смысле своровать? В ассет сторе не нашёл, скачал через покет менеджер и всё вроде работает. Или это обрезанная версия?
595 776256
>>76247
Спасибо, пробилдер то что и было нужно
FPS.png17 Кб, 593x410
596 776309
Начал пилить фёрст персун шутер. Какие подводные?
597 776354
Платиновый вопрос. Как сделать интерфейс или хотябы шрифты самой среды большего размера. На 1440р ломаются глаза. Гуглится только метод менять масштаб винды, что не уперлось.
598 776391
Подскажите по скрипту

У нас есть GameObject Кирилл с прописанной в скрипте
public float speed=0;

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

private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Player")
{
///speed Кирилла меняется с 0 на 1///
}
}

что нужно дописать в триггер что бы в скрипте Кирилла поменять переменную speed?
599 776392
>>76391
Типа триггер находится в другом скрипте и ты не знаешь как поменять переменную из другого скрипта или что?

Если да, то просто берешь ссылку на скрипт кирилла, либо через инспектор, либо через:
"hyinya = gameobjectКрилилл.GetComponent(scriptКирилл);"
и потом "hyinya.speed = 1;"
600 776395
СССССУУУУУУУУУУККААААААААААА
Короче, если запустить StartCoroutine(f1) впервые, то в дебаге выдаст "f1 start".
А если я потом остановлю корутину StopCoroutine(f1), и запущу снова, то этот дебаг больше не выдаст, то есть, код, который вне while, выполняться не будет. Отныне всегда будет выполняться только тот код, который в while.
Можно фиксануть?
Блять, три часа думал, почему все так хуево работает. А оно вон оно как оказалось.
601 776398
>>76395
Гугли как запускать корутины, чтобы можно было надежно останавливать, вообще почитай про корутины, чтобы не быть батхертом
602 776408
>>76395
А в чем была цель такие приколы писать
изображение.png19 Кб, 1285x265
603 776423
>>76392
Что делаю не так?
604 776425
>>76423
Переменная HorseScript должна быть типа того скрипта, которого ты пытаешься в нее засунуть HorseMove как я понял, а она у тебя GameObject
605 776429
>>76423

>Что делаю не так?


Вообще всё, если по туториалу делаешь глаза из жопы высунь и нормально будет
606 776466
у меня у одного промокод TOOLBOX не работает?
https://assetstore.unity.com/publisher-sale
607 776471
image.png29 Кб, 1285x265
608 776480
609 776492
>>76466
Только что купил все 3, все работает
Непонятная хуйня с DOTweenом 610 776520
Использую DOTween для создания эффекта повреждения. Моделька становится красной и обратно синей. Использую сиквенсы. Не знаю с чем это связано, но если в методах, которые вызывают функции DOTween'a не использовать yield return new WaitForFixedUpdate() и не делать функцию IEnumarator'ом, то переход цветов будет слишком быстрым что ли, обрезанным. При этом у меня есть объекты, на которых я тоже использую переход цветов DOTween'ом и они нормально работают и без WaitForFixedUpdate(). Есть идеи с чем такое поведение может быть связано?

На первом видео - неправильная анимация(без WaitForFixedUpdate)
На втором - правильная анимация (с WaitForFixedUpdate)
image.png17 Кб, 683x156
611 776521
А вот код
612 776550
>>76520
А почему для этого не использовать аниматор без всяких доттвинов? Что тут такого что нельзя сделать без этого?
613 776552
>>76550
Вообще просто не пробовал, но думал об этом. У меня эффект получения урона может происходить во время любой анимации, а разве можно запустить например поверх анимации атаки анимацию изменения цвета?
614 776566
>>76552
Можно, там в аниматоре есть слои как в фотошопе
615 776603
Где лучше всего освоить работу с шейдером? Взял курс, начал проходить(на 19 юнити), потом узнал, что все это не работает для следующей версии (20 или 21 какая там).
616 776605
>>76566
У меня несколько типов врагов, у всех разные геймобджекты и разная иерархия объектов. Тела, которые должны меняться находятся в разных местах. Мне же придётся создавать отдельную анимацию изменения цвета тела на каждого врага, потому что одну анимацию можно привязать только к одному геймобджекту?
617 776607
Кто-то юзает unity editor под линухом? нормально работает? Много прям критичных багов?

Я тут захотел поиграться с этим вашим юнити, скачал, поставилось, но первый же пример из встроенного в эдитор туториала начал работать всрато - в туториал лейауте написано "выбери объект во вкладке "иерархия"", а этой вкладки нигде нет, лол.
Я так понял, что это лейаут какой-то всратый, потому что при переключении на Layout->Default всё появляется и на первый взгляд работает.
618 776616
>>76607
Ты поехавший совсем что ли? Одни гдшники свои движки пилят, а ты не можешь окно иерархия открыть?
619 776617
>>75592

>ГК


Это раннеры, платформеры почти без графики?
620 776666
>>76616
Ещё раз, в лейауте "туториал" такого окна вообще нет. Даже если я сделаю View->Panel->Hierarchy, то оно ничего не показывает.
Ещё пример: в туториале говорят "нажми play" чтобы начать играть. Я нажимаю, начинается музыка, но играть нигде нельзя, потому что кроме туториала ничего перед глазами не видно. При этом если я переключу лейаут в default, то увижу окошко со сценой и при нажатии на play смогу там что-то потыкать.

Я считаю, что "туториал" забагованный на линуксах.
image.png5 Кб, 260x119
621 776686
Вот надо локализацию делать - хранить данные в файле .csv, который в папке StreamingAssets.
Чтобы добавить новый язык, достаточно открыть файл, и добавить новый столбец, и даже игру заново собирать не нужно. Этот новый язык (берется из первого ряда) появится в dropdown списке.
622 776687
>>76686

>Вот надо


Вот как надо
624 776739
>>76737
им и пользовался сначала. но мой метод лучше, проще и гибче. а с этим пакетом пердолинга больше.
625 776741
>>76739
ну так что за метод-то бля?
626 776744
>>76739
У тебя не метод, а просто описание где хранится локализованный текст. Как он подставляется куда нужно? Как локализуются не текстовые штуки, спрайты например? Как в текст добавить переменную, например Привет {player_name}? И тд и тп.
627 776755
>>76744
>>76741
ой все
628 776766
>>69221
дебик, мускулы правильно настрой
629 776767
>>76766
Мускулы у шестиногого домика? Ты совсем ёбу дал?
630 776846
а как делается смена скелетов при анимации? например у меня есть скелетная анимацию челика который идет вверх, соответственно видна его спина. Потом когда я хочу сделать анимацию хождения вниз, мне нужны уже другие спрайты на другом скелете. Есть какие-то примеры как таким образом аниматор делать?
631 776851
Уважаемые юнитиводы, подскажите нубу.

В данный момент выбираю нишу для развития в сфере геймдева (всегда нравилась эта индустрия). И вот у меня выбор стоит между изучением Unity и изучением Blendera.

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

Буду рад каждому ответу.
632 776856
>>76851
Не знаю, как там у тридешников, но для вката в юнити джуны тебе потребуется портфолио с готовыми проектами. Так что готовь три в ряд
633 776870
Сегодня после обновы ui интерфейс стал съезжать куда то в сторону, у кого нибудь было? Физически он стоит на месте , но его выделенная рамка(зелёная), будто на треть экрана уехала, и так со всем интерфейсом.
Короче эта хрень следует за камерой, а не стоит на месте с физическим интерфейсом, не смертельно, но гемор конечно прибавился в редактирование. Надеюсь пофиксят.
634 776873
Нужен совет умелого проггера. Наткнулся тут на уроки по состояниям объектов. Создают пустой абстрактный класс, в котором объявляют методы как в монобехэвиор. А описывают эти методы в подклассах для каждого отдельного состояния с оверраид. Потом объект-контроллер, привязанный к объекту переключается, когда надо и выполняет псоответствующие процедуры текущего состояния. Вроде и понятно для чего, и скрипты стройно начинают выглядеть.

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

Или вот еще момент. Будет у объекта скажем несколько состояний. Но есть поведение на апдейте, которое останется единым для них всех. Как с этим быть? Вынести его в объект-контроллер? Тогда нафига создавать все эти классы состояний, раз по мимо них все равно отдельный привязанный к объекту скрипт понадобится. Прописать поведение во все состояния? Выглядит излишне. Дайте советов хороших.
635 776874
>>76873

>Наткнулся тут на уроки по состояниям объектов


Кинь ссылку
636 776875
>>76874
https://www.youtube.com/watch?v=Vt8aZDPzRjI
Я вообще так понял, это в любом случае понадобиться для пришивания большого количества анимаций. Насколько метод необходим глобально?
637 776884
>>76851
нахуй ты кому нужен в юнити без навыков в блендере, это в принципе созависимые вещи. Либо можешь пиздовать за 40к/месяц работать над проектом пердящей тёлки сплошь из купленных ассетов
638 776885
>>76873
В принципе сам себе уже ответил. То, что обновляло четыре ифа изначально с помощью этих состояний теперь обновляет один иф. Получается обязательная хуйня для объектов с хотя бы двумя разными состояниями.
639 776887
>>76873

>Нужен совет умелого проггера


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

>Создают пустой абстрактный класс


насколько я знаю, к состояниям подходят через интерфейсы, а твоё описание больше похоже на дженерик, это другая тема, смотри нормальные уроки, а не майнкрафтеров всяких
640 776888
>>76884
Что несет
641 776893
>>76888
https://www.youtube.com/watch?v=tSQq-s6dvxE
я про подобных миллиардеров
А блендер в любом случае нужно осваивать, банально для IK даже, в юнити охуеешь нормальную анимацию делать
642 776895
>>76887
Видео выше отправил. Он как делает? Ччто такое дженерик и интерфейсы?
643 776909
>>76893
Зачем он такой прыщавый
644 776929
>>76873
У тебя ифы рано или поздно разрастутся до просто невъебенной херни. Так что стейт машина это мастхев.
645 776958
>>76895
Глянул, он делает состояние, да, но делать его через абстрактный класс - хреновая затея в данном случае, так как C# не поддерживает множественное наследование, в отличие от других языков. Представь, что у тебя есть транспорт в игре, ты создаешь дженерик (абстрактный класс) Vechicle от которого наследуются разные типы: авто, самолет, ракета, инвалидная коляска и т.д, и потом ты захочешь ещё добавить поведение: транспорт сломан, нет бензина, улучшен...тогда ты начнешь ебаться через костыли и дубли, а нормальный пацан бы сделал состояние через интерфейсы, а потом добавлял их ещё сколько угодно
646 776962
>>76958
Я туго соображаю. А задача с видами транспорта и состояниями транспорта не решается двумя дженериками vehiclebasetype и vehiclebasestate?

Я только начал, не знаю, что за интерфейсы.
647 776965
>>76962
Интерфейс это такой базовый класс, который содержит в себе только информацию о непосредственно классе. Делаешь ты персонажа, начинаешь с интерфейса ICharacter. Персонаж может ходить, стоять и срать. Значит, в интерфейсе должны быть функции Walk, Stand и Shit. Но это пустые объявления функций, без реализации, интерфейс не может содержать реализацию. И если ты унаследуешь от интерфейса класс Character, то среда разработки тебе выбросит ошибку, что у тебя нет явной реализации заявленных функций ходьбы, стояния и сранья. Сам я агитирую за то, что интерфейсы не нужны. Не тот, кто писал тебе до этого.
648 776968
>>76965

>интерфейс не может содержать реализацию


Нудное напоминание, что с недавних пор может https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/proposals/csharp-8.0/default-interface-methods
649 776969
>>76965
Нихуя не понял, ICharacter имеет функции Walk, Stand и Shit, но они пустые? Допустим я создаю еще два класса и наследуюсь от ICharacter - IErohin и ISychev. В них я переопределяю функции Walk, Stand и Shit? Нахуя тогда нужны пустые интерфейсы в ICharacter если мне один хуй их прописывать у ерохина и сычева отдельно?
мимодругойвкатывальщик
650 776970
>>76965
Погуглил. Я правильно понял, что если у абстрактного класса не описан ни один из методов, только объявлены. То это и есть интерфейс?
2ch.png9 Кб, 457x356
651 776971
>>76968
Даа, но нет. Восьмой шарп? В юнити?
>>76969

>я переопределяю


Нет, не переопределяешь, просто реализуешь.

>один хуй их прописывать


Потому что тогда ты будешь обязан закодить их реализацию. Да, можешь просто сделать пустой войд или выбрасывать исключение. Интерфейс это своего рода обязательство, что такие-то функции будут реализованы. Не более.
>>76970
Не совсем. Абстрактный класс это же класс, а интерфейс даже объявляется не так.
652 776972
>>76962
два дженерика невозможны, так как

> C# не поддерживает множественное наследование


Интерфейсы - это другой уровень абстракции, их может быть много

> Я туго соображаю


На каких-то рандомных туториалах давно не уедешь, начни с беглого чтения C# для чайников, потом язык программирования Троелсена зачитывай, потом, если захочешь, Рихтера CRL via C# освой, и, наконец, тонкости Скита, тогда ты, скорее всего, будешь знать язык на уровне мидла
653 777054
Вот я меняю в одном месте громкость и как записывать сразу во все источники звука значение громкости?
654 777056
>>77054
Делаешь миксер
Во всех audiosourc'ах добавляешь реф на него
Двигаешь каким нибудь способом ползунок в миксере
!???
Профит
655 777124
суп. Нужен шарящий за ВР разработчик, чисто для консультации, плачу почасовку.
Пару вопросов по XR Interactor Toolkit'у
как правильно реализовывать хваты
как работать с UI
и пару вопросов по Skinned Mesh Render'у

Оставляй контакты, и время в которое удобно будет поговорить.
656 777131
>>77056
Алсо, так-же можно сделать для многих механик не требующих просчёты каждый кадр.
657 777158
Посоны, нихуя не пойму, как лучше реализовать. Допустим у меня есть 500 уровней в игре. Перед загрузкой каждого уровня надо вывести какие-то данные этого уровня (количество ходов, время, жизни хз).

Где и как хранить эти данные?
1) Создать к каждому уровню json, а потом, перед загрузкой уровня, парсить его?
2) Создать каждому уровню scriptable objects, а потом подгружать его через Resources.Load?
3) ???
4) Закешировать 500 переменных с ссылками на на хранящиеся scriptable objects это что-то совсем наркомания

Или я хуйню придумываю и есть более очевидные способы?
658 777163
И еще вопрос, как лучше сделать эти 500 уровней? 1 уровень = одна сцена? Или 1 сцена и 500 префабов? Что будет лучше с точки зрения размера приложения и производитльности?
659 777170
Помните, в хф и кс можно было граффити высрать на стену, каким способом можно сделать так же в юнити? Ищу готовый костыль
660 777175
>>77170
Делаешь рейкаст из камеры вперёд
На хит вешаешь декаль
661 777180
>>77175

> декаль



Точно, забыл как эта хуйня называется, напомнил ты
662 777183
>>77158
Ты спрашиваешь как вывести данные по уровню, но твои примеры относятся к сейвам игровых данных, где связь?

Что именно ты хочешь выводить, приведи пример
IMG0034.webm2,7 Мб, webm,
640x640, 0:31
663 777215
Привет Анон, хочу найти решения по инвентарю. Я гуглил, но ситуация разбилась на два лагеря:
1) Говнокод от школьников, которые могут запихнуть цикл в апдейт.
2) И мидл-код, который сложно переваривается и айтем является скриптом.

Про скриптаблобжэктс я разузнал, но не понимаю реализацию допустим экипировки и оружия.
Вкатился в гейдев недавно, сам по большей части 3дшник, кодил крайний раз года два назад на плюсах и чистом и немного ООП на жаве ,но концепцию шарпа по сути уловил.
С меня тонна нихуя, возможно после нг буду постить инфу или заведу тред.Дропать не собираюсь так, как вчера утвердили диплом и буду ебашить до талого
664 777216
>>77163
Смотря че ты хочешь делать вообще, гиперказуал или типо 3 в ряд или детализированный 3/2д игрулю.
Если каждый лвл отличается по геймдизайну, то 1лвл = 1 сцена.
Если ты просто хочешь дрочь уровней устроить и на геймдиз тебе похуй, то можно обойтись процедурной генерацией и все.
Я конечно хуй с горы и не разбираюсь, но и ты по сути нихуя не описал какие лвл ты хочешь делать
665 777218
На плиту жмут два объекта по ОнТриггерСтэи. Если один из них стоит на плите, а второй ливает, то во время ОнТриггерЭкзит плита моргает и снова нажимается. Есть способ убрать моргание?
1.png22 Кб, 680x384
666 777220
>>77215

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


Тащемта никакого секрета здесь нет - просто без задней мысли делаешь.
667 777222
>>77220
Т.е. даже префаб можно засунуть в скриптобжект?
668 777226
>>77222
Даже небо, даже аллаха. Словари не сериализуются, то есть ты там что-то можешь покрутить, но оно не сохранится. С Go в скриптейблах только одна проблема, когда загружаешь этот скриптейбл - все Го грузятся в память. Тема интересная на самом деле, но как же долго пилить такие системы.
669 777229
>>77226
Половину не понял потому что немного прочитал про скриптобжект и я немного дебил, но грубо говоря скриптобжект - это объект БД скрипта (те пишем скрипт с хар-ками, и на основе него создаются скриптобжект) и мы в инвентаре управляем кол-вом и типами этой грубо говоря БД, ссылаясь на скриптобжект и фасуем все в UI. И для условной еды и экипировки надо будет 2 разных скрипта с характеристиками, а в экипе мы ссылаемся на префаб/модельку. И как могу предположить в инвентаре мы ссылаемся на ID шмотки вызываемой из скриптобжект?

Я правильно понял?
670 777230
>>77218
Разобрался уже сам с этим оверлап коллаидером ебаным бобаным.
671 777232
>>77229

>пишем скрипт с хар-ками, и на основе него создаются скриптобжект


Да.

>в инвентаре мы ссылаемся на ID шмотки вызываемой из скриптобжект


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

>Я правильно понял?


Да я хуй знает, лол.
672 777236
>>77232

>Да я хуй знает, лол.


Ну значит вроде разобрался

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


Ну т.е. мы создаем скрипт с датабазой всех обжектов и их айдишников, и в других скриптах с работой айтемов мы обращаемся к этому скрипту с айдиштками обжэектов ?
Спасибо тебе анон
673 777237
>>77236

>мы создаем скрипт


Только не скрипт, а скриптейбл обжект

>public class SomeData: ScriptableObject


Плюс тебе нужен эдитор скрипт, чтобы создать инстанс объекта. Вроде, есть какой-то ещё другой вариант, но я его не помню. Эдитор скрипты работают только из папки эдитора. Ну и потом ещё один скриптейбл с массивом или списком всех Somedata.
674 777238
>>77237
Слушай, а гайда нема по этой теме как ты организовал все? Вникнуть то я вникну, просто боюсь въебать пару дней на ошибки, ведь я даун ебался с нерабочей кнопкой в меню паузы, хотя надо было просто в местах поиграться с видимостью курсора и время у меня подгорает я решил запилить все таки в определенные рамки. А вот хотя бы на что ориентироваться было бы полезно
675 777255
>>77230
нахуя оверлап? Ты мог просто создать лист коллайдеров, в онтриггеринтер засовывать в лист, в экзит высовывать, а, если лист становится пустым - то выключать кнопку. Очевидное и не жрущее каждый кадр память решение, в отличие от оверлап
676 777257
>>77255
Спасибо анон, дошло, что можно stay на enter поменять, чтоб все время не обновляло. А оверлап коллаидер нужен.

Раньше было так:
Мне нужно следить за тем, что на плите объект все еще находится. Для этого использую ontriggerstay. Вот только когда два объекта, например игрок и предмет жмут на плиту вместе, когда игрок сходит с плиты, во время экзита она промаргивается на отжатие и снова нажимается оставшимся объектом. Пофиксил это условием (если колладиеров на кнопке == 0) вырубай. Для этого оверлап коллаидер подошел. Моргать перестало.

Сейчас как раз с этим оверлапом можно поменять stay на enter. Без оверлап коллаидера предмет стоит на кнопке, я с нее сходу, и кнопка ввключается.
677 777263
>>77238
Наверни любой васянский ассет на инвентарь и посмотри как сделан, своруй платных ассетов и разбери их. Лучшие примеры же, можешь и использовать их и когда поймешь, что именно тебя в них не устраивает - напишешь на их основе свое решение. Пока же ты слишком упариваешься в мелочи.
мимо
678 777264
>>77238

> а гайда нема по этой теме


В гугле всё есть, очевидно же.

>как ты организовал все?


В мой шизокод ты точно не вникнешь. Радактор накидан на похуях, есть пара багов. Игровая часть накидана слишком сложно. Я использую атласы спрайтов, асинхронную рантайм загрузку ресурсов, автоматическое подсасывание лодов, новый гуй. По факту самый главный мой скриптейбл выглядит как-то так, как на первом пике, лол. Это "таблица" предметов. На каждый тип предмета создаётся новая таблица, в которую сохраняются уже сами предметы. Все таблицы хранятся в основном скриптейбле.
679 777265
>>77257

>Спасибо анон, дошло


не дошло, видимо. Ты в курсе, что OnTriggerEnter срабатывает вне зависимости от того, есть ли на нём уже кто-то или нет?

1) объявляешь в полях private List<Collider> colliders = new List<Collider>();
2) OnTriggerEnter - colliders.Add(other);
3) OnTriggerExit - colliders.Remove(other);
и здесь же проверка if (colliders.Count == 0) то вырубай, страшна

нахуя оверлап?
680 777271
>>77265
Да, ты прав, не дошло. Спасибо еще раз. Как же дохуя элементарных вещей не знаю. Реально что ли пособия по шарпу уже читать.
681 777272
>>77271
Так это к шарпу никакого отношения не имеет.
682 777273
>>77272
Я даже не знал про list<t>
image.png187 Кб, 1920x1080
683 777279
Любой проект на любой версии выглядит вот так.
Помогите, пожалуйста.
684 777281
>>77279
Обнови драйвер и выключи встроенную видеокарту.
685 777282
>>77279

>Любой проект на любой версии


Очевидно, проблема с железом или дровами
https://forum.unity.com/threads/blank-unity-editor-assertion-failed-assertion-failed-on-expression-succeeded-hr.523067/
слишком вариативная проблема, попробуй дрова обновить а дальше по ситуации
image.png13 Кб, 274x477
686 777290
Ну и в чём я не прав?
687 777291
Ребята, подскажите что необходимо к изучение, чтобы через пол года+ можно было вкатиться в геймдев.

Ну сам Unity + ЯП (Java или C#) это понятно. Но помимо этого нужно знать ещё какие-то программы. Какие именно стоит учить параллельно ?
688 777292
>>77290
надо каждый метод в отдельный класс выносить, иначе не солид
1.mp4336 Кб, mp4,
640x360, 0:04
689 777294
690 777296
>>77291
гит, аутодаси, блендер из основных, дальше зависит от того куда ты вкатываться собрался
1.png42 Кб, 518x513
691 777297
>>77290
На событиях делать надо.
692 777302
>>77296
Что надо знать/уметь в блендере?
693 777308
>>77302
Просто общее понимание что такое моделька, что такое скелетная анимация, как накладываются текстуры и вот это вот всё. Про анимации еще можно почитать, если совсем упарываться то и шейдеры глянуть.
мимо
694 777315
>>77302
Как он и сказал:
>>77308
Риги, анимация, UV развертка, текстуры. На счёт шейдеров я бы лучше рекомендовал после освоения азов юнити делать свой первый проект на URP и играться с шейдерами там, т.к. ноды блендера и юнити пока что не дружат
695 777323
>>77296
Blender - уровень говноконтор которые не могут купить лицуху макса а значит будут платить печеньками и чаем. Лучше брать связку 3ds Max+Maya+сабстанс, теже гайджины в максе делают.
696 777346
>>77323
лол
697 777350
>>77323

> 3ds Max+Maya+сабстанс


Ага класс. На хуй тогда вообще юнити учить, если тогда проще стать 3d Artistом ?
698 777352
Dotween нужная вещь для простых анимаций для интерфейса например? Все это время анимировал ручками на корутинах, стоит заморачиваться или это блоатваре вонючий?
699 777361
>>77350
Я в целом говорю, что блендер - уровень говноконтор и школоты на ютубе, но опять же чем тебе стек как гейдев не угодил? Анон попросил грубо говоря, фул список ПО вката в геймдев, не обозначая чем он именно хочет там заниматься. А вобще вопрос размазан как сопля по столу, как именно он хочет вкатиться в гейдев, в офис или хобби. Если первое, какая позиция его интересует и тд. Если второе, то желательно все начиная от ворда и экселя, заканчивая фл студио и кучки vst которые можно прикрутить если цель стоит сделать свое, а не напиздить ассетов/звуков/идей раскидать на одной сцене и выложить в стим свою страшылку-брадилку
700 777363
>>77290
Что за магические числа?
701 777364
>>77361
Речь о вкате в геймдев индустрию под ИНДИ студии. Почему-то у многих геймдев это или инди-говно-конторы или ААА студии. Есть вообще-то варианты и посередине.

Senior Blender может тоже ОЧЕНЬ хорошо зарабатывать.
702 777368
>>77364

>Речь о вкате в геймдев индустрию под ИНДИ студии.


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



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

>Senior Blender может тоже ОЧЕНЬ хорошо зарабатывать


Да понятное дело, что 3д художник на любом софте получает хорошо. Я лишь намекнул, что если рассматривать профессиональный забег на дальнюю дистанцию, профитнее все же стек выше, плюсом подкрепляю мои субъективные размышления и опыт работы в блендере. Каждый дрочит как он хочет
703 777378
>>77368

>если рассматривать профессиональный забег


>вкатиться


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

Алсо перекат профессионалу с блендера на майю и макс дастся проще, чем обратно, но он в любом случае не займет много времени (месяца 2-4 без напряга)
704 777382
>>77378

>если рассматривать профессиональный забег на дальнюю дистанцию


Ты давай не вырывай слова из контекста. Никто не мешает взять учебную лицуху, или обновлять триал раз в месяц.
Алсо перекат юзерам макса/майи вобще не грозит перекат.
P.S Свою быдлячесть и маняпроеции лей в бэ
705 777383
Поясните нюфагу зачем нужен макс если есть майа и наоборот.
706 777384
>>77383
Майка, нужна именно для анимации, маск для полигонального моделирования. По сути инструменты есть что там, что там, но зачем копать граблями, если есть лопата
image.png53 Кб, 1072x382
707 777395
>>77384
Спасибо, понял. Что-то я впечатлен с этих цен.
708 777399
>>77395
Около 6т.р в месяц, окупаемость 1 рабочий день 3д-аниматора если не меньше.
709 777407
Анон, есть такая хуйня OnTriggerStay(Collider other)
С помощью нее я вычленяю item'ы в определенном радиусе. Во первых, гугл не смог мне показать что такое other и как с ними работать полагаю что это коллайдеры???. Меня интересует как можно other передать в другой скрипт и можно ли как то расчленить коллайдеры на массив gameObject'ов? Просто при использовании

>if(other.CompareTag("Item") && Input.GetKeyDown(KeyCode.F))


реагируют сразу два объекта, а мне надо на одно нажатие реагирование 1ого объекта.
710 777411
>>77407
Если тебе нужен коллаидер второго объекта в первом, пиши:

поле типа коллаидера = GameObject.Find("Имя объекта, либо для тега вместо фаинд хуярь FindWithTag").GetComponent<Название компонента, например BoxCollider2D>();
image.png9 Кб, 427x394
711 777414
>>77411
Не-не, у меня есть тригерКолайдер персонажа A и 2 объекта с колайдерами обычными B/C и общим тегом "Food". И я задаюсь вопросом что при

>if(other.CompareTag("Item") && Input.GetKeyDown(KeyCode.F))


B/C пропадают почти в один момент, а мне бы на одно нажатие 1ин предмет. И второй вопрос как мне из OnTriggerStay, other отправить в другой скрипт;
712 777416
>>77414
Дестрои или чем ты там их убираешь выполняй по имени предмета, а не тега other.name.

По второму вопросу создай поле типа Collider и туда засунь other.

public Collider collider;

OnTriggerExit(Collider2D other){
collider = other;}

В другом скрипте напишешь.

public Collider collider;

collider = GameObject.Find("Имя объекта, где был OnTriggerExit").GetComponent<Collider>().collider;
713 777417
>>77416

>2D


Без 2D
714 777420
>>77416
Со вторым вопросом вроде добился чего хотел, спасибо.

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



Так, а че делать если предметов куча и с разными именами?
715 777422
>>77420
А какой тебе результат собсно нужен?

Запиши из триггер ентера в поле объект, чей триггер ты запустил. А в апдейте по кеикоду дестрой(поле_с_записанным_объектом). На онтриггер экзит стирай поле, а то можно будет с другого конца уровня подобрать.
716 777423
>>77422
Если в одной куче много предметов лежит, то тогда уже массив по результату он триггер энтера создавай и дестрой(массив_предметов[0]). Каждое нажатие кнопки будет из кучи один собирать.

Я выше когда с кнопкой ебался, мне анон посоветовал list<t> как раз для этого.
717 777424
>>77423
Думал про ентер, а сейчас до конца допер как это реализовать, спасибо тебе большое Анон!плюсом избавился от Stay который каждый кадр обрабатывался
718 777437
>>77407

> if(other.CompareTag("Item") && Input.GetKeyDown(KeyCode.F))



это ещё что? У тебя у контроллера триггер что ли? подход абсолютно ебанутый. Во-первых, там выше было обсуждение по триггерам, тебе лучше на OntriggerEnter добавлять коллайдеры в список и можно ими манипулировать через обращение по порядковому номеру. Во-вторых, не слушай этого уебана >>77411 пользоваться именами, тегами и прочими строковыми значениями, а так же использовать тяжелыми функциями типа GameObject.Find тем более каждый кадр - путь на рынок труда по вакансиям клининг-менеджеров.

В твоём случае лучшим решением будет создать интерфейс для этих объектов, которыми манипулируются на триггере (например IManipulable), и использовать оператор проверки типа (other is IManipulable) вместо тегов и имён.
А вместо OnTriggerStay использовать эвенты через обращение к определённому элементу в листе
image.png295 Кб, 600x600
719 777441
VR-щики здесь?
Как настроить проект сразу под все VR-платформы (WMR, Rift, Vive, Index)?
Или только бранчить весь код под отдельные случаи?
720 777449
>>77437

>В твоём случае лучшим решением будет создать интерфейс для этих объектов, которыми манипулируются на триггере (например IManipulable)



А в чем разница между этим и сравнением обьекта по тегу?
мимопроходил
721 777454
>>77437

>это ещё что? У тебя у контроллера триггер что ли? подход абсолютно ебанутый


А что плохого что у меня на игроке есть колайдер с тригером? И почему использование проверки по тегу так плохо?в шарпах и юнити библиотеках я вобще новый.
У меня стоит задача, что вокруг игрока допустим на расстоянии 2 метров была возможность взять предмет, не наводя мышкой на сам айтем, а просто клац по клаве и предмет в инвентаре если он в области.
Я сначала подумал сделать тригер колайдер второй на самих предметах, а потом понял, что если айтемов будет куча, то и лишних колайдеров тоже куча и я решил идти от обратного делать сбор не от айтема, а от персонажа, ведь так у нас будет всего 1ин коллайдер на сбор. Вдобавок как проще реализовать проверку на собираемый айтем-коллайдер, проверить тег строчка же просто смотрит в инспекторе тег и сверяет. Ну а вчера уже под утро решил с подачи анона выше, оптимизировать со Stay в Enter>Exit триггер. Где проеб моей логики или где я проебланил и использую лишнюю память??
722 777458
>>77449
щас он скажет, что так все корпорации дрочат и тебе так же надо
723 777460
>>77458
В самой проверке по тегу ничего плохого, вот только это добавляет мануального контроля и, как следствие, увеличивает вероятность генерации ошибки. Сперва ты по тегам проверяешь, потом корутины и делегаты запускаешь через строковые значения, но вдруг ты, или кто-то переименовывает метод или тег и весь проект летит по пизде, потому что на этапе компиляции никаких ошибок не возникает. Создать тег вот буквально на 5 секунд быстрее, чем пустой интерфейс
>>77454

> А что плохого что у меня на игроке есть колайдер с тригером?


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

> Ну а вчера уже под утро решил с подачи анона выше


это я и был, то есть тот, который расписывал методику работы с листом
724 777461
725 777464
>>77460

>Не делать проверок на нажатие в апдейте


С этого места по подробнее. Алсо это относится только к нажатиям или к продолжительно нажатой клавише тоже?
image.png20 Кб, 417x447
726 777465
>>77460
По итогу вышло как то так пик1, все работает как мне надо, сейчас думаю прикрутить UI и пойду допиливать остальные части интерфейса.

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


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

> вообще сама идея странная.


Хех, ну я думаю на/gd есть более ебанутые идеи, чем подбор вещей в радиусе.

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


Блять я так и знал, что есть аналог RaycastHit, только нагуглить это говно не смог в документации. Но с другой стороны у меня самобытный макакен-код, который я понимаю и не надо даже вектора строить
Это
727 777467
>>77464
Скорее всего камень в том, что при нажатии в апдейте условие будет отыгрывать каждый фрейм, а это итераций 30 если не больше
728 777468
>>77467
Так условие if getkey в любом случае будет циклиться. Как можно регистрирывать нажатия клавиш вне апдейта?
729 777470
>>77464
Это относится ко всему, но тут скорее о читабельности кода, ты просто можешь забыть нахер оно надо вообще, опят же, делаешь отдельный метод с нормальным названием предназначения и запихиваешь его в апдейт. Скачай ассет Invector и смотри как там контролы выполнены, очень хороший пример
https://assetstore.unity.com/packages/tools/game-toolkits/third-person-controller-basic-locomotion-free-82048
730 777472
>>77465

>благо я в соло работаю и какие то свои ошибки компиляции записываю


Твоё право, я даже не буду тебе врать, у меня не было опыта такого, но я смотрел на ютубе пару роликов по типу "типичные ошибки новичка" и там сотни комментов о том, что строковые значения сломали их инди-проекты и убили мотивацию, поэтому я теги никогда не использую с тех пор
731 777475
>>77472

>Твоё право


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

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


Немного рефлексии
Так это же хорошо, нет переизбытка рынка как с музыкантами или дизайнерами или писателями и тд. Порог вождения особенно Инди огромен и тем самым ценнен. Есть же огромная ЦА, которая играет в индюшатину и отплатит тебе по трудам своим рублем. К слову о "убили мотивацию", я могу сказать только одно, что люди часто путают два вида мотивации "TryToWin" и "DoToWin", это же не рулетка в казино, а ремесло, следственно ты должен этим заниматься не по логике:

> Гы-ы-ы, ща сделаю на пирадцких асцетах игру и буду вторым гадзимой или перссоном или диннхоуллл)))


А более методично и структурно, имхо
732 777477
>>77475
согласен полностью, понятно, что ты сразу всему не сможешь научиться и через спотыкания осваиваешь ремесло, а хвататься за каждый совет - не менее губительно, чем долбиться самому о каждую стену, только вот простые и довольно очевидные упрощения не стоит игнорировать, ты просто попробуй хоть раз проверку по компоненту, и ты больше никогда к тегам не захочешь возвращаться
image.png12 Кб, 532x268
733 777479
Как каждый раз с нуля запускать этот таймер? Из-за Time.deltaTime он продолжает хуярить не с нуля
734 777482
>>77479
перед циклом currentTime = 0
735 777485
>>77482
всё работает, нр нихуя не понимаю, почему нужно именно так, если я его обнулял, но только в другом месте
736 777486
>>77485
если ты его обнуляешь в другом месте, то, видимо, запускаешь корутину в апдейте? В таком случае можешь вообще цикл удалить и оставить только то, что внутри. Видимо, спиздил код и не разбирался как работает?
image.png15 Кб, 467x127
737 777488
>>77486
не в апдейте, в отдельном методе запускаю, в отдельном останавливаю и обнуляю обнулял
738 777489
>>77488
хз где ты там обнулял, корутина сохраняет все данные до возврата, а так как твой цикл бесконечный, то значения в нём никогда не сбрасываются
739 777491
>>77489
точнее не так, корутина сохраняет все данные, а так как это однопоточное выполнение, то данные каждый раз переопределяются на то, что сохранилось внутри цикла, и т.к. он бесконечный, то твой куренттайм не сбрасывается снаружи
image.png5 Кб, 567x77
740 777502
как эти 2 штуки отличаются?
741 777504
>>77441
Двачую вопрос, есть годные курсы/каналы/книги/стать по ВР в юнити? Особенно интересует окулус как андроид так и пк
742 777507
>>77504
Вроде же документация есть по камерам и инпуту у офишал Юнити, чекал там?
Просто пацаны со старших курсов, говорят там чекали
743 777534
Посоны, использовать event trigger - pointer click на телефонах норм? Или там все надо через GetTouch пилить?
744 777545
Есть 2д поверхность, на которой надо генерировать партиклы. Сложность в том, что поверхность должна меняться динамически.
Грубо говоря, есть прямоугольник с партиклами на весь экран и периодически в случайном месте нужно удалять их. Как быть?
745 777551
>>77504
За окулус я тебе и сам поясню. https://developer.oculus.com/documentation/unity/book-unity-gsg/
Делал все по этой документации, спокойно сбилдил и апк под ведро и ехе под винду.

А вот за мультиплатформу кто бы рассказал.
746 777564
>>77545
Можно через слои, через доп.камеру, или через скрипт удалять, много подходов, но, грубо говоря, из твоего объяснения не понятно что тебе нужно
747 777626
Пиздец я тут упоролся. Написал как мне казалось простенькую механику логической цепочки. Есть источник и проводники. Пока реализовал все случаи с одиночным включением и отключением, групповым, чтобы можно было замыкать несколькими предметами совместно цепь и разрывать ее в любом месте, накодил такой ебучей лапши, что сам охуел. Без апдейта не обошлось понятное дело. Как включать все предметы, если они рядом друг с другом, а один из них до цепи дотянулся, без апдеита не додумался. Там триггеров уже не происходят.

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

Ну и если есть рекомендации, как убрать апдеит и чем заменить, тоже спасибо заранее.
748 777627
Пиздец! У меня код:
Sprite Test = Resources.Load<Sprite>("frame0");
UnityEngine.Debug.Log(Test);
UnityEngine.Debug.Log(Test.name);
на выходе имею NullReferenceException: Object reference not set to an instance of an object
А спрайт вот он родненький в реусурсах лежит. ЧЯДНТ? Уже второй час сижу.
749 777630
>>77627
а шо спрайт называется frame_0 а ты берешь frame0
750 777633
>>77630
ебать...
751 777634
>>77633
Ты ждва часа ебал не тот спрайт?
752 777640
e4fr5uhj.png73 Кб, 1822x1108
753 777641
Каким образом можно проверить, что коллаидер соседнего по оверлапу объекта отделился от еще одного соседа? Если известно их конечное количество, то по соседям, но это костыль. Надо циклы в циклах писать. Есть какой-то универсальный метод определить, что одна группа целиком отделилось от второй группы.
754 777668
>>77641
на процесс отделения навесить событие не варик?
755 777671
>>77564
Нужен туман войны.
image.png25 Кб, 437x309
756 777687
Анон, возникла проблема с пушем риджибоди.
Толкать предметы я могу если они 1/4 от контроллера, меньше 1/4 не толкаются, а персонаж взбирается. Как пофиксить?
757 777698
>>77687
вариант 1: не использовать такую хуйню, как коробочный контроллер
вариант 2: зайти в гугол под чужим аккаунтом, раз твой забанили
https://answers.unity.com/questions/17566/how-can-i-make-my-player-a-charactercontroller-pus.html
758 777715
>>77668
Понимаю, как повесить отделение одного объекта. Не понимаю, как задетектить отделение группы произвольного количества объектов. Отлеляется толлко один конкретный объект. При этом состав группы динамический.
image.png1 Кб, 199x111
759 777719
скачал пакет с шейдерами, а там на материалах такая хуйня, как исправить?
стоит URP, шейдеры его поддерживают
изображение.png81 Кб, 457x310
760 777735
>>77534
Бампую вопрос, это нормально вообще использовать эту штуку на телефонах?
761 777774
Юнитач, помогай. Как обычно импортировал из асепрайта анимацию (получился довольно длинный холст) убрал сглаживание и компрессию , но изображение все равно размытое. Где проебался?
762 777797
>>77715
Бля, да как вы не поймёте, что ваши абстрактные примеры вообще не понятные.
Ну, например, создать динамический список (list) твоих объектов и прописать глашатая с эвентом ListChanged

>>77719
в версиях до 2021
Edit -> Render Pipeline -> Universal Render Pipeline -> Upgrade ...
2021 и выше - Windows -> Rendering -> Rendering Pipline Converter -> ставишь галочку и Convert
763 777798
>>77797

>Абстрактные


Вот есть источник сигнала 1. Я по триггер ентеру с источником присваиваю единицу другому объекту. Теперь объект выдает единицу. И так по цепочке. Если объект отделился от остальных, снова единица на ноль меняется. Когда по одному их "подключаю", "отключаю", все хорошо. Но если от общей цепи отключить группу, то они друг в друге детектят единицу и остаются активны, пока не разъединишь друг от друга. Даже пикрил в пеинте для этого выше зарисовал.

Вот я и не понимаю, как отследить, что от цепи с источником внутри отделилась группа объектов. Среди них источника нет, надо их единицу на ноль обратно поменять. А они "видят", что у соседей единичка по-прежнему, ну и хули продолжаем тоже показывать значит. Я конечно могу рекурсивно циклы в циклах выписывать проверять массив своих соседей и соседей соседей, но это хуйня. А как вот список всех объектов в сцене на отдельные группы объектов у которых коллаидеры пересекаются проверять, есть среди них источник или нет, не могу допереть.
image25 Кб, 1011x525
764 777803
>>76870
Бампаю вопрос, так и не нашёл решения. Пример на пике. Раньше при выделение зелёная рамка была на объекте, теперь же всё съехало в сторону.
image.png11 Кб, 602x101
765 777805
>>77797

> 2021 и выше - Windows -> Rendering -> Rendering Pipline Converter -> ставишь галочку и Convert



Я уже не пынямаю, что можно сделать, чтобы всё заработало
766 777809
>>77803
Тут телепатов нет
767 777812
>>77805
Скинь ссыль на пакет
768 777816
>>77798
Ааа, то есть разрыв цепи нужно предусмотреть?
Я бы, как простой вариант, сделал у источника опять же лист объектов (или сразу инстанс айдишников) и метод который принимает сигнал от источника, идентифицирует его порядковый номер в листе по айдишнику и выкидывает из цепи всех выше этого номера, включая его самого.
769 777818
>>77816
Проблема в том, что порядок предметов меняется. Объект1 подсоединился к Источнику. К Объекту1 - Объект2, Объект 3 и Объект 4, последовательно. При этом игрок может так переместить объекты между собой, что пока они замкнуты Объект3 например сам замкнется Объекту1. А значит порядок подключения уже выдаст ошибку. К примеру, Объект2 вместе с Объектом4 отделятся от подключеных к Источнику Объектов 1 и 3. И по списку отключим Объект2 и все ниже по списку - Объекты 3 и 4. Но Объект3 то еще в цепи. А он отключится.

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

Как бы найти способ, чтобы объект узнал, что вся его группа отключилась.
image.png344 Кб, 600x400
770 777827
Возможно ли на юнити запилить глобальную стратегию?
772 777838
>>77827
Достаточно глобально?
https://store.steampowered.com/app/1124300/HUMANKIND/

На юнити, как и на анриле ты можешь что угодно запилить
PjnfSauQ.jpg17 Кб, 933x494
773 777840
>>77828
апгрейдить можно только со стандартных шейдеров, там свой какой-то, поэтому только руками, там они достаточно простые, можешь эти поюзать
https://assetstore.unity.com/packages/vfx/shaders/stylized-water-for-urp-162025
https://assetstore.unity.com/packages/vfx/shaders/urp-stylized-water-shader-proto-series-187485
774 777845
>>77818
тогда всё зависит от механики твоего случая (количество связей, множественность источников и т.д) для линейного варианта - 1 связь на объект, 1 источник, можно обойтись одной булевой переменной, доступной на чтение, и массивом из 2 элементов

добавление связей онколлайдеринтер()
{
если other имеет нужный интерфейс (IPlugable, например);
определяем i элемент массива = other;
i = i + 1;
если i > 1, i = 0 (переход к 1 элементу);
}

в онколлайдерэксит присваиваем вышедшему элементу null

в апдейте постоянно смотрим если оба элемента != null и хотя бы у одного булевая true то и у этого ставим тру.
если хотя бы 1 = null - то булевая false

Таким образом имеем
Источник (true) - объект 1 (false)
Источник (true) - объект 1 (true) - объект 2(false)
Источник (true) - объект 1 (true) - объект 2(true) - объект 3(false)
Источник (true) - объект 1 (true) - объект 2(true) - объект 3(true) - объект 4(false)

разрываем
Источник (true) - объект 1 (true) / объект 2(true) - объект 3(true) - объект 4(false)
объект 2 становится false и все по цепочке false за ней
775 777861
>>77845
а не, нужны 2 булевых на чтение и ещё 1

doublePlug - на чтение если обе переменные не null

isPower - если хотя бы у одного из соседей isActive true

isActive - на чтение если у соседей у обои doublePlug true, и своя isPower тоже

(isPower , doublePlug , isActive)
Источник (всегда всё true) - объект 1 (true, false, false)
Источник - объект 1 (true, true, false) - объект 2(true, false, false) и т.д
Источник - объект 1 (true, true, true) - объект 2(true, true, false) - объект 3(true, false, false) и т.д

обрубаем:
Источник - объект 1 (true, true, true) / объект 2(true, true, true) - объект 3(true, true, true) - объект 4(true, true, false) - объект 5(true, false, false)

1- кадр
Источник - объект 1 (true, false, false) / объект 2(true, false, false) - объект 3(true, true, true) - объект 4(true, true, true) - объект 5(true, false, false)

2 - кадр
Источник - объект 1 (true, false, false) / объект 2(true, false, false) - объект 3(true, true, false) - объект 4(true, true, true) - объект 5(true, false, false)

3 - кадр
Источник - объект 1 (true, false, false) / объект 2(false, false, false) - объект 3(true, true, false) - объект 4(true, true, true) - объект 5(true, false, false)

4 - кадр
Источник - объект 1 (true, false, false) / объект 2(false, false, false) - объект 3(true, true, false) - объект 4(false, true, false) - объект 5(true, false, false)

5 - кадр
Источник - объект 1 (true, false, false) / объект 2(false, false, false) - объект 3(false, true, false) - объект 4(false, true, false) - объект 5(false, false, false)

привязываться, как ты понял (свечение или что там у тебя) нужно к isPower
775 777861
>>77845
а не, нужны 2 булевых на чтение и ещё 1

doublePlug - на чтение если обе переменные не null

isPower - если хотя бы у одного из соседей isActive true

isActive - на чтение если у соседей у обои doublePlug true, и своя isPower тоже

(isPower , doublePlug , isActive)
Источник (всегда всё true) - объект 1 (true, false, false)
Источник - объект 1 (true, true, false) - объект 2(true, false, false) и т.д
Источник - объект 1 (true, true, true) - объект 2(true, true, false) - объект 3(true, false, false) и т.д

обрубаем:
Источник - объект 1 (true, true, true) / объект 2(true, true, true) - объект 3(true, true, true) - объект 4(true, true, false) - объект 5(true, false, false)

1- кадр
Источник - объект 1 (true, false, false) / объект 2(true, false, false) - объект 3(true, true, true) - объект 4(true, true, true) - объект 5(true, false, false)

2 - кадр
Источник - объект 1 (true, false, false) / объект 2(true, false, false) - объект 3(true, true, false) - объект 4(true, true, true) - объект 5(true, false, false)

3 - кадр
Источник - объект 1 (true, false, false) / объект 2(false, false, false) - объект 3(true, true, false) - объект 4(true, true, true) - объект 5(true, false, false)

4 - кадр
Источник - объект 1 (true, false, false) / объект 2(false, false, false) - объект 3(true, true, false) - объект 4(false, true, false) - объект 5(true, false, false)

5 - кадр
Источник - объект 1 (true, false, false) / объект 2(false, false, false) - объект 3(false, true, false) - объект 4(false, true, false) - объект 5(false, false, false)

привязываться, как ты понял (свечение или что там у тебя) нужно к isPower
776 777864
>>66778 (OP)
На каком железе анон разрабатывает свои игры на юнити? Хочу купить себе стационарный пека, чтобы серьезно заняться разработкой, но бюджет ограничен.
777 777865
>>77861
Спасибо, анонче! Пришел, сейчас буду разбираться.
778 777868
>>77864
https://www.dns-shop.ru/custompc/configuration/bb2ca410668c48fd/
собирал сам, особо не шарю, ориентировался на рейтинг и отзывы, с HDRP справляется отлично
779 777883
>>77861
Что-то не понял вот тут.

> isPower - если хотя бы у одного из соседей isActive true


> Источник - объект 1 (true, true, false) - объект 2(true, false, false) и т.д


У объекта 1 isActive false, при этом у объекта 2 isPower true. Я точно правильно понял?
780 777891
>>77883
Запутался, но концепция правильная, заново

isPower - если хотя бы у одного из соседей isActive true
doublePlug - на чтение если обе переменные не null
isActive - на чтение если у соседей у обоих doublePlug true, и своя isPower тоже

Источник (true, true, true) - объект 1 (true, false, false)
Источник (true, true, true) - объект 1 (true, true, false) - объект 2 (false, false, false)
Источник (true, true, true) - объект 1 (true, true, true) - объект 2 (true, true, false) - объект 3 (false, false, false)
...
Источник (true, true, true) - объект 1 (true, true, true) - объект 2 (true, true, true) - объект 3 (true, true, true) - объект 4 (true, true, false) - объект 5 (false, false, false)

обрубаем
Источник (true, true, true) - объект 1 (true, true, true) / объект 2 (true, true, true) - объект 3 (true, true, true) - объект 4 (true, true, false) - объект 5 (false, false, false)

1:
Источник (true, true, true) - объект 1 (true, false, false) / объект 2 (true, false, false) - объект 3 (true, true, true) - объект 4 (true, true, false) - объект 5 (false, false, false)
2:
Источник (true, true, true) - объект 1 (true, false, false) / объект 2 (true, false, false) - объект 3 (true, true, false) - объект 4 (false, true, false) - объект 5 (false, false, false)
3:
Источник (true, true, true) - объект 1 (true, false, false) / объект 2 (false, false, false) - объект 3 (false, true, false) - объект 4 (false, true, false) - объект 5 (false, false, false)
4:
Источник (true, true, true) - объект 1 (true, false, false) / объект 2 (false, false, false) - объект 3 (false, true, false) - объект 4 (false, true, false) - объект 5 (false, false, false)

Получается, что тогда активность (подсветку) нужно сводить к проверке если хотя бы у одного из соседей isPower - true xD
781 777892
>>77883
Ага! Сделал:
Источник - объект 1 (true, true, true) - объект 2(true, false, false) и т.д
И заработало как надо.

>>77891
Вовово точно. Я тоже допетрил. Сообщение написал, а отправить не отправил. Огромное спасибо еще раз. Я до вот этой третьей переменной сам не дошел, что нужно ограничить количество связей и сообщать об этом. Очевидно же, что даже в большой куче объектов с только двумя "соседями" объекты просто последовательную цепочку сами выстроят.
782 777897
>>77891
Жаль только, что если игрок активно таскает эти объекты в запитанном состоянии, то они рискуют терять уже полученные связи. Провожу цепь объектов со второго по четвертый через запитанный объект1, и каждый из них теряет по связи со своим старым соседом. И когда они уже выходят из зоны объекта1, сосед "объекта1" в очередном объекте удаляется и объектик отключается, потому что до этого стер своего первоначального соседа. Когда проводишь группу через запитанный участок,у них doublePlug (остается только один сосед) отрубается после прохождения участка.

А больше связей им делать нельзя, потому что будут в рекурсии друг друга поддерживать. Боль. Завтра попробую еще в апдейт запихнуть присваивание свободной переменной дополнительного объекта. По идее должно пофиксить эту вот "потерю соседа" после прохождения цепи объектов через запитанный участок.
783 777907
>>77897
Так я и написал, что этот вариант для линейного использования.

В динамике ты можешь тогда юзать не массив, а лист, и добавлять соседей через Add, но тогда нужно ограничение ставить на 2 элемента, либо прописать автосортировку массива при удалении (чтобы неnull всегда был под индексом [0])
784 777926
>>77907
Буду дальше ковыряться.
785 777966
Мля, такое чувство будто геймдев это не айти епт. Депутатом легче стать чем джуном.
Вакансий кот наплакал, а те что есть с требованиями заоблачными и тестовыми недельными. Да и даже на те вакансии по 40 рыл претендует.
Несправедливость бля, что веб мартышки научились за 2 месяца кнопки верстать и уже могут зарабатывать. А тут потеть приходится. Как сложность то сменить на легкую..
786 778022
>>77803
>>76870
После последней обновы 2021.2.3f1 пофиксилось само, слава аллаху. Так и знал что что-то поломали и кому-то не повезло встретить это.
787 778025
>>77966
так потому что все побежали куда, как им кажется попроще, ты почитай местную ветку, анон не знает что такое листы в c#, а уже инди свою пилит. Поэтому, сейчас требования выше, имей простое портфолио (3 в ряд, раннер и что-то по профилю), изучи хотя бы 1 книгу по языку и джун тебе обеспечен. По-хорошему, этого тоже можно за 2 месяца достичь, если планомерно делать
788 778026
Что я делаю не так? Почему углы еще сильнее скругляются? Я же вроде правильно углы обозначил, они же должны быть зафиксированы?
image.png13 Кб, 390x171
789 778027
>>78026
А все, разобрался, надо было этот параметр подрихтовать
790 778030
>>78025
Так я не ради портфолио пилю, я игру хочу сделать. А там уж че освою, то освою в процессе.
791 778032
>>78030
ты просто как пример, о том, что многие сейчас идут в геймдев без изучения основ, рынок забит, но забит только на уровне гастеров
изображение.png30 Кб, 936x866
792 778033
Анончик, я тут задумался вот о чем - все твердят что надо наследовать минимум монобехаверов, даже вон в кефире требуют тестовое задание - писать код без них. То есть все игровые сущности должны быть отвязаны от юнити... и все замечательно - но хоть один монобехавер должен быть

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

Один вопрос - разве это не гудобжект?

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

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

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

Да, допустим есть теория что множество Update снижают производительность - но давайте честно - на каких проектах это может стать проблемой? на клонах ангриберда для андроида?
793 778035
>>78032
Мне читка шилдта или лекции никаких знаний все равно не дают, как об стенку горох. У меня и в вышке например ООП было, так я нихуя не понимал, че там происходит. А задачи для примеров былы дохрена унылые, потому все лабы мы тупо скатывали.

Другое дело вместо штудирования теории сразу ебашить на практике то, что интересно. Через костыли, ошибки, лапшу и самому уже лезть в справочники, документацию читать по конкретной нужной именно в данный момент тематике. Так хоть какой-то интерес есть. Уже начинаю вникать и понимать по-немногу. Когда игрулька в юнити запускается, я хоть наглядно вижу, че написал, все поля на объекте в паблик вывел и зырю в них. Я не представляю, как эту муть можно изучать в отрыве от интересного практического задания.
794 778037
>>78025
Ты о чем блин. У меня уже на гите кучу тестовых с разными механиками. Есть еще свои пет проджекты: простая RTS, Тавер-дефенсе, шутер с разрушаемыми объектами и даже репа с где я пытаюсь в архитектуру.
Но всем похуй похоже. Что не отклик на вакансию - а сделай нам вот это еба-тестовое плиз. И похуй что там неделю делать, ты главное сделай. А, и не забудь плиз показать свои еба навыки плз, похуй что там геймплея на пару скриптов. Ты главное сделай еще 40 скриптов абстракции над ними, чтобы доказать что ты достоин нашей галеры.

А потом пидары ноют в чатах, что сложно найти разраба и приходится переманивать у других и вообще дефицит. Конечно бля, заниматься джунами то никто не хочет.
Хуевая короче ситуация в геймдеве у нас.
795 778038
>>78037
Значит единственный вариант, свою студию создавать. Брать туда, кого хочется и учить.
796 778051
>>78033
Когда ты пишешь клон ангриберда соло для андроида, можешь делать как тебе удобно.

Если ты гребешь на галере, то это может быть удобнее по тысячи причин. От написании тестов, уже готовой кодовой базы, единообразия и следования принятому код стайлу и т.д.
797 778052
>>78033
Тож делал так, потом заебало выебываться перед самим собой без толку и делаю нормально.
Но вообще тенденция конечно забавная - люди не доверяют юните и стараются архитектуру максимально отвязывать, чтобы чуть-что сьебать с тонущего корабля без проблем.
798 778054
>>78052

> с тонущего корабля


А что с юнитей может случиться так резко?
799 778058
>>78052
>>78054
Годоти, ну-ка съебали с треда.
800 778067
>>78054
Например в один прекрасный день осознаешь что у тебя c# уеч вместо юнити, со всеми вытекающими.
801 778094
>>78033
Короче вскрываю тему. Когда ты создаёшь скрипт - в нём автоматически будет войд старт и войд апдейт. Юнити гарантированно вызовёт эти функции. Ей поебать пустые они или нет. А вызов этих функций гарантированно не бесплатный. Это не причина не использовать апдейты, просто когда их становятся тысячи - это может стать проблемой. Это не миф, но это не так уж и важно.
Менеджеры же повсеместно считаются плохим кодом. Но всегда нужно находить компромиссы, верно? Для меня, например, отвязка от монобеха сработала просто идеально. Потому что все мои "гоблины" собираются из кода на лету, на вход нужен просто ГО и ничего больше. А вот теория о том, что можно просто взять свой код и портировать его на другой движок это абсолютная глупость. Ты всё ещё работаешь с апи, используешь библиотеки движка и встроенные компоненты, портирование этого всего потребует переписывания всего кода. Причём чем дальше ты от монобеха - тем сложнее портирование, лол. Как мне портировать маршаллинг байтов из NativeArray в MeshRenderer внутри JobSystem? А никак, за пределами юнити это всё не существует.
Максимально правильным для меня лично выглядит код с одним-двумя связующими звеньями между монобехом и твоим кодом, в пределах одной сборки. Если ты не используешь разбиение на сборки, то всё ещё проще.
802 778126
Припоминая дискуссию о поиске объектов по тегу, имени, типу и ненависть к строковым значениям, годится ли для поиска объекта пользоваться полями скриптбл обжекта? Даже если там только одна характеристика собственно и написана.
803 778167
Огромной массив с музыкой, которая бесконечно по кругу играет, сильно повлияет на производительность? И стоит ли сжать всё это? да конечно стоит
804 778168
Вопрос. Вот я написал вычислительный шейдор на полторы тыщи строк. А есть ли способы структурировать это говно?! Хотя-бы что-то вроде регионов в шарпе. Я заебался открывать закрывать функции и скролить всё это.
image.png11 Кб, 310x163
805 778178
Ебусь шарами в гугл.
Анон, выручай! Есть у меня кнопка со скриптом прикл1, есть миллион GO под названием слот (i) и скриптом InventorySlot. Каким собачим хуем мне со скрипта InventorySlot пингануть в Кнопку, чтобы присвоить в скрипте Slot нужный GO.
Более простым языком: как мне в коде указать референс другому скрипту EatFood.Slot = gameObject
806 778184
>>78178
Либо через менеджер у которого есть доступ и к скрипту и к объекту, или по поиску/месседжу.
Стандартный инвентарь выглядит так -> Есть менеджер который содержит в себе объекты(Клетки) и имеет доступ к ресурсам которые могут быть в этих клетках, и их связывает/развязывает. Сами клетки и объекты друг о друге не знают.
807 778185
>>78178
Все, не нужно, сам нашел
808 778186
>>78184
Я сделал так: скрипт самого слота я присвоил к рефу кнопки из скрипта слота.
Оказалось так легко, а я дегенерат часа 3 гуглил
809 778197
>>78168
Как на счёт cginclude?
>>78178
О, нихуя, платина.
image.png1,1 Мб, 1657x979
810 778204
>>78197

>Как на счёт cginclude?


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

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

с этим уже физически трудно работать.
811 778218
>>66778 (OP)
У кого-то скачан O'Reilly - Learning Path? Встаньте на раздачу плес, очень хочется себе в поезд первую главу скачать.
812 778234
Ускоряем работу с юнити примерно в сотню раз. Заходим в менеджер пакетов, видим там установленные по умолчанию пакеты райдера, вижуал студио и прочий треш. Сносим нахуй.
Заходим в Edit -> Preferences -> External Tools, выбираем в External Script Editor опцию Open by file extension. Не забываем назначить нужному типу файла нужный редактор. У вас там уже выбран нужный софт? Не-не, всё равно выбирайте by file extension.
Спорное решение, но может быть полезно. Открываем Edit -> Preferences -> Asset Pipeline, убираем галочку Auto Refresh. Теперь юнити не перекомпилирует скрипты при каждом изменении скрипта, нужно жать контрол+R. Сюда бы прекрасно зашло отключение компиляции при создании нового скрипта, которое должно выключаться галочкой Directory Monitoring, однако она не работает.
И напоследок мастхев, о котором все знают. Edit -> Project Settings -> Editor. Скроллим вниз, ставим галочку на Enter Play Mode Options. Галочки на Reload Domain и Reload Scene должны быть сняты. Данные опции пердолят статические переменные, не используйте статические переменные без чёткого понимания, что это такое. Спасибо.

Об assembly definitions. Разбиение кода с разными зонами ответственности на разные сборки это хорошо. Предположим, у нас есть папка с кодом GameWorld, папка Player и папка NetWork, с очевидным наполнением. Создаём в каждой папке файл assembly definition и проставляем зависимости - GameWorld спавнит Player'a, а тот отправляет по сети данные, используя NetWork. Теория - изменение кода только в одной из папок вызовет перекомпиляцию кода только внутри этой сборки. Практика - юнити проходится по цепочке зависимостей вверх и вниз, компиляция занимает больше времени, чем без asmdef. Использование сборок ускорит компиляцию только в том случае, если у вас есть независимые друг от друга цепочки зависимостей с большим количеством кода.
813 778240

> И напоследок мастхев, о котором все знают. Edit -> Project Settings -> Editor. Скроллим вниз, ставим галочку на Enter Play Mode Options. Галочки на Reload Domain и Reload Scene должны быть сняты. Данные опции пердолят статические переменные, не используйте статические переменные без чёткого понимания, что это такое. Спасибо.



Вот после этого я охуел конечно от скорости запуска сцены, но не понял прикола с статиками, вроде всё ок и у меня там хранятся данные типо денег
814 778242
>>78240
В статик классах переменные не сбрасываются между разными сессиями Play.
815 778244
>>78234

>И напоследок мастхев, о котором все знают. Edit -> Project Settings -> Editor. Скроллим вниз, ставим галочку на Enter Play Mode Options. Галочки на Reload Domain и Reload Scene должны быть сняты.



Примерно через полчаса работы схватил fatal error, благо привычка спасить ctrl+s/r перед каждым ctrl+p
816 778247
>>78234

>Теперь юнити не перекомпилирует скрипты при каждом изменении скрипта, нужно жать контрол+R.


Вроде для меня актуально, надо будет пробывать. Есть сотня скриптов и работаю с ними на автомате всё время проживая ctrl+s, из-за чего юнька вечно всю перегружает.
Они сами перекомпилируются при тестовом запуске в плэй моде? Подводных нету?
817 778250
>>78247

>Они сами перекомпилируются при тестовом запуске в плэй моде?


Нет. Я же сразу писал, что нужно прожимать вручную.
818 778258
Как реализуют смену качества графония?
819 778259
>>78258
Project settings -> quality
но нужно каждый SRP настраивать отдельно, чтобы у тебя минималки в говно не превращались
820 778312
>>66778 (OP)

>Rust


В игре когда сборщик мусора запускается происходит лаг. Разрабы с этим уже несколько лет ничего сделать не могут. Единственное решение это увеличивать размер буффера до максимума и запускать gc вручную перед файтом. Это реально не решаемая проблема заложенная в дизайне движка?
821 778317
>>78312
Не в движке дело, если мусор не собирать, то у тебя память закончится. Это проблема в разработчиках, слишком много срут в память и забывают подчистить. Автоматическая подчиска срабатывает когда говна уже многовато, потому возможны лаги.
822 778383
Удолил скриптбл бжект. Юнити выдает предупреждение create asset menu attribute will be ingored. Как это подчистить?
823 778384
>>78383
Все отбой, я ебанулся просто.
824 778409
>>78067
джва года такой жду
825 778420
>>78067

>c# уеч


Такого не будет, они пилят стих уже три года
826 778421
>>78234

>И напоследок мастхев, о котором все знают. Edit -> Project Settings -> Editor. Скроллим вниз, ставим галочку на Enter Play Mode Options. Галочки на Reload Domain и Reload Scene должны быть сняты.



Хуйня, короче. Вылетает и крашится редактор по кд, а жаль
827 778423
>>78421
Смотри, что у тебя со скриптами не так. У меня крашей нет.
828 778471
Есть какой-нибудь способ отображать light или halo перед спрайтом, а не за ним?
829 778492
>>78423
Reload Domain, как и сказал анон, сбрасывает статику, тогда как Reload Scene удаляет кэш сцены, поэтому как раз из-за скриптов вероятность вылета минимальная, а вот при работе с геймобжектами и графонием тоби пизда уже после 2-3 запусков без сброса
image.png14 Кб, 802x302
830 778497
Как отобразить вращение в редакторе не запуская сцену?
832 778499
>>78498
Не работает
833 778500
>>78492

>вот при работе с геймобжектами и графонием


Спавнил тысячи го без деспавна, мутил процедурные меши, террейны, навмеши, вольюмы со спецэффектами. С тех, как фича появилась, короче - с тех пор и пользуюсь. Вылеты крайне редки. Вчера, например, включил кеш сервер, но не забил айпишники - посыпались вылеты. Выключил и сразу всё ок. Не в кешах дело, короче, это у анона или проект битый или пизда чему-то.
вв2.jpg45 Кб, 875x319
834 778597
>>66778 (OP)
Сап аноны, может кто разъяснить, что за байда с таймером в юнити?

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

Ниже у меня действие - перезарядка, хочу чтобы на неё тратилось около 5 сек
По логике я
1. нажимаю на перезарядить
2. запускаю таймер
3. он отсчитывает 5 сек
4. запускает код перезарядки
5. возвращаю время перезарядки

И все довольны

Но этот падла вместо запуска таймера, просто останавливается, каждое нажатие на R он просто отсчитывает время нажатия и останавливаемся и так во всём хочу сделать таймер который ограничивает героя от нажатия взаимодействия, на это когда игрок быстро клацает по E берёт не один патрон, а 2-6 и опять таймер не помогает я как то обходил это через булевые переменные, но это звездец как муторно, запускал таймер в апдейте только тогда, когда срабатывал булевая переменная и отключал так же, но это дикие костыли и я думаю, что, что-то не понимаю в апдейте юнити проясните, если не трудно.
835 778604
>>78597
Ох ты ж ебаный насрал. Я не думал, что увижу такой хуйни. Ты что-то слышал про корутины и многопоточность? Если нет, то советую отложить пока свою поделку и начать с изучения юнити
836 778605
>>78604

>то советую отложить пока свою поделку и начать с изучения юнити


Ты охуел?

Единственное, что я знаю о многопоточности в юнити это метод Invoke, но это опять же предполагает, что в апдейте мне по умолчанию нужно запустить таймер и он будет постоянно там крутится.
837 778617
>>78605
Бля анон, тебе бы не юнити подучить, а базовые алгоритмы задрочить, потому що сразу видна логическая ошибка.
Таймер у тебя работает при нажатии соответственно он щитает только нажатие, выведи КД в апдейт.
Примерная логика такая:
start{ coolDawnTimer= 5f;}
Update
{
if(coolDawnTimer < 5f){щитаем таймер КД}
if(coolDawnTimer >=5f && "R"){Твоя перезарядка}
}
838 778618
>>78617
*мимодругойанон
839 778620
>>78617
>>78618
Спасибо, я примерно понял.
image.png349 Кб, 800x600
840 778621
>>78620
Тут собственно и нечего понимать, то что ты настрочил - это перезарядка зажимная: "Ал-я зайжмите на 5секунд R чтобы перезарядиться"мб кому пригодиться, по патрону заряжать . А так, советую обратиться все таки визуализации кода вида блок-схем, потому что ты не догоняешь как ты строишь алгоритм. Плюсом так можно выявлять алгоритмические ошибки в коде
48789.jpg38 Кб, 1017x491
841 778635
>>78617
Пчел чего то не работает твой алгоритм

public float = coolDawnTimer; //объявили

start
{
coolDawnTimer= 5f;//инициализировали
}
Update
{
if(coolDawnTimer < 5f) //С какого он будет сравнивать если как было 5 так и осталось , счётчик ты запускаешь после условия ?
{
coolDawnTimer+= Time.deltaTime; //щитаем таймер КД
}
if(coolDawnTimer >=5f && "R") //что здесь вообще происходит, мы должны нажать R и в тоже время таймер должен быть больше 5? Это как вообще? Мне нужно чтобы я нажал на R прошло 5 секунд за которые проигралась анимация и звук и уже после добавились патроны.
{
Твоя перезарядка
}
>>78621
Чувак я ценю твой совет, но уроки по информатики я прошёл ещё 26 лет назад и мне кажется я достаточно логично описал, то что хочу реализовать.

}
image.png9 Кб, 464x221
842 778641
image.png32 Кб, 956x519
843 778647
>>78635
Я тебе же примерную логику написал, мог бы допереть че к чему.
Условно кд который я тебе написал, можно еще хуеву тучу прикрутить типо прыжка или кнопки действия

>логично описал


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


Я бы все таки попробовал вспомнить, тем более 26лет прошло
844 778648
>>78597
Мимо.
Это ли не делается отдельным евентом , чтобы потом таймер в апдейте считать?
Типа нажал кнопку, сработал эвент, отсчитал 5 секунд и дестройнулся.
845 778649
>>78647

>Сап аноны, может кто разъяснить, что за байда с таймером в юнити?


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


Алсо, тут проблема не в самом таймере, а в его реализации. Если ты сам не понял эту ошибку, то без базы тебе будет ой как трудно. Любой нормальный программист тебе скажет, что кодить без задроченных алгоритмов, пустая трата времени, и ты скорее макак, который чето покусочкам собирает но не понимает, что в итоге у него выходит.
Проблема у тебя была в том что условие требует только нажатой кнопки в апдейте, то получается у тебя не секундомер анимации получается, а дебаг времени нажатия кнопки.
846 778650
>>78649

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


Чего?
847 778659
>>78650
Перед изучением языков программирования, будьте так добры научиться рисовать логические блок схемы
848 778668
У меня такой код работает. Правда хз, чому нельзя в for цикле написать WaitForSecondsRealtime(1), чтобы отсчитывать i от 5 до нуля и дебугом выводить таймер. Мб аноны пояснят. Когда в for сую WaitForSecondsRealtime(1), корутина моментально завершается.

public class Reloading : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.R))
{
StartCoroutine("Reload");
}
}

IEnumerator Reload()
{
Debug.Log("Reload started");
yield return new WaitForSecondsRealtime(5);
Debug.Log("Reload completed");
}
}
849 778678
>>78649

>то получается у тебя не секундомер анимации получается, а дебаг времени нажатия кнопки.



Пчел, ну чего ты, я же сам об этом написал
>>78597

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



>>78641
Вот это интересно,спасибо

>>78647
Я уже нашёл решение, но ещё раз хочу попробовать твой алгоритм.

>>78648
Вот именно, здесь должно быть что то простое я просто не верю что разрабы не смогли учесть такой элементарный нюанс.
850 778688
>>78641
А не запустит ли эта хуйня бесконечное число корутин? Или упадёт с ошибкой, мол, корутина уже бежит. Сам корутины не юзаю, слишком неудобные, просто спрашиваю. Сам бы такую хуйню реализовывал таймпштампами и стейт машиной.
851 778692
>>78668
>>78649
>>78648
>>78647
>>78641
Господа спасибо за помощь, попытку.
Но самый короткий и приемлемый для меня вариант оказался ниже.
>>78659
Пчел ну коман, не включай учителя информатики
852 778694
>>78678

>Я уже нашёл решение, но ещё раз хочу попробовать твой алгоритм.


Там суть в том что таймер который нужен - это первый if. Так ты можешь к нему прикрутить еще действия, помимо перезарядки, по такому же принципу. Как по мне самое простое и логичное решение
853 778695
Кстати парни ещё вопрос, скорее по оптимизации, насколько сильно загружает оперативку пк всевозможные таймеры? У меня на выстрел постоянно тикает таймер который отделяет по времени выстрелы, ну чтобы при нажатии игрок не высирал линии из пуль, насколько это плохо?
854 778696
>>78692
Нэ понял, я сам тестил, не ври!!!
855 778699
>>78694
Чел ну не работает твой алгоритм, я и в игре запускал и в отдельном скрипте, не работает он, просто считает до пяти и всё. Ты видишь на консоле что он считает время, но на самом деле он просто отсчитывает 5 секунд ты нажимаешь на кнопку он мгновенно совершает действие и опять отсчитывает 5 секунд.
Что бы теоретически он стал работать нужно первый блок засунуть внутрь второго, но вы здесь все меня уже обсосали за это, так что я опять даже пробовать не стану. Без обид, спасибо за попытку помочь.
856 778707
>>78641
Это кажется и есть пример много поточности, здесь работает стандартный апдейт и параллельно запускается while.
857 778709
>>78707
Наркоман? Корутины выполняются в мейн треде, никакой многопоточностью не воняет.
858 778710
>>78709
Например?
859 778712
>>78710
Что "например"? Юнити так работает. Каждый апдейт берёт каждую корутину в основном потоке и проверяет, прошло ли нужное количество времени. Если прошло - запускает код. Если нет, то нет. Это не многопоточность, это однопоточность.
860 778720
Очередной тупой вопрос врывается в тред. Вот есть у меня например объекты. Какие-то из них деревянные, какие-то металлические. Я мог бы создать class Things : ScriptableObject, туда запузырить поле material, создать два ассета Metal, Wood c соответствующими значениями material. И в монобехавиор скриптах в этих геимобжектах собственно создать объект класса Things thing= new Things(); выбрать туда нужный ассет. Потом ссылаться в других скриптах на это и так далее использовать как хочу. Писать GetComponent<имя скрипта>().thing.

А почему просто нельзя создать Монобехавиор скрипт, привязать к объекту(это ж в любом случае придется делать), назвать его для металлического предмета Metal, а для деревяшки Wood. В скриптах просто писать GetComponent<Wood>().

Что-то мне подсказывает, я нихуя не понимаю как люди используют эти скриптабл обжекты, определяя игровык объекты по параметрам. По сути мне нужно, чтобы скрипт определил, что мы столкнулись с Metal или наоборот Wood, и тогда начинаем исполнять код.
861 778724
>>78720
Скриптейбл это типо базы данных, скрипт, который сохраняет информацию. В твоём случае он не нужен.
862 778727
>>78724
То есть, когда я пытаюсь определить, какой например объект вошел в мой коллижнентер, мне нужно просто добавлять к объектам отдельные компаненты. И каждый компонент - пустой монобехавиор. Допустим скрипты Тяжелый : монобехавиор и Проводник : монобехавиор будут пустыми. И нужны только как компоненты с названиями. Из других скриптов буду проверять если геткомпонент<Тяжелый>, то пошла какая-то хуйня. Так? На каждое свойство отдельный скриптик создавать. Или есть альтернатива?
863 778730
>>78727
Если бы у тебя был ецс, то я бы сказал "да, охуенно, делай так". Но раз у тебя монобех, боже упаси тебя делать так. Посмотри в сторону енумов, так можно просто парой интов задать все свойства. Type.heavy = 0 и так далее.

>public enum Type { heavy, light, shitty };

864 778736
>>78720
Не очень понял, вобще о чем ты говоришь, но попробую высрать свои 5 копеек.
SO - такая абстрактная хуйня, которой ты можешь классифицировать предметы между собой типо: оружие/щиты/еда и тд те у тебя будет 3 типа SO с разными хар-ми и из этих типов ты можешь создать еще отдельные SO с различными хар-ками типо сколько защиты у щита.
К сути. Как я понял ты хочешь описать столкновение или что то в этом духе металлических и деревянных объектов что по сути 3 скрипта минимум. Используя SO ты можешь написать один скрипт, просто в начале скрипта обраещаешься к свойствам SO объектов, берешь их и работаешь. Ну как то так скорее всего я ясности не внес
865 778737
>>78730
два чаю анону с енамом
866 778740
>>78730
Все круто, но мне ж все равно нужен отдельный монобех, привязанный к объекту. Зачем проверять if (other.gameObject.GetComponent<имя_скрипта>.type.shitty), если я сразу могу написать other.gameObject.GetComponent<shitty>. А к самому шитти объекту приклеить пустой sitty : MonoBehaviour.

>>78736
Не получится написать один скрипт. Потому что Металлические предметы взаимодействуют с одними объектами, магнитами например, а Дерервяшки с источниками огня. То есть уже как минимум будет два отдельных скрипта на притягивание магнитом Металлического и поджигания источником огня Деревянного.
867 778741
>>78740

> Потому что Металлические предметы взаимодействуют с одними объектами, магнитами например, а Дерервяшки с источниками огня.


Тем более.
Берешь пишешь скрипт на взаимодействие типов айтемов магнит с металом и тд друг сдругом, и присваиваешь SO в этом скрипте. Далее в скрипте берешь св-ва SO тип/сила че угодно, и по типу айтема проворачиваешь свои действия
868 778753
Коммент у этому коду:
>>78641
Если ты хочешь, чтобы при запуске корутина выполнялась заново, то надо в параметр надо передавать строку, а не функцию, вот так
StartCoroutine("Reloading")
StopCoroutine("Reloading")

Не могу блять этим не поделиться, а то я на этом такую собаку съел, анону не пожелаешь.

Например, есть:
IEnumerator Kek()
{
yeld return new WaitForSecinds(5):
print(перезаряжаю)
yeld return new WaitForSecinds(3):
print(сру)
yeld return new WaitForSecinds(1):
print(умираю)
}

Вот как это будет, если передать функцию, а не строку:
StartCoroutine (Reloading())
// Через 5 сек выдаст "перезаряжаю"
StopCoroutine (Reloading ())
StartCoroutine (Reloading ())
// Выдаст сру, хотя хотелось бы, чтобы весь код начал выполняться сначала, то есть, чтоб выпадало "перезаряжаю".

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

Бесит, что вся логика зависит в зависимости от того, что ты передал, строку или функцию. Хуйня, разрабы дебилы. Сделали бы строго, чтобы передавать можно было только что-то одно. А вторым параметрам сделали бы флаг, который отвечает за то, что делать при запуске корутины: продолжать с того места, где она остановилась, или начать выполнять код с нуля.

}
868 778753
Коммент у этому коду:
>>78641
Если ты хочешь, чтобы при запуске корутина выполнялась заново, то надо в параметр надо передавать строку, а не функцию, вот так
StartCoroutine("Reloading")
StopCoroutine("Reloading")

Не могу блять этим не поделиться, а то я на этом такую собаку съел, анону не пожелаешь.

Например, есть:
IEnumerator Kek()
{
yeld return new WaitForSecinds(5):
print(перезаряжаю)
yeld return new WaitForSecinds(3):
print(сру)
yeld return new WaitForSecinds(1):
print(умираю)
}

Вот как это будет, если передать функцию, а не строку:
StartCoroutine (Reloading())
// Через 5 сек выдаст "перезаряжаю"
StopCoroutine (Reloading ())
StartCoroutine (Reloading ())
// Выдаст сру, хотя хотелось бы, чтобы весь код начал выполняться сначала, то есть, чтоб выпадало "перезаряжаю".

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

Бесит, что вся логика зависит в зависимости от того, что ты передал, строку или функцию. Хуйня, разрабы дебилы. Сделали бы строго, чтобы передавать можно было только что-то одно. А вторым параметрам сделали бы флаг, который отвечает за то, что делать при запуске корутины: продолжать с того места, где она остановилась, или начать выполнять код с нуля.

}
869 778768
>>78740
Ты мыслишь узко. Мысли шире. Тебе не нужен скрипт, привязанный к геймобъекту, если у тебя будет геймобъект, привязанный к скрипту.

>if (other.gameObject.GetComponent<имя_скрипта>.type.shitty), если я сразу могу написать other.gameObject.GetComponent<shitty>


Потому что ты можешь сделать сразу

> switch (type)


> {


> case type.wood:


> burn();


> case type.metal:


> NotBurn()


> break;


>}

870 778772
>>78753
У меня та же история с Объект.SetActive(true) для объектов и Компонент.enabled = true для компонента.
871 778773
>>78768
А как мне вызывать сам burn()? Есть способ следить за коллаидерами вне монобехавиор, которые к объектам прикручены?
872 778774
>>78772
Не понял, что за история? В чем тут трабла? Только не говори, что если установить setActive(false) то все его компоненты все равно рабочие, в смысле, выполняются
873 778775
>>78774
История в том, что в одном случае это метод, а в другом случае свойство компанента. Я постоянно путаю, че в каком случае писать. Почему нельзя было сделать активацию и деактивацию компанентов тоже методом, как с геимобжектами? Ну или свойство enabled геимобжектам запилить. В инспекторе они и те и те галочками включаются.
image.png174 Кб, 1680x872
874 778785
Сап двач, подскажите зелёному. Каким образом вызывается метод Start или прочие мною написанные методы, если они нон-статик и экземпляры класса я не создаю? Правильно ли я понимаю, что Юнити сама создаёт экземпляры класса и сама вызывает эти методы через объекты? И если так, как я могу пощупать эти экземпляры?
Или я дурашка и то, что я навешиваю скрипт на объект - это как бы уже есть экземпляр этого класса? Тогда нихуя не понятно как работает статика, если мне надо для её использования навесить на объект, что уже не будет статикой.
875 778788
>>78785
Я тоже зеленый и делаю так. В скрипте класса monobehaviour, что в объекте привязан создаю объект класса, в котором содержится нужный мне метод. И через на объект класса вызываю. Но если надо по-другому, аноны отпишут.
876 778796
>>78788
Ты вопроса немного не понял. Например создаёт дефолт скрипт. В нём есть стандартный не статический класс и не статический метод Start. Пишем в Start Debug.Log("Test"). Навешиваем на объект. Какого хуя мы увидим текст, если у нас не статический метод, который нигде не вызывается нами?
877 778797
>>78773

>А как мне вызывать сам burn()


Так я код написал, алло.

>Есть способ следить за коллаидерами


Магические методы типа OnCollisionEnter можно ловить только через монобех.
>>78785

>Юнити сама создаёт экземпляры класса


Какие, в пизду, экземпляры? Ты класс создал, который скрипт-монобех. Юнити, по сути, рефлексией ебошит, находит все функции по имени и составляет списки.

>как работает статика, если мне надо для её использования навесить на объект


Так не нужно же. Или ты про статические переменные? Это другое. А статик класс просто создал и никуда не навешиваешь.
878 778803
>>78797
Если все равно монобехи нужны, не проще ли прямо в них писать burn(), notburn() и другие методы. Я просто тупой и никак не могу понять преимущество перечислений.

Вот у меня есть условный wood : monobehaviour
В нем метод горения описан, а вызывается на коллижн ентер, если other имеет компонент firesetter допустим. Так вот этот firesetter просто пустой монобех, который как свойство прикреплен к геим обжекту источнику огня. Что нужно сделать, чтобы заменить это на перечисления? Каким образом я могу навесить на источники огня (разные объекты) свойство firesetter, хранящееся в качестве элемента перечисления? Если определять источник огня будет wood : monobehaviour через геткомпонент монобеха источника огня во время коллижена. В каком месте источника огня будет храниться значение перечисления type.firesetter? Раз уж заменить обычный firesetter : monobehaviour на элемент перечисления?
image.png640 Кб, 1280x720
879 778806
>>66778 (OP)
Анон, подскажи где украсть Спайн. На торрентах не валяется.
880 778844
>>78803
Дохуя компонентов это неудобно, это медленно, это хуёво кодировать, сам геткомпонент работает относительно медленно, ты хуй когда сможешь предсказать в каком порядке вызовется апдейт на одном из тысячи твоих компонентов. Короче, залупа.
881 778853
>>78844
Да я согласен, что залупа, а как делоть то? Вот нужно отследить, что два объекта с определенными свойствами пересеклись коллаидерами. Как это детектить, кроме как в их внутренних монобехэвиорах?
882 778857
>>78853
Один компонент вместо тысячи. Сам бы я делал через не-монобех с монобех прокси, но это путь ебаната, ты не поймёшь.
883 778859
>>78857
Я правильно понял, что абсолютно у всех объектов (в том числе управляемого игроком) должен быть ОДИН одинаковый монобех, который выполняет стандартные старт, апдеит, колижн/триггер-ентер/екзит и прочий стаф? А расписывать все поведение нужно в куче других скриптов и интерфейсов, которые будут подменять значение каждого конкретного метода(старт апдеит и т д) в зависимости от владельца монобеха и других владельцев этого монобеха при взаимодействии объект-объект или объект-игрок.
884 778862
>>78859
Ты какую-то хуйню расписал, которую я хуй понял. Пиши код, короче, чтоб был заебись. Нормально всё сделаешь - нормально будет.
885 778863
>>78862
Я и пишу, а тут говорят, так низя.
886 778869
>>78863
Прыгни с крыши
887 778870
>>78869
Хуй вам.
888 778875
>>78870
Ты же слушаешься что тебе говорят
889 778876
>>78875
В основном шишки своей головой бью. Мозгов не хватает во все сразу вникать.
890 778880
Если меня забанят в годоти треде, тут я тоже не смогу постить?
891 778882
>>78880
По всему /gd. Если приползёт мочухан с глобальной мочеркой, то и всему 2ch. Рекомендую общаться на тему годота в движкосрачетреде.
892 778900
>>78712

>Это не многопоточность, это однопоточность.


А как многопоточность сделать? И нужно ли вообще?
мимопроходил
893 778901
>>78806
DragonBones юзай
894 778925
>>78900
Да, нужно. Однопоточные игры из 90х до сих пор тормозят на разных 90000000999990000kkk. Гугли Job system, для их использования не требуется ецс, ты можешь работать с обычными gameobject. При этом многое джобсы выполняются в мейн треде, лол. И если будешь юзать джобсы, забудь про группировку трансформов по родителям, вываливай всё в разных родителей, так работает быстрее.
895 778930
>>78900
async await
896 778936
А если кратко, что такое многопоточность? Можно распределить разные задачи на несколько потоков? Типа один поток ищет пути, другой двигает объекты? У меня например на процессоре 6 ядер 6 поток. Значит, мне можно использовать 6 потоков?
897 778937
>>78936

>Типа один поток ищет пути, другой двигает объекты?


да, но не так тупо, 1 поток загружает тяжёлый объект (след.уровень или кат.сцену), а второй позволяет продолжать игру. Деление взаимосвязанных вещей по потокам (путь зависит от положения объектов) приведёт к ошибкам, так как значения переменных не будут совпадать
898 778964
>>78937
А как интересно в каком-нибудь факторио реализовано. Там одна гигантская сцена, в которой все работает одновременно.
899 778986
>>78964
А там нету епты, все в одном потоке
900 778987
>>78986
Ну и норм хуле, 10к спм и в монопотоке прекрасно себя чувствуют.
901 779001
>>78964
Факторио грузит процессор на 20% и показывает 30 кадров в лучшем случае. Отличный пример того, что однопоточные игры должны умереть.
902 779005
>>79001
нихуя ты пизданул
903 779006
>>79001

Знаю только одну игру, которая нормально может в потоки - это Arma 3. Но зачем это инди даунам с их инди говном?
904 779031
>>79006
Так инди говно тормозит же. Конечно, инди даунам похуй, а вот игроки страдают. Хотя в арме тоже лоу фпс, не знал, что она умеет в мультитрединг.
905 779033
Поздравьте долбоеба. За ебучий месяц наконец-то допер, как оставить на все игровые объекты один монобех со ссылкой на скриптабл объект ассет. В скриптабл объект расписаны, для каких объектов, атрибутов, состояний какие методы исполнять. Спасибо анону >>78857. А сами методы хранятся в отдельных классах каждого конкретного атрибута, объекта или состояния. И этот монобех теперь нужно запузырить на любой предмет сцены, чтобы он по своему скриптабл объект ассету сориентировался, что ему делать или как с ним взаимодействовать остальным.
906 779046
Кто нибудь в курсах как убрать начальную заставку юнити? Чисто эстетически раздражает. Игру не собираюсь выкладывать в маркет или в стим.
907 779048
>>79046
Лицензию покупаешь и можно убирать.
908 779112
>>79048
Классная шутка. Но меня бесплатные варианты интересовали.
909 779125
>>78604
Тебе самому бы стоило начать заного изучать юнити.

Корутины у него в юнити многопточные, охуеть просто.

>>78605
Как и корутины он лишь асинхронен. Просто уточнение.
910 779126
>>79112
Это единственный способ. Можешь поставить рядом свое лого или взять и скомпилировать из исходников юнити 5.x, вырезав вызов заставки.
911 779127
Котоны подскажите, в новой системы Input-a есть какие-то плюсы, если билдишь только для одной платформы и тебе не нужны разные пресеты управления?
912 779128
аноны, есть ли реальные цифры по уровню ЗП разработчика Unity?
Хочу сменить профессию и вроде даётся всё легко-понятно и душа лежит, но я продаю табуретки и пержу в них за 120-180 к/мес, можно ли надеяться на дроп в ближайшем будущем?
913 779131
>>79128
Лучше продолжай табуретки продавать и пили какие-нибудь свои проектики.
914 779132
>>79131
да в том то и дело, что заебало. В принципе, есть бюджет чтобы полгода-год сидеть дома и заниматься только разработкой, поэтому хочу уволиться с расчетом трудоустройства хотя бы джуном до наступления голодной смерти, мне бы понять на что надеяться в ДС2, потому что разброс от 40 до 200 т.р по hh.ru
Устраивался ли кто-то недавно, или шерстил рынок?
915 779135
>>79126

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


А как? Это законно без покупки?
мимопроходил
916 779137
>>79135
Пять секунд в гугле: https://zen.yandex.ru/media/id/5e5693545a0acf593cd9b7bc/nastroiki-proekta-v-unity-nastroiki-ekrana-zastavki-5e80e6f096544a69b3c4f06d

На бесплатной версии нельзя снизить прозрачности меньше 0.5 и убрать лого, больше никаких ограничений. Логотипов можешь ебашить сколько хочешь, после юнитековского.
917 779148
>>66778 (OP)
Попрозили по ТЗ сделать 2д-проект типа флэппи бёрд. Считается ли 2.5D-игра за 2D? И стоит ли такое делать? Или запилить хуйню с примитивами - и меня возьмут?
918 779155
>>79132
Никуда ты на такую зарплату не устроишься, сиди на жопе ровно
919 779169
>>79128
В начале скорее всего будешь джуном за - от 0руб до 20к. Далее как повезёт, но первое время доход будет около 0, пол года-год. При условии что будешь ебашить чуть ли не 24/7.
920 779243
>>79169

>от 0руб до 20к


может спросил не так, но я не вкатываться собираюсь, вполне шарю по паттернам и архитектуре, хочу через месяц ЕЦС начать осваивать. Мне просто интересен уровень ЗП, потому что пиздец скачет. Бывает ли реально у мидла 150к или там максимум 60?
921 779251
>>79243
Так сразу бы написал. Конечно если шаришь можешь изи делать под сотку, до 200 уже сложнее т.к вакантные места заняты и с улицы без портфеля не берут, ну и выше 300 уже сам понимаешь сеньёры помидоры проекта, ну там больше командование чем писяконье кода.
922 779268
Чисто в теории, если у меня спиздят исходники и опубликуют игру от своего имени, но перед этим я в жопе какого-нибудь скрипта запрячу создание константы с своим именем и т.д и т.п и потом игру каким-нибудь анализатором прочекать на наличие этой константы по типу иды про, смогут ли мне помочь и из стора выпилить пидора?
923 779272
>>79268
Если предоставишь пруф авторства то конечно
a57f77bf-959a-4181-87f2-c5368ebd1dc5.webm1,9 Мб, webm,
2560x1440, 0:18
924 779273
Сеньоры, помогите!

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

Как сделать так, чтобы камера при ресайзе по высоте вела себя так же, как и при ресайзе по ширине? Ищу такое, чтобы можно было настраивать размер камеры как по ширине, так и по высоте. В юнити это настраивается одной переменной orthographicSize, а я хочу, шобы не одна переменная, а две...

Помогите...
925 779276
>>79268
Нет конечно. Декомпиляция игры же запрещена, а доказательства, полученные незаконным путём - суд не учитывает.
926 779281
Вот есть в юнити функциональность serializefield на публичных полях или со специальной пометкой в монобехе. Очень удобно дебагать. Но я пишу все взаимодействие в отдельных классах, а потому в монобехи самих объектов никакой инфы не вывожу. Мусорить временной дебажной инфой не хочется. Очевидный выход следить за происходящим - писать вывод в консоль прямо в методе класса. Есть ли более удобный способ выводить нужные мне данные например с содержанием списков, массивов, логических переменных и прочих значений, чем в дебуг лог в консоль писать. Пока в голову пришел только способ отдельно в монобехе создавать ссылки на поля класса и потом удалять и по окончании отладки. Может я че упускаю и поудобнее инструменты есть.
321.mp4223 Кб, mp4,
960x528, 0:07
927 779284
Пацаны, как в юнити делать то что на шебмке? Это из констракта объект лист. Я нашел только scroll view и для каждой ячейки объект текст создавать, другого пути нет? С текстами если тыщ 10 создать уже лагает. Еще видел скрипт ListView, но это кажется только для редактора
928 779285
>>79273
держи хороший канал, лист про адаптивный UI как раз для тебя

https://www.youtube.com/watch?v=WWkJ1-hlGZc
929 779286
>>79281
более удобный чем дебаг - аттачить студию к юнити и смотреть значения, не?
930 779292
>>79285
Анон, подскажи, как можно в if проверить, что у меня UI-кнопка в сцене нажимается непосредственно перед вызовом метода? Хочу сделать так, чтобы игру можно было начинать как с пробела, так и с кнопки этой, а она ничего не делает, кроме того что выводит лог в консоль.
931 779293
>>79285
Мне кажется мне как раз не нужна адаптивность, я хочу чтобы любой объект в окне оставался одного размера, в случае с юнити при смене размера камера приближает/отдаляет, я не хочу этого...
932 779298
>>79286
Так вывод надо самому писать или нет?
933 779303
>>79293
а, я сразу не прочитал что ты написал, подумал, ты страдаешь от того, что объекты в камеру не влезают, хз как полностью решить задачу, ты можешь сделать камеру физической и в настройках Gate Fit указать Fill, отдаление будет, но не такое
>>79292
эм, вынести прыжок в отдельный метод и указать кнопке его выполнение
934 779304
>>79298
в смысле, точка останова тебе говорит о чем-то? именно так значения по полям смотрят, дебагам обычно только пингуют работоспособность
935 779305
>>79303
Ну так ты на код посмотри. Всё он вынес. Кнопке тоже всё указано, она в инспекторе игрока выбрана.
936 779308
>>79305
а ты сам смотрел? он при нажатии прыжка вызывает метод на кнопке и отдельно задаёт какие-то параметры, тогда как это должны быть ВСЁ 1 метод и в Update должно стоять if (..."Jump") {JumpYoba();}, точно так же как и на кнопке отдельно указан JumpYoba, а тут какая-то хуй пойми солянка
937 779326
>>79304
Это ебля какая-то, постоянно паузу тыкать, лучше уж в монобех ссылками насрать и в окне юнити уже следить.
image.png132 Кб, 1838x1330
938 779334
Засунул объект в канвас, потыкал настройки и каким-то магическим образом теперь ничего не приближается и не отдаляется, ура!

Теперь вопрос - это нормально, что, допустим, оюъект игрока будет дочерним канваса?
939 779354
>>79334
Не городи велосипеды, не можешь сам нормально камерой управлять как хочешь - делай через ассеты, как и все юнити разработчиикc (например Cinemachine).

Еще в этом видео можешь посмотреть https://youtu.be/-Ii3MrJFBkQ и это https://youtu.be/aLpixrPvlB8
940 779355
>>79354
Первое с 17:40, чет ошибся со временем.
941 779373
>>79273
Нахуя?
942 779376
>>79284
Да, для каждой строчки отдельный объект текст, просто юнити не для этого.
943 779433
Почему неиспользуемые никак скрипты попадают в билд игры? Мне вот например нахуй не нужны скрипты меняющие редактор в конечной игре
944 779436
>>79433
В настройках проекта ставь вырезку и желательно оптимизатор с++, и сверху бустер по полной. В конечном билде не будет ничего что не используется в игре.
945 779439
Отдохну недельку от юнити. А то че то удовольствия уже нет
946 779445
Как научиться писать скрипты через ивенты и построить на этом архитектуру? Заебало писать говнокод с кучей связей и прочей ебалы, а по-другому не умею.
947 779448
>>79445
Самый простой вариант это скачать чужую игру и посмотреть как там реалтзовано.
948 779452
>>79448
Ага, пиздец простой вариант в чужом говнокоде копаться

>>79445
брать и писать, блядь, что за вопрос? юзай туториалы на ютубе, создай 20 ГО, свяжи их через эвенты, пиши на всю хуйню через делегаты, через экшоны, пару дней и ты на коне
20211201-185134.webm3,8 Мб, webm,
640x364, 0:20
949 779459
У меня другая проблема, не могу прекратить проигрывать. Пилишь такой, пилишь, нажал плеймод истерика на две минуты.
950 779470
>>79459
Найс! Уже лучше чем у 95% анонов с гд.
951 779472
>>79452

>Ага, пиздец простой вариант в чужом говнокоде копаться


Там был вопрос о структуре и её выстраивание, а не о говнокоде. О картине в целом так сказать, и для этого как нельзя лучше подходит просмотр уже готовой игры, а именно её проекта. Если не понимаешь о чём речь, не встревай.
952 779473
>>79448
подскажешь где взять?
953 779481
>>79439
Насколько обычно тебя хватает?
image.png43 Кб, 177x195
sage 954 779519
>>79459
ля сука каракатица ебаная, но выглядит забавно
image.png232 Кб, 490x391
955 779552
956 779593
Как адекватно менять положение модельки персонажа через инверсивную кинематику тягая его за голову?

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

А вот с головой и туловищем проблемы, как быть с приседанием?Блендить переход в анимацию сидения на кортах, когда HMD опустится ниже установленной высоты или есть более элегантные и реалистичные решения?
957 779622
Анон, я знаю ты очень умный. В игровых уровнях собираются однотипные коллектаблсы и ведется их общий счет. Нужно, чтобы при загрузке сцены проверялось, если коллектблс уже был собран, отключить его. Добавлять каждому коллектаблсу индекс в монобехе вручную и потом проверять массив этих индексов конечно работать будет, но как-то неудобно. Есть изящный способ такое реализовать иначе?
20211202-212327.webm4,1 Мб, webm,
656x320, 0:20
958 779625
>>79470
Так-то это всё бесплатные ассеты из интернетов. И даже анимации. Уже 15 строк в файле кредитсов, лол. Деваха только, походу, пизженная из какой-то игры и выложена на сток, но я потом переделаю. Может быть.

>>79519
Потому что анимация ног от какого-то спецназера была, а слой анимации рук отключён. Потому я и проигрывал. Сейчас вот охуеваю с ротейшонов, хуй поймёшь, как пистолет ориентировать, чтобы он был, как надо. Как не надо получается, а как надо - не получается.
959 779641
Сап юнитач, кто-нибудь делал сетевые игры? Какими решениями пользовались? Самописные серваки или брали готовые решения?
960 779653
>>79641
Пытался на паре популярных фреймворках, слишком муторно и сложно когда становится много зависимостей и механик.
Как в одиночной игре, но помноженной на х* сложность. Но я делал рпг+один сервер.
Если делать кооп например через облако по типу локальных комнат, и простую по механикам игру, думаю не сложно.
961 779654
>>79622
лол ну собери их в один массив в начале, присвой им индекс например исходя из их позиции в мире и веди список собранных.

но лично я бы просто сделал в юнити редактор который бы на указанных в этом редакторе точках сам размещал хуйню и вёл учёт этих индексов чтобы ничто никогда не перепуталось.
962 779657
>>79641
Если пользоваться стимовскими решениями, ебли становится намного меньше
963 779666
>>79657
Когда делал стимовские ачивки и карточки, то чекал все доки, и разницы между другими фраемворками не заметил, везде либо предоставляется хостинг с комнатами, или же сам ебёшься серверами.
964 779667
>>78605

>Ты охуел?


Да, и?
>>79125
Корутины у него в юнити многопточные, охуеть просто.
Совсем далбаэб, да? Это ты почему-то в своих фантазиях решил увязать корутины с многопоточностью? Перечитай ещё раз мой пост, дядь
965 779692
>>79667

>Ты что-то слышал про корутины и многопоточность?


Пиши внятней тогда, хлебушек. Я лично тут вижу очевидную связь в том как ты построил предложение и браваду ньюфага который советует другому ньюфагу выстрелить себе в ногу. Многопоточность это настолько глубокая жопа, что лезть туда без большой необходимости не надо и не стоит даже думать и упоминать о ней.
966 779693
>>79436
Где это?
967 779694
Так, зарегался на юнити, уже скачиваю.
Хочу запилить что-то вроде гостраннера, только быстрее чем та ебаная черепаха. На графоуни не дрочу, но насколько хуже графон юнити хуже уе4 в котором и был сделан раннер, и насколько сильно с ним придется ебаться в юнити?
968 779695
>>79694
Покеж, че на уе делал.
969 779697
Подскажите сайты где сливают ассеты из стора.
970 779698
>>79695
На уе я нихуя не делал и даже лезть в это очко не хочу. Я говорил про https://store.steampowered.com/app/1139900/Ghostrunner/
971 779699
>>79694

>но насколько хуже графон юнити хуже уе4


Ни на сколько, на юнити много чего графонистого сделано
972 779701
>>79694
Графон как в гостраннере юнити без проблем должен осилить.
973 779703
>>79694

>насколько хуже графон юнити хуже уе4


Графон уе4 намного хуже графона юнити с 2018 года.
https://www.youtube.com/watch?v=DDsRfbfnC_A
974 779704
>>79692

>Пиши внятней тогда, хлебушек.


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

>Многопоточность это настолько глубокая жопа


Ясно, для тебя многопоточность это уже сложно. Понял. Удачи тебе, хуле
975 779705
>>79704

>для тебя многопоточность это уже сложно


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

С тобой тоже все ясно, восторженный вкатывальщик. Попробуй релизнуть хоть одну игру для начала.
976 779710
>>79697
В гугле забанили? Ищешь нужный ассет и ищешь его со словом "скачать".

Еще можешь по гитхабу искать, многие не заморачиваются и не прописывают плагины в .гитигнор, оно попадает на гит - его удаляют, но оно остается в истории коммитов.
977 779713
>>79693
Сори показать не могу, инфа важная
978 779715
>>79713
Чего? Ты хоть обьясни, что такое вырезка или как это загуглить? По твоему посту только настройки для графония нашёл, а мне бы скрипты убирать
image.png778 Кб, 616x462
979 779719
>>79715

>не знать что такое вырезка

980 779729
Как реализовать поворт персонажа через нажатие на экран, чтобы поворачивался в сторону тапа?
При использовании кода с первого пика после нажатия перса разворачивает левее, потом почти не реагирует на нажатия.
Скрипт привязан к выделенному чару на втором пике.
Обязательно нужно юзать raycast?
981 779735
>>79697
>>79710
А неужели с вами ничего сделать не могут по авторскому праву?
982 779736
>>79735
Если ты миллионы начал зарабатывать, твою игру могут декомпилировать и найти доказательство того что ты спиздил часть кодой базы и у тебя нет на нее нужной лицензии. В любом остальном случае всем похуй.

Но мы же знаем, что шанс этого крайне мал.
Sandy.webm36,9 Мб, webm,
1680x1050, 0:45
983 779777
Тыкал в разные методы перемещения хуйни по карте векторов. Какую я песочную хуйню случайно сделал! Понравилось.
984 779780
К слову о перемещении. Портанул свою поделку на андроид и обнаружил какой-то недостаток плавности. Замерив фпс, понял, что дело не в нем. Сейчас игрок передвигается по полю через изменение параметра ригидбоди.велосити. Есть ли какие-то еще способы двигать игрока плавно, не мешая физике столкновений?
985 779781
>>79780
а чё ты велосити то тыкаешь? через АддФорс перемещай
986 779788
>>79781
Гм а есть принципиальная разница между аддфорсом2д и обычным? В 2д нет режимов ускорения и скорости. Но я ж могу просто 0 по зету вписать и обычный использовать.
987 779813
>>79777
Выглядит шикарно. Если бы скринсейверы в 2kXXI году еще использовались, то посоветовал бы тебе его сделать
988 779839
>>79780
Уже перемещаю через addforce, на компе все плавно. Ставлю лок 60, плавно. На планшете плавности нет, хотя фпс мониторы показывают 60 кадров. От чего так может быть.
image.png510 Кб, 1633x1022
989 779849
>>66778 (OP)
Аноны, пытаюсь затекстурировать Terrain

Мужик на видео добавляет слой с текстурой и он сразу может рисовать кистью с этой текстурой
таймкод https://youtu.be/MWQv2Bagwgk?t=676

Но когда я выбрал слой и выбрал кисть - я нихуя не могу рисовать. Курсор просто не меняется на кисть. Почему? Куда нажать?
image.png492 Кб, 1633x1022
990 779850
991 779851
>>79839
Не может такого быть, если физических объектов не слишком много. Скорее накрутил с эффектами и поспроцессингом так, что не вывозит. Попробуй в чистом проекте реализовать и тоже количество физичных объектов и затести перемещение.
992 779852
>>79851
Пост-процессинг вообще не делал, там голый прототип игромеха. Есть какие-то дефолтные нагружные настройки? В Quality поставил медиум, Физических объектов тоже неособо, 5-10 коллаидеров и ригидбоди на сцене. Velocity Iterations с 8 до 4 снизил. Стало лучше, но какие-то микрофризы проскакивают по ощущению. Где еще подкрутить?
993 779853
А как увеличить дальность прорисовки в редакторе?
А то вот были деревья, я отъехал и их уже нет
image.png1,6 Мб, 1920x1051
994 779856
Охуеть. Дохера всего сделал, сохранил проект. Открываю его снова и вместо моего пиздатого ландшафта вижу какую-то демку. Это вообще что
image.png221 Кб, 860x1025
995 779861
>>79710
Да там один скам с левыми ссылками, 10 переходами по рекламным банерам где нужно решать капчу 3-4 раза, ждать 20-120 секунд на каждой.
А по итогу попадаешь на платный файлообменник с которого скачать можно только заплатив за прем.акк.
Нашел только один сайт где была бесплатная опция скачивания. Но после всего этого ада с порнобанерами и скачки 140 мегабайт на черепашьей скорости за 2 часа .unitypackage оказался битым и не распознается даже унпакером.

Если знаешь парочку годных напиши.
996 779862
>>79856
У тебя на скрине открыт демо-уровень.
Если изменял его, а он откатился, то рип.

Если делал на другой сцене - открой ее.
997 779865
Есть вещи, которые мне не дано понять. Вот скачет на планшете фреймрейт между 60 и 30. Видно же, что не в производительности дело. Все холодное, частоты низкие, оверлеи летают, а игра тормозит. Ебнул на рандоме fixed dpi 500. Все летает. Сука че за хуйня блять.
998 779867
>>79865
Убрал fixed dpi, выставил ультра пресет, стандартную физику, все равно все летает... Я ж пришел к тому, с чего начинал. Хуле оно лагало то тогда...
999 779878
>>79861
Один на гите нашел когда захотел посмотреть, что он может. А так, мне это не нужно было никогда особо, хватает бесплатных.
1000 779879
На большом отдалении от сцены, не видно, где я мазнул кисточкой с травой, а где еще нет. Как это решить?
demo2.gif8,1 Мб, 1225x702
1001 779881
Что блять происходит?
Что-то сломалось и теперь при приближении и удалении камеры я нихуя не вижу
1002 779884
>>79852
Самый простой способ это профайлером посмотреть что кушает, и от этого отталкиваться. Если голая меха, то либо где-то лупы, или же тяжёлые вычисления каждый кадр.

>>79853
В настройках террэйна есть строчка дальности видимости травы/деревьев/объектов, по умолчанию вроде там 300 или 100, вот пока в редакторе выкручиваешь на макс 5к.

>>79856
Если сохранил сцену ctrl+S, то всё должно остаться независимо от того что эта за сцена. Посмотри по самим сценам, скорее всего открыл не ту.

>>79879
Дальность у террэйна травы, либо же качество травы, при постановки в 0 трава не будет отображаться, но она есть.

>>79881
Клиппинг камеры, смотри в настройках верху сцены там кнопка, по умолчанию 0.3 или около того. Второй вариант клиппинг в самой камере, в её нстройках филд ов вью.
image.png2 Кб, 330x44
1003 779886
почему не работают экшены?
using UnityEngine.Events; прописал
1004 779889
>>79881
дважды кликни на свою землю в окошке иерархии
1005 779891
>>79884

>Профайлером


Так в том то и дело, что нихуя не поменял. В настройках поставил fixed dpi и заработало, убрал. Все еще работает. А профайлером я только скачки сборщика мусора увидел, больше ничего не просаживает. Рандом какой-то. Вроде нихуя не сделал, а фпс сам ровным стал в итоге.
1006 779892
>>79886
я ебал в жопу, нужнен был ещё System
image.png2,3 Мб, 1648x874
1007 779893
Как опустить terrain ниже? Пробую кисточкой с контролом, но земля опускается до определенного уровня и все, становится равниной
1008 779894
>>79884
спасибо
1009 779895
>>79893
подними всю землю выше лол. карта высот от 0 до 1 только.
image.png2,2 Мб, 1648x874
1010 779896
>>79895
Поднял на 50 вверх, но эта хуйня все-равно во что-то упирается
image.png2,1 Мб, 1648x874
1011 779897
И если я даже set height делаю на 0
1012 779898
>>79891

>Рандом какой-то


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

>>79893
Чтобы делать горы и впадины в юнити есть несколько способов. Самый простой - Это Дефолтную высоту ставить высокую, и от неё плясать. По сложнее - Комбинировать несколько террэйнов с высотами и кастом смежей.
1013 779899
>>79898

>Самый простой - Это Дефолтную высоту ставить высокую, и от неё плясать.


Как это сделать? Я поднял террейн на 50 и этого недостаточно
1014 779900
>>79896
Проиграл. На самом деле нет, ты не поднял ничего. Ты поднял геймобъект, но твоя карта высот не поменяла свои значения.
1015 779901
>>79900

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


>>79899

>Как это сделать?

1016 779902
>>79898
Ничего, что я с позволения "напрограммировал" на производительность не влияет, экспериментально подтверждено уже. А что там в внутри у юньки происходит, мне все равно не узнать. Но сам факт. По какой-то причине фпс перестал быть рваным в один прекрасный момент.
1017 779903
>>79899
Ставишь нужную высоту, она идёт от 1 до твоих значений. В зависимости от предпочтений делаешь плато, как основу, к примеру от 500 это 250 в обе стороны.

>>79902
Я тебя уверяю, нету не магии, не волшебных свойств юнити. Причины могут быть там куда ты даже не заглядывал, или не знаешь. Если так уверен в своей правоте, просто отдай проект на аутсорс, и тебе буквально за пару тысяч деревянных найдут косяк.
Еще раз - Программирование не магия, всё строго по алгоритмам, но из-за не знания или не опытности ты просто физически можешь всё не знать или не понимать.
1018 779905
>>79903
Да понятное дело, что не магия. Хуево, что я так и не узнаю, что именно повлияло.
1019 779907
>>79903

>Ставишь нужную высоту, она идёт от 1 до твоих значений. В зависимости от предпочтений делаешь плато, как основу, к примеру от 500 это 250 в обе стороны.


У меня уже есть terrain и мне надо как-то его продавить.
Я уже менял height для террейна и это нихера не помогло.

В любом случае, мой проект крашнулся и теперь не открывается. И тут я узнал, что юнити не делает автоматические бекапные сейвы. Охуенно.
1020 779910
>>79905
В твоём случаи уже зависит от потребности в этом. Стоит ли тратить время чтобы разобраться, или же забыть.

>>79907
Ну ты бы хотяб видео по террэйну на ютабе посмотрел, это же совсем примитивная база.
1021 779911
>>79910
Посмотрел.
Как менять карту высот для существующего террейна - не нашел, если не считать загружаемых из raw-картинок карт высот (что для меня нерелейтед).
image259 Кб, 1392x527
1022 779913
>>79911
Блин, ну плохо смотрел значит. Эх.

Смотри. Если тебе надо допустим поднять текущий террэйн, но не изменяя его, просто добавить высоты, ты пользуешь стампом. Зажимая shift ты выделенную область поднимаешь, тем самым как бы копируя её. Посмотри видео по этой теме, куда проще и понятнее будет.
1023 779914
>>79913
Ну кистью работать я умею. Я думал, что есть какой-то параметр, который можно изменить в настройках, а не просто кисточкой поводить, создав возвышенность на всем террейне.
1024 779915
А где качают пизженные ассеты и плагины? На рутреке устаревшее говно.
Например хочу Gaia, Vegetation Studio Pro и River Auto Material
1025 779917
>>79915
Либо в телеги по группам ссылки ищи, либо же в приватках. В бесплатном это только по помойкам лазить.
1026 779924
>>79901
Ну напиши скрипт, который в цикле пройдётся по твоей карте высот и поменяет значения, я хуй знает. А лучше в программе, откуда равку экспортируешь, всё настрой, как надо.
1027 779928
тыкал свой солвер для жидкостей/газов с давлением. неожиданно оно само организовалось без всякого инпута в какой-то паттерн а потом взорвалось! хуй знает что поизошло но мне понравилось! очень интересно такое интерпретировать.

>>79896
лол что ты делаешь карта высот локальная для земели.
я даже не уверен есть ли в текущей земле кнопка для поднимания или опускания её целиком.
https://pastebin.com/7StAVVU8 на сделай себе C# скрипт TerrainManipulator, скопипасти туда это, повесь его на землю тогда сможешь вводить значение (желательно в пределах единицы) и жать кнопку чтобы прибавить или убавить эту высоту с земли.
1028 779929
>>79928
э забыл убрать CanEditMultipleObjects. надо было функционал для этого сделать, или убрать. и ограничить инпут. и может проверять максимальные границы инпута чтобы не поднимал землю слишком высоко. и Ctrl+Z добавить. ну и хуй с этим. и так сойдёт.
1029 779931
а хули юнити мне не говорит при импорте, что эти ассеты уже были импортнуты? что за дебильный ui?
1030 779933
>>79928

>тыкал свой солвер для жидкостей/газов с давлением.


Хуя ты мутишь. Только хули такая запись стремная, абсом пиши и не сжимай так сильно, не видно нихуя, всю красоту похерил
image.png11 Кб, 667x113
1031 779935
Ловлю вот такую ошибку The request URI must either be an absolute URI or BaseAddress must be set

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

такого сорта симуляции иногда всякую интересную хуйню показывают при тех или иных значениях. обычно оно просто взорвётся, или не работает как надо, но иногда интересно!
а вообще это я откопал свой старый проект симуляции земли и стал работать над ним с новыми идеями. получше подумал над тем как мне симулировать атмосферу.
недавно занимался рефакторингом вычислительного шейдора, делил его на куски. а то работать с шейдором на полторы тыщи строк уже было физически трудно.
1033 779937
Как сделать определенную сцену дефолтной, чтобы при загрузки проекта именно она загружалась?
image.png536 Кб, 932x445
1034 779940
Госпаде, какое же лагучее дерьмо.
Случайно сдвинул камеру и всё, пизда, теперь юнити в бесконечном цикле гоняет эту хуйню
1035 779941
>>79937
При загрузке проекта грузится та сцена, которая была открыта последняя.

>>79940
Так убери авто компиляцию, и рендери сцену когда тебе надо, или же под конец билда.
1037 779943
Юзаю дефолтный FirstPersonController от юнити и при старте сцены камера упирается в землю. Почему так?
image.png19 Кб, 1261x220
1038 779944
>>79941

>Так убери авто компиляцию


Я ничего не включал.
Более того, совершенно внезапно начинается такая хуйня и все начинает лагать
16381830154380.png1016 Кб, 1200x1151
1039 779946
Посоветуйте примеров\ассетов, связанных с генерацией уровня. Ни за что не поверю, что все в ГК говне расставляют руками.

Делаю учебный ранер и дошел до того, чтобы ввести чанк (3х3 блока), каждый блок будет превращаться при инициализации в один из префабов забитых в него (препятствие, монетка, ресурс, буст), у каждого из префабов свой шанс, ну и учитывая кривую интереса для всего уровня. Как вам идея? Изобретаю может велосипед и есть решение лучше?
1040 779948
>>79946

>Посоветуйте примеров\ассетов, связанных с генерацией уровня.


Еще и бесплатный да?)))
1041 779950
>>79948
Без разницы тащемта, мне подсмотреть идеи и реализации. Хочется разобраться.
demo2.gif6,6 Мб, 1038x759
1042 779951
>>79945 (Del)
Ну же, я знаю, что ты знаешь, как это пофиксить
Оно кстати сопровождается ошибкой:
Look rotation viewing vector is zero
UnityEngine.Quaternion:LookRotation (UnityEngine.Vector3,UnityEngine.Vector3)
Cinemachine.Cinemachine3rdPersonFollow:GetHeading (UnityEngine.Vector3,UnityEngine.Vector3) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:251)
Cinemachine.Cinemachine3rdPersonFollow:PositionCamera (Cinemachine.CameraState&,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:189)
Cinemachine.Cinemachine3rdPersonFollow:MutateCameraState (Cinemachine.CameraState&,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:165)
Cinemachine.CinemachineVirtualCamera:CalculateNewState (UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineVirtualCamera.cs:523)
Cinemachine.CinemachineVirtualCamera:InternalUpdateCameraState (UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineVirtualCamera.cs:155)
Cinemachine.CinemachineCore:UpdateVirtualCamera (Cinemachine.CinemachineVirtualCameraBase,UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Core/CinemachineCore.cs:355)
Cinemachine.CinemachineCore:UpdateAllActiveVirtualCameras (int,UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Core/CinemachineCore.cs:275)
Cinemachine.CinemachineBrain:UpdateVirtualCameras (Cinemachine.CinemachineCore/UpdateFilter,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineBrain.cs:427)
Cinemachine.CinemachineBrain:ManualUpdate () (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineBrain.cs:376)
Cinemachine.CinemachineBrain:LateUpdate () (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineBrain.cs:336)

При этом я ничего не трогал вообще, просто импортнул ассет с 1st person
demo2.gif6,6 Мб, 1038x759
1042 779951
>>79945 (Del)
Ну же, я знаю, что ты знаешь, как это пофиксить
Оно кстати сопровождается ошибкой:
Look rotation viewing vector is zero
UnityEngine.Quaternion:LookRotation (UnityEngine.Vector3,UnityEngine.Vector3)
Cinemachine.Cinemachine3rdPersonFollow:GetHeading (UnityEngine.Vector3,UnityEngine.Vector3) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:251)
Cinemachine.Cinemachine3rdPersonFollow:PositionCamera (Cinemachine.CameraState&,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:189)
Cinemachine.Cinemachine3rdPersonFollow:MutateCameraState (Cinemachine.CameraState&,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:165)
Cinemachine.CinemachineVirtualCamera:CalculateNewState (UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineVirtualCamera.cs:523)
Cinemachine.CinemachineVirtualCamera:InternalUpdateCameraState (UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineVirtualCamera.cs:155)
Cinemachine.CinemachineCore:UpdateVirtualCamera (Cinemachine.CinemachineVirtualCameraBase,UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Core/CinemachineCore.cs:355)
Cinemachine.CinemachineCore:UpdateAllActiveVirtualCameras (int,UnityEngine.Vector3,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Core/CinemachineCore.cs:275)
Cinemachine.CinemachineBrain:UpdateVirtualCameras (Cinemachine.CinemachineCore/UpdateFilter,single) (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineBrain.cs:427)
Cinemachine.CinemachineBrain:ManualUpdate () (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineBrain.cs:376)
Cinemachine.CinemachineBrain:LateUpdate () (at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Behaviours/CinemachineBrain.cs:336)

При этом я ничего не трогал вообще, просто импортнул ассет с 1st person
1043 779952
А как очистить проект от лишнего неиспользуемого говна?
1044 779953
>>79951
Что значит "дефолтный"? Говно бесплатное от Васяна?

>Cinemachine


Посмотри настройки тут, или вообще удали.
1045 779955
>>79953

>Говно бесплатное от Васяна?


Ну да, примерно. Говно бесплатное от Unity.
https://assetstore.unity.com/packages/essentials/starter-assets-first-person-character-controller-196525
1046 779956
>>79953

>Посмотри настройки тут, или вообще удали.


Хз, ни в ассетах ни в иерархии такое не ищется
1047 779957
Охуеть, оказывается в Action можно добавить метод с принимаемым параметром. В документации ни слова об этом не написано.
void Method(<T> a) { }

<T> i = значение;

Button.OnClick.AddListener(() => Method(i))'
1048 779959
>>79956

>at Library/PackageCache/com.unity.cinemachine@2.8.3/Runtime/Components/Cinemachine3rdPersonFollow.cs:251


Тыкни блядь, на ошибку.

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

https://cobertos.com/blog/post/how-to-climb-stairs-unity3d/
1050 779965
2021.2.5f1 это релиз или бета? Если релиз, то хули такой бажный
1051 779966
>>79964
Вешаешь character controller доступный по дефолту и там заботливые юнитеки реализовали для тебя поднятие по ступенькам.
1052 779967
>>79965
Ты у этой версии LTS видишь? И я не вижу.
1053 779970
>>79967
По твоей логике все, что не имеет ярлычка LTS. априори бажное?
Oh my sweet child, это только у криворучек из юнити так. Они считают, что лтс это продакшн, а все остальное - альфа-сборки.
1054 779971
Аноны, я нюфаня, юнити в руках не держал.
Я замоделил модель в блендере, которую мне надо будет заанимировать ну и сценку несложную изобразить.

Мне анимации в блендере пилить и потом экспортить, или анимировать силами юнити?
1055 779972
>>79970
Нет, просто там когда редактор устанавливаешь - для долбоёбов конченных отметили рекомендованные версии. А ты даже в это не смог.
1056 779975
>>79971
В блендере конечно
1057 779977
>>79976 (Del)
Я вчера обновился до альфы, хотя планировал дождаться беты. Второй день никаких проблем, всё работает, как часы. О чём это говорит? Да ни о чём. Просто ты долбоёб.
1058 779978
>>79977

>О чём это говорит? Да ни о чём.


Вот именно. Зачем спизданул - загадка.
Но у долбоебов свой путь
1059 779981
>>79978
Поясняю для особо глупых. То, что у тебя проблемы с юнити значит только то, что у тебя проблемы. Уже не первый год вижу, что проблемы бывают только у жопоруков, которые начинают гореть и носиться по всему интернету с горящей сракой. Десятки тысяч людей с этой юнити, я сам этой версией пользовался. И никаких проблем. А кто-то напишет while(true) в Awake и горит, что юнити падает.
1060 779982
>>79981

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


Твоя выборка, несомненно, репрезентативна
Что характерно - ведь у долбоеба иначе быть и не может.
1061 779984
>>79966
Ху там плавал. Он создает невидимую хуйню на которой спавнится персонаж, а со ступенями все так же плохо.
1062 779986
>>79981
Да не отвечай ты троллю, он чисто срач разводит, да хейтит юнити.
Тут по фактам так - У юнити случаются и баги и глюки? Да, но редко, как и в любом движке или программе. В юнити есть какие-то не понятные конечному юзеру механики? Нет, есть лишь куча подводных которые постигаются опытом и чтением форумов. Юнити ограничивает как то своих пользователей в создании контента или игр? Нет, делай как хочешь, что хочешь, зависит лишь от рук.
По своему опыту использованию Юнити могу сказать что за 3 года, у меня случалось максимум пару десятков крашей, десяток утечек памяти, и так-же пару десятков ошибок библиотек. Но все эти проблемы решались тупой перезагрузкой проекта. Были ли какие-то уникальные ошибки и баги? Нет, кроме чужого говнокода и сломанных библиотек не встречал.
1063 779988
>>79986

>Но все эти проблемы решались тупой перезагрузкой проекта.


Лол и это в 2к21.
CleanShot 2021-12-05 at 22.19.48@2x.png256 Кб, 862x1194
1065 780000
Что такое urp?
В доке написано 5 строчек, типа рендер отличается, тени, чето еще. Мне это ни о чем не говорит.
При этом, какой-то чувак на реддите грит, мол, новичкам надо вкатываться именно в urp.

Поясните за дефолтные шаблоны, анонсы.
1066 780007
>>80000
Типа новый рендер. Теперь он "скриптуемый". По факту особо ничего не меняется, разве что постпроцессинг встроенный и ты получаешь визуальный редактор шейдеров. Можешь посмотреть семпл сцену, там, в принципе, всё понятно. Ну и из нововведений, у тебя будут разные файлы с настройками UniversalRenderPipelineGlobalSettings плюс постэффекты привязаны к волюмам, а те, в свою очередь, к ГО. Старый рендеринг ещё не депрекейтед, но он точно будет, так что вкатываться в urp\hdrp смысл есть.
1067 780009
>>80007
Если планируешь мобилки делать, стоит использовать? Сам по себе он не ухудшает производительность? Так то интересуешь шейдер граф.
1068 780025
>>80009
Юнитеки говорят, должен быть паритет между urp и старым рендером. Я не сравнивал, сравнивал hdrp и urp, hdrp пиздец, какой тяжёлый. А, ещё в hdrp пару ограничений захардкодили для ретроговна с gles 2.0, типа 8 источников света на объект.

>>80024 (Del)
Иди жирнить в движкосраче тред, пидорас.
1069 780027
>>80025

>пидорас


Ты поаккуратнее, а то на работу не приму
1070 780052
как сделать по крутому проверку на нажатие кнопки не в апдейте? или это просто не нужный дроч на архитектуре? интересует только производительность
Залагает ведь!.jpg103 Кб, 501x600
1071 780064
>>80052

>нажатие кнопки не в апдейте


Каждый иф на счету?
1072 780076
>>80064
люблю обмазываться оптимизацией
1073 780079
Сап кирилляч. Пилю неспешно платформер мечты.

Небольшая проблема: бэкграунд при движении персонажа двигается дерганно, как фиксить?

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

Может ли является проблемой что то из перечисленного?
1074 780085
>>80052
Накати новый инпут систем, хуле ты как этот.
1075 780106
>>80079
Мне тут объяснили, что передвигать надо через аддфорс. От себя посоветую это еще в фиксед апдейте делать. Но только мувмент, нажатие кнопок в обычном апдейте. Если движение на клаве, нормализуй итоговый вектор, а то сумма двух осей даст скорость выше, чем на осях по отдельности как в старом думе.

мимо месяц кириллствую
image.png10 Кб, 731x151
1076 780116
Баг или Фича?

создаю объект, он появляется вроде бы по центру, перехожу из фул скрина в микро окно, то он улетает нахуй аж сюда (960.00, 458.00, 0.00)
в билде надеюсь такой хуйни не будет?
1077 780122
Аноны, а есть ли смысл верстать Canvas под минимальное поддерживаемое разрешение? Ну, сделать все в 800*600, и чтобы он растягивался на нормальных экранах.
Насколько я понимаю, так делают ради игроков с железом 10-летней давности и ноутбучников.
Или верстать под FullHD и не париться?

>>80116
А хули ты создаешь новый объект, или это так теперь принято в новых версиях? Я всегда всегда так делал:
GameObject hui = Instantiate(parent)
1078 780124
>>80122
Тем временем я планирую ваять скрипт, который список уровней в табличку расставит взависимости от аспекта. Overthinking?
code.png5 Кб, 421x91
1079 780126
>>80116
Вангую, что у тебя эта залупа в апдейте, потому работает через анусай. У меня буквально такой же код используется без проблем.

>>80122
Я под минимальное пилю, почему бы и нет? Ты готов игрока нахуй посылать только из-за его монитора? Это попахивает сегрегацией по мониторам. Ты там что, в гитлероподобных записался?
1080 780128
>>80122
Не понял вопроса. Если канвасу поставить scale with screen size, match mode shrink, в любом разрешении и аспекте будет скеилиться как надо. Я че-то упускаю?
1081 780140
>>80126
Я под минимальное пилю, почему бы и нет? Ты готов игрока нахуй посылать только из-за его монитора? Это попахивает сегрегацией по мониторам.
У многих сейчас уже 2к или даже 4к мониторы.
Если не считать Steam Deck, то игроков с микро-мониторами очень мало.

>>80128
В общем да, но с оговорками. Например, сверстал под старый 800*600 квадрат, а все играют в ФуллХД сейчас, соотношение сторон другое. Может какое-нибудь говно криво растянуться если ты элемент неправильно настроил.
1082 780144
>>80140
Как-то с интерфейсом было просто. Вот камеру (вид сверху) настроить так, чтобы с любым аспектом она показывала одинаковый масштаб картинки было труднее. Высчитывать ортографик саиз через соотношение сторон.
1083 780167
>>80140

>У многих сейчас уже 2к или даже 4к мониторы.


Ну и нахуй этот 0.1% долбоёбов нужен? Фулл ашди работает? WXGA читабелен? Всё заебись.
1084 780174
Поясните за scale спрайтов. Лучше рисовать большие текстуры и ставить единицу или свободно пользоваться скеилом? А делать его одинаковым только для предметов, которые в скриптах друг к другу в чаилды попадают?
1085 780177
Посоны, туплю пиздец, помогите. Допустим у меня в игре есть 100 комнат, в каждой комнате по 10 предметов. У каждого предмета свои картинки и 3 состояния сломан, нормальный, отсутствует например. Игрок может менять состояния обьектов, когда он заходит в комнату надо отобразить их состояния и картинки.

Где и как хранить данные о состояниях? Сделал к каждой комнате сктиптаблобжект, где хранятся картинки к каждому состоянию. Но как их потом сохранять и загружать? Делать 100 json'ов? А как потом эту сотню json'ов через гугл плей сервисы сохранять?
1086 780187
>>80177
Лучше всего иметь просто один файл сохранения, который записывается/читается при загрузке/выходе из игры.
image.png11 Кб, 568x250
1087 780189
>>80116
короче щас сделал вот так, у меня к этой точке летят спрайты на экране и если в редакторе перейти из фул скрина в микро окно блядское, то эти блядские спрайты начинают лететь совсем не в центр экрана
походу баг а не фича
1088 780191
>>80189

>походу баг а не фича


Ты вычислил центр экрана, а потом поменял размер экрана. Понимаешь, что это значит?
1089 780192
>>80189
Ты же меняешь скрин
image.png7 Кб, 599x92
1090 780193
>>80191
>>80192
вы ебанушки чтоли? где я и что меняю?
image.png3,7 Мб, 1720x1440
1091 780194
>>80140
Просто ставишь скейлер чтобы на высоту экрана умножалось и все отлично скейлится хоть на андроед 1280х720, хоть на 8к телевизор.

>сверстал под старый 800*600 квадрат, а все играют в ФуллХД сейчас


А это вообще вопрос не про разрешения а соотношения сторон. Чтоб ничего не разъебывало раскидываешь свой интерфейс по углам или по сторонам экрана, так чтоб при любой форме элементы крепились к краям и двигались соответсвенно.
1092 780195
>>80193

>и если в редакторе перейти из фул скрина в микро окно блядское

1093 780196
>>80193
Классика. Быть рукожопым+упрямым как баран. Откуда такие ньюфаги лезут?
1094 780197
>>80196
так ты объясни ЧЯДНТ? по моей логике я просто получаю точку в центре экрана, причём всё работает, но недостаточно корректно
1095 780198
>>80197
Первое что тебе стоит понять это то, что если ты просишь помощь, не вести себя как наглое быдло. Это не бэ
Второе же, взять на истину то, что ты можешь быть не прав, или заблуждаешься.
1096 780200
>>80197

>по моей логике я просто получаю точку в центре экрана


Смотри сюда. Твоя точка это высота экрана и ширина экрана делённая на два. Берём 4к, прикинем чисто по ширине, как оно примерно. Это 3840\2, итого 1 920. Переключаемся "в микроокно", где по ширине 800 пикселей, например. А у тебя "центр" в точке 1920 нахуй. А ещё лучше, стартуй в микроокне, а потом растягивай свой анус и экран. То есть всё работает абсолютно корректно, просто так вышло, что ты долбоёб.
1097 780202
Раньше прокрастинировал, запиливая мелкие механики и бросая их. Теперь вообще хочется практиковаться в архитектуре, связи классов. Сильнее чем писать логику. Предлагаю свою помощь в рефакторинге. 2-3 года в юнити, могу в целом подсказывать что-то, помочь запилить фичу. Короче, хочется кооперации. Скучно, нет мотивации в одиночку. Если кому-то такое интересно, напишите тг или дис.
1098 780209
>>80187
А как грамотно организовать? Если за каждый предмет в комната своя переменная будет отвечать, то получится 1000 переменных, это нормально вообще? Так и делают?
1099 780214
>>80209

>Так и делают?


В киберпанке ещё интереснее поступили, они каждую покупку\продажу тоже записывают в сохранение. Крафт тоже записывается, даже если предмета у тебя уже нет. Скрафтил предмет? Сохранили эти данные. Продал? Это тоже сохранили.
Правда, потом оказалось, что сохранения больше 8 мегабайт корраптятся навсегда и больше не работают. Потом пофиксили коррапт, но осадочек остался.
1100 780219
>>80214
Но тогда как лучше сделать сохранение этой кучи переменных? Делать каждой комнате отдельный скрипт с методом сохранения - наркомания. Сделать один метод с 100 вариантов switch (roomName) тоже наркомания.

Сделать словарь с ключами к "комнатаПредметОдин" + "состояниеПредмета" и сохранять все в словарь нормальная идея?
1101 780221
>>80219
но зачем switch и зачем каждой комнате свою хуйню. просто сделай формат контента комнат таким чтобы было поебать из какой комнаты куда ты чё сохраняешь
1102 780225
>>80221
Возможно я тупой, но как? Предположим что каждая комната это отельная сцена, на каждой цене 10 предметов. За их расположение отвечает один и тот же скрипт. Как этот скрипт будет передавать разные переменные?
1103 780227
>>80219
Идеальный мир - в момент взаимодействия с объектом это взаимодействие с объектом сохраняется в буфер, который при сохранении записывается. Естественно, нужно учитывать, есть уже этот объект в сохранении или нет.
Говнокод - при нажатии "схоронить" цикл for each transform, который просто в лоб сохраняет позицию трансформов + их имена. На загрузке пробегаешь по всем сохранённым данным, находишь трансформы в сцене по имени и заливаешь позиции. Точно то же самое с любым другим компонентом.
1104 780228
>>80227
Это понятно, я не понимаю другое. Смотри, у меня 100 комнат, у каждой комнаты один скрипт в котором есть переменные: состояниеПредметаОдин, состояниеПредметаДва и тд. Как этому скрипту передать данные в файл сохранения с другим названием переменных. В файле сохранение должно быть комнатаОдинСостояниеПредметаОдин и тд? Как в файле сохранения разделить состояния предметов по комнатам?
1105 780229
>>80225
гхм. а не похуй ли что отдельная сцена? что меняет разделение на сцены? что мешает скрипту передавать разные переменные то? ты хардкодишь их чтоли?
1106 780230
>>80228
у тебя там проблемы с головой чтоли. вот есть у тебя например три типа предметов, да? например картошка, банан, апельсин. ты говоришь ну короче картошка это 0, банан это 1, а апельсин это 3. и комнаты такой нумеруешь. и короче вот у тебя на каждую комнату отведён кусок массива по 10 индексов. какое число в индексе тот предмет там находится. а потом ты такой рядом ложишь ДРУГОЙ массив и сохраняешь там на тех-же самых индексах например позицию предмета. или его состояние. и вот хуяк у тебя сохранён тип предмета, его позиция, его комната (хули позицию в массиве можно на 10 поделить) и любая другая хуйня. например массив с булеанами да, если тру то нормас, а если фалс то гнилой. или что у тебя там предметы какие-то особенные? что у тебя предмет? что он должен собой представлять? что объединяет эти предметы? всегда можно нормальные методы сериализации ебануть
444.jpg226 Кб, 1822x1412
1107 780231
>>80229

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



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

>>80230
Я думал сделать так: в файле сохранения есть словарь, ключ к нему - название комнаты и предмета, в скриптаблобжекте комнаты прописаны ключи. Беру ключ и сохраняю по нему состояние предмета
1108 780232
>>80228

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


Так разработай свой формат, ёпта.

>4 байта длина всех полезных данных


>4 байта количество комнат


>4 байта длина данных комнаты 1 //предположим, это число N


>N байт данных


>4 байта данных комнаты 2


>X байт данных



Я так по сети данные гоняю, только вместо 4 байт заголовки по 2, экономнее получается.
1109 780233
>>80231
Хотя, блядь, вроде проще все сохранять в один массив. Если в каждой комнате по 10 предметов, то с 1 по 10 это первая комната, с 11 по 21 вторая и тд. Так вроде проще будет. Спасибо, антоны, лол
1110 780238
>>80231
структурируй то как ты это сохраняешь ололо. хоть в массив с массивами сохрани. не похуй ли?

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

>>80233
да ты можешь и в линкед лист нахуячить, в один большой массив, хули. например если у тебя 100 комнат, то ты знаешь что на первые 100 индексов можно положить индексы начала цепочки. а конец цепочки например указывается -1. тогда у тебя данные первой комнаты будут размещены как [0] = 101, [101] = 102, [102] = 103, [103] = 104, [104] = -1 где -1 на последнем 104 индексе в цепочке. а второй например [1] = 106, [106] = 107, [107] = -1. тогда можно ещё и компактно хранить всю эту хуергу и иметь произвольное количество предметов в комнате. а на указанных индексах ты хранишь уже актуальную информацию по предметам.
1111 780240
>>80189
апдеит
1112 780241
>>80238

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


Да это понятно, под названием я имел в виду какое-то условное известное обозначение.

Вот с массивами что-то я не мог допереть сам, почему-то
image.png478 Кб, 1156x755
1114 780969
>>66778 (OP)
Аноны, есть тут добрые самаритяне, которые могут мне заанимировать готовую модельку в юнити?
Либо за просто так, либо за пиво.
Работа вроде несложная - нужно при нажатии разных кнопок на клаве, делать вид будто нажимаются элементы управления на модельке. И чтобы еще можно было от первого лица интерачить с моделью.
тг на пике
1115 782264
>>80052
Почекай новую инпут систему и OneWheelStudio на ютабе
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 16 марта 2023 года.

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

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