Этого треда уже нет.
Это копия, сохраненная 10 декабря 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Unity3D #14 — объективно лучший игровой движок 744234 В конец треда | Веб
Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

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

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

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

FAQ

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

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

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

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

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

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

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

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

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

Обучение

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

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

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

Шапка: http://www.writeurl.com/publish/zukmrogwv45ptyuseyol
16176092267730.jpg177 Кб, 1125x1285
2 744237
>>44234 (OP)
И сразу после перекота вопрос. В движкосраче-треде увидел две этих ссылки про DOTS https://youtu.be/0VQyWo-gb2c , https://youtu.be/D1KShj8ZV_I насколько они релевантны? Меня пытаются наебать?

Если же нет, то почему оно не получает распространения.
3 744239
>>44237

>то почему оно не получает распространения


Они переносят ВЕСЬ движок на ECS. Все системы. Поэтому DOTS находится в превью.

https://docs.unity3d.com/Packages/com.unity.entities@0.17/manual/index.html
4 744242
>>44239
Но уже сейчас, можно делать на нем что-то серьезное? Раз такой тренд у юнити, то чем раньше, тем лучше же.
5 744246
>>44242
Знаешь, зависит от того, даст ли ECS профит твоей игре. Сейчас использовать ECS ради ECS нет смысла. Только когда они доведут его до ума, настроят редактор максимально под ECS, вот тогда да.

Лично я в следующем проекте буду использовать ECS, потому что у меня будет много сущностей с разными способностями и разные режимы игры.
6 744252
>>44246
Просто я только вкатываюсь и мне довольно сложно грамотно делать архитектуру в ООП, код превращается в пиздец очень быстро.
Это же выглядит как решение да и мне будет проще, наверное без сильного бэкграунда перейти на другой подход.
7 744255
У меня билд разрешение сохранил после ресайза окна и не подчиняется значениям default screen width/height, как исправить?
8 744256
>>44252

>я только вкатываюсь


Тогда я тебе совершенно точно не советую сейчас связываться в ECS. Юнити работает на компонентах. Старайся разбивать свои сущности на компоненты. Не используй наследование. Чем меньше работы выполняет компонент, тем лучше. Ещё почитай про ScriptableObject, которые используют для хранения данных.
9 744258
>>44246

>ECS


Поясните для тупого что это такое и для чего нужно?
10 744259
>>44256
Ну как, вкатываюсь. У меня есть профильная вышка по пограмированию, ноль коммерческого опыта и знание юнити по нескольким слитым курсам. Я могу понять от чего бегу. Хотелось бы ультимативное решение для архитектуры.
11 744260
>>44258
В тех видео выше, поставь Субтитры - английский, появится в окне настройки субтитров, где ты ставил язык, кнопка "перевести" - поставь русский. Тема специфичная, почти вся информация на ангелском по ECS.
12 744261
>>44258

>Поясните для тупого что это такое и для чего нужно?


Это старое решение для написания игровой архитектуры. Очень хорошее, как по мне.
https://www.youtube.com/watch?v=W3aieHjyNvw

>>44259
В любом случае пока не связывайся с ECS. Потому что 99% пользовательского опыта разработчиков основано на стандартной системе компонентов.
13 744262
>>44261

>пока не связывайся с ECS


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

Просто выглядит очень интересно и я попробую потыкать, часик в день как для общего развития. Использовать превью пакеты в любом случае, как то стремно.
sage 14 744265

> объективно лучший игровой движок


Жир начал сочиться из системного блока рано утром. Солнце только показалось из-за горизонта, запели первые утренние пташки, а под компом уже была порядочная жирная лужа. Я не понимал в чём причина этого явления и просто протёр лужу. Когда я включил компьютер, жир начал вытекать уже и из монитора тонкой но непрерывной струёй. Я терпел, я думал это пройдёт. Но всё же была непонятна причина столь активного жироотделения. Когда я зашёл на двач, жир потёк таким потоком что нужно было подставлять тазик под монитор и системник и выносить их каждые 20 минут. Потом я открыл этот тред... Это было нечто невообразимое, это был уже не поток, это было какое-то цунами жира! Он хлынул из компа, ничто уже не могло его остановить! Поток жира нёсся, снося всё на своём пути. Не знаю каким чудом мне удалось уцелеть, ибо от моего дома остались одни руины, двор сейчас похож на пустыню с барханами из жира. Погибли люди, некоторые лишились крыши над головой. Оп, что же ты наделал?
15 744272
>>44234 (OP)

>На Unity сделано много замечательных игр - Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие



Какую-то хуйню назвали, а Boneworks, Valheim Genshin Impact, Albion Online, Endless Space, Beat Saber, Subnautica не написали
bandicam 2021-05-10 16-35-53-016.mp45,1 Мб, mp4,
1920x1080, 0:46
16 744290
Повесил на тайловую карту tilemap collider, на сам танк - box collider и rigidbody. Возникла проблема видеорилейтед - при столкновении с препятствием танк начинает вращаться в воздухе, словно он висит в невесомости. Как это фиксить? Сделал в Update постоянное обновление скорости и поворота танка, но это какой-то костыль. Как сделать его фиксированным в пространстве, без инерции?
17 744291
>>44290
Забыл упомянуть - танк двигается через присваивание скорости (velocity) rigidbody.
18 744293
>>44265
>>44289 (Del)
Чмоньки, вы постоянно визжите когда в ваш тред приходят с жалобами, так какого хуя вы суда поналетели-то?
19 744294
>>44290

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


В компоненте rigidbody танка есть Constaints, там поставь галку на запрет вращения (rotate по какой-то из осей), ну и с другими опциями поиграйся, это rigidbody дает такой эффект (или погугли видосы - я просто давно не работаю с 2д, так сразу не вспомню, то точно такое делал)
image.png1018 Кб, 1895x901
20 744302
>>44290
Клон танчиков с приставки делаешь? И анон выше тебе верно подсказал, в rigidbody запрети ротацию по осям

мимо буквально пару дней назад сдал проект пикрил
21 744307
>>44293
Кто «вы-то»?! К кому ты обращаешься? Я один здесь, нахуй! Кто «чмоньки»-то, блядь? Я уже не человек, блядь, я зверь нахуй!
sage 22 744320
>>44234 (OP)

>объективно лучший игровой движок


UE4
(Автор этого поста был забанен. Помянем.)
23 744340
По какому принципу ставится wheel collider? У меня постоянно они то вбок то задом наперёд. Использую костыли в виде инверсии motortorque, и создания всяких боксов в моделях с их последующим разворотом
24 744377
>>44234 (OP)
Сап юнитач, хочу вкатится в мульти ёрли аксес в стим, и по немногу рубить бакинские с косметики и простого доната.
Посмотрел пару технологий через что реализуется мультик.
Кто через что реализует? Надо ли арендовать сервак где-то за границей? Так как это выживач по типу дэйЗ, и подобных то думаю нужны сервера, нельзя же доверить вычисления на стороне клиентов.
Также смотрел в сторону из совсех новых это MLAPI, но он только вышел и еще будет хз сколько дорабатываться.
В общем копаясь чуть глубже базы, возникает куча вопрос уже на этапе планирования, реквестирую советов.
25 744382
>>44377
О, выживач, круто! Покажи, я тоже переодически кодю в голове подобную тему
26 744389
>>44377

>Кто через что реализует?


Каждые по своему.

>Надо ли арендовать сервак где-то за границей?


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

Из готовых серверных решений есть:
- Photon Server: чистый серверный код без какой-либо игровой логики
https://www.photonengine.com/en-US/Server
- Photon Bolt: реализует основные сетевые фишки игр, но не знаю, подойдёт ли он для массового пультиплеера
https://www.photonengine.com/en-US/BOLT

Далее, где нам собственно запускать сервера. Либо ты будешь сам ебаться с хостингами, что очень утомительно и для этого обычно нанимают отдельных людей. Либо используешь готовые сервисы. Допустим PlayFab: https://playfab.com/multiplayer/
image.png4 Кб, 542x40
27 744452
как отловить такую ошибку?
28 744453
>>44382

>


>


22222222222
29 744457
Как вызвать функцию в другом скрипте, но так чтобы она отработала параллельно и не стопорила всё остальное?
30 744459
>>44452
Нажимаешь два раза на неё и в коде показывается где трабла, потом путём логики думаешь в какой момент это происходит, и в конце если не находишь дебагом ищешь, либо логами.

>>44457
Делаешь мультитреды, в юньке не очень сложная темка, но почитать документацию надо.
31 744465
>>44452
В смысле как? У тебя объект, над которым ты хочешь совершить действие, имеет значение null, то есть там ничего нет. Соответственно где-то проеб с инициализацией (в инспекторе забыл перетащить например, или Find не сработал)
32 744531
Есть примеры нормальной реализации state machine для 2д игры?

В коде, например, четко не разделяется падение и прыжок, а анимации разные. Или например. idle и movement. Нужно просто ифы ставить или как люди перехватывают смену состояний?
33 744556
Всем привет, не подскажете, как работает Move() у Character Controller`а ? Просто думаю через AddForce реализовывать перемещение это немного долбоебизм, а на простой смене transform position пошловато, да и колллайдеры может перескакивать.
34 744557
>>44556
И да, вы вообще используете Character Controller в своих проектах? Это оправданно?
35 744558
>>44556
>>44557
Смотря для кого или чего. Что нужно удобно двигать куда надо, а что толкать физически.
Контроллер тебе идеально подойдёт для гг, форсе для пули к примеру, а через трансформ для каких либо узко специализированных зада.
36 744648
Как вы храните заготовки и идеи проектов? Не когда делаешь одну конкретную игру, а когда экспериментируешь с механиками, понимаешь что механика интересная, но прямо сейчас она не нужна.

Просто сейчас получается свалка, в которой я потом ничего не могу найти (вот почему юнитеки не могли добавить не только ввод названия проекта но и его описание? Всего одну строчку текста блин к проекту в юнитихабе)
37 744655
>>44648
Для тебя, и тех кто использует вообще всё просто, делаешь нужную механику/объекты/сцены, потом просто это в бандл экспортируешь, он автоматом подтягивает все нужные ресурсы для работы.
Остаётся в конце просто переименовать ассет чтобы было понятно что это, или иметь текстовик с кратким описанием каждого твоего ассета по названием файлов, тут как говорится воля фантазии.
38 744656
>>44655
>>44648

>и тех кто использует вообще всё просто


Unity

быстрофикс
image.png9 Кб, 450x90
39 744658
>>44648
Ты можешь экспортировать файлы из проекта в .unitypackage (всё, что ты качаешь с ассет стора - в точно таких же бандлах лежит). Назвать как тебе удобное и хранить на пк.
Это более простым языком то, о чём анон выше написал
asdasdzxc.png34 Кб, 259x776
40 744668
Как редактировать параметры RenderPipeline через код?
41 744684
>>44668
Настройки проекта можно вот так редактировать:
compName = EditorGUILayout.TextField("Company Name:", compName);

UnityEditor.PlayerSettings.companyName = "someBS";


Наверняка рендерпайплайн можно как-то так редактировать.
42 744702
>>44558
А для NPC например? (логично, что так же подходит)
Я просто думаю что не слишком ли он перегружен, мб лучше реализовать свой контроллер через rigidbody
43 744704
>>44702
Для нпс у тебя Аи_клиент уже встроенный, там вообще ничего делать тебе не надо.
В юнити если посмотреть всё можно делать самому через свои более простые(как кажется на первый взгляд) велосипеды.
Пробуй сделать сам, вдруг и взаправду для твоих целей подойдёт лучше чем ванила от юньки, но я конечно очень сильно сомневаюсь.
44 744712
Сап юнитач! Пытаюсь разобраться с физикой Hover Car. Чтобы делать через PID регуляторы - я достаточно тугоумен а туторы с ютуба нихуя не помогают. Как тарантас пиздошит при наезде на препятствие - так и пиздошит, хотя повторяю всё в точности что на уроке. Аноны кто делал хавер кары, поделитесь советом, как заставить машину перетать прыгать после того как она наехала на препятствия
45 744714
>>44684
Вот я и хочу узнать как. Дело в том, что рендер пайплайн - это не настройка проекта, он в иерархии лежит и их можно насоздавать сколь угодно
46 744757
Посоны, возможно тупой вопрос, но все же. Делаю кликер, поставил ui button в центр экрана, кликаешь по ней - получаешь бабло. Мышкой все работает нормально, на телефоне одним или двумя пальцами тоже норм, а вот если 3 пальца заюзать кнопка не реагирует. Можно это починить как-то?
47 744758
>>44265
Хах!
48 744762
>>44714
>>44684
Никаких мыслей? Может хоть подскажете, где спросить? Я пытался на форчан залезть по такому поводу, но не нашел там где можно задать такой вопрос
49 744763
>>44762
Я вообще хз что такое renderpipeline, но это не оно?

>Unity’s Scriptable Render Pipeline (SRP) is a feature that allows you to control rendering


via C# scripts
.
https://docs.unity3d.com/Manual/ScriptableRenderPipeline.html
50 744766
>>44763
В смысле "хз"? Вы что, не пользуетесь URP?
Да, это то, ну а как редактировать его параметры через код то? Там всё о том, как самому наскриптить рендер пайплайн, а мне в рантайме надо его редактировать. Проблема то в том, что этот пайплайн не висит на каком-то объекте, чтобы я мог обратиться к нему с помощью геткомпонент
51 744767
>>44766

>В смысле "хз"? Вы что, не пользуетесь URP?


Я только 2d хуйню делаю, в 3d не лез ни разу
52 744768
>>44766
Ну есть несколько вариантов. Самый правильный это сделать несколько пайплайнов с нужными тебе настройками и менять их в процессе игры когда тебе надо - https://docs.unity3d.com/Manual/srp-setting-render-pipeline-asset.html

Но если у тебя там динамическая смена микронастроек каждую минуту, то создавать 100500 пайплайнов явно неудобно будет, не уверен сработает ли это и потестить не могу, но можешь попробовать так:
Закидываешь свой пайплайн в Resources, через код загружаешь его "as RenderPipelineAsset" и редактируешь. Вполне возможно, что после этого нужно будет сразу его заново назначить в настройках, но если и без этого будет работать - то не нужно.
Не уверен, что второй способ в принципе сработает, но попробовать можешь
image.png429 Кб, 768x432
53 744769
54 744772
>>44757
AllowMultituch в настройках камеры или проекта (player-android) а также изпользование OnPress() ?
55 744775
>>44772

>AllowMultituch в настройках камеры или проекта (player-android)


Что-то не могу найти такое

>также изпользование OnPress()


Но тогда же будет обрабатываться не нажатие а удержание кнопки? Или как это работает?
56 744782
>>44712
Никогда не делал, но попробуй поиграться с массой, поменять центр массы например.
57 744806
Двач, как заменять модель у объекта примитивами? (недавно в unity)
58 744847
Посоны, как unity ads работает с другими сторами? Если я например выложу игру в xiaomi сторе реклама unity будет работать? Что указывать тогда в айдишнике? ID гугл стора?
59 744854
>>44769
Спасибо.
Звиздец, 2021 год уже подходит к середине, полтора года уже прошло, как был задан вопрос на форуме юнити, а чтобы менять элементарные параметры графики в УНИВЕРСАЛЬНОМ рендер пайплайне (который юнити преподносят как неизбежное и верное решение в будущем) всё ещё надо накатывать сторонние хаки от левых чуваков.....................
60 744863
Вопрос. Кто как сохраняет настройки для своих костылей? Вот сделал я например EditorWindow, оно редактирует какие-то игровые ресурсы, все заебись. Но хочется сохранить какие-то настройки конкретно этого окна, а не игровых ресурсов. Например цветовую палитру, или какие-то чекбоксы для тех или иных инструментов чтобы они лишний раз глаза не мозолили, но чтобы я мог их включить когда они нужны.

Я обычно загоняю такое в ScriptableObject, но это надо чтобы окошко его создавало когда его нет, чтобы оно его искало, если потеряло. Поэтому хотелось бы узнать об альтернативах.
62 744883
>>44879
И ещё SessionState, если нужно хранить данные в рамках одной сессии
https://docs.unity3d.com/ScriptReference/SessionState.html
63 744884
>>44879
Я знаю. Оба какое-то говно в целом. Хранить что-то в регистре это самое ебанутое что может предложить юнити, а в скриптабл обжектах я и так уже храню. Но там "поищи папку с проектом костыля, поищи папку в папке, поищи в папке в папке этот файл, если не нашел то поищи по типу, если не нашел вообще ничего то создай", а потом переименуешь название папки костыля и вспоминаешь где там указать переименованную папку. Не-у-доб-но.
64 744890
>>44884
О! Надо будет попробовать просто хранить настройки в мета-файле самого скрипта который вызывает окошко! Есть же https://docs.unity3d.com/ScriptReference/AssetImporter-userData.html
65 744897
>>44863
Храню весь стафф по размеру окон, игровым данным, настройкам в бинарнике.
Плюсы? Всё просто и в одном месте
Минусы? Для себя не нашёл.

Советую.
66 744900
>>44897
Я хранил, но когда проект состоит из связки костылей которые кочуют из проекта в проект и иногда надо папку переименовать чтобы красиво было, иногда ещё какую-то хуйню сделать это становится неудобно.
Приходится дробить файлы настроек, делать какую-то хуйню для поиска потерявшихся.

Вообще да, у юнити же EditorWindow наследуется от ScriptableObject. Можно же получить моноскрипт через MonoScript.FromScriptableObject(this), получить путь к моноскрипту через AssetDatabase.GetAssetPath(obj) и наконец получить AssetImporter через AssetImporter.GetAtPath(path); а дальше творить всякую хуйню через этот импортер через его userData и не забывать сохранять его. Конечно там хранится простой стринг, ну да и хуй с этим. Для хранения настроек окна вызываемого этим скриптом наверно покатит.
Похраню пока там всякую маловажную хуйню и если чето наебнется то приду ныть в тред.
67 744993
Привет, народ! Решил потыкать Юнити, скачал, и столкнулся с проблемой: я не могу собирать билды под Винду и Макось. Только Линукс I use Arch btw. В хабе галочки напротив Windows Build Support и Mac Build Support стоят, но билд под Винду все равно не могу сделать. Что за хуйня, анон? Как это лечится?
68 744997
>>44993
Скрин ошибки?
69 745001
>>44997

>Скрин ошибки?


Да там нет ошибки как таковой. В меню тупо нет нужного пункта. При том, что он должен быть.
70 745006
кек
71 745007
>>45001
У тебя не установлены Windows\Mac build support
72 745044
>>744034 →

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


Чисто с точки зрения производительности, в данном случае проверка тэга может быть быстрее. Поскольку ты не пытаешься конвертировать весь объект в объект Player, а просто сравниваешь строчку тэга.
73 745055
>>44900
Тут хз, хз. Как написал выше, использую бинарники уже пару лет, до этого юзал хмл, но не зашло. С натяжкой могу разве что сказать получаются большие структуры, и под определённые игры может быть это будет не ок.
74 745066
Есть годный гайд как сделать boobs physics? Все, что нагугливаю, платный ассет, это не вариант. Тканью вроде тоже нельзя делать.
75 745077
>>45066
Насчёт гайда не знаю, маловероятно что рабочий в шаре есть.
Есть куча говно видосов, их брать за основу нету смысла, но для инфы посмотреть стоит.
Я делал двумя способами, оба рабочие, но со своими тонкостями.
Первый это реализация в юнити костями и скриптом.
Второй в блендере запекал несколько вариаций покачивания и уже в юньке на её костях дополнял ими.
Варианты не идеальные, и со своими минусами, но для тянучки подходят хорошо, и смотрятся не сильно всрато.
76 745085
Посоны, на андроиде игра проседает по фпс, в профайлере Gfx.WaitForPresentOnGfxThread > Semaphore.WaitSignal занимает 63%. Гуглил, нихуя не понял. Подскажите как починить?
77 745100
В каких случаях полагается использовать static к полю? Нужно ли вообще?
78 745107
>>45055
я тоже использовал но само наличие внешнего файла это геморой.

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

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

на самом деле кучу говна можно по умолчанию делать статичным. единственный реальный минус статичных классов в юнити это пожалуй то что хер его знает когда они там инициализируются и лучше это делать вручную.
79 745111
my_object.GetComponent<MeshFilter>().mesh = Resources.Load<Mesh>("Assets/Trapeze.fbx");
Почему не меняется модель для объекта?
80 745128
>>45007

>У тебя не установлены Windows\Mac build support


Спасибо, блять! А то я не заметил! Это говно отказывается ставится, что мне с этим делать?
81 745134
>>45128
У всех ставиться, у тебя нет. Совсем хлебушек? Удали подчистую тогда и поставь заново, не забывая указать при установке галочки каких пакетов тебе нужно.
Нахуй ты вообще только линукс при установки выбирал?
82 745155
>>45107

>я тоже использовал но само наличие внешнего файла это геморой.


Погоди, а как ты собирался хранить инфу об прогрессе и игре не во внешних файлах? Реестр? Наркоман чтоли?
83 745166
>>45155
каком прогрессе? какой игре? ты сообщения не читаешь чтоли?

>Кто как сохраняет настройки для своих костылей?

84 745184
>>45166
Ну это не отменяет факта, ведь настроек может быть много, и они разные, считай тот же сэйв файл.
Или о чём мы?
85 745268
Пиздец посоны, запилил простую 2д игру. Тестирую на двух телефонах, один послабее, другой поновее. Поставил Application.targetFrameRate = 60; ну а хули, нахуя мне больше 60? Новый телефон выдает ~60фпс, старый - 33фпса. Ебался неделю, оптимизировал, переписывал код, пережимал картинки, качество крутил, вертикальную синхронизацию ебал. Один хуй на одном 60, на другом 33.

Сейчас попробовал поставить Application.targetFrameRate = 300; теперь на обоих телефонах 60 фпса. Вот какого хуя? Что это было?
86 745271
>>45184
Мы о настройках окна для редактирования каких-то ресурсов лол. Написал же. Вот есть окошко. Хопа скрипт этого окошка, или папка этого окошка гуляют по проекту. Как хранить настройки окошка? Создавать файл? Надо тогда как-то следить за ним. Создавать когда его нет, как-то следить куда его пихать и желательно не терять если все это в разных папках. Неудобно. Надо чтобы юнити само как-то там делало всё и не теряло файлы настроек, а желательно даже чтобы я не знал где они вообще. Совать в реестр? Не вариант. Но! Юнити таскает за всеми файлами мета-файлы. Ткнул в них и смотрю обана а там же есть какая-то строчка с юзердатой. Я что, могу сам туда свою дату совать? И юнити будет за меня таскать эти файлы само куда скажу прямо за скриптом? И я их не буду видеть? Заебись!

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

На мой взгляд для каких-то мелочей просто идеально.
87 745272
>>45271
Алсо да. Советую поглядеть https://youtu.be/SyR4OYZpVqQ когда стал смотреть че ещё люди творят наткнулся на это видео.
88 745341
>>45271
Я то понял, без обид, но ты пишешь какую-то ахинею. Тебе надо хранить допустим данные, для этого у тебя есть файл, или при очень большом количестве несколько.
Всё что тебе остаётся это написать один скрипт который будет сохранять/загружать, всё.

Поэтому повторюсь, без обид, но ты явно не шаришь, и советуешь адский велосипед.
89 745367
Немного не в тему, но кто-нибудь делал неигровые приложения на Unity? Насколько оно вообще возможно?
90 745370
Решил потыкать юнити, тк свой движок писать впадлу. Че он от меня хочет? Скрипт кстати уже привязывался и была эта ошибка, которая фиксилась магическим образом пока я отходил. Сейчас ни в какую.
91 745371
>>45370
Проблема пофиксилась удалением пробела в названии. Это норма или я такой криворукий?
92 745373
>>45371
Имена скриптов в юнити пишутся без пробелов. Вообще, движок бывает капризным периодически
93 745374
>>45367
типо редактора левелов? тоже интересно
94 745388
>>45341
Мне кажется это ТЫ не шаришь и читаешь не внимательно. Мне бы хотелось узнать сколько у тебя опыта работы с юнити.
Когда у тебя уже есть некоторые инструменты удобные для прототипирования, но тебе не нужны все они, то нужна модульность. Нужно иметь возможность разделять свои инструменты. Наличие какого-то единого файла настроек как минимум подразумевает какую-то общую архитектуру между инструментами. Уже неудобно. Совсем пиздец как неудобно. Сегодня в проекте нужен какой-то генератор хуйни, завтра нужен дебугер, послезавтра какая-то другая библиотека, а послепослезавтра они перестают быть нужны и надо их удалить и сунуть что-то ещё.
Какие варианты? Сделать скриптабл обжект "настройки" и писать их как partial класс добавляя туда от других инструментов? Неудобно, громоздко, требует зависимости одного проекта от другого.
Или делать так чтобы каждый инструмент имел свой файл настроек, тогда надо писать в каждом инструменте скриптабл обжект и некоторое количество кода чтобы он не потерялся. Менее неудобно, но более громоздко. А желательно создавать рядышком папку Resources просто чтобы не проебать его.

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

Юнити как назло ещё и не даёт сериализовать EditorWindow в файл, не смотря на то что оно наследуется от ScriptableObject.

>>45370
Лучше не иметь пробелы в названии файлов со скриптами. Если создаешь монобихейвор или вообще всю хуйню что наследуется от UnityEngine.Object то лучше придерживаться тому чтобы название файла = название класса внутри него. И чтобы этот класс был первым который там упоминается.
95 745389
>>45367
Вполне возможно. Знаю одного человека который писал штуку для управления дронами в юнити. И другого который делал красивую хуйню для расчета материала нужного для кровли крыши. Юнити же удобно само по себе для такого сорта вещей.
96 745393
Почему текст на меньших разрешениях экрана начинает расплываться? Как исправить? Билд под андроид.
97 745399
>>45393
А хуй знает. Предположу что ты с новым гуи сидишь.

Включи пиксель перфект, если не включил.
Попробуй поменять размер самого шрифта в настройках.
Попробуй поменять фильтрацию у шрифта. Это вроде font.material.mainTexture.filterMode.
Ещё можешь попробовать уменьшить скейл у компонента шрифта, но увеличить размер самого шрифта в нём.
98 745432
Кто-нибудь знает, как из MagicaVoxel нормально экспортировать 3Д тайлы. В Юнити нулевая координата не по центру, а с угла.
99 745451
>>45432
Так это называется пивот поинтом у модели, и он фиксится либо в редакторе модели или созданием пустышки в юньке.
100 745493
Простите за вопрос, но аноны, скажите пожалуйста:
За сколько можно вкатиться с нуля с C# и юнити до первой работы? могу уделять 30 часов в неделю обучению. У кого какой опыт?
Я знаю про кранчи и тд, но стоит ли вкатываться вообще сейчас в юнити c# ?
Или лучше на галеру стандартную, но игры хоть мне нравятся, а веб прям работа работа
Мне 23 если что, хочу устроить перекот
101 745519
>>45493
Если опыт погромирования есть то наверно за месяц с таким темпом вкатишься. 3-6 и можешь уже принимать работу для дебилов.
Работу найти не трудно, трудно найти хорошую работу.
В шарп вкатываться это уже отдельная тема, но в целом юнити можно использовать для вкатывания в шарп в какой-то мере.

Вообще ответ больше зависит от твоих ожиданий. Что ты ожидаешь уметь делать? Быть человеком-оркестром трудно. Даже если только с кодом взаимодействуешь.
102 745522
>>45519
Ну я бы хотел запилить свою игру хотя бы из ассетов,ну и мобилки не самые казуальные на работку. C# не знаю от слова совсем. Хотя думал еще начать моделить семостоятельно и сделать не самую сложную игрушку про жизнь славика сычева в школе, мб не один в 3d.
103 745536
>>45522

>C# не знаю от слова совсем


Поэтому лучше начни с изучения языка. А то ты пытаешься освоить одновременно два очень сложных предмета. Приведёт это всё к обосрамсу.
104 745537
>>45536
Ну я планирую пройти курс по юнити, там c# в комплекте,вроде с языка и начинается там обучение.( с торрентов очевидно, я же не совсем поехавший) Моделлинг да, потом как-нибудь, уже после нахождения работы. Ну или самое простое в блендере если нужно будет для порфолио тайтлов.
Ну ладно, в общем вкатываться можно я так понял, сильно подводных нет. Спасибо
105 745538
>>45522
Ну, тут удачи можно пожелать только. Если моделить умеешь немного то может даже справишься. Если не умеешь то 2-4 недели ещё потратить придется до состояния когда себе плейсхолдеры сможешь делать.
Вообще следует сказать что "изучать" в юнити и делать в нём игры немного конфликтующие процессы. Так как по мере узнавания новых вещей проще зачастую будет снести проект и сделать заново, чем пытаться исправить. Так что в начале поменьше цепляйся за свои поделия.

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

Но да. Лучше для начала хотя=бы пройтись по различиям reference/value типам и че такое stack, а что такое heap,
106 745539
>>45538

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


Лул, я когда изучал C++, то параллельно начал писать консольную игру. А уже через несколько месяцев начал писать свой 2Д двиг, чтобы выводить картиночки.
Рисунок1.png171 Кб, 449x572
107 745582
Посоны, помогите. Делаю 2д платформер, есть персонаж с такими возможностями: бегать, прыгать, делать комбо ударов мечем на земле, в воздухе. делать двойной прыжок, скользить по стене, отпрыгивать от стены, если нажат прыжок во время скольжения.
Как лучше всего это сделать, чтобы без тонны ифов? Есть какой-нибудь пример?
108 745613
>>45538

>reference/value типам и че такое stack, а что такое heap,


А зачем это в юнитивском шарпе? Учитывая, что там распределение в памяти детерминировано, и массив, и объект будет размещаться только динамически.
109 745626
>>45582
state machine
110 745632
>>45626
А есть пример? Я пытаюсь по этому паттерны, но сложности с тем, как впихнуть проверки на колиженер
111 745636
>>45539
Кек. Делал почти то-же самое когда меня учили делфи, но решил что аутизм.

>>45613
А знаком ли ты с шарпом? структ от класса чем отличается?

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

Можешь даже не писать всю эту мошню с графом, а просто использовать для неё аниматор. https://docs.unity3d.com/ru/2019.4/Manual/Animator.html
Там можно на ноды кидать бихейворы. Можно в этих бихейворах описывать все эти проверки. Заодно и анимации возложить на это.
image.png209 Кб, 923x620
112 745639
Кстати! Какой клевый фокус. Я и раньше тыкал матрицу трансформации у гуи, но теперь узнал что можно заставлять его рисовать больше чем надо на самом деле через GUI.BeginGroup и таким образом можно скейлить свою хуйню по всякому.
113 745651
А Унити даёт разрабам гранты без обязательств на разработку, как это делает Анрил?
114 745652
>>45636

>структ от класса чем отличается?


Тем что структура не имеет фишек ооп, не может наследовать и т.д.
image.png19 Кб, 338x282
115 745656
>>45652
C++ господин, ты? Или просто неуч? У меня где-то была клевая ссылка объясняющая различия для C, C++ и C# между структами и классами, но я её проебал.

Нет, различия в том где они располагаются. В стеке, или куче. И то как они передаются. По ссылке, или по значению.
Например, почему для класса мы получили 2, 2, а для структа 1, 2?
116 745660
>>45656
Ммм, то есть myClass2 не создает новую сущность в памяти, а просто становится указателем на уже существующую - myClass1. Поэтому участок памяти с данными один и тот же, просто обращаемся через разные имена.

А структура, значится, создает сущность в памяти уже на момент объявления без использования new. А через new просто инициализирует данные. Надеюсь я правильно понял. Если да, то этот new меня запутал. Я думал он конкретно для динамической памяти.
117 745663
>>45660
new просто для вызова конструктора. В случае структов не обязательно даже вызывать его. Достаточно объявить
MyStruct myStruct3;
myStruct3.myInt = 3;
и оно уже считается полностью инициализированным.
Но опять таки структы при желании можно передавать в методы по ссылке через ref.
Ну и если я объявлю массив MyClass[] то это будет массив с ссылками. А при объявлении MyStruct[] то это будет по факту просто массив с int. Ну и разумеется производительность при кешировании у них будет мягко говоря различаться.

Так что да, это такой достаточно поверхностный способ менеджмента памяти в шарпе.
118 745666
>>45663
То есть по правилам шарпа структуры только в стеке размещаются? А классы только в куче?
119 745668
>>45666
Если в общем и размыто то да.
Есть ещё боксинг-анбоксинг, в случае с юнити есть удивительные манипуляции с тем как копируются большие структы, ещё у шарпа есть unsafe код где можно упарываться пойнтерами и многое другое. Но в общем и целом да. При обращении к классу лезешь в кучу по ссылке, при обращении к структу ты обращаешься к связке полей.
120 745682
>>45668
Понял брат, спасибо.
121 745692
>>45537

>курс по юнити


На официальном сайте проходи, там есть два, один просто обозревает юнити как движок, во втором дают азы шарпа и поэтапно сделаешь 5 прототипов. Все остальные курсы говно.
мимо
122 745696
>>45692
Да у меня англ так себе пока что, так что пока думаю с отуса на торрентах пройти попутно апая язык, а там уже и досмотрю что нужно будет на англ. Жаль сакутина на торрентах нету, вроде годный чел.
Меня больше то интересовала перспектива, что там по рынку с работой, есть ли проблемы с поиском(очевидно вакансии уже смотрел и на гд.ру и на нн и в группах вк, но все равно не до конца понятно было, но насколько понял, смысл вката все еще есть, как и перспективы)
123 745698
>>45696
Там простой английский и после каждого ролика, есть простой список действий по пунктом для выполнения. Лучше этого формата ты не найдешь, будут 30 минутный ролики со скачущими туда-сюда мыслями без структуры.

У Сакутина, обычные курсы, там нет ничего особенного. Если интересно посмотри в предыдущих тредах, там анон давал ссылки на скачивания с файлообменников актуальных курсов 2019+
124 745705
>>45698
Хорошо, гляну, спасибо
125 745716
Есть юнити таймер? Или свои костыли делать?
126 745717
>>45716
тут тебе не гугл, не будь кончем.
https://docs.unity3d.com/ScriptReference/Time.html
127 745718
>>45717
Ну да, только там нет того, что я просил. Мне таймер нужен, чтобы секунду за секундой отсчитывал.
128 745723
>>45718
Корутину запустить?
129 745726
>>45723
Да, но пришлось код перегружать, понижать читаемость. Мда уж, ну юнити.
130 745731
>>45718
Берёшь короче float и прибавляеш к нему в апдейте deltaTime. Обана в этом float считаются секунды!
131 745740
>>45731
КОСТЫЛЬ
132 745744
>>45740
Ну ты и дэбил. Есть ещё MonoBehaviour.InvokeRepeating, но это уже реально костыль.
133 745746
>>45744
Хамло невоспитанное. Так зачем ты об этом пишешь, если это "реально костыль"?
134 745750
>>45746
Потому что для тебя это решение, судя по твоей сбитой системе координат.
HubWorld.png5 Кб, 354x386
135 745762
Делаю игру по типу марио 64. Столкнулся с проблемой переходов между уровнями. Каждый уровень - отдельная сцена, на сцене может быть несколько дверей которые могут вести куда угодно. Лайаут как на пике.
Так вот, в скрипте двери я могу прописать какую сцену загружать, НО, как указать у какой двери спавнить игрока? Вроде в метод SceneManager.LoadScene() нельзя никаких дополнительных данных передовать.
136 745764
>>45762
просто перемещай игрока в дверь?
137 745767
>>45764
В том то и вопрос - в какую дверь. Например если из хаба мы пойдём в верхнюю-правую комнату - в какую из 4-ёх даерей спавнить игрока?
138 745769
>>45767
У тебя проблемы с тем чтобы связать между собой двери чтоли. Ну сделай в нужной сцене менеджер, на котором будет висеть словарик с сценами из которых туда можно прийти. Когда сцена загружается, она в статичном классе смотрит "ага игрок раньше был в этой сцене, значит суем его в эту дверь", после чего перемещает его в нужную дверь, а затем обновляет переменную сцены в статичном классе, чтобы все остальные сцены могли проделать то-же самое.

Это если не хочется делать какого-то няшного редактора и просто хочется получить результат.
image.png726 Кб, 1366x768
траблы с запуском игр 139 745776
сап, товарищи. Проблема такая: запуская игру на юнити, получаю смачного цифрового хуйца. Игра начинает запускаться, но вылезает окно юнити и игра сразу же закрывается (или вылетает, хз). Чё делать в данной ситуации? Ниже картинка самого окошка на примере ЛМР (такая же хуйня и в among us)
140 745780
>>45776

>Ниже картинка самого окошка на примере ЛМР


>ЛМР


Толстая реклама этой хуйни?
141 745781
>>45780
Похоже на то.

>>45776
Разработчику багрепорт слать.
142 745783
>>45776

>ЛМР


Ого. Оно всё таки релизнулось?
143 745787
>>45780
>>45781
да не, у меня такое не только с этим.
>>45783
Нет, демо версия
144 745807
Какой самый адекватный способ для локализации игр на разные языки? Попробовал lean localization чтобы особо не заморачиваться, но это бред по-моему 9000 обьектов на сцене держать?
145 745830
>>45762
Для сохранения прогресса есть два пути.
1. Делаешь стартовую сцену перед своей основной игрой, и на ней объект, на объекте скрипт с нужными для тебя переменными, а в методе авэйк объекта ставишь донтдестрой, дабы объект не проебался при смене сцен.
2. Делаешь функию сохранения и загрузки из файла, и загружаешь/сохраняешь от туда в течение игры.

>>45807
Для текста файлик/файлики и смена текста при инициализации игры, либо же скрипты с текстом.
Для текстур/моделей хранить их дубликаты.
image.png113 Кб, 875x785
146 745847
>>45807

>Попробовал lean localization чтобы особо не заморачиваться, но это бред по-моему 9000 обьектов на сцене держать?


Это нормально. Я писал свой простой локализер, но он примерно так и работает. В UI вешаю на текст компонент LocalizedText, который подменяет текст на локализованный. А внутри скриптов, где динамический текст, уже напрямую использую Locale.GetString(...)

Единственное, у меня ещё есть расширенный вариант LocalizedText
147 745885
Сап, аноны. Подскажите, как сделать камеру а-ля Life is strange? Сейчас поясню: в LiS камера облетает персонажа, но глядит из-за плеча, благодаря чему можно наводиться на предметы. У меня же камера также облетает персонажа, смотрит на него через LookAt(), но смотрит она точно в центр. Никак не могу придумать, как пофиксить
148 745887
>>45885

>Никак не могу придумать, как пофиксить


Добавь пустой объект внутрь персонажа, назови его Pivot Point и размести справа. Пускай камера следит за ним.
149 745892
>>45887
Спасибо, анон
150 745894
>>45847

>Это нормально.


А большое количество обьектов на сцене, которые содержат только тексты перевода не заруинит производительность?
151 745895
>>45892
Только учти, что root объект твоего персонажа не должен вращаться, ведь иначе тогда и Pivot будет вращаться. У меня сама моделька персонажа, которая вращается, хранится в объекте Avatar, который находится внутри root объекта.
152 745904
>>45895
Прости за глупый вопрос, анончик - то есть у тебя root объектом является просто пустой объект?
153 745905
>>45904
На нём весят скрипты связанные с персонажем. Это управление персонажем и всякая логика. А внутри этого объекта уже сама моделька с аниматором, пивоты для камеры, объект для озвучки шагов персонажа и прочее.
154 745907
>>45905
Снова спасибо, анон
Безымянный.png12 Кб, 601x199
155 745922
>>45904
Не понимаю. Скачал юнити, разрешил доступ в интернеты, а всё равно ошибка. ЧЯДНТ?

я вообще нубас, поглядел туторы на ютубе, решил руками потыкать и проверить всё сам, а тут засада
kombinirovannyyfiltrvk600a2b2e2k2p3d-1000x1000.jpg105 Кб, 1000x1000
156 745928
>>45769
Действительно, всё так просто оказалось. У соединённых дверей просто должен быть какой-то общий id. Спасибо, держи фильтр.
157 745929
>>45922
Папки на русском не называй, что ты как маленький
158 745934
>>45929
Я бы ещё рекомендовал для рабочих папок не использовать пробелы.
159 745957
В ассет сторе в принципе есть нормальные бесплатные анимации на кнопочки? Не могу найти никак.
160 745958
>>45957
Сделай сам, в чём проблема? Анимация для кнопок это плевое дело, можешь ITween использовать, еще проще будет
161 746003
Анон, дай видео урок по пиксельперфект 2д стилизованному под старые консоли аля nes/sega и с последующим портом под андроиды (то есть чтобы нормально показывало на всем этом зоопарке планшетов). Размер вьюпорта 320х240

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

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

В прошлый раз пытался запилить рогалик и плюнул на него.
А да, я еще перфекционист, не могу тяп ляп. У меня даже от координаты типа 1.00011 жопа горит из-за этой дробной части, а если спрайт на пиксель дальше нужного подвинулся от скрипта - я кидаюсь на монитор с желанием его разьебать
162 746004
>>45894
Переводы текста лучше хранить в ScriptableObject'ах, а не в сцене. А ещё лучше - хранить весь текст в гугл таблицах, а потом его подтягивать в ScriptableObject, на который ссылается система локализации. Естественно, все это делается в редакторе, в билде у тебя будет объект со всеми строками и синхронизировать перевод "на лету" не получится.
163 746010
>>46004
>>45847
А что, нельзя просто подкачивать ТХТ с текстом в рантайме?
мимо
164 746011
Насколько влияет количество канвасов на сцене на производительность? А то ради удобства хочется раскидать элементы по разным.
165 746014
>>46011
Раньше когда чекал тему была фишка что надо было всё расстаскивать по большому количеству, и не углублять всё в одном.
Может сейчас уже что-то и поменялось.
166 746033
>>46021 (Del)
Может быть ты?
С юнькой всё ок, лучшее решение для инди на сегодняшний день.
167 746034
>>46033
как слайдер кастомизировать? ни цвета ни кноб нихуя нельзя поменять
почему Outline с толщиной по Х и У в 1 пиксель не всегда отображается?
168 746036
>>46034

>ни цвета ни кноб нихуя нельзя поменять


Можно, а ты просто криворукий дебил
169 746039
>>46034
Как анон выше написал, в юньке, ты можешь всё что угодно кастомизировать, вот вообще всё, у тебя полная свобода в редактирование и добавление, это не говоря об анимациях, свистоперделках и т.д. Единственное что, требуется понимать что ты хочешь сделать чтобы изучать в нужном направлении.
170 746041
>>46034

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


либо упоротый, либо пиздоглазый.

>Outline с толщиной по Х и У в 1 пиксель не всегда отображается?


ебани материал с ним. UI вообще-то тоже можно шейдорами обмазывать.
image.png71 Кб, 970x367
171 746042
>>46034

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


либо упоротый, либо пиздоглазый.

>Outline с толщиной по Х и У в 1 пиксель не всегда отображается?


ебани материал с ним. UI вообще-то тоже можно шейдорами обмазывать.
172 746050
Господа, пользовались такой услугой, как код-ревью? Это когда профессионал смотрит твой код в проекте и говорит, как улучшить.
Если пользовались, то у кого брали?
Или может сами делали?
173 746074
>>46050
Анон, вот тебе гайд по лучшему кодревью, заливаешь на какой-нибудь pastebin/github (в зависимости от приватности проекта)
заходишь на любой форум Борду пишешь что у тебя самый ахуенный код в мире. Вуаля бесплатное кодревью ток придётся фильтровать мат
174 746093
>>46074
Адски двачую, рабочий вариант, и даже лучше, так-как тебе выскажут всё что думают.
175 746104
Сап Юнитач, врываюсь в геймдев. Делал кто соединение по блютузу/wifi между двумя устройствами? Я не очень понимаю логику прогрузки сцен и передачи данных между телефонами. Я пока понимаю примерно так:На одном устройстве прогружаются два объекта и на втором устройстве прогружаются два объекта. И если первый игрок свдинулся, то на второе устройство отправляются новые координаты первого игрока и на втором устройстве эти координаты передаются объекту отвечающие за позицию первого игрока? А со сценами как тогда быть,если к примеру окружение на сцене каждый раз случайно генерируется?Передавать второму устройству сид для генерации?
176 746108
>>46104

>Передавать второму устройству сид для генерации?


Именно так.
177 746144
>>46050
Могу провести ревью кода, если проект небольшой. Бесплатно. Порядок такой - скидываешь проект/код, я его смотрю, а затем в текстовом/голосовом виде рассказываю, что не так и как это исправить. Делаю для себя, чтобы потренироваться. Если заинтересовал - пиши контакты.
178 746148
>>46144

>Бесплатно.


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

А вот идея платных ревьюверов интересна - может реально есть такая услуга? И кто предоставляет?

p.s. впрочем хороший код нужен ровно в одном месте - на собеседовании, так что...
179 746150
>>46148
Ты только что обосрал мое предложение, хотя вопрошаешь о том, почему все обсирают друг друга. Заранее обрекаешь мою затею на провал, не удосужившись проверить, действительно ли все так плохо.

По поводу попенсурса и комментариев в общих репозиториях - очень часто это делается для поднятия своего чсв. Формат моего предложения не подразумевает работы на публику, соответственно, мне не перед кем трясти бородой.
180 746167
>>46164 (Del)
А это - многие другие!
181 746227
>>46010
Нельзя?
182 746238
По созданию сервера что бы клиенты из стима подключались и играли на нём, какие есть доступные варианты? Билд сервер версии игры в юньке и последующее заливание куда то на хостинг, или чисто через код?
183 746362
>>46150

>Ты только что обосрал мое предложение,


Да я не твое предложение, а общий подход - когда ньюфаг выкладывает код на общее обозрение в надежде, что ему помогут и подскажут как надо писать код..
184 746380
>>46238
"headless" билд.
image.png3 Мб, 1920x1080
185 746385
Хочу вкатиться в создание ассетов для юнити и назрел вопрос: Как часто ру анон покупает что-то в юнити сторе и что именно?
186 746386
>>46385
Оно не стоит того. Копейки заработаешь.
187 746387
>>46386
Уже продавал что-нибудь? Понятно, что рынок забит дампингующими индусами, но это единственное к чему у меня есть хоть какой-то интерес
189 746390
>>46388

>Set a price for the asset. Remember, Unity takes 30% of the sales;


Пиздец.

>After publishing my debut asset, the Asset Store brought me $56 in the first month. And in six months I have already received $316.8.


Пиздец.

Спасибо за статью, анон, полезно.
Все равно хотя бы раз попробую что-нибудь запилить, для кодинга я слишком тупой
190 746391
>>46390
Хотя если он сделал $316 пассивно со своего первого ассета, а не со всех в общем, то уже не так плохо
191 746393
Тут есть те, кто в конторе работает и пилит под мобилки?
Есть желание перекатиться из околоэнтерпрайза (опыт год, java. Игрушки игогда раньше кириллил, но на голых джаве и крестах).
Насколько сложно попасть в юнити на разработку под мобилки с таким бэкграундом? Естественно, собираюсь подучить шарп (с джавы легко перейти будет) и сам движок изучить, запилить пет-проекты, с апи мобильных осей разобраться.
И вообще, гиблая затея? Готов в доходе потерять.
unityPride.png14 Кб, 1318x131
192 746400
Че пацаны месяц гордости...
193 746404
>>46385
По-моему никто не покупает, кроме самых ленивых и богатых. Ибо умеющий гуглить и так найдет.
194 746405
>>46393
Хотя нет, нахуй надо. Передумал, лол. Лучше для хобби оставлю.
в2в.jpg216 Кб, 1399x1054
195 746416
Первый день в движке
мм какой замечательный движок
И я так мой первый и я подозреваю не последний вопрос какого хера ему надо!!
196 746425
Увожаемые, последняя стабильная юнити работает нативно на М1?
197 746428
>>46416
друг, ты бы логи хотя бы читал. Авторизироваться в движе же надо
умум.jpg112 Кб, 1901x872
198 746430
>>46428

>друг


Я пять раз входил и выходил из движка и несколько раз из из магазина в магазин.
На буржуйском форуме мне посоветовали скачать ранние сборки 18года и там закачать ассеты, после чего и в сборке 21года они будут работать, тупо, ноя попробовал и о чудо, каким-то образом это сработало.
Удивительный мир Юнити.Начало.
Screenshot1.jpg55 Кб, 736x385
199 746432
200 746464
Чем можно редактировать сейвы с юнити файл формата .es3
201 746465
Еще вопрос Assembly CSharp.dll он собирает все скрипты вроде как, можно ли его отредактировать что б включить скрытые настройки (читы тригеры и прочее) которые там могут присутствовать или нужен полностью другой Assembly CSharp что бы там все это было прописано.
202 746500
>>46432
друг, а почему 18 юнити а не 20?
203 746505
>>46465
Ты бы взял в рот у Романа Сакутина?
204 746508
>>46505
Насчёт этого кадра. Хуесосит всего и вся, когда можно было бы обойтись без оскорблений.Но что скажет анон, посмотрев как программирует Рома?Заслуженно хейтит?
205 746517
>>46508
Синтаксический сахар.
206 746531
как узнать что потребляет много озу?
207 746538
>>46432
>>46430
Тоже самое было. Но в моём случае ещё обиднее, так как я затарился в ассет сторе на всю котлету.
208 746540
>>46508
Давно за ним слежо и не только по юнити, но и видосы на канале, раньше гавнокодил, сейчас более менее научился, бесит его ЧВС и предвзятое мнение, да и курсы его гавно я покупал С#, знаю.
209 746543
>>46538
У вас случаем интернет не через проксю? Там есть проблема с юнити хабом, который не хочет авторизироваться если в видне включены прокси настройки
737be23b1dee6ad8e90fd6a7ee745797.png100 Кб, 1920x689
210 746546
У кого-нибудь были баги в анимациях, когда не меняется цвет? Со всем, что касается размера или вращения, работает нормально, но как доходит до цвета, ничего не происходит. Видно, что значения в ключах rgba меняются, но сам цвет как был белым так и остался. Версия 2020.3.8
211 746553
Есть ли ассеты с интерфейсом и меню в стиле клэш рояля и archero? Ну или просто как у жефолтных популярных аркад, у них все 1 в 1, думаю, что они тупо покупают ассет в сторе.
212 746561
>>46425

бамп
213 746588
>>46465
Уже сам во всем разобрался девелоперы вы чмондельные ваш уровень клепать мобилку парашу с кучей багов сиди тут короче и не отсвечивайте хуtйсосы. Дорога в геймдев вам закрыта. ^_^ ..!..
214 746621
>>46553
Попробуй поискать по словам "toon ui".
215 746624
>>46588
Пруф, что разобрался
-p2mt9MGCH0.jpg31 Кб, 432x340
216 746626
После переката развелся рак в треде, я смотрю
217 746628
>>46626
Соседство с срачешизиками.
218 746641
Сам юнитач, возможно ли покрасить не весь меш, а только некоторые треугольники? Я сегененировал меш и хотел бы раскрасить его без градиентов. Т.е. один треугольник спшлодной зелёный,а второй треугольник сплошной синий,например
219 746643
>>46642 (Del)
Вангую, что на видео и есть та самая "свинособака".
220 746650
для вычислительных шейдоров же нету способа вывести список кернелов?
221 746652
Почему так сложно всё?
222 746662
джун(мб и выше) на C# и знаю С++ на ок уровне. Unity или UE4?
223 746679
>>46662
В целом чисто на твой вкус. Оба движка хороши, плюс недавно выкатили UE5 в котором много полезных фич.
В целом, если тебе нужно чисто чтобы на работу устроится или индюшатину делать - Unity будет выбором получше. Больше вакансий, движок удобней для всяких простых проектов аля мобилок и подобного что не отменяет возможность делать сложные игры аля Тарков или Pathfinder и пр. из шапки

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

Вся инфа по UE5 - сугубо статьи, презентации и поиграные игры на оном. В общем-то тебе ничего не мешает просто покопаться в одном и в другом недельку
224 746686
>>46662
UE для профессиональной разработки. Я бы рекомендовал начать с Unity. Гораздо проще вкатиться и проще будет найти работу/команду инди-разработчиков.
225 746689
>>46686
Бред.
227 746710
как выпилить все мета файлы? и не сломается что-нибудь потом?
просо хочу схоронить проект на харде или возможно кому-нибудь скинут, а он блядь 2 гига весит (при том что билд игры весит 180 мб)
228 746713
>>46710

>как выпилить все мета файлы? и не сломается что-нибудь потом?


Сломается.
Сохраняй на гитхабе и оттуда скидывай.
Eсть гит игнор для юнити https://github.com/github/gitignore/blob/master/Unity.gitignore

>2 гига весит


Папка Library больше всего места занимает?
image.png1 Кб, 109x64
229 746723
>>46713
да, в library эти папки
230 746729
>>46723
Всё что находится в папки Library это кеш, который можно удалить.
231 746731
>>46696
Мобильный кал за игры не считаем.
232 746732
А можно в InputManager настроить такое:
Я нажал на какую-то кнопку, причем быстро нажал, и значение Input.GetAxis("SomeShit") плавно меняется с 0 до 1, а когда нажал второй раз, значение вернулось с 1 до 0. Главный момент, чтобы смена значения была даже тогда, когда кнопка, отвечающая за ось SomeShit не была нажата.
233 746733
>>46732
PS на примере гонок: я лишь один раз нажал кнопку "W", и авто плавно едет второй, так как значение с этой оси равняется 1, даже с отпущенной кнопкой W.
Или это придется вручную писать?
234 746734
Есть какой-нибудь гайд как правильно делать гуи игры? А то начинаю делать через юнитевское - и какой то ад творится - куча всякого мусора, эти дурацкие координаты, расползается по экрану (то есть в редакторе все четко под разрешение, а в билде пол интерфейса где-то за экраном)
235 746735
>>46733

>второй


Вперёд
fix
236 746740
>>46734
изучи React Transform и в нём настрой привязку UI элементов к точке на экране
237 746741
>>46734
Расставляешь в настройках UI места куда ему привязываться и во всех разрешениях всё делается само из коробки. Прописывать в коде или что-то самому делать это уже вчерашний день, либо уж для слишком специализированных и узко направленных решений, обычно анону для инди 100% такое не нужно.
238 746766
>>46621

> Попробуй поискать по словам "toon ui".


Да уже сам запилил.
239 746783
>>46731
Я вот сейчас кастелванию на мобиле играю (которая симфония ночи) - охуенно же

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

Когда-то и на пк все это говно строчили всякие аловары

И на флеше (при том что на флеше также были и достойные игры)
Новая папка 2021.06.06 - 13.39.33.02.DVR (online-video-cutt[...].mp4907 Кб, mp4,
854x480, 0:25
240 746804
Тяжело, когда руки не из того места =/
241 746808
>>46804
хуя жара
image.png2 Кб, 350x85
242 746815
ну какого хуя эта пиздень импортирует говно уже второй час?
243 746816
Я меня такая же проблема, перешёл на более старую версию, отпустило..
244 746837
>>46815
Может у тебя комп слабенький? Потом будет быстро загружаться. Он генерирует временные файлы в папку Library.
245 746838
>>46783

>То что на мобилах не делают нормальных игр - это другой вопрос


Нормальные игры по каким критериям? Двачерским? Для меня хуинди в стиме - не игры - и я их никогда не покупаю. И что теперь? То, что на мобилках сплошной фритуплей, это уже особенности платформы. Никто не хочет там покупать игры.
246 746908
Парни не могу понять чего он хочет.
Scene 'Assets/Scenes/SampleScene.unity' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded.
To add a scene to the build settings use the menu File->Build Settings...
UnityEngine.SceneManagement.SceneManager:LoadScene(String)
com.pub.rpg2e.GameMaster:StartGame() (at Assets/Scenes/GameMaster.cs:27)
UnityEngine.EventSystems.EventSystem:Update()

Кароче есть две сцены, сцена с игрой и сцена меню. В сцене меню настрои кнопку старт, привязал к ней пустышку объект, а на объект пустышку кинул скрипт, в котором есть метод загружающий уровень.
Если коротко то тело метода
SceneManager.LoadScene("SampleScene");
Так вот пишет, что не может загрузить сцену, окей делаю ещё одну сцену и вывожу её в вершину иерархии пути и ничего, копирую путь сцены, ничего, этот еблан в книги даже толком не указал в какую папку сохранить сцены с игрой, в какую скрипты, а ты теперь догадывайся куда файл засунуть или какой путь указать.
247 746913
>>46908
Настройки проекта открой. Там есть список включенных в проект сцен. Добавь туда все нужные сцены.
248 746933
Бля почему в этой манде так сложно напилить свой няшный эвент менеджер а-ля как это делают в js.
Сука боль ыыыыааааа.
249 746937
Как лучше делать сохранение настроек при переходе по сценам? Сделать меню неуничтожаемым объектом?
251 746944
>>46937
Либо сделай один неуничтожающийся обьект, либо записывай данные в статик класс
252 746958

> Использовать ES3, вместо создания собственных костылей


В чём я не прав?
253 746965
>>46957 (Del)

>Только, как это сделать конечно не сказал.


Бля, если тебе еще и это обьяснять нужно, то нахуй ты вообще сюда пришел? Может ты еще и экран на телефон фотографируешь, вместо того чтобы скриншот сделать, потому что тебе никто не сказал на какую кнопочку для этого нажать?
254 746966
ЗДАРОВА, КОТАНЫ!
Ищу годный гайд по разбивке проекта на два апк под андроид. Как водится - основной апк для кор-механик, вторичный (для дозагрузки) под контент, как паковать и как это дело потом согласовать. Пилю первый проект манямечты.
255 746971
>>45367
Нативные виндовс-компоненты и контролы не вставить.
256 746982
>>46958

>ES3


Что это? Ассет какой-то?
257 746983
>>46966
А ты уверен, что оно тебе сейчас надо? До 100 МБ можно не разделять. Есть ещё автоматическое разделение:
https://docs.unity3d.com/2018.4/Documentation/Manual/android-OBBsupport.html
258 746985
>>46966
В гугле щас до 150 мб можно бандлом, до 100 мб можно апк.
259 746987
>>46982
система сохранений с поддержкой всех платформ
260 747004
>>46987
Так это ассет или в юнити по умолчанию есть?
261 747005
>>46983
От души душевно в душу, но это я читал, забыл дописать что ищу альтернативные гайды. Да, разделять надо, хотя бы из тех соображений, что при необходимости допила после релиза, не пришлось бы все перезаливать и перекачивать юзерам.
262 747021
>>47004
Ассет, платный можно спиратить
Сам юзал в одной игре - работает чудесно, помогает избежать костылей для сохранения листов + по заверениям разрабов работает даже лучше, чем встроенные префсы
image.png83 Кб, 1160x507
263 747027
>>47021
Это всё элементарно реализуется с помощью Newtonsoft.Json. Можно сохранять любые данные, хоть List, хоть Dictionary.
264 747033
>>47027
двачую этого, только можно вообще без васянов и юзать дотнетовский бинарный сериализатор
писать почти нихуя не надо и все работает норм
265 747041
Глупый может вопрос:
Пишут что GameObject.Find() это медленно.
Проверил со стопватчем, среди 1000+ объектов нашло за 0.1 ms (меньше чем тратит Debug.Log()).

То есть если не юзать в апдейте то это норм?
266 747043
>>47041
Если он у тебя не вызывается часто - норм
267 747044
>>47041
Это норм, если не в апдейте. Но вообще, разработчики избегают этого метода.
268 747045
>>47043
Периодически, типа как меседж передать когда надо.
Диалоговая система ищет акторов по сцене к примеру.
(лень писать евент систему (если можно не писать))
269 747046
>>47044
Потому что некрасиво смотрится на кодревью наверн)
selfloss.mp424,6 Мб, mp4,
1280x720, 14:51
270 747066
В чём он не прав?
271 747069
>>47066
Ну, это очевидные вещи. УЕ отлично подойдёт для графонистой игры. А индюшатину проще запилить на Юнити.
272 747072
>>47066
По фактам все
273 747106
>>47066
Ссылка есть на него?
274 747112
>>47106
Нашёл, всё в порядке пацаны.
275 747130
>>47066
Ну он только на рендеры ноет.
276 747142
>>47066

>ми-ми-ми никто в твиторе ни лайкает мое говно((((((


Вон люди на реддите постят свои поделки на юнити и получают тысячи лайков за сутки
https://www.reddit.com/r/Unity3D
277 747165
>>46939
А вообще, имеет вообще смысл вместо обычных событий делать так(пик)? С одной стороны, так проще тестировать код, потому что любой может послать событие, ты не привязываешься к конкретному классу. С другой стороны, чтобы отобразить в том же UI текущее состояние, тебе нужно обратиться к конкретному классу anyway.

Есть UI, который отображает никнейм игрока. В OnEnable отображаем текущее значение:
var playerService = Context.Resolve<IPlayerService>();
nicknameUi.text = playerService.Nickname;

А потом привязываемся к событиям:
playerService.NicknameChanged += ...;
playerService.NicknameChanged -= ...;
278 747167
Хм, использовать EventManager для высокоуровневых событий реально будет удобно, если подумать. Когда игрок нажал Начать игру, например.
279 747187
>>47130
я бы сказал единственная часто что мне понравилась, т.к. сам не понимаю этот feature creep пиздец
280 747188

>часто


часть
281 747234
Котаны, у кого-нибудь есть Prime31 Play Game Services Plugin? Хочу проверить перед покупкой подойдёт ли он мне.
282 747269
>>47187
Они-ж теперь акциями торгуют. И чтоб цена шла вверх надо постоянно создавать инфоповоды "смотрите какую охуенную фичц мы запилили", а после на эту фичу уже всем насрать.
283 747278
>>47269
Вот поэтому баги только увеличиваюся.
И на любой вопрос почему x не работает - купите ассет.
284 747319
>>47066
Что за кент, дайте ссыль, плиз
285 747426
>>47278
Возможно они вынуждены этим заниматься? В отличии от UE45, который пригрели себе эпик геи
image.png9 Кб, 467x113
286 747443
Прикрутил анимацию поворота к персонажу, при запуске игры персонаж нормально крутится, но во время поворота у него в компоненте transform значения в rotation не меняются. Как сделать, чтобы менялось там тоже?
287 747450
>>47443
Настройки компонента аниматора покажи. Там есть поле как раз для этого. Apply Motion Root вроде
image.png10 Кб, 786x127
288 747452
как выпилить префаб? Destroy ошибку выдаёт
289 747453
>>47452
Друг, ты покажи хотя бы какую он ошибку выдаёт
290 747454
>>47453

>Destroying assets is not permitted to avoid data loss.


>If you really want to remove an asset use DestroyImmediate (theObject, true);

291 747455
>>47450
Спасибо, но уже разобрался. У меня в OnAnimatorMove не было этой строчки:
transform.rotation = animator.rootRotation;
292 747456
>>47452
Тебе не префаб нужно удалять, а его копию.

var instance = Instance.......
Destroy(instance);
2 .webm4,4 Мб, webm,
1280x720, 1:57
293 747457
>>47456
спасибо
294 747458
>>47457
Бро, это не решение проблемы. Ты создаёшь копию и тут же её удаляешь. В чём смысл? Опиши задачу.
295 747459
>>47458
я его через секунду удаляю, так как анимация, которая на нём висит длится всего одну секунду
296 747460
иногда вот играю в старые игры, годов так 2000-2005, которые реально интересны, и думаю, блин, игру с такими простыми моделями, текстурами, примитивной физикой и я один могу сделать за годик-другой.
но вот что-то не делаю
image.png17 Кб, 558x333
297 747461
>>47459
Можешь для удобства повесить на префаб такой универсальный компонент.
298 747462
>>47461
бля... какой-же я невнимательный, это просто пиздец и люблю всё усложнить
299 747463
Юнити совсем-совсем не дает доступ кданным в сцене из билда?
Т.е. пока сцена не загружена, ее данные закрыты?

А если я хочу сохранить ее состояние в рантайме и не запускать каждый раз забилженное состояние?
300 747478
>>47426
Наверное да, раз сами игры они делать не хотят.
Как например херстоун, наверняка некисло им отвалил за свой успех.
301 747479
>>47066
Насчёт финансирования. У юнитеков есть менеджеры с которыми можно договориться. Условия под каждого свои. Нам они выписали приличный бонус на юнити адс. У них есть русскоязычные менеджеры.
302 747481
>>47479
Что пилите?
303 747483
Поясните за процедурные анимации в юнити, как с ними дела?
Есть аналоги уечевского control rig? Что с IK солверами, физическими анимациями?
Можно ли пилить продвинутые процедурные анимации с функционалом из коробки, без покупки ассетов?
304 747529
Пытаюсь прикрутить объемные воксельные тайлы из MagicaVoxel в юнити через TileMapEditor и TileMapExtras, которые позволяют делать тайлы GameObject'ами. Мб есть у кого нормальный гайд на это всё дело? Нашёл только у Emerald Powder на ютубе, но не особо у меня получается даже по его коду
306 747540
>>46050

>Господа, пользовались такой услугой, как код-ревью?


Ожидание : обзор архитектуры с указанием на неочевидные проблемы и подводные камни.
Реальность : доёбки до нэйминга и орфографии.

Бесполезная хуита этот кодревью. Самый лучшщий способ отревьювить свой код - посмотреть на него через месяцок, другой.
307 747541
>>47481

>Что пилите?


Уже запилено. Так на нас менеджер вышел. Написал на почту.
308 747547
>>47463
Можно же костылить и сохранять данные необходимые для рантайма в статик полях
309 747548
>>47540

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


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

не проще было бы перепечь сцену с новыми данными и все?
311 747557
>>47548

>Если ответ - возможно, то переписываю


При этом важно не забывать, что это всего лишь инструмент. Я как-то посмотрел исходники Террарии, там вот разработчики не парились. По 10-20 тысяч строк классы. Все предметы и их логика были в одном единственной классе. Всего было где-то 10 игровых классов или меньше.
312 747560
>>47541
Так что запилили?
313 747578
К слову о Сакутиных и прочих чсв кододрочевов.

Сейчас достал один ассет, ассет охуенен, в нем 90% для моей игры уже сделано (при том что сложной игры - песочницы-выживалки, а не гиперказуала)

Смотрю код... Короче, если бы Сакутин его увидал, его ор бы услышали на марсе. НО!!!. Есть две большие но:

- код читается легко
- код делает свою работу

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

Вот в восьмидесятые, девяностые и даже нулевые никто на это не дрочил - а столько великого софта было написано, и мы до сих пор пользуемся их трудами. А все эти Сакутины - что они сделали? Говноказуалки для андроида? Это вот ради этого надо так дрочить на код? Для очередной мобилки которую пилят за неделю, продают за 3 месяца, а через год забывают про ее существование?

И ведь дрочат же на собесах.
314 747581
>>47578
Это всё понятно, но вот скажи мне честно: ты бы отсосал Роману Сакутину?
315 747583
>>47581
Иди сдрочни чтоли. Ты тут какой месяц про отсос пишешь.
316 747584
>>47583
Не знаю, о чем ты. Я вообще из твоего поста узнал о нем, а далее любопытство сыграло злую шутку. Открыл рандомнвй видос из гугла и понял, что это бог во плоти. Ну как у него не взять в рот?
317 747586
>>47578

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


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

Если я использую какой-то сервис в игре, то мне нужно как-то запускать игру в редакторе с фейковым сервисом. Для этого я использую интерфейс, который описывает сервис и пишу две реализации. Одна реализация используется в билде, другая в редакторе.
image.png10 Кб, 486x168
318 747588
А вот так вообще нормально менять спрайт на кнопке?
Стикер447 Кб, 500x500
319 747593
>>47588
ва первых - за 2 геткомпонента подряд нужно тупо расстреливать. написать var image = getcomponent<image>() должно работать на уровне рефлексов

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

ва третьих - так как эту кнопку будут нажимать раз в пятилетку буквально - никакого влияния на производительность тут не будет
image.png54 Кб, 726x849
320 747594
>>47586

>Если я вижу инкапсулированные поля, то понимаю, что они извне не изменяются


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

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

На пикче если что - код Кармака из дума3 (теже самые глобальные переменные, при том что Кармак уже пересел на с++ к тому времени)
321 747597
>>47593

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


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

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


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

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


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

>>47588
Как уже ответили вариантов много что сделать можно, но если всё устраивает и работает, и что главное понятно, то забей. Не забывай что надо сделать игру, а не дрочить на строчки кода.
Пожалуй что действительно важное, это не суй говно в апдейт, и не инстанси каждый кадр.
322 747598
>>47597
Вау, столько текста, а пользы ноль
323 747599
>>47597
ога, я скозал. если человек привык писать вот так то и дальше он будет писать так же. чем дальше тем сложнее переучиваться, и если не бить по рукам за вот такой нафик ни на что не влияющий на плохой код то потом он у тебя в апдейте для кучи объектов будет по нескольку раз геткомпонент вызывать, загнав фпс в ноль на ровном месте
324 747601
>>47598
Хочешь я тебе одним предложением скажу божественную формулу программирования? Слушай:

Да начни уже писать этот чертов код; не дрочи на качество, просто пиши код

Не благодари
(даже без иронии, фраза вроде простая, лулзовая, но многие ее долго не могут понять... А вот когда поймут, тогда все сразу станет на свои места)
325 747603
>>47601

> не дрочи на качество, просто пиши код


https://www.youtube.com/watch?v=IW3ks3RtD6k
326 747604
>>47594
Двачую, тоже начинал с крестов на глобалках все делал, где надо указатели пердолил, борьба за каждый байт, начало нулевых, вашу мамашу! Эх, были времена...
Вся суть объектно-ориентированного программирования.mp41,4 Мб, mp4,
1280x720, 0:29
327 747605
328 747606
>>47586
Маня, стандарты, инкапсуляции, фелляции и прочий онанизм помогает только в групповой дрочке, когда несколько макак кодят, чтобы зверьки тратили меньше времени на понимание гоанокода друг друга и ничего друг у дружки не поломали ненароком, прижуманы все эти стандарты и инкапсуляции. Если же ты единичная макака и дрочишь жопу сам себе, то можешл смело класть хуй на все это и писать так как лично тебе удобно.

Те кто пропагвндирубт соблюдение неких стандартов, по сути отрабатывают заказ кабанчиков-капиталистов, чтобы к ним на галеры приходили уже подготовленные рабы с развальцованным очком под нцжный диаметр бутылки.
image187 Кб, 1800x1500
329 747610
>>47598
>>47599
Пчелики, раскрою страшную тайну, мы тут игры делаем, а не дрочим на код, парадигмы и еще кучу заумных слов. Вот говоря обычно анону дрочи код, а не делай игры, он подрочит, почитает, и забьёт потому что слишком сложна и долга, а ему зачем это? Денег не приносит, лишь время тратит как и само существование.
А вот даже если взять пример яндере дева, с его адским кодом, то он сделал пусть и из готовых ассетов игру, и она даже запустилась, и в неё, о ужас, даже играли!!

Короче посыл для всех анонов которые не работают в профессиональной сфере разработки или на дядю, шлите нахуй всех кододрочеров, это лишь пустая трата времени если вы не планируете строить свою жизнь на разработке.
Всё само придёт, постепенно, делая маленькие игры, начнёте понимать и видеть что где-то совсем плохо, и сами же заинтересуетесь в своих траблах, не слушайте безигорных петушков.
330 747611
>>47603
Как же он бесит, всегда. Великий кодер не написавший ничего значимого.
331 747612
>>47611
Не, парень то шарящий, и рубит кучу бабла на разводе лохов на курсы, типо вебинаров, но полезное с водой.
332 747613
>>47611
По сути есть чем возразить-то? Какая разница, что он написал или не написал, если он знает, о чем говорит?
333 747616
>>47603
Чел, там нет проблем с кодом. типичный продакжен код. Бери любой проект - там будет таже хуита - советую поинспектить решарпером какие-нибудь топ игры на юнити.

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

>Чел, там нет проблем с кодом. типичный продакжен код.


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

Но это не отменят того факта что он сделал всё таки своё подделие.

другойанон
335 747618
>>47613

>По сути есть чем возразить-то?


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

Было бы интересно посмотреть на его код в каком-нибудь серьезном и реальном проекте - но это как раз увидеть нельзя
336 747619
>>47617

>Любой опытный кодер бы сделал лучше во всех планах.


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

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

То что ты думаешь что архитектура у тебя хорошая - это всего лишь фантазии, так же как джуны думают что их код самый идеальный и хороший. Либо ты делаешь одни и теже проекты десятки лет и просто надрочился.
337 747621
>>47619
Слово 'Опытный' ты специально проигнорил?
Об этом и речь, челик который участвовал в разработке серьёзных проектах на должности выше подай/принеси.

Речь сейчас идёт об одиночных инди играх, которые пилятся в соляную прогерами, и лишь нанимают арт/музыку на аутсорсе. Там ты можешь сам, своими силами переписывать/переделывать архитектуру. А если ты не понимаешь что делать, не имеешь опыта, то выйдет как у яндере дева(Но в целом тут как уже писали дело в том что он аутист ебаный, за 7лет сделать такое и не переделывать, нужно быть дауном или похуистом).

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


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

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


Не пизди, это где таких кадров находят? Ниразу не встречал таких, все прекрасно понимают что ниОчень, и не выёбываются.
Разве что бесплатно если с челиками работать могут наверное бычиться.
338 747622
>>47621

>Слово 'Опытный' ты специально проигнорил?


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

>>47621

>Там ты можешь сам, своими силами переписывать/переделывать архитектуру


Только пока время разработки таких игры не больше года. А если твой проект в разработке больше 7 лет? За это время даже кодинг сто раз изменится. Яндере начинал когда юнити еще даже не был моден, не было никаких толковых курсов, а в официальных уроках от юнити тебя учили все поля делать публичными потому что.
339 747624
>>47622
Слушай, мне всё больше кажется что ты толстишь.

>таких игры не больше года


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

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

Про проекты долгострои аля песочницы или патреоно доилки я не говорю, вот там всё сложнее.

пора завязывать этот пустой трёп неочём, яндере дев это позорище от мира кодеров. К тому же необучаемый и чсвшный.
340 747652
>>47624

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


Да, а еще дварффотресс можно за неделю запилить...

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


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

Вот чисто рандом игра - Forager. Так если посмотреть - примитивная графика, примитивный геймплей - что там делать? Только вот автор на нее три года убил, так как где-то вроде в 2016 она была на какой-то конкурс. В 2017 году прошла гринлайт, в 2019 только опубликовалась в стиме
Хотя играбельна она была еще в 2016-2017 году, но два года до стима ушло на допиливание мелких деталей

Это как там говорят - последние 10% игры будут занимать 90% времени разработки
341 747678
Кажется, нужен новый тред - Кодосрач. Или скриптосрач, звучит прикольнее.
И тогда юнете тред будет еще чище...
342 747680
Парни не пойму какого хуя
The animation state Walk could not be played because it couldn't be found!
Please attach an animation clip with the name 'Walk' or call this function only for existing animations.
UnityEngine.Animation:Play(String)
PlayerMove:Update() (at Assets/Scripts/PlayerMove.cs:41)
Он не видит анимацию, но я её пять раз добавил через Анимации, аниматором я пока не пользуюсь, для меня сложно.
Я и пробовал дублировать анимации персонажа, настраивал легаси, дженерих и гуманоида. Я читал документацию но там только про аниматора и стейт машин, повторяю туторы слово в слово и нихера.
343 747681
>>47678
Да не, нет смысла.

>>47652
Ну чувааак, заканчивай уже толстить. Я писал именно про игру от яндере дева, а не про симуляторы другие.
Вот рили, если не зелёный, посчитай и посмотри механики игры на момент выхода +- пол года, и подумай, сколько тебе заняло это бы на разработку? Игра приметивишая, и ладно бы графика была своя, можно было бы простить, но нет, всё готовое.
Контроллер и осмотр час делов, юишку за пару часиков, нпс с листом навигации это час(не забываем то что в юнити всё из коробки и даже не надо париться, лишь зоны авто сгенерировать и всё), что там еще? Хз, это говно делается за пару недель, не знаю что ты там долго собрался реализовывать.
Вот в последних билдах, да, механик он уже подвёз побольше, нужно будет поболее времени, но сути не меняет.
image.phpklklklklkl.jpg35 Кб, 495x700
344 747685
анон, как мне правильно вызвать этот метод есть только это название и пространство имен где он лежит

bool GetGameServer( uint ip, ushort port, SteamId serverId )

чтобы получить из него значения ip, port, serverId ?

я написал такую конструкцию:
void Lobby()
{
uint xa = 8; ushort xe = 8; Steamworks.SteamId xu = 8; // "=8" т.к. компилятор требует присвоить значение
var s = myLobby.GetGameServer(ref xa, ref xe, ref xu);
Debug.Log("" + xa + "" + xe + "" + xu);
}
в итоге смог получить три 0, но чет кажется это совсем не то и я просто криво его вызвал
345 747688
челы, когда там вторая версия болта выйдет? только с 2021 лтс?
346 747689
>>47688
но зачем? там из фишек - трансляция в шарп код и его компиляция в юнити стеки что дает производительность собственность шарп кода. почему не писать шарп код?
image.png431 Кб, 610x350
347 747691
Аноны, юнити нативно работает под М1 или через эмуляцию?
348 747692
Есть где вменяемая документация по Unity DOTS(ECS)? Я понимаю что оно в глубоком превью уже второй год, но блядь официальная документация не объясняет ничего и состоит на 90% из сепулек. Гайды на ютубе не поясняют воопше ничего.
349 747695
>>47689
тебя никто не спрашивал мнения по поводу целесообразности болта
350 747708
>>47695
так я и не делюсь мнением, я спрашиваю нахуя оно воопше нужно когда любой алгоритм сложнее "взять значние, произвести элементарную операцию, вернуть результат" превращается в запутаный клубок из узлов и стрелочек?
351 747709
>>47708
Чел, ещё раз, я тебя не об этом спрашивал, не отвечай мне нахуй.
rage pepe3.jpg41 Кб, 720x720
352 747714
>>47709
Блять, как вы меня заебали, надменные уебаны, идите нахуй из этого треда. До переката 1-2 шиза пукали такую хуйню раз в неделю в тред, сейчас листаешь и диву даешься - у одного движок виноват в том, что ебущийся в глаза уебан не может найти как редачить компонент, другой ошибку не в состоянии загуглить и на любой ответ огрызается, ты, собака ебаная, мало того что мог загуглить свой вопрос, а не писать свой высер сюда, еще и огрызаешься. Как вы меня заебали, надеюсь батя вас все еще пиздит, уебаны несовершеннолетние
353 747715
>>47714

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


Прими таблетки шизик и перестань отвечать на посты своими фантазиями, о которых тебя не спрашивали. Тебя ебать не должно, зачем мне, я тебя не спрашивал, что лучше, а ты высрался и начал доказывать, что шарп лучше. Мне похуй, понимаешь? Не в этом дело. То, что ты не можешь пройти мимо вопроса - исключительно твои проблемы.
354 747716
>>47709
а ну тогда все просто. болт 2 никогда не выйдет. потому что болт воопшем и болт2 в частности перестал существовать. юнити выкупило проект и переименовало в вижул скрипт, что позволило отказаться как разработчикам болта так и собственно юнити от любых обязательств по болту.
355 747718
>>47715
Во первых, я не тот анон, что тебе отвечал, во вторых "Ты м-м-мог бы просьто не отвецать" не оправдывает то, что ты еблан, не можешь открыть гугл и поискать ответ на свой элементарный вопрос, а вместо этого приходишь сюда и начинаешь срать
356 747719
>>47718
Пока что срёшь тут только ты своей разорванной жопой. Что ты сделал? Ты высрался, как тебе надоели мамлолетние дибилы и всё. Очень полезная информация. Молодец, ты определённо лучше.
357 747721
>>47719

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


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

>Тебя ебать не должно, зачем мне, я тебя не спрашивал


Хуя какой боевой зумерок
359 747751
>>47721
Ты строишь из себя тут умного и взрослого, но так и не понял, что не нужно высираться на темы, которые тебя не просят. Неужели не понятно? У тебя с головой проблемы что ли? Я задал конкретный вопрос в тред, пришёл умник и начал мне писать "а зачем тебе это, делай по-другому". Блять. И меня после этого ещё оскорбляют.
Давай приведу тебе пример, чтобы ты понял, как это выглядит:
- А как пройти в библиотеку?
- Зачем тебе библиотека, используй интернет и электронные книги, они лучше, лол.

Понял, нет?
image.png15 Кб, 356x288
360 747779
Подскажите, как правильно поворачивать дочерний элемент в нужную сторону? Я бы хотел уметь крутить этот выделенный элемент (голову) в нужну стороны. LookAt не работает, башка крутится по странному.
361 747787
Ку аноны! Есть ли смысл учить C#? Или лучше не париться, купить playmaker и тп?
362 747788
>>47779
Если у тебя туша анимирована, то гемор.
363 747789
>>47787
во-первых имеет смысл ибо что-то сложное в визуальном редакторе превращается в спагети код визуально. тебе все равно придется учится программировать и c# не самый плохой язык для этого

во-вторых зачем покупать плаймейкер если есть визуал скриптинг из коробки, который переименованный болт, который собственно и был лучшей альтернативой
364 747790
Кто-нибудь пытался в интерактивные игры с возможностью выбора и состоящие почти целиком из кат сцен? Насколько это аддская дрочильня?
365 747796
>>47790
а че там пытаться? из разработки там простейшая логика, которую можно реализовать даже на основе двд-формата, вон школьники в нулевые без проблем справились. все ложиться на катсценки, это тебе в /mov/

https://www.youtube.com/watch?v=O0rct6EdQ6Y
366 747804
>>47751
Зумер пытается маневрировать. Тут >>47689 у тебя анон нормально поинтересовался зачем тебе нужен болт. А ты начал усираться "тебя никто не спрашивал кококо". И после этого кто-то будет нормально отвечать на твои вопросы? Научись вести себя в обществе.
367 747899
Жесть. Луч кидается из объекта А в объект Б. Если объект Б двигаетя быстро, то примерно 1 из 10 луч промахивается и улетает мимо, в пустоту. Переносил код в FixedUpdate - тот же результат. Проблема решилась увеличение радиуса коллайдера объекта Б. Это вообще нормально? Или луч ни коим образом не должен промахиваться?
368 747901
>>47899
да, это нормально. тут или делать континиус проверку ручками, или лепить костыли вроде твоего/кидания лучей чаще или тупо забить
369 747907
>>47899
Увеличь частоту обновления физики.
370 747922
капч
371 747942
>>46393
Попердоль полгодика и будь готов потерять -30% в зарплате, я так перешёл с веб-макакинка шарпового на нестыдный проект.
372 747943
>>46531
профайлером
373 747945
>>47691
Редактор или билд игры?
374 747947
>>47606

>писать так как лично тебе удобно


Мне удобно писать правильно.

>>47606

>Те кто пропагвндирубт соблюдение неких стандартов


Скорее предлагают иные способы написания кода. Что в этом плохого?
375 747950
Поясните по хардкору, есть хуярить кнопку, на имедж или панель?
Или однохуйственно?
376 748053
>>47950
да хоть непосредственно на канвас или другую кнопку - глубоко однохуйственно. собственно панель от имеджа отличается только тем что по дефолту принимает текстуру как 9-слайс
377 748196
Посоны, как отследить "NullReferenceException: Object reference not set to an instance of an object"? Удалил со сцены все объекты, все равно вылазит. Щелкаю по ней - нихуя не происходит.
378 748197
>>48196
В подробном тексте должен быть весь лог до ошибки. А вообще у тебя где-то скрипт не может найти обьект\компонент
333.png56 Кб, 1940x1002
379 748198
>>48197
Да это и есть весь, единственное что если щелкнуть на нее то таки в инспекторе появляется, то что справа
380 748199
>>48197
>>48198
Перезапустил юнити, ошибка исчезла, хуй знает в общем
381 748200
>>48198
Попробуй перезайди в юнити, иногда бывает такое после апа проекта хотя сомневаюсь, что ты апал, но может помочь
Вообще если это Graph, то он возвращает Null если игра не запущена, так что если у тебя какой-то скрипт с ExecuteInEditorMode и запрашивает Graph - оно всегда будет null
382 748201
>>48200

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


Обновлял пакеты, возможно из-за этого, спасибо
383 748232
Как часто относительно метода Update() новая input system откидывает события?
384 748245
Как закрывать открытое активное окошко по нажатию в любое место экрана?
image.png16 Кб, 615x223
385 748246
>>48245
Попробуй добавить прозрачный бекграунд и на него повесь компонент с пикчи.
386 748257
>>48246
Я так делал, хочу по научному. Нашел, вроде, правильный вариант, используя public void OnPointerDown(PointerEventData pointerEventData)
Но вся суть в том, что придется еще один скрипт делать на родительском объекте, чтобы отслеживать клик по нему.
387 748267
>>48257
Эта хуйня срабатывает только по клику на объект, на котором она висит. Т.е. его придется вешать на все абсолютно все объекты, присутствующие на экране, чтобы закрыть маленький тултип. Пиздец. Как реализовывают закрытие окошек на телефонах?
388 748274
Как остановить движение объекта после того как заставил его двигаться при помощи characterController.Move() ? Вызываю characterController.Move(Vector3.zero), ему похуй
389 748275
>>48274
Пришла идею обращаясь к rigidbody ставить velocity на 0, попробую утром
bgclick.jpg336 Кб, 2507x778
390 748276
>>48267

>Как реализовывают закрытие окошек на телефонах?


Я не знаю, что ты паришься. Это работает и на ПК, и на мобилках.
391 748279
>>48276
Я делаю маленький тултип, как подсказка, а не целое окно. Хочется, чтобы при клике на него или вне его он закрывался. А что, если этот клик был по кнопке? Она же не сработает и пользователь подумает, что приложение - говно. Я, допустим, сам так буду думать. Потому что второй клик - это очень плохое юзабилити.
392 748281
>>48276
Это твоя игра? Нейм дай, если да.
393 748288
>>48279

>Хочется, чтобы при клике на него или вне его он закрывался


Самое простое - в Update проверять Input.GetMouseButton(0). Это будет работать и с мышью, и с тачскрином.

Если на событиях, то можно так:
https://pastebin.com/YShp29iq
394 748289
>>48274
Что? Он не должен двигаться сам по себе. И причём здесь rigidbody? Ты либо используешь CharacterController, либо Rigidbody. Что-то одно.
395 748301
>>48288

>Если на событиях, то можно так:


Закрывается только по клику по себе.
396 748302
>>48288
Пиздец, анон, спасибо. Даже на заграничных форумах люди придумывают какие-то кастыли, а тут так просто всё и работает как часы.
397 748326
Гг
398 748348
Я не пойму это баг юнити или прикол блендера?
Почему при импорте обычного куба у меня полигонаж удваивается?
Я читатал, что это вроде из-за марк сим в блендере, когда я помечаю грани куба перед развёрткой, так что эе мне теперь не разворачивать модели? Тогда я не смогу нормально красить текстуру, а если процедурную текстуру кинуть, то в юнити не понимает шейдеры из блендера.
Как быть?
399 748360
>>48348
Скорее всего, марк сим создаёт вспомогательную геометрию, и скорее всего, тебе при экспорте надо проверить галочки и убрать галочку вспомогательной геометрии. Чисто с дивана предполагаю.
400 748362
Как вообще работает этот Move() ? Я передаю ему вектор у которого значения y и z нулевые, он все равно подбрасывает

В Update() :

>characterController.Move(offset * Time.deltaTime);



Offset - это тот самый вектор, на первой картинке его значения (после умножения на Time.deltaTime)

На второй картинке значения transform до и после движения в "нужную" точку.

На шарике висят character controller и sphere collider (отключение последнего кстати ничего не дает).

Подскажите пожалуйста, ЧЯДНТ?
401 748363
>>48362
CharacterController оперирует капсулой. Тебе не нужно добавлять никаких коллайдеров и ригидбоди.
https://www.youtube.com/watch?v=_QajrabyTJc

>Controller не реагирует на силы сам по себе и не отталкивает Rigidbody объекты автоматически.


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



Если тебе нужно реализовать физику сферы, то стоит тогда использовать ригидбоди.
CharacterControllerWindow.jpg93 Кб, 763x287
402 748364
403 748404
>>48363
Спасибо большое за ответ!
image.png102 Кб, 323x424
404 748406
>>48363
Но почему он его подкидывает???
405 748407
>>48406
И он не падает, как будто игнорирует гравитацию. Sphere collider уже убрал
406 748411
>>48407
Покажи код компонента.
407 748413
>>48411
Писал в посте выше ( >>48362 ) что у вектора offset значения y и z нулевые
image.png73 Кб, 756x619
408 748414
>>48413
Гравитация не действует на чарактер контроллер. У меня вот такой код используется. Вместо своей "gravity" можешь использовать Physics.gravity.
409 748416
>>48414
Интересно, спасибо
410 748420
>>48414
Добавил в Update()

>characterController.Move(Physics.gravity * Time.deltaTime);


И мой шарик все равно парит как и парил
image.png161 Кб, 524x477
411 748421
>>48420
>>48414
Если что вот гизмы, коллайдер не выходит за границы меша
412 748422
неделю пытаюсь упоротся екс/дотсом. дикая наркомания. брат умер. зависимость есть
413 748424
>>48421
Где-то у тебя косяк, очевидно. Создай чистый проект с минимум кода и компонентов.
414 748425
>>48414
Ну что за говнокод, блять, чудо что у тебя вообще получилось открыть юнити с такими умственными способностями.
Если лень читать документацию и старфлов, то хотяб на ютубе ролики от индусов смотри...
415 748426
>>48424
Ирония в том что этот проект и так ничего не имеет кроме шарика и управления им. Забавно что столько гемора с такой простой штукой
891e4feb396d26efb5a7815ddbbcd11f.jpg20 Кб, 300x225
416 748427
>>48425

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


>Если лень читать документацию и старфлов, то хотяб на ютубе ролики от индусов смотри...

image.png83 Кб, 716x265
417 748428
>>48424
Капсула тоже подлетает
418 748430
>>48427
Что за боевые кратинки? По делу есть что сказать?
У меня жопа взрывается осознавать что кто-то на полном серьёзе не может реализовать функцию в пару строчек кода, это просто новый уровень долбоебизма.
419 748431
>>48430
По делу есть что сказать? >>48425
image.png36 Кб, 664x362
420 748432
>>48428
Что-то мне кажется, что ты тролль из движкосрачей. Судя по твоим высерам и нападкам. Вот этот простой код заставляет падать сферу. Как он может у тебя не работать - я хуй знает.
421 748434
>>48431
Ты слепой даун?
ТАМ ЖЕ НАПИСАНО.

>читать документацию


>старфлов


>ютубе ролики



Вопросы? В любом из этих 3 мест ты найдёшь инфу как реализовать в юнити 99.99% вещей которые тебе нужны и лишь что-то супер сложное и комплексное у тебя не получится, но такое ты и не будешь делать, сукаблять.
422 748435
>>48432
Нет, я не тролль, перешел на rigidbody.velocity и все норм стало (держу в курсе). И где ты увидел у меня нападки? Про чистоту кода другой анон пишет, мне вообще некстати плеваться желчью в анона который пытается мне помочь
423 748436
>>48432
Пик1 мой Update, пик2 мои посты
image.png105 Кб, 619x1135
424 748437
>>48436
Понял.

Вот создай пустую сферу. Настрой у неё компоненты вот так и повесь этот скрипт >>48432
Она будет падать.
425 748439
>>48422
Сам хочу упороться ECS. ООП для геймдева не подходит. Но напрягает, что он до сих пор в превью. И вообще непонятно, каким будет релиз.
426 748465
>>48439
А ECS так подходит, что его какой год уже пытаются внедрить, да все никак не допилят, не напомнишь?
427 748482
>>48465

>А ECS так подходит


Старкрафт2, овервотч - на ЕКС, например. Сама система уже давно существует.
428 748502
Может у кого завалялись статьи или может кто по-хардкору пояснить почему при сложении float с float 0 на выходе к концу строки добавляется 0?
429 748504
>>48502
Окей, я ебанутый, проехали
image.png79 Кб, 582x268
430 748505
>>48437
Приподнял, он упал, но все равно не полностью, как и раньше. Похоже это фича character controller`а . Посмотри у себя, мб тоже остается такое расстояние от меша до поверхности.
431 748507
>>48505
Скинь скрин обьекта со всеми компонентами
433 748509
>>48508
Проверь коллайдер красной поверхности.
434 748510
>>48505
Я не ебу о чем у вас тут срач, но похоже ты жалуешься на Skin Width
ебни 0.01 и проверь
435 748511
>>48509
На месте. Сначала пробовал Plane (и Mesh collider), потом Cube (cube collider), результат один и тот же.
436 748514
>>48511
Тогда реально в Skin Width проблема. Поставь 0.01 где-нибудь.
image.png235 Кб, 800x422
437 748516
>>48514
Помогло. Спасибо что весь день писал и помог!
Вот тебе нефть.
438 748517
>>48516
он скопипастил мой совет, хуесос
не надо было тебе ничего писать, этот мудак бы тебе еще шинду переставить посоветовал небось
439 748536
>>48517
Но мудак здесь только ты.
440 748540
>>48267
А нафига тебе отслеживать место нажатия, если оно не имеет значения? Просто отслеживай клик когда тултип активен.
441 748590
Ребят, где можно достать кряк на версию выше 2020.1.6?
442 748594
Вопрос по новой системе ввода (InputSystem).

Какой способ обработки событий лучше выбрать? Я не смог понять, как использовать метод "Invoke Unity Events", а простой "Send Messages" мне не подходит, т.к. я хочу вешать скрипты на дочерние сущности (например, камера со своим скриптом). Реализовал через "Broadcast Messages" - выглядит просто и удобно. Нормально или это слишком тяжёлый метод? И можно ли создать несколько Player Input, чтобы, например, второй отвечал за гуи, или гуи должен создаваться внутри "игрока"?

>>48590
Зачем тебе кряк? В новых версиях даже чёрная тема бесплатна.
443 748595
>>48594
Сплэш скрин
444 748599
>>48595
Тебе стыдно что все будут знать, на каком движке ты сделал игру?

А если твоя игра что-нибудь заработает и кто-нибудь пронюхает про кряк?..
445 748601
>>48594

>простой "Send Messages"


Никогда и нигде не используй, оно медленное.

>И можно ли создать несколько Player Input


Да, но нет. Оно просто не нужно. Есть же экшнмапс. Единственная проблема, с которой я лично столкнулся, так это то, что нужна отдельная проверка при вводе, что у нас активно - игра или гуй.

>Какой способ обработки событий лучше выбрать?


Посмотрел свой код, кекнул с выбора анона, мой выбор - не использовать GameObject components вообще.
446 748635
>>48536
В следующий раз когда ты придешь помочь а тебя проигнорят и отнимут твои слова, вспомнишь меня, дупло.
447 748684
>>48635
Ты хотел помочь человеку, человеку помогли, какая разница кто, тут все анонимы же?
мимокрокодил
448 748687
>>48685 (Del)

>Копирование - не воровство


>gd


Когда ты создашь свою ААА игру, можно я ее скопирую?
449 748714
>>48687
Можно. Зайди в плеймаркет и сам в этом убедись
мимо другой анон
450 748720
>>48714
И где там его ААА игра?
Снимок экрана (4100).png37 Кб, 855x850
451 748739
Блять, а юнити вообще дружит с простейшей математикой из школьной программы 2го класса? Почему оно вместо реального количества процентов выдает то 0, то какие-то не те цифры.
452 748754
>>48739
Всё дело в форматировании строки. Попробуй настроить момент.
https://www.csharp-examples.net/string-format-double/
453 748755
>>48739
Умножь не на "100", а на "100f".
454 748756
В 2д анимацию юнити деформацию меша не собираются завозить, ничего не говорилось про это?
455 748761
>>48755
Cпасибо. Но, как оказалось, это все равно бесполезно, у меня неправильно идут сравнения. Есть отображение шкалы опыта от 0 до 100. Есть левел. Есть опыт, требуемый для лвл апа, с каждым следующим лвлом требуемый опыт растет на рандомное значение. Как сравнивать шкалу опыта от 0 до 100 на то, меньше ли она требуемого опыта? Он может быть и 228 и 1488.
456 748764
>>48761
Я нихуя не понял, но звучит так как будто ты изобретаешь велосипед, но с квадратными колесами.
мимо
457 748765
>>48761

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


В чем проблема записывать это рандомное значение в переменную и потом сравнивать текущий опыт с ним?
458 748769
>>48764
Есть шкала от 0 до 100. Есть число 666. Как сделать так, чтобы 666 стало 100? 333 - 50 и т.д.
>>48765
Окр или аутизм.
459 748770
>>48765
Да оно не рандомное, а берется из массива . Оно присутствует: levelSystem.GetExperience(). Я хочу сравнить число от 0 до 100 с ним. Хуйня в том, то оно обычно больше 100
460 748773
>>48770
По-моему проще так сделать: сравнивать переменную с текущим опытом и нужным до лвл апа пусть хоть она и из массива. А на шкалу выводить процентное соотношение текущего опыта, где 0% - необходимый опыт до апа предыдущего уровня, а 100% - необходимый опыт до апа следующего уровня.
461 748785
>>48771 (Del)
А зачем сага?
>>48773
Сделал с помощью соотношения текущего опыта с опытом, требуемым для апа( из массива). Как же я попотел, сегодня на работу не пойду.
462 748824
>>48785
примечание - если число целое, сначала умножить на 100 потом делить на 666

зы. почитал выше ага уже споткнулся об это
Стикер383 Кб, 500x500
463 748903
>>48899 (Del)
зачем приводить туда-сюда типы если все равно нужен инт?
464 748940
Чуваки, я ненавижу visual studio, где можно писать скрипты на c# под unity?
465 748944
>>48940
Блокнот JetBrains Rider же
466 748947
>>48940
Raider
467 748948
>>48947
Rider
scale1200.jpg37 Кб, 770x492
468 748955
>>48940

>Чуваки, я ненавижу visual studio

469 748959
>>48947
>>48948
>>48944
Это платные решения, нужен аналог студии, но бесплатный.
470 748960
>>48959
vs code
471 748961
>>48959
вроде ксамариан был. но я его разок попробовал и удалил нахуй
472 748986
>>48959
За бесплатно лучше студии ничего не найдешь
473 748992
>>48959
Можно пиратить, только они обновляют защиту примерно раз в месяц-два и приходится изьебываться. Раньше пользовался утилитой, которая чистила реестр и можно было раз в месяц брать себе фри триал, спустя время заебался и переехал на лицензию, не жалею ни капли
474 748998
>>48986
Да и за платно. Месяц посидел на райдере, чёт вообще не зашло. Может просто за годы привык к студии, хз.
475 749003
>>48959
SharpDevelop. Но студия лучше.
476 749005
>>48940
sublime text с соотвтетствующими расширениями
477 749008
>>48986

>За бесплатно лучше студии


Райдер с батником сброса триала.
IMG20210617030129017.png26 Кб, 364x286
478 749014
Сап юнитач, нужна помощь. Имеется меш который раскрашен через вертексы. Но проблема начинается если таких мешей становится больше 5(а мне их надо минимум 30). Насколько я понял,чтобы не лагало,надо уменьшить количество вертексов для меша,но тогда другой вопрос:как мне перенести ту же самую раскраску на тот же меш, но с уменьшенным количеством вертексов? Мой план : из раскрашенных вертексов делать шейдер и потом натягивать его на уменьшенную по вертексам копию меша. Но как делать этот шейдер? Использовать для раскраски меша блендер/збраш и тд не вариант (по личным причинам). Если есть более просто реализация то буду рад почитать как сделать проще
479 749020
>>48940

>уваки, я ненавижу visual studio


Дебил, что ли? Студия это самое замечательно, что выпускали майки.
Есть ещё круче это visual studio Code, это вообще маст хев и годнота.
480 749022
>>49003
Кайфовая штука, но не обновляется сейчас(
481 749036
>>49020

>Есть ещё круче это visual studio Code,


Чем отличается от вижуал студии?
482 749043
>>49036
легче, быстрее, нет автокомплита для юнити функций
483 749083
>>49020
Не ругайся на меня, плиз!
У меня visual studio тормозит, а vscode, там нужно плугины всякие и настройки
484 749125
Как назвать начальную сцену, которая запускает игру? Launcher? Startup? Loader?
485 749147
>>49125
Carasique
486 749149
Ку! Изучаю C# и на данном этапе свободно(как я думаю) владею циклами, массивами, условиями, методами и тд.. Нужно ли учить ООП для геймдева? Или хватит основ и переходить к изучению движка? Спасибо за ответы! <3
487 749154
>>49149
Без ООП даже не суйся, ибо дальше hello world не уйдешь. Открывай сайт майкрософт и учи справку по с# от корки до корки.
488 749187
>>49149
Ку. Единственное что тебе надо для создание своей игры это смотреть туториалы на ютубе.
Прям гуглишь как сделать к примеру гоночки в юньке, смотришь видосик, качаешь ассеты, повторяешь, и чуть позже сам можешь лепить что душе угодно.
489 749191
>>49149
не так запущено как >>49187 но конкретно ооп для юнити не особо нужно, особенно поначалу.
490 749193
Есть смысл в скрипте создавать поля и назначать туда переменные из другого скриптов (закешированных или статик переменных)?
491 749199
>>49193
технически это будет одна и та же операция, только вместо ссылки на объект источник в стек будет ложиться this. разве что предполагается что значения будут меняться и тебе нужно именно старое значение. ну и для удобства можно ввести локальную переменую в методе. что-то вроде что бы не писать каждый раз
SomeCashedComponent.SomeField
раз написать
var value = SomeCashedComponent.SomeField;
и юзать валуе. я бы мог сказать что технически операций меньше, так как сразу берется валуе, но фактически компилятор и сам это оптимизирует вводя локальную переменную в подобном случае
492 749201
Кто-то пытался в экономику и баланс игры? Как лучше всего планировать эти аспекты игры?
493 749209
>>49201
Excel + word хватает за голову для всего.
image.png6 Кб, 477x79
494 749260
Очень сильно затупил на простом моменте освоения юнити, а именно как сделать так, чтоб если я менял скрипт в одном экземпляре префаба, оно не дублировалось на все остальные тоже?
495 749278
>>49199
У меня в скрипте плеера было больше сотни полей
496 749286
>>49260
отвязать объект от префаба - пкм на нем в иерархии. собственно обычно предполагается что префаб - образец, посему изменения применяются ко всему
497 749355
>>49286
Спасибо
15273248858810.png11 Кб, 465x453
498 749391
дурацкий вопрос про гет и сет:
есть переменная x
public class Person
{
private int x = 8;
public int X
{ get {return x;}
set {x=value;} }
}
меняю ее значение из другого скрипта, таким образом:
Person p = new Person ();
p.X= 100; (в итоге она становится равной 100 и в первом скрипте и во втором, я проверял)

но потом я пытаюсь считать ее из третьего скрипта
Person p = new Person ();
Debug.Log(p.X);
и она по прежнему равна 8, что это за пиздец? как это работает, блеать на базовом уровне?
499 749399
>>49391
Ни разу не знаю юнити, но судя по контексту ты создаешь новый экземпляр класса у которого ессно будут дефолты.

Чеготты ожидал? Что приватное свойство будет шариться на все экземпляры объекта? Тогда тебе нужен аналог статик в похапе, не в курсе, если такое в юнитях.
Стикер191 Кб, 300x300
500 749406
>>49391
new выделяет отдельный кусок памяти для класса и возвращает ссылку на него. далее все переменные типа Person которым присвоили эту ссылку будут иметь общие значения
var p = new Person(); //выделили первый кусок памяти
p.X = 100;
var a = p; // a.X == 100
p = new Person(); // выделили второй кусок памяти
p.X = 20; // a.X == 100 так как ссылается все еще на первый кусок
a = p; // теперь a.X = 20 так как тоже ссылается на второй кусок. первый кусок проебался так как никто на него не ссылается и будет удален когда у сборщика мусора дойдут руки
a.X = 50 // p.X тоже будет равно 50 так как оба ссылаются на один кусок памяти

посему правильный вариант будет получить в третьем скрипте ссылку на второй скрипт и оттуда получать именно ту персону что ты там создал.
//сериалазайбл что бы можно было менять значения в инспекоре юнити.
//{get;set;} автоматически создает скрытую приват переменную для вот таких простейших случаев.
// [field: SerializeField] делает эту переменную видной в инспекторе
[Seriazable] public class Person { [field: SerializeField]public int X {get;set;}}

public class Foo : MonoBehaviour : {
public Person person;
void Start(){
if(person == null) { person = new Person(); person.X = 100; }
}}

public class Bar : MonoBehaviour {
public Foo foo;
Person person;

void Udate() {
if(person == null) person = foo.person;
Debug.Log(person.X);
}}

в инспекторе вещает на обьект Foo и Bar. в поле Foo объекта, на котором Bar тащишь объект который Foo получаешь связь
Стикер191 Кб, 300x300
500 749406
>>49391
new выделяет отдельный кусок памяти для класса и возвращает ссылку на него. далее все переменные типа Person которым присвоили эту ссылку будут иметь общие значения
var p = new Person(); //выделили первый кусок памяти
p.X = 100;
var a = p; // a.X == 100
p = new Person(); // выделили второй кусок памяти
p.X = 20; // a.X == 100 так как ссылается все еще на первый кусок
a = p; // теперь a.X = 20 так как тоже ссылается на второй кусок. первый кусок проебался так как никто на него не ссылается и будет удален когда у сборщика мусора дойдут руки
a.X = 50 // p.X тоже будет равно 50 так как оба ссылаются на один кусок памяти

посему правильный вариант будет получить в третьем скрипте ссылку на второй скрипт и оттуда получать именно ту персону что ты там создал.
//сериалазайбл что бы можно было менять значения в инспекоре юнити.
//{get;set;} автоматически создает скрытую приват переменную для вот таких простейших случаев.
// [field: SerializeField] делает эту переменную видной в инспекторе
[Seriazable] public class Person { [field: SerializeField]public int X {get;set;}}

public class Foo : MonoBehaviour : {
public Person person;
void Start(){
if(person == null) { person = new Person(); person.X = 100; }
}}

public class Bar : MonoBehaviour {
public Foo foo;
Person person;

void Udate() {
if(person == null) person = foo.person;
Debug.Log(person.X);
}}

в инспекторе вещает на обьект Foo и Bar. в поле Foo объекта, на котором Bar тащишь объект который Foo получаешь связь
501 749407
>>49406
>>49391
>>49399
Ах да. есть еще статики
public class Person {public static int X {get;set;}}

теперь к иксу нужно обращаться через название класса а не переменную Person.X и она будет общей для всех персон. var p = new Person(); p.X - не работает.

но это в общем случае считается очень хреновой практикой и не рекомендуется к использованию. можно использовать в случаях если тебе надо хранить информацию общую для всего класса а не его экземпляра
502 749409
Какой есть расово верный способ сохранения данных в андроиде локально? В тырнете куча способов описана, xml, json, сериализация, некоторый из них подходят только для конкретной ос. Чем в итоге в продакшене пользуются?
503 749412
>>49409
бинарная сериализация. json/xml платформо независимы и хороши для ручной правки. причем медленее. все это нахер не надо для сейвов.
504 749413
>>49412

>все это нахер не надо для сейвов.


почему?
505 749414
>>49413
а зачем тебе вручную редактировать сейвы?
506 749415
>>49414
так мне как раз надо наоборот, чтобы никак, кроме как из кода, они не редактировались. Так мне бы и плеер префс хватило
507 749425
Почему у меня один из скриптов тупо перестал выполняться? Все остальные норм, а этот нет. Ни в старт, ни в эвейк не входит даже.
508 749430
>>49425
Бля, там бред какой-то произошел, вчера все сделал, ВСЕ ПРОТЕСТИРОВАЛ, думаю круто, скомпилировал проект и закрыл. Сегодня открываю а там эта бредятина, просто один из ведущих скриптов перестал нахуй работать.
509 749432
>>49425

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


Отдебажил? С объектом всё в порядке? Попробуй создать пустой объект и на него прикрепить
510 749434
>>49432
Объект мейн камера, работает нормально. Единственное, что я заметил, это то что у некоторых скриптов на ней нет галочки активации/дезактивации. У меня там около 5 скриптов, на 2 галочка есть на остальных (в том числе нерабочем) нет.
511 749436
>>49432
На пустом тоже не работает.
512 749440
>>49407

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



в том то и прикол. что все называют статитки хреновой практикой и при этом не дают внятного ответа на банальный вопрос, как изменить переменную в другом скрипте, чтобы эта переменная реально изменилась в том самом классе где она лежит, а не в экземпляре который нахуй не нужен по сути.
513 749441
>>49436
То есть у тебя на пустом объекте висит скрипт со скажем debug.log("test") в апдейте и не работает. Ты уверен, что названия не перепутал? Для надежности зайди в скрипт через объект
14969313260510.jpg21 Кб, 200x200
514 749444
>>49406

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



пиздец костыль же, разве нет? неужели нет способа менять переменную в самом классе, чтобы она РЕАЛЬНО там менялась, кроме как вернуться к статикам, которые все хуесосят и у них есть минусы, это да
это же настолько примитивная задача, что я просто в ахуе от отсутствия ее реализации
515 749450
>>49444

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


Что ты имеешь в виду, говоря "в самом классе"? Класс - это шаблон, по которому создаётся твой объект (экземпляр класса). В примере, который ты изначально показал - у тебя два не связанных между собой экземпляра класса. Можно передать ссылку на первый экземпляр, вместо того, чтобы создавать новый, тогда это будет один и тот же объект. Либо статики - тогда экземпляр или его поле существует в единственном виде.

мимодругойанон
516 749456
>>49440
>>49444

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

собственно статики допускаются для заведомо общих свойств класса - например счетчик экземпляров класса для генерации уникальной идентификатора. повсеместно используется в том же юнити для всяких "менеджеров" которые рулят игрой, заворачивая их в синглтоны
517 749457
>>49450
Я тебя понял, спасибо
Но у меня еще есть вопрос по реализации:
Допустим у меня есть простой скрипт с огромной кучей переменных, к этим переменным периодически обращаются самые разные скрипты, чтобы получить значение некоторых переменных и иногда изменить их(изменить, значит реально изменить, т.е. следующее обращение к этой переменной из любого другого скрипта будет выдавать новое значение этой переменной).
Реально ли это сделать без использования статик переменных, у которых есть неприятная особенность не откатываться к исходным значениям при закрытии сцены в юнити? Т.е. при начале новой игры, их приходится откатывать в авейке к исходным значениям, что пиздец как не удобно из-за их большого количества
518 749458
>>49441

>То есть у тебя на пустом объекте висит скрипт со скажем debug.log("test") в апдейте и не работает.


Да, именно так.

Причем что сейчас заметил. У меня этот неработающий скрипт наследует от другого, в котором есть метод, устанавливающий одну хуйню. Так вот этот неработающий скрипт работает ровно до того момента, когда я этот метод из родителя вызываю.
519 749464
>>49456
спасибо более-менее ясно, но у меня более практическая задача - здесь ее описал. >>49457
получается придется ебаться с кучей статиков, т.к. вменяемой передачи значений переменных между кучей скриптов в юнити не существует, добавлять их друг к другу в публичные объекты не вариант, т.к. их овердохуя
520 749465
>>49457
самый простой вариант. упомянутый синглтон.

public class SettingManager : MonoBehaviour {
private static shared;
public static Shared {
get { return shared; }

public int Score;

public int SizeX;
public int SizeY;

private void Awake() { shared = this; }
}

ну и установи порядок выполнения ему в свойствах проекта пораньше

все теперь ты можешь повесить на объект на сцене и использовать из других скриптов SettingManager.Shared.Score;
причем (так это не полноценный синглтон) он удаляется при выгрузке сцены посему при следующей загрузке значения сбросятся на установленные
521 749466
>>49458

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


Таки он работает.
Предположу, что тот метод ломает скрипт. Попробуй вызвать метод через try и в catch выводи в логи ошибку
522 749467
>>49458
ты случайно его не скрыл при наследовании?
523 749470
>>49465
спасибо, анон, помог
antonio-j-manzanedo-face-without-skin-manzanedo.jpg155 Кб, 823x992
524 749587
Аноны, как бороться с увеличением размера проекта на диске? Почему он вообще увеличивается, вроде никаких ассетов не добавляю, копошусь в скриптах, но он стабильно растет, блеать.
Неделю назад добавил в проект Facepunch.Steamworks весом в 14 мегабайт, подключил в пару скриптов несколько библиотек из него.. И проект с 800 мегабайт сразу стал весить 1350. Пиздец какой-то, как это происходит вообще?!
525 749629
>>49587

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


Не открывай его.
526 749726
>>44234 (OP)
Почему, когда я нажимаю "Select Material", выбирается папка, в котором этот материал?
хухухухухху.png59 Кб, 503x868
527 749873
Как редачить параметры нойза во ФРИЛУК синемашине из кода?
528 750009
>>49873
первый же запрос в гугле по amplitude gain unity redactor
https://forum.unity.com/threads/changing-cinemachine-cirtual-camera-noise-values-with-c-script.490137/
скажи, поридж, почему вы такие тупые, ленивые ушлепки?
529 750037
Хочу защититься от примитивных способов взлома. Если на смартфонах записывать и считывать монеты и другую важную инфу в реалтайме с зашифрованного файла, будут проблемы с производительностью?
530 750038
>>49464
Пиздец ты тугой, ссылку на объект передай туда где требуется с ним что-то делать, алсо зачем тебеивообще ооп, если ты собрался считывать и записывать значение напрямую?
Ооп ради ооп?
531 750046
>>44290
Не позорься. Используй ОБС
532 750048
>>50009
Я для кого капсом и жирным шрифтом выделил, что я работаю с FREELOOK камерой, а не с обычной?
533 750055
>>50038

>ссылку на объект передай туда где требуется с ним что-то делать


так и делаю

>зачем тебеивообще ооп


просто стало интересно, как оно должно быть по уму
534 750056
>>50048
какая хуй разница какая у тебя камера. если все эти параметры регулируются по одной методике
535 750057
>>50055
По уму, переменные внутри класса юзаются лишь классом и его потомками, на крайняк. А все взаимодействеи идет через методы класса. В эти пориджевые геттеры и сеттеры.
536 750058
>>50056
Там ТРИ нойза. Каждый на своём риге.
Через CinemachineFreeLook.Orbit. нельзя, нет в орбите такого компонента, как CinemachineBasicMultiChannelPerlin, я пробовал.
Не знаешь - не лезь, пожалуйста
537 750077
Почему в юньке SetActive только для геймобджектов? Есть подобный функционал для кнопок/картинок/текста?
538 750081
>>50077
есть, пишешь в скрипте
public GameObject zalupa;
суешь туда инспекторе текст и все. тоже самое с кнопками и картинками
539 750082
Не будет пиздеца с производительностью, если некоторые переменные сравнивать в реалтайме со значениями из зашиырованного файла?
540 750083
>>50082
Раз в пять секунд, например.
541 750084
>>50082

>значениями из зашиырованного файла?


смотря какой файл, где лежит и как зашифрован
542 750086
>>50081
Да я так и делаю, но костыль же. Что за бред то, галочка вкл/выкл на всех этих кнопках в инспекторе есть, а и кода до нее не добраться.
543 750087
>>50086
суть в том, что это не костыль, т.к. они тоже объекты (с включенными компонентами текст, имейдж и т.п.). так что все логично
544 750089
>>50087
Но сам поход через одно место. Получается если мне нужно управлять 4 кнопками менюшки, придется пихать уже 8 элементов в канвас, по отдельному геймобъекту для каждой кнопки.
545 750090
>>50089
зачем 8 ? 4 кнопки клади в скрипт и управляй из него
546 750091
>>50090
Я имел в виду SetActive если мне надо их включать и выключать.
547 750094
>>50084
Лежит в Application.persistentDataPath, зашифрован в бинарном формате по симметричному алгоритму блочного шифрования и сжат в GZip
548 750096
>>50091
При старте добавляй их в ивенЛист с передачей id при вызове. id = номеру геймобекта, который нужно выключить.
549 750097
>>50058
cinemachineFreeLook.GetRig(0).GetCinemachineComponent<CinemachineBasicMultiChannelPerlin>() и там меняй, что хочешь
Передавай в GetRig 0, 1, 2, чтобы получать доступ к разным ригам.
550 750110
>>50097
Отлично, спасибо
551 750124
>>50094
запусти параллельно 5-10 таких процессов в update, если не тормозит, то все норм.
14888971169540.png258 Кб, 500x350
552 750144
>>50136 (Del)
Чем еще удивишь?
553 750231
>>50082
Если каждый раз читать и расшифровывать из файла - будет жопа, если держать расшифрованную копию в памяти и сравнивать с ней - то норм. Ну или можно асинхронно всё это делать.
554 750232
>>50077
Есть enabled на компонентах
image.png2 Кб, 295x46
555 750233
как записать в эти поля число (именно из редактора)?
556 750236
>>50144

>Чем еще удивишь?


пением: https://dropmefiles.com/xRcTW
557 750242
>>50233
int damge = 100; // ?
558 750243
>>50242
public int damge = 100; // ?
559 750264
Посоны, может сталкивался кто, хз как гуглить даже. Залил приложение в гугл плей, прогресс сохраняется в плауерпрефс.
Потом обновил приложение и сохранения поехали нахуй. Обновилось вместе уже сохраненные данными, как будто я в бандл плауерпрефс залил. Даже если полностью очистить кэш и все данные приложения, после чего удалить его с телефона и скачать заново с плеймаркета, оно будет с сохраненным прогрессом.

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

>асинхронно


Спасибо.
561 750296
>>50264

> сохранение в плауерпрефс



Пчeл ты..
562 750299
>>50296
А что с ним не так?
563 750349
Посоны, как в android manifest пару строк добавить?
image.png19 Кб, 652x195
564 750354
Что за хуйня, двач, почему не могу зарегаться в адмобе?
Не могу нагуглить ничего по этому поводу
565 750373
Unity на практике. Создаем 3D-игры и 3D-миры
Прочитал это гавно, не берите. Автор полный козёл, даёт примеры по платным и ассетам котрых нет в сторе. Всё поверхностно и однобоко, в конце получается игра где один персонаж может убивать мобов, всё млять.
566 750376
Я когда начинал, читал "Юнити в действии". Охуенная книга, делает игры под разные жанры и гитхаб с кодом присутствует.
567 750380
>>50233
можно только когда проект запущен, это для отладки. иначе в скрипте правь
568 750457
>>50233
(Stat) - означает тип поля, это какой-то енам или класс, число ты туда при всём желании не запишешь из редактора.
Ещё есть частая ошибка новчика, когда пытаешься менять значения в редакторе выделяя прямо файл скрипта - не делай так. Нужно в префабе или сцене на какой-то объект добавить скрипт, и уже там в редакторе менять значения и сохранять их в префаб/скрипт.
569 750461
>>50264
RTFM!

> On Android, PlayerPrefs are stored in /data/data/pkg-name/shared_prefs/pkg-name.v2.playerprefs.xml. Unity stores PlayerPrefs data on the device, in SharedPreferences. C#, JavaScript, Android Java and native code can all access the PlayerPrefs data.


https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
570 750467
>>50461
Да ты не понял нихуя, я удалил все от приложения же с телефона. Но в общем я разобрался где они сохранялись внезапно на гугл диске в резервной копии телефона, из-за android backup хуйни
sEcbLynoHoI.jpg84 Кб, 501x600
571 750486
Вот и настал тот момент когда я перестал бояться и решил твёрдо и чётко вкатиться в геймдев. Скачал юнити так как проще только конструкт 3, наверное и встал вопрос, с чего мне собственно начать вкат? Какие туторы помогут лучше разобраться в интерфейсе? Какие книги стоит почитать что бы научиться кодить хотя бы как быдло? Насколько жизненно необходимо знать английский язык для этого всего я знаю онли расеянский? Я ощущаю себя слепым котёнком который потерялся в большом городе. Если кто то в этом треде может поделится советом/гайдом/etc. то буду премного благодарен. Заранее спасибо.
572 750489
>>50486

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


https://learn.unity.com/project/roll-a-ball

>Какие книги стоит почитать что бы научиться кодить хотя бы как быдло?


Unity в действии. Мультиплатформенная разработка на C#
573 750492
скачал хвалёные курсы сакутина с рутрэкера. ну это же пиздец. постоянные затыкии и запинки. видео построены по принципу - щас я быстро протараторю что тут где, и если вы полный новичок - вы нихуя не поймёте. и ведь кто-то за это платит деньги же...

ну и вопрос - есть ли где бесплатно взять вот этот курс за тыщу долларов?
https://game.courses/game-architecture/?ref=15&utm_source=yt&utm_medium=desc&utm_campaign=mot
574 750495
>>50489
Спасибо за наводку на книгу, прочту на досуге то есть прямо сейчас.
Насчёт ссылки, есть что то подобное на расеянском языке, так как я в английском практически ноль.
575 750503
>>50495

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


Тогда начни геймдев с изучения английского, хотя бы чтобы читать мог, серьезно, даже по юнити искать что-то на русском - боль
576 750508
>>50503
Эх, ну это уже вопрос в другой тред, в любом случае спасибо за инфу)
577 750510
Кароче опять пошёл в книжный в другой не нашёл
Unity в действии. Мультиплатформенная разработка на C#

Пришлось брать очередное unity полное руководство от Корнилова(книга гавно походу, взял только из-за бомбермена в 3д) и Разработка игр на Unity за 24 часа от Майка Гейга(очень на неё надеюсь именно уроки по юнити), короче как прочитаю - отпишусь.
578 750513
>>50508
А по юнити думаю проще всего так: изучаешь основы C# прям основы, чтобы условия и циклы писать мог потом выбираешь простой жанр который хочешь сделать например раннер или платформер без излишеств и гуглишь "как сделать %жанрнейм% на юнити". Сначала делаешь все по туториалу, как более менее разберешься, начинаешь добавлять что-то свое
579 750524
>>50510
Та нахуй тебе это? Берёшь и качаешь книгу с тырнетов. Так принципиально, чтоб книга реальная была? На палочку положить? Нахой оно надо.
580 750526
>>50513
Пускай хотя бы до классов дойдёт, ибо важно знать как сценарии между собой действуют. Чтоб можно было сразу с начала накатить синглтон static public ScriptName Script; (Уже в awake) = this; и раздать всем подписочки за 500 рублей в месяц.
581 750588
Могу запилить гиперказуалку, но беда с архитектурой, гейм менеджер класс что не делай разрастается на тыщу строк )

Есть ли где структурированные материалы по архитектуре, а не советы отдельные?
582 750614
Мб тут кто поможет. Хочу сделать следующую механику. Допустим у меня стоит дефолтный куб в нулевых координатах. Я кликаю в случайном месте и вплотную к кубику ставится еще один( с той стороны где я кликнул). После этого также только уже учитывая второй кубик. Единственное что придумал, это сделать на нулевой координате невидимую платформу, от курсора кинуть рэйкаст вниз. И от точки внизу кинуть рэйкаст к центру. Но звучит как очень сильные костыли. Мб у кого есть гайд или совет как сделать примерно такое. Соре за глупый вопрос, учусь как могу.
583 750642
>>44457
создай ивент и подпишись на него из другого скрипта. Погугли, там не особо сложно
16028410316320.png299 Кб, 720x427
584 750643
Юнитач, как перестать пытаться дрочить архитектуры и правильный код и начать делать игру? Я уже заебался, я пытаюсь дрочить безрезультатно всякие паттерны, придумывать дроченые системы, который я когда-то буду РАСШИРЯТЬ в пустом проекте, лол и т.д., но я никак не продвигаюсь в прогрессе создания игры.
Как пересилить себя и просто говнокодить игру? Я уже столько разных идей и проектов забросил из-за этого. Мог бы уже хоть пару игрулек для портфолио высрать, но нет же, надо сидеть и дрочить велосипеды и думать что мой код кто-то будет читать и использовать.
585 750644
>>50643
Проблема в том что у тебя нет стимула НЕ говнокодить. Тебе нужна команда и тогда у тебя будет стимул использовать нормальную архитектуру чтобы другой разраб мог нормально свои фичи подливать. покажи кстати игрушки свои
586 750647
>>50614
Легко гуглится
https://answers.unity.com/questions/128747/detect-face-of-cube-clicked.html

Выглядит так себе, конечно, но если сюда подставить - работает
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

if (Physics.Raycast(ray, out hit))
{
if (hit.transform.name == "Central cube")
{
print(GetHitFace(hit));
}
}
}
587 750651
>>50643
Про дрочь на архитектуру... Хотел обсудить с аноном проект https://github.com/UnityTechnologies/open-project-1
Вот запарились юнитеки за архитектуру, во многом благодаря запросу от сообщества. Получилась объемная система со своими эвентами через скриптабл обжекты, стейт машина игрока, которую нужно через редактор настраивать... И мне это кажется всё лишним и неудобным. Хотя анонам которые хотят побольше "архитектуры" может и понравится.
588 750659
>>50651
Я такие же системы обычно делаю, а потом забрасываю проект т.к. хочется сделать сложную игру, а контент 1 я тянуть не хочу.
Нормально написано, хотя элементы говнокода проскакивают.
Главное бездумно не копировать куски оттуда, конечно оно будет неудобным, если ты делаешь условного бомбермена.
589 750665
>>50647
У меня чуть другая проблема, я кликаю очень далеко от куба, поэтому все что я придумал, это два рэйкаста. Но все равно спасибо, это поможет для второго.
590 750673
У кого-нибудь было такое, что после обновления скриптов (сообщение от юнити вроде "вы используете устаревшие скрипты/методы, хотите их обновить?") игра блядь нахуй перестала запускаться? Уже в скомпилированном виде на телефоне, в редакторе то все норм. Попытался блядь гугл рекламу добавить называется.
591 750695
>>50673
А что именно обновил?
Если стороннюю либу то там очень легко все что угодно может пойти не так, 100% решение это удалить эту рекламу в ноль и заного поставить новую версию.
Например у меня с кешем проблем было много, могут появлятся дубликаты манифеста (а тебе нужно их смерджить в 1 файл).
В общем контекста мало что там у тебя
592 750759
>>50695
Забей. Юнити не сохранил ключ приложения из адмоб, при том ничего мне об это не сказал. Оказалось это и есть причина.

>огут появлятся дубликаты манифеста (а тебе нужно их смерджить в 1 файл).


>В общем контекста мало что там у тебя


Можешь подробнее про это рассказать? Что за манифест, где он лежит, как сделать его в одном экземпляре.
593 750765
У меня есть две сцены: стартовая с менюшкой и основная с геймплеем. Собственно в геймплей идет переход из меню. Как сделать его более плавным и красивым? А то когда нажимаешь на кнопку "играть", по которой загружается сцена, все как будто зависает на несколько секунд, пока собственно сцена не загрузится.
594 750768
>>50765
Говорят переключение сцен в плей моде сильно медленнее чем в билде, попробуй в билде сначала проверить.
595 750769
Привет, а кто-нибудь постил скриншоты своей игры в #screenshotsaturday на дтф? Хлтел звпостить, но какие же там додики обитают, постят максимально унылую хуиту, при этом в 8/10 к скиинщоту оставляют пиздец какой чсв коммент, вымаливают добавление в вишлист. А другие додики лижут им яйца, мол, как круто и красиво. Это какой-то филлиал пикабу, пантеон скорбных разумом, ничего общего не хочу иметь с нми, скрин в итоге так и не запостил, да и вообще теперь захожу туда толь о чтобы поорать.
596 750772
>>50768
У меня наоборот, в билде медленнее
597 750773
>>50769
Так с какой целью? Пропиариться?
598 750777
>>50773
Где можно успешно и бесплатно попиарить свое мобильное говно? На реддите?
мимокрокодил
599 750778
>>50759
manifest.json (если я правильно помню)
в нем описываются настройки андроид приложения и его права. у меня была проблема когда несколько плагинов при билде должны смерджить все настройки в 1 манифест, но вместо этого я не мог найти пропавший файл либо создавались manifest.json и manifest(1).json и из-за этого ничего не работало.
Как я уже сказал полная переустановка всех плагинов помогает, а апдейт версий может сработать, а может и нет.

>>50765
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadSceneAsync.html
Еще добавь перед LoadYourAsyncScene какую-нибудь анимацию, переход, компонент загрузки как в PS/Xbox,
После asyncLoad.isDone добавь еще 1 переход т.к. в этот момент у тебя должно уже быть 2 сцены.
Короче старайся и удачи, лол.
600 750782
>>49726
Я уже горю! Я привык, что при выборе чего либо в Inspector, это подсвечивается и в Project. Но теперь этого нет!
601 750784
>>50769
Лучше используй этот тег в твиттере
602 750791
>>50777
Гугл адсенс. В любом случае для мобильных игр без вложения какой-то суммы в пиар ничего путного не выйдет, если эта игра не жля портфолио, конечно, но тогда зачем вообще ее пиарить?
603 750803
У кого-нибудь есть опыт размещение игры вконтакте? Как это вообще делается?
604 750805
>>50643
Зачем дрочить на архитектеру, если ты не делаешь проект уровня гта5?
605 750813
>>50782
Отлично! Решение найдено б - надо было просто пересоздать проект.
606 750832
>>50778
спасибо
c8611ab40ecc29aac57209626f7718da.png19 Кб, 1148x188
607 750839
Что выбрать в сжатии текстур? Или где почитать о профитах каждого сжатия
608 750901
Какие подводные камни при экспорте blend файла напрямую без конвертаций в obj/fbx?
изображение.png77 Кб, 1426x536
609 750930
У меня в игре нет ни одного колайдера, как нахуй вырубить физику в юнити? Какого хуя оно тут долбится?
610 750945
Посоны, туплю пиздец, как грамотно организовать систему уровней? Допустим есть 2д платформер с сотней уровней. Думаю запилить уровни с помощью tilemap, потом сохранить их как префабы и загрузжать по выбору игрока. Нормально или хуйню придумал?
611 750946
>>50945
Как насчет скриптабле обжектов?
612 750948
>>50946
А как с помощью них подгрузить таймпам, обьекты, врагов и тд?
613 750949
>>50948

>тайлмап

614 750951
>>50948
Создай в нем поле "тайлмап" и в инспекторе передаешь, как пример. Всё остальное, что нужно, по аналогии.
615 750952
>>50951
А в чем разница тогда между этим способом и просто префабом? Все равно же придется делать сотню пребафов уже созданных уровней чтобы передать их в скриптаблобжект. Или я туплю?
616 750955
>>50945
Нормальная тема, главное научись всякие общие менеджеры грузить и не выгружать при смене сцен.
617 750958
А как работает scalе и какие в принципе размеры надо делать у одного тайла? А то во всех туторах видел у всех все по единички, но на деле мылит и текстуры и всякие UI элементы по типу кнопок. Складывается впечатление, что этот момент интуитивен понятен, а я один дибил.
618 750969
Как передать в параметры метода лист с классом, если сам класс, где находится этот метод, ненаследуемый от mono?
619 750970
Как в класс, который не наследуется ни отчего и, передать данные из скриптаблобжекта?
620 750971
Есть какое сообщество где можно пообсуждать за разработку на юнити заебать всех своими вопросами?

На дваче либо сутками не отвечают, либо вообще не отвечают
621 750972
Это Сакутин врет, или реально GameObject.transform - это скрытая ловушка с тормозами, так как в юнити оно вызывает GetComponent?

Я просто реально офигел с этого, всегда писал в апдейтах по несколько раз что-нибудь типа trasform.position... Я думал что оно уже закешировано.
622 750973
>>50970
Через конструктор или сеттеры - почитай книжку по шарпу чтоли
623 750974
>>50972

>GameObject.transform - это скрытая ловушка с тормозами


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

>через конструктор


А как в метод этого класса передать массив с экземплярами другого класса?
Public void int(Classname[ ] classname)()
{
}
625 750979
>>50974

>А чего скрытого, вроде же очевидно что оно геткомпонент вызывает


Я думал что это не свойство, а прямая ссылка на Transform.
626 750980
>>50973
И как это, по-твоему, должно выглядеть?
image.png71 Кб, 1105x845
627 750982
>>50980
Обычно, ты программист или кто?

Скриптаблобъект - это обычный класс а не какая-то магия. Сам скриптаблобжект можно или просто создать как любой класс через new, или установить в инспекторе юнити
628 750983
>>50982
Cпасибо, работает. Просто у меня, почему-то, не выходило так же сделать с классом, который находится внутри другого скрипта.
629 750993
>>50971
В вк есть конфа lazy gamedev

>>50972
Сакутин не врал 6 лет назад, 5 лет назад юнитеки начали её кешировать и сейчас её можно использовать.

>>50958
Scale для UI и для обычных 3D компонентов работает немного по разному.
Для UI лучше используй TextMeshPro для текста, а для текстур использовать Tile настройки, например sliced.
630 751008
Есть два врага, оба - копии одного и того же инстанса. Убиваю одного - умирают оба. Как сделать НОРМАЛЬНО?
631 751020
>>51008
ну код показывай, ты бы спросил еще как жизнь эту жить блин, ничего же непонятно в твоем вопросе
632 751022
Есть где краткий гайд по UI? Именно само общее - как камеру привязать, как правильно прибить к разным размерам экрана и т.д.
633 751025
>>51020
void Update()
{
if (currentHealth <= 0)
{
Destroy(gameObject);
}
634 751026
>>51025
Не понижай здоровье у двух врагов сразу, понижай у того, которого убиваешь.
image.png93 Кб, 275x183
635 751027
>>51026
заебал блядь
636 751039
>>51027
Хули тебе не нравится? Какой вопрос, такой и ответ.
637 751060
>>51039
Действительно, если стрельнуть по два снаряда в разные копии - они всё равно подохнут. А как понижать у одного врага?
638 751077
>>51060
врагом проверять какой коллайдер в него вошёл, и если это пуля то уменьшать здоровье
мимодругой
639 751087
Будет ли второй вариант потреблять больше вычислительных ресурсов, чем первый? Как я понял, во втором случае будет происходить постоянная перезапись значения j даже если он уже давно стал false.

void Update() // вариант 1
{ if (b == 7 && j == true) { j = false;} }

void Update() // вариант 2
{ if (b == 7) { j = false; } }
image.png25 Кб, 524x294
640 751092
Аноны, мб кто подскажет. У меня в апдейте данный код. Сначала запускается Луч от главной камеры через мышку и записывается координата удара луча о плоскость на нулевой координате. Далее в эту точку перемещается вторая камера. И дальше я пытаюсь сделать тоже самое, только уже луч от этой камеры в нулевой вектор3. Но почему то в последний Иф вообще не заходит.
641 751102
>>51087
Хуй знает, сравнение добавляет дорогие инструкции условного перехода, так что не всё так однозначно.
642 751105
>>51087
>>51102
Продолжу, в случае апдейта первый вариант на наносекунду будет быстрее, если бы была числомолотилка в каком-нибудь for то на наносекунду был бы быстрее второй вариант. В любом случае ненужное байтоёбство.
643 751111
размутил левел в blender. разбираюсь с коллайдерами. есть ли простой способ накидать боксколлайдеров в блендере? не хочу чтоб у меня сложный меш был в коллайдере
644 751151
Аноны, при навигации по сцене через пкм + wasd камера переворачивается. Пытался найти какую-то закономерность, но ее нет. Просто в случайный момент поворота камеры во время движения, она флипается по оси Y.

Если кто-то сталкивался с подобным, подскажите как зачинили пожалуйста.
645 751159
>>51077
>>51026
Посоны вы лучшие, спасибо!
646 751176
>>51151
в 2020/12f1 такая срань. Откатился в 2019/28f1 - там не воспроизводится.
image.png32 Кб, 853x220
647 751308
Что это и как это оффнуть?
648 751319
>>51308
обнови юнете, пересоздай проект
649 751325
>>51319
а да? помогло, но юнити всё равно говно
650 751333
Что не так с сохранением в плауерпрефс на мобилках? Какая разница писать в файл, который создал сам или писать в файл, который юнити создал для тебя?
651 751354
>>51333
Не понял тебя. PlayerPrefs на винде - это просто записи в реестре винды. Я не знаю тонкостей, но скорее всего и нет вовсе никакого файла в папке с твоим билдом.
На мобилках, ясное дело, все совершенно иначе, так как ОС совсем другая.
652 751355
>>51354
Я к тому что многие говорят что сохранятся в плауерпрефс это мол хуйня. На мобилках это просто файл в папке игры. Вот интересно что плохого в этом
653 751358
Аноны, есть вопрос по импорту 3д-моделей в Юнити.
Как безопасно редактировать уже импортированные в проект файлы?

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

Как избежать подобного? Может, работать напрямую с .max файлом в папке проекта?

Софт для моделей у меня 3Ds Max 2017, Unity 2018 LTS.
654 751367
>>51355
потому что можно сделать как минимум быстрее в несколько раз чем плауерпрефс
655 751369
>>51367
Как и почему? В чем разница в скорости сохранять просто json например или тот же json в плауерпрефс?
656 751378
>>51369
как пишут аноны с других форумов - перфсы не очень хороши с точки зрения безопасного хранения сейвов\прогресса\etc
мимодругойанон
657 751382
>>51378
Короче, актуально только для тех кто масштабные рпг и рогалики пилит.

Вы лучше про >>51358 скажите. Как безопасно редактировать 3д-модели в проекте?
658 751393
Ку. Делаю свою сраную игру с мультиплеер состовляющей. И прикрепил на свою голову БД.
Кто нибудь может занимался php + mysql + unity?
Есть пару вопросов.
допустим есть таблица users.
Как выбрать случайного юезра и отправить в юнити?
659 751400
>>51393
Генерируешь случайное число,делаешь запрос на сервак, получаешь ответ от сервака с нужными тебе данными
660 751404
>>51400
понимаю, разве что генерироваться оно должно на сервере т.к. комп не знает количество строк.
Но я похоже в синтаксисе не шарю. Какие команды я тока не пробовал.

$user = mysqli_query($link, "SELECT * FROM `users` LIMIT 1");
echo $user;
Какого хера возращает пустую строку?
661 751409
>>51404
Так пробовал? если я вопрос понял

>SELECT TOP 1 * FROM users

662 751410
>>51404

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


В чём проблема тогда проблема делать запрос на получение количества строк с бд?
663 751417
>>51409
>>51410

Мне кажется я просто что-то делаю совсем не так из-за чего не приходит ответ в юнити (или я его не могу просто прочитать)
664 751419
В dotween есть функция очереди? Нужно выполнить действие после окончания анимации.
665 751422
>>51419
Вроде нашел - Append. Пиздец у модуля справка ебанутая. Пиздец капча уебищная, с 10 раза ввел верную.
666 751444
>>51325
Никто и не спорит
667 751448
>>44234 (OP)
Как подсказки в монодевелоп включить? искал не нашёл...
668 751451
Парни, помогите советом, я в тупике.

Я сделал Scriptable Object и насоздавал его экземпляров, теперь мне надо хранить ссылки на них в некой коллекции, доступной статически во всей игре независимо от сцен. Я сразу подумал надо бы статический класс под это сделать, но статический не может быть MonoBehaviour, а если не делать его MonoBehaviour то и нельзя его на объект прицепить чтобы руками закидать все объекты в список в инспекторе. А если не делать статическим, то он не будет доступен статически, то есть надо будет руками ссылку на него всегда давать, а это пиздец.
669 751454
670 751530
Господа, здравствуйте! Я только вот начал осваивать юнити, хочу сделать текстовую ролёвку. Пилю интерфейс и столкнулся с проблемой. Два одинаковых (только текст отличается) объекта на канвасе расположены, но отображается только один из них. Помогите понять, что не так, пожалуйста!
671 751531
>>51530
Z позицию поправь, у тебя второй текст за канвасом расположен
672 751532
>>51531
Ох, ёбвашу мать. Действительно! Спасибо, анончик, получилось.
Скажи, а почему у Юнити такая странная ебанутая система скалирования? Показал на скриншотах.
И нет ли какого-то режима "только 2D", чтоб не пришлось ебаться с Z-осью ?
673 751535
>>51532
А хуй знает, я сам только недавно тут
674 751538
>>51532
По-хорошему у ЮИ элементов скейл должен быть всегда 1,1,1. Ты что-то делаешь не так. Не спеши делать свое, попроходи туториалы сперва.
675 751540
>>51538
Вот интересно, что же я делаю не так?
У меня есть курсы по Юнити, но там на 10 дней примерно делать 3D игры, чего я не очень хочу. Я довольно опытный кодер (бекендер на эликсире), поэтому пытаюсь разобраться самостоятельно. Были бы курсы по 2D Юнити только - смотрел бы за милую душу.
676 751541
>>51538

>туториалы сперва.


А есть нормальные краткие туторы по ui? Не говно типа "пишу инвентарь". А именно по любым ui - чтобы и про привязку и про разные разрешения экрана, и про верстку и т.д.
677 751548
Анон, есть какая-нибудь минималистичная шпаргалка по шарпу?

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

Что-то уровня - массивы создают так, структуры инициализируют так, классы копируют так, наследование делают так и т.д. То есть без стопятсотлишних слов, но полностью покрыт весь шарп

Это чтобы распечатать на бумаге и держать перед глазами, а то пишу код игры, нужно какую-нибудь вещь сделать, приходится идти и гуглить, потому что я знаю как это должно работать, но не знаю как в шарпе это пишется (по началу приходилось гуглить даже создание одномерного массива в шарпе, потому что не мог понять как скобочки писать (привык их писать после имени переменной, а не как в шарпе после типа))
678 751553
>>51548
Гугли "C# for <language name> developer"
679 751566
>>51553

>и "C# for <language name> developer


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

Думал написать сам - даже взял https://www.tutorialspoint.com/csharp/csharp_quick_guide.htm из оп-поста... Но и там много лишнего словоблудия, да еще и неудобная навигация.. Устаю, мозг начинает жаловаться "ну ты же это знаешь, не надо это писать"
680 751571
>>51566
Приходи сюда да спрашивай что непонятно, вроде быстро отвечаем
681 751613
Сделал анимацию префабу, вызываю Instantiate на нужных мне координатах, а он появляется и анимирует совсем не там где нужно, как решить?
682 751614
>>51613
Создай у префаба child, на этот child повешай модель с анимацией.
Это фишка юнити такая.

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

Надеюсь понял
683 751616
юнитач, кто-нибудь запаривался с parallel transport frame/rotation minimizing frame, подводные камни? хочу к сплайну кости прицепить
684 751624
>>51616
Мы тут индюки все сидим, а твоя задача звучит как ААА дрочь.

Возьми сплайн какой-нибудь из ассет-сторчика и поменяй под свои нужды я так и сделал.
685 751633
КАК БЛЯ ПЕРЕНЕСТИ РИГ ИЗ БЛЕНДЕРЕ В ЭТУ СРАЛЬНУ ЧОбы анимировать в юнити?
686 751638
>>51540
Я ж сказал что. Скейл элементов интерфейса должен быть 1,1,1. Ты конечно можешь делать любой другой скейл, но это палки в колеса.
687 751643
>>51638
Так если я их растягиваю и правлю, у них скейл меняется
688 751646
>>51643
Ты наверное используешь не TextMeshProUI, а просто TextMeshPro. Первый нужен для интерфейса, второй для текста как объекта в игре.
689 751648
>>51646
Нет, я использую первый.
У меня все остальные элементы интерфейса в разных скейлах, начиная с главного канваса...
690 751660
>>51648
Вот поэтому скейлы и хуево использовать. Приведи все в порядок, начиная от канваса сделай везде скейл 1, лучше переделай, так будет проще. А чтобы растягивать вьюхи у них есть width height, или ставь им отступы.
691 751683
>>51624
да вот я уже заебался искать, ни один не предлагает что мне нужно
692 751700
Ребятушки, подскажите в юнити тащить данные с какого-нибудь сайта? Вот например сайт с погодой, как взять оттуда собственно показатели температуры? С сетью никогда не работал, даже не знаю, как подступиться
693 751703
>>51700
Ключевое слово тут API, просто делаешь специальный http запрос к нужному сервису и обычно получаешь json в ответ.
Пример api погоды: https://yandex.ru/dev/weather/
Альтернативный и ненадежный вариант скраппинг сайтов (site scrapping), лучше ищи api с нужным сервисом.
694 751708
>>51703
спасибо, попробую
695 751717
>>51708
Я дал ссылку на апи яндекса, и только потом проччитал, что для использования в юнити оно скорее всего платное, но потренироваться можешь. Если что-то серьезное делать будешь, то думаю можно найти совсем бесплатные альтернативы.
696 751733
>>51660
Так ведь скейл от родительского контейнера зависит, нет?

Хорошо, попробую переделать, спасибо!
Хотя, не очень понимаю, как потом мне это помешает, ну да ладно.
697 751762
Как в ООП работать с EventData? Есть главный скрипт на родительском объекте, в нем инициализированы классы для детей, как в таком случае отследить клик по ребенку и прочие эвенты?
698 751828
>>51762
Ты про SQL EventData или паттенр события/подписчик?
Если про sql - юнити умеет в асинхронный код, правда нужно быть акуратным (как и всегда, работая с асинхронностью).
В ассет сторчике есть бесплатные либы для работы с sql, можешь скачать что-нибудь.

Если про подписчиков - стандартное юнити решение через SendMessage не советую использовать т.к. оно медленно работает и если будешь его дергать в update - заметишь просадки FPS.

Я себе простенький класс написал и в своих "детях" использую такую систему:
void Awake(){
GameEvents<SpookEvent>.On(SpookEvent.EventId, OnPlayerWasSpooked);
}
void OnDestroy(){
GameEvents<SpookEvent>.Off(SpookEvent.EventId, OnPlayerWasSpooked);
}

Полет нормальный, через il2cpp тоже компилится как часы
699 751866
>>51828
Я про IPointerDownHandler, IPointerExitHandler и т.д. SQL EventDatа - это делегат EventHandler, работающий с базой данных?

>оно медленно работает


В интерфейсе нет апдейта, кроме 2х лерпов в хендлере скроллов.
700 752030
Хочу сделать простенькую изометрическую рпг в открытом мире - как мне понять нужный размер террейна, чтобы потом не начинать все заново?
701 752071
>>44256
Ещё фасадирование хорошо помогает в теории
Да, некоторые компоненты могут быть маркерами, но в целом тема неплохая.

Я писал что-то вроде своих монобехов, юзал для каждого класса контексты. В общем и целом, профита и не дало, зато (возможно) более оптимизировано и выглядит гораздо кошернее
702 752072
>>44252
Имхо соблюдай солид и всё хорошо с кодом будет
703 752122
>>52072

>солид


Что это?
мимовчеравкатился
704 752133
>>52122
Тип как код нужно писать
С - single object responsibility - т.е. 1 класс должен делать 1 вещь
другие буквы тоже можешь загуглить через solid
705 752134
>>45370
название файла должно совпадать с названием скрипта и пробелы лучше не использовать
706 752138
>>44234 (OP)
Я не понял почему в юнити while постоянно зависают? Даже когда просто внутрь цикла засовую if else зависает нахер. Не работают &&
внутри условия while опять виснет, что за гамно?
оооо.jpg35 Кб, 519x453
707 752139
>>44234 (OP)
Ну вот чему здесь виснуть?
708 752141
Бесконечный цикл, если попадает в else
709 752146
>>52141
Ну да я дебил, нужно было инкремент вынести ниже.
Спасибо.
710 752156
>>52133
Благодарю
711 752237
Я про разраб юнити, но очень узкой специализации
Graphics Engineer. До этого работал только на дядю, а теперь хочу перекатиться в индюшатник. Сразу споткнулся о недостаок знаний о дженерик геймплэй программировании. При любом расширении геймплэй в ширь код очень быстро превращается в кашу. Туториалы на ютубе особо не помогают, там обычно всё упрощено до предела и показывается как сделать какую-то одну механику. Мож есть какие нибудь книжки в стиле "архитектура геймплэй", только не для начинающих, а для продолжающих?
712 752247
Как можно отслеживать изменения в коде внесённые через Collaborate? (vs code, visual studio)
713 752377
>>52237
Пчел, ты же про разраб, поспрашивай у коллег, что ты как маленький.
714 752401
>>52377
Они говорят что у них это как-то само получается. Просто много писали. Я в принципе так-же учился, но я не хочу 5 лет писать геймплэй чтоб научится, хочу как-то побыстрее.
715 752427
Учу юнити самостоятельно, без учебников, просто гуглю и тыкаю что мне нужно. И вот я дошел до создания и удаления файлов, и мне как-то не по себе. Есть какой-то надежный способ уберечься от полного стирания диска в случае (неизбежной, в моём случае) ошибки? Типа как-то ограничить область, куда скрипты будут иметь доступ?
716 752429
>>52427
ну в теории система не позволит, собственно за этим мелкософт перенес в свое время бинарники в програмфайлс а настройки в профиль. но это такая, очень хлипенькая защита, снести не системный диск можно без проблем если ты не настраивал права а кто нахуй их дома настраивает?

используй Application.persistentDataPath как корень для игровых файлов. это в винде указывает на %userprofile%\AppData\LocalLow\<companyname>\<productname> в винде
717 752430
>>52139
лол ты серьезно? посчитай на пальцах что происходит при с == 3
718 752460
Тред утонул или удален.
Это копия, сохраненная 10 декабря 2022 года.

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

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