Двач.hk не отвечает.
Вы видите копию треда, сохраненную 13 апреля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
unity-autodesk-university-london-2019-og-600x400@2x.jpg53 Кб, 1200x630
Unity thread №n 626966 В конец треда | Веб
SPOILERIMG20191123210545.png275 Кб, 600x449
2 626983
ОбКОТал
3 626985
>>626960
Ти дурний?

Нужен один спрайт с доской, ОДИН, ёпта.

И спрайты шахмат по ним ходят, по координатам, КАК ВО ВРЕМЕНА ДИДОВ.
1514980324811.png17 Кб, 703x246
4 627022
Ну вы лалки, а могли бы игры делать.
5 627052
Может кто-то по хардкору пояснить про рендеринг пайплайны?

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

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

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

Изначально выбрал lwrp ради шейдер графа, но теперь имеется аналогичный инструмент от Amplify, поддерживающий все режимы.
6 627058
>>27052
А в чем преимущество Amplify перед обычным встроенным шейдер графом? Стоит перекатываться на него, если и так вроде пользуюсь шейдер графом и все ок?
7 627066
>>27058
Я его только начал ковырять. А так:
- удобней, больше функционала (?)
- поддерживает легаси и hd
- может сразу показывать сгенерированный код шейдера - очень удобно для обучения.
- много темплейтов.

Короче, то же, что встроенный, только лучше. Не уверен, что стоит перекатываться, если и так все устраивает.
8 627072
>>26985
>>626997
А если я хочу, чтобы клетки анимировались? Чтобы проваливались и крутились как медвежьи ямы и чтобы фигуры под поле проваливались?
9 627073
>>27022
Менеджер сцен как минимум придётся свой велосипедный писать. А по существу там придётся горы велосипедов написать. Даже если возьмешь какой-нибудь годный фреймворк типа СФМЛ.
10 627078
>>27072
Тогда непонятно, почему ты возмущаешься необходимости их создавать по отдельности, если они разные объекты.
11 627080
>>27058
>>27066
И, откровенно говоря, видя ебанутую политику юнити касательно существующего функционала, я не уверен, что встроенный шейдер граф будут развивать, или даже поддерживать. Вполне может стать, что через год-полтора его поддержка прекратится, а дальше его переведут в deprecated.

К Amplify доверия побольше, так что мне не жалко было расстаться с 2к.
12 627089
>>27078
Потому что ЕЦС. У меня будет одна сущность с компонентом клетка же.
13 627107
Как в этом ебучем VSCode настроить автодополнение для юнити? Заебался уже, в одном проекте оно как-то заработало, создаю новый — а там хуй.
14 627110
>>27107
VSCode такое говнище! ИМХО, конечно. Не рекомендую. Лучше лишний раз сходить покурить, пока запускается студия, чем ебаться с вскодом.
15 627112
>>27107
Там вроде проект (или солюшен, не помню) без установленной студии не создается. Или пока не откроешь студией через редактор. Чот такое.
16 627113
>>27110
А что не так с вскодом?
Интелисенс есть, интеграция с гитом есть, дебагер есть. Я больше ничем и не пользуюсь.
17 627120
>>27110
Альтернативы? Notepad.exe?
18 627122
>>27120

> Альтернативы?


>>27110

> Лучше лишний раз сходить покурить, пока запускается студия

19 627123
>>27122
Это же тоже самое, только с ненужными перделками?
20 627125
>>27123
Не то же самое, а гораздо удобнее.
21 627130
бамп >>625457
22 627131
>>27089
skiasharp
23 627132
24 627137
>>27131
Ух ты! Любопытная штучка. Спасибо. Пойду пощупаю.
15754012263710.jpg18 Кб, 336x336
25 627140
Как сделать нормально анимацию исчезновения(альфа 1=»0) у 3д обьекта?
ЕО3Оесть один три дэ обьект с моделью, текстурой. Таких обьектов создается несколько штук на сцене одновременно и они активны. Каждый обьект рано или поздно будет уничтожен. В этот момент надо ему проиграть анимацию смены цвета альфа из 1 в 0.
Я попробовал у MeshRenderer.materials у них color менять. Возрасло количество draw callov в 5-10 раз. Использовал стандартный шейдер с mode=Fade и mode=Transparent. Оно еще и проглючивает.

Может кто-то сталкивался?
26 627142
>>27140

> Возрасло количество draw callov в 5-10 раз.


У тебя игра-то есть, или ты преждевременной оптимизацией занялся?
27 627146
>>27140
Можно на время анимации создать новый материал - копию старого, и менять у него альфу постепенно в колоре, тип поменять на транспарент. Ну либо пиши свой шейдер
28 627148
наткнулся на статью где юнити говорит что много апдейтов - плохо и пугает внутренним с++ говнокодом
https://blogs.unity3d.com/2015/12/23/1k-update-calls/

отсюда вопрос - если иметь один апдейт на всю игру и все остальное вызывать в нем через евент будет типа быстрее?
29 627150
>>27148
Много апдейтов это хуево, да, уже много лет все это знают.
Поэтому всегда говорят удалять пустые апдейты например.

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


В теории да, но тут больше вопрос о том сколько у тебя объектов активных на сцене в одно и то же время. Если у тебя 100-200 объектов, то это даст маргинальный буст производительности, а если у тебя 10000 объектов то у тебя будет нагрузка в любом случае, и ты что-то делаешь неправильно (либо нужно придумывать продвинутые способы оптимизации)
30 627154
>>27150

>10000 объектов


Что вы там мутите, псы призраки? Вы же инди индюки, делайте маленькие супер игры и зарабатывайте миллионы! Сколько апдейтов в celeste, говори блядь! Это знать надо!
31 627157
>>27154
Я нихуя не мучу, в статье было написано про 10000 апдейтов, поэтому я это упомянул.
не бомби
32 627160
>>27154
Я делаю клон ксп с прицелом на 10-20к частей на крафт. На ецс, правда, поэтому мне апдейт коллы строго похуй.
33 627167
>>27154
Celeste не на юнити, если ты не в курсе
34 627223
>>27148

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


Это звучит как дичайший костыль. Здесь важней не прибавка 0,12% к фпс, а то, как ты потом поддерживать все это будешь.
35 627226
>>27148

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


https://www.youtube.com/watch?v=mQ2KTRn4BMI

Смотри все
36 627253
>>27226
спасибо за интересный видос, аутизм начинается на 28:34

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

то что я понял:

>сделоли Update() с форлупом на 1000 колов


>выиграли 1-2 мс (говорит на 49:27)


на этом вопрос можно закрывать
не юзать апдейт это скорее вопрос принципа, когда следуешь mvc или типа просто больной аутист как я
>>27150 >>27223 вы правы короч
37 627262
>>27253

>1-2vc охуенно же

38 627264
>>27253
1-2мс это охуенный выигрыш при минуме эффорта
39 627265
>>27167
Не на юнити можно апдейты юзать, тупой козел-ебанат?
40 627266
>>27264
Да, а то твой платформир залагаит
41 627273
>>27264

>минуме эффорта


перепиливание всей архитектуры ты хотел сказать
ради 1 мс
42 627275
>>27273
Какой архитектуры, там примитивный (свой) фреймворк накачен, такой за пару дней делается
43 627369
Можно ли в fragment шейдер передать мировые координаты объекта?
45 627651
>>27052
Рендер пайп это заебись когда свой пишешь, под свои нужды. HDRP норм благодоря фиксированому функционалу и чёткому пониамнию команды что он делают. LWRP/URP это какое-то недоразумение. Они пытаются уседеть на трёз стульях в итоге выходит нерасширяемое неподдерживаемое говно. По мне им надо было разделиться на чётко HD и Mobile, и лоу енд игры впролне могли бы делать на мобайл пайпе.
46 627739
Ща буду второй мир в своем проекте на ecs делать, пожелайте мне удачи.
47 627768
>>27739
Желаю тебе удачи, бронька, всего тебе хорошего, надеюсь все у тебя получится. Здоровья близким!
TEMP.png13 Кб, 443x282
48 627831
Почему, когда я в шейдере округляю координаты, например так "i.uv = floor(i.uv*PixelCountX)/PixelCountX;", появляются эти артефакты? Как правильно округлить, чтобы их не было?
49 627836
>>27831
В чем смысл i.uv*PixelCountX /PixelCountX ты получаешь доже самое число?
50 627838
d
51 627839
Есть объекты, с которыми можно взаимодействовать. Ключ, дверь, ящик и прочее. Под взаимодействием я имею виду нажатие или удержание мыши или кнопки.
На примере двери. Код, скажем, из door.cs:
if (Input.GetKeyDown(KeyCode.E)) {//открыть дверь}
Но, отлавливать нажатия можно, только если чел рядом с этим объектом и смотрит прямо на него, то есть, код должен быть примерно таким:
if (CanInteract() && Input.GetKeyDown(KeyCode.E)) {//открыть дверь}
CanInteract() возвращает true, если чел рядом с этим объектом и смотрит прямо на него.

Чтобы функцию CanInteract() не дублировать в key.cs, box.cs и прочих, я решил сделать компонент. Его нужно повесить на каждый такой gameobject и указать тип. Когда происходит фокусировка на объекте, или он теряется, то сообщаем об этом скрипту объекта.

Нормальное решение?

В этом же компоненте можно реализовать показ и сокрытие UI иконки или подсказки, чтобы чел знал, что можно нажать.
52 627857
>>27839
А вообще, чтоб не возиться с компонента, лучше сделаю внешнюю статичную функцию, которая принимае transform объекта, и возвращает true или false, в зависимости от того, смотрит ли камера не него
53 627882
>>27839

>Нормальное решение?


Хуита
54 627884
Почему очистка gc вызывает лаги?
55 627887
>>27884
Потому что гц занимает процессорное время. Представь. Заехал к тебе во двор мусоровоз. Загородил проезд. Выворачивает контейнеры с мусором себе в кузов. Проехать нельзя. Петрович на шохе ждёт. Михалыч на фокусе ждёт. А хули ещё делать?
56 627892
>>27887
Хуйня. Почитал немного. Лаг происходит на любом железе, даже на i9 9900k. Проблема в том как работает гк в юнити. Он по-сути останавливает выполнение программы во время очистки. Плюс напрямую с памятью работать нельзя поэтому приходится полагаться на гк.
57 627898
>>27892
Ну, не знаю. Юзай шарповый майкрософтовский гц. Или вообще. Прибирай за собой мусор сам. Будь олдфагом, блеать.
59 627908
>>27892
Можно работать с памятью напрямую, школьник ты сука ебаный. Специально чтоб ебаные дети типа тебя не на косячили, в сиське есть режим ансейф кода, по умолчанию отключенный (защита от дураков как ты). Но ты настолько тупой, что тебе для начала надо учиться писать код без мемори ликинга.
60 627919
>>27739
Докладываю, начал разбивать исходный мир на группы (инпут, контрол и симулейшн для начала), но слегка обосрался и пришлось откатиться.
Сегодня начну с малого, сделаю инпут систем груп и барьер после него, чтобы создавать управляющие энтити.
И если успею сделаю аттрибут для раскидывания систем по мирам и второй мир с одной тестовой системой в симулейшн систем груп.

А вообще я пытаюсь через рефлексию все делать, как Юнити в документации пишут, но получается какая-то хуета, если честно. Проще вручную систему за системой распихивать по группам. Но тогда не будет корректно работать UpdateInGroupAttribute, что печально, он мне нравится.
61 627920
>>27908
Судя по токсичности этого "олдфага", успехов в жизни он не достиг, и решил хотя бы на дваче самоутвердиться.
Не будьте такими, дети.
62 627922
>>27920
Психоаналитик в треде, все на терапию.
63 627927
>>27922
Для того, чтобы детектить неудовлетворенных жизнью лузеров, не нужно быть психоаналитиком.
Temp.png3 Кб, 514x400
64 628005
>>27836
Разница в округлении, чтобы вычисленная шейдэром текстура выглядела бы как не фильтрованная. Но видимо суперсовременные видеокарты не предназначены для ретропикселей.
65 628008
>>27836
Ты floor пропустил. Получается не тоже самое отнюдь.
66 628009
>>28005
При этом, чем больше Ц, тем крупнее ячейка до величины которой округляется число на выходе. Я очень горжусь тем, что эту формулу я вывел сам.
67 628011
>>28009
Причём здесь гордость за вывод очевидных формул? Я вообще спрашивал про то, сталкивался ли кто нибудь с артефактами округления в пиксельных шейдерах.
68 628018
>>28011
Ну прост. Решил поделиться своими достижениями с братушками. А вы тут злые какие-то.
69 628024
>>28018
А, сори, неправильно проинтерпритировал твой предыдущий пост.
70 628030
>>27651
Ага, я уже перекатился на HD, ощущения исключительно положительные. Надо было это сделать год назад, лол.
71 628031
>>27839
Наступал на такие же грабли несколько раз. Просто заюзай функцию OnMouseOver, с проверкой дистанции до игрока. И логику взаимодействия вынеси в отдельный скрипт, а не засоряй monobehaviour.
И пожалуйста, не пиши четыре вложенных if'а!
72 628032
>>27898
Забыл самый главный совет. Не создавать мусор.
73 628036
>>28031

>И пожалуйста, не пиши четыре вложенных if'а!


А то юнитя залагаит? Ну юнитипидары тупые.
74 628037
>>28036
Глаза режет.
1434032490420.png5 Кб, 340x104
75 628046
>>28005
Точно, я сонный даже не увидел ее. Если через lwrp делаешь, посмотри что рисуется через frame debugger, возможно это из за постобработки или вот эта залупа даже на 1 сглаживает пиксили.
76 628059
>>28032
Не забыл. Несоздание мусора является аналогом прибирания за собой. Объект объявил. Объект создал. С объектом поработал. Объект уничтожил. Так делали деды и отцы.
77 628073
>>28046
Разобрался! "Anisotropic Texture стояло в положении "Forced On". В общем - да, для пиксельных сцен надо всё поотключать.
78 628100
Привет, Анон

Помоги, пожалуйста с таким вопросом.
Есть части двигателя. В майке они выглядят нормально, трансформы заморожены, все путем. Но после экспорта в юнити, данные нифига не сохраняются, и если сбросить их на ноль, то меш будет помещен в центр мира. Я уже пробовал делать parent, группы, но все фигня. В чем тут дело ну, кроме того, что я туповат? Как сделать, чтоб все данные о расположении, в Юнити были так же на нуле, как и в Майе?
79 628115
>>28031
Можно чутка подробнее? Mouseover это какая то встроенная в юнити функция?
80 628124
>>28100
Сделай пивот (надеюсь ты знаешь что это) в майке в 0,0,0 или там же где у парента, если тебе эти нули нужны любой ценой.
hqdefault.jpg26 Кб, 480x360
81 628128
>>27920

>Судя по токсичности

82 628146
>>28115
А чего подробнее, когда в интернете мануалов навалом?

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseOver.html

Выстреливает каждый фрейм по аналогии с апдейтом, когда курсор находится поверх предмета. Также есть mouseEnter и mouseLeave. У предмета должен быть коллайдер.

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

> Нормальное решение?


Такое же нормальное, как делать тетрис, где каждая новая фигурка это класс, генерируемый фабрикой фигурок. Перемещение фигурок реализовано через сериализацию. А взаимодействие фигурок с полем через подписку на сообщения.
84 628158
>>28146

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


ты наверное имеешь ввиду 2d игру? я пилю 3d, курсора нет
85 628159
>>28158
Если у тебя курсор скрыт то считается центр экрана
86 628164
>>28155
Это ещё что, я как-то работал с игровым движком, где отправка сообщений была реализована через рефлексию, а вызов главной камеры проводил перебор объектов сцены.
87 628165
>>27920
Вот это отрицания, маня.
88 628168
>>28155
Всегда так делаю.
89 628172
>>27839
Так себе схема. Я бы сделал один класс на любые объекты, с которыми игрок моюет взаимодействовать, через этот класс-болванку реализуешь интерфейсы. А уже в интерфейсе под каждый случай можно прописывпть че происходит или вызывать соответствующий метод.
90 628181
>>28172
Получится много копирования кода для каждого класса(активация, деактивация, сайд-эффекты), либо выносить все в родителя, а тогда будет громоздкий родитель и широкое некрасивое дерево наследования.

Лучше сделать систему модулей, где каждый модуль опционально подключаем и выполняет кусок своей логики. Тогда очень круто играет open-closed принцип: для расширения логики тебе не нужно ничего переписывать, ты просто добавляешь новый модуль.
91 628183
>>28181
Эти твои модули это постоянно чекать на наличие и отсутствие модулей, я с компонентами заебался возиться, а ты тут ещё предлагаешь свои собственные компоненты сделать.
92 628185
>>28183
Я сделал один компонент, а внутри него enum с атрибутом [Flags]. Для каждого префаба нужно прикрепить один компонент, а флаги выставляешь любой комбинацией для создания гибкой логики.
Это мне нравится больше, чем создание тысяч InteractableDoor, InteractableChest, InteractableItem, InteractablePotion, ...
93 628187
Unity Jobs и burst compiler работают с обычным монобехом?
94 628188
Как мне лучше всего сделать нанесение урона? Вернее, ивенты взаимодействия двух и более объектов, которые не связаны друг с другом прямыми ссылками? По идее для этого нужен менеджер, но тогда нужно слать в него дохрена переменных. Если мы имеем ивент урона в атакуемом, который вызывает атакующий, то это вроде как логичнее, но тогда проблема с восприятием этого ивента со стороны других объектов и всё равно нужно слать дохрена переменных в какой-нибудь менеджер.
95 628189
>>28181
>>28185
Например недавно мне пришлось настраивать анимации предметов при взаимодействии с ними. И с этой системой не было необходимости лезть в родителя или писать логику анимаций в трех-четырех классах. Я просто написал новый модуль и добавил флаг в enum.
96 628192
>>28164
годот что-ли?
97 628193
>>28192
Нет. Юнити.
98 628195
>>28189
Мой случай слишком специфический чтобы ответить тебе что-нибудь внятное. У меня только базовые классы (юнит, обстакл, дудад), а всё взаимодействие вынесено в заменяемые скрипты на луа. То есть InteractableDoor и InteractableChest, но я их читаю из текстовых файлов снаружи юньки.
99 628196
>>28193
Хуя ты пиздун. Не стыдно на юнити наговаривать?
100 628197
>>28188
Тебе нужен паттерн observer. Просто делаешь свой ивент менеджер или берешь готовый и подписываешься в нем на получение урона всеми, кто нужен. Во время удара триггеришь и пересылаешь необходимую дату.
101 628198
>>28164
IIRC отправка сообщений не рефлексия, а перебор объектов на хардкоженном C++. Обращение к трансформу, иерархия с трансформами и графика таким же образом идёт.
102 628199
>>28196
Нет. Я юнити люблю, но каждый раз охуеваю, как он может.
103 628201
>>28197

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


Это очень много даты. И это до черта проверок булей.
104 628202
>>28198
Я сам под капотом не копался, так что могу пиздеть. Но абсолютно везде механизм объясняется именно рефлексией.
А обращение к компонентам идеи так, как ты сказал. Что тоже не супер быстро.
105 628204
>>28201
Почему же. В момент удара создаёшь контейнер данных с получателем, мб отправителем, размером урона и мб типом урона или как у тебя система сформирована.

А подписчики уже сами решают, что с этими данными делать.
106 628207
>>28204

>А подписчики уже сами решают, что с этими данными делать.


Это говно очень быстро вырастет до внушительного по размерам пакета, который будет пересылаться всем-всем-всем как только появится нужда в follow-up ивентах вроде парирования, доджей, чеков на proximity чтобы реакцию какую-то сделать и т.п. Видел, как икскомы виснут, иногда напрочь, когда в конце стрельбы очень дохуя эффектов разом срабатывают? По сути, я спрашиваю, как с такой ерундой справился Хартстоун.
107 628208
>>28202
При первой отправке сообщения все обработчики кешируются. Получается так-же как быстро как подписка на события, только без ручной подписки/отписки.
108 628209
>>28207
Хз, тогда можно посылать ивентом только отправителя и получателя. Получатель ловит ивент и запоминает отправителя, после чего они начинают срать данными между собой. А в другие модули данные отправлять небольшими сообщениями-ивентами, без мусора.
Хотя.. как ты будешь пересылать получателя ивентом, если у тебя изначальное требование не быть связанным прямыми ссылками? Хуй знает короче.
109 628213
>>28209
Лол, пока спрашивал нашёл у себя в коде типа-решение - разбивать ивент на куски, которые выстроены в последовательность, и каждый кусок выполняет свою часть ивента, и если эта часть вызывает какой-то другой ивент, то он кусками встраивается в уже имеющуюся последовательность.

Это... менеджер, который курирует последовательность ивентов, собирая по пакету на каждый из них заново по требованию ивентов? Ну, в другом месте кода это работает, надо repurpose'ить
110 628217
>>28187
Только в режиме гибрида, не полностью
111 628223
>>28189
Пример скинуть можешь? А то я совсем нубас.
112 628230
>>28223
Вечером, если время будет.
113 628239
Анон, который зарабатывает на мобильных играх? (Кажется рескины).
Ты ещё здесь?
И вообще здесь есть именно те кто удалённо зарабатывает, чтобы не надо было ходить в офис.
У меня был свой источник дохода - в лучшие времена до $5000 в месяц, сейчас упало до $1500-2000, сам я бывший веб программист, но не хочу ходить в офис, интересует данная тема на пообщаться
114 628245
>>28239

>У меня был свой источник дохода - в лучшие времена до $5000 в месяц, сейчас упало до $1500-2000


Рассказывай, съебешь на рескины, а я буду твоим методом зарабатывать, для меня 1500к это заебись
115 628264
>>28223
Лови: https://pastebin.com/hahTUw1d

В эту систему можно дописывать любого вида модуль:
1. Создаёшь новый наследник.
2. Добавляешь новый флаг в enum.
3. Пишешь две строчки на создание нового модуля.

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

А ещё можно создавать не только опциональные, но и обязательные, и взаимоисключающие модули!

Конечно, я не стал писать тысячи null чеков и других проверок, а надо бы.
GobletGS.png121 Кб, 728x534
116 628292
>>28264
Ты издеваешься?

>this.rb = rb;


>rb.isKinematic = false;



Весь функционал твоего "модуля" - это сменить значение одного буля. Это гораздо проще и быстрее и чище сделать без таких извращений.
GodOfTrade.jpg107 Кб, 700x805
117 628293
>>28264
>>28292
Ладно, похуй на один буль. У тебя идея в том, чтобы "расширять" 3 метода в зависимости от тэгов. Как насчёт сделать круче - для каждого возможного модуля сделать менеджер, и вместо того чтобы подключать модули к объектам заносить объекты в списки этих менеджеров, а затем звать апдейт, дестрой и что там ещё из менеджера проходясь по списку?
118 628294
>>28292

>Ты издеваешься?


Да. А теперь посмотри на другие модули. Они тоже написаны в две строчки. Можно написать ещё штуки две- три таких же с базовыми функциями.

И нахуя их плодить, да?

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

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

Да, у меня ОКР, да, я угораю по аккуратному и структурированному коду. Да, это мешает продуктивности, но с моими библиотеками мне потом необычайно легко работать
119 628295
>>28293
Не совсем тебя понял. Сделать модули scriptableobject'ами, а в объекте создать их список, наполнять через инспектор и пробегаться по списку?

Пожалуй. Но я предпочитаю "чистые" классы, а делать менеджер scriptableobject'ом нет никаких причин. Енум это простейший способ работать с чистыми классами через инспектор.
120 628296
Свойства надо писать так public bool canJump = false, а методы всегда с заглавной bool CanJump()?
121 628297
И что значит префикс _ в свойствах объекта?
_canJump?
122 628299
>>28295
У тебя сейчас дохуища экземпляров разных модулей. Я предлагаю взять объекты, к которым цепляются модули, и распихать по менеджерам, выполняющим функции этих модулей. Это как если вместо того чтобы иметь 100 объектов с апдейтом в каждом из них сунуть этот апдейт в менеджер и в менеджере же проходиться по списку объектов.

Объект становится набором переменных почти без методов, а все методы кочуют в менеджеры, которые затем жонглируют объектами.
123 628300
>>28296
>>28297
Подчеркивание это пережиток прошлого из языков, где не было различий между регистрами. В некоторых случаях они используются сейчас (приватные поля), но я бы рекомендовал от них избавляться совсем.

Приватные поля - с нижней, публичные свойства - с большой. Методы - с большой.
NoNipples.png302 Кб, 523x644
124 628301
>>28300

>свойство с большой

125 628314
>>28245
мой метод связан с ютубом, я делал мультфильмы на ютубе.
Сейчас закручивают гайки и лучше не начинать.

Я не так давно пробовал написал 2д шутер на Unity и в принципе черновой вариант был готов с нуля за 3 трудодня (полтора дня писал код и полтора дня дизайнер рисовал).
Т.е. в сумме игра была сделана за 1.5 дня.
Мы не занимались играми до этого, но интересно в плане нужна какая-то раскрутка же явно для игры - как это делать и т д.

Ибо тут парень писал что когда игры умирают он делает новые, но явно там не бесплатные методы поднятия игры. В принципе мы не против и в команду вступить и делать что-то вместе, просто пока пробиваю почву (сейчас у меня есть заказы в вебе, но они закончатся).
126 628315
>>28314
Почти все годные игры взлетают, даже средненькие свое получают. А вы так вообще по пятьдесят игор крутых в год сможете выпускать, в деньгах будете купаться!
image.png100 Кб, 1103x705
127 628350
Че за хрень? почему я не могу поставить ProGrids? при том что ProBuilder скачался и установился. А ProGrids два дня не хочет ставится

как обойти?
128 628359
а расскажите простыми словами что такое DOTS?
129 628366
>>28359
форсед мем
130 628382
>>28359

Попробую.

В прошлом поколении были такие приставки - PS3 и Xbox 360.

В них поставили процессор без Out of Order и предзагрузки кеша.

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

Была (и есть) такая контора как Naughty Dog, внутренняя студия Sony Computer Entertainment прославившая себя играми серии Uncharted (это который Drakeface), Last of Us, Crash Bandicoot.

Они изобрели байтоебский способ борьбы с ущербным консольным железом путем декомпозиции объектов и превращения массивов объектов в массивы отдельных полей этих объектов, который они позже назвали Data Oriented Design.

То есть вместо

class Mob {
private vec3 position;

private vec3 rotation;

private int health;

private AiState state;

...

private Huita huita;
}

стало

class Mobs {

private vector<vec3> positions;

private vector<vec3> rotations;

private vector<int> health;

private vector<AiState> states;

...

private vector<Huita> huitkies;
}

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

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

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

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

Попробую.

В прошлом поколении были такие приставки - PS3 и Xbox 360.

В них поставили процессор без Out of Order и предзагрузки кеша.

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

Была (и есть) такая контора как Naughty Dog, внутренняя студия Sony Computer Entertainment прославившая себя играми серии Uncharted (это который Drakeface), Last of Us, Crash Bandicoot.

Они изобрели байтоебский способ борьбы с ущербным консольным железом путем декомпозиции объектов и превращения массивов объектов в массивы отдельных полей этих объектов, который они позже назвали Data Oriented Design.

То есть вместо

class Mob {
private vec3 position;

private vec3 rotation;

private int health;

private AiState state;

...

private Huita huita;
}

стало

class Mobs {

private vector<vec3> positions;

private vector<vec3> rotations;

private vector<int> health;

private vector<AiState> states;

...

private vector<Huita> huitkies;
}

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

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

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

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

А я спрашивал что это за DOTS которую юнитеки последний год презентуют.. .или таки это оно? но тогда что в нем нового и при чем тут сам движок если так может и сам разраб делать?
132 628385
>>28382

Ах да, вы спросите, причем тут Unity?

По причине воя школоты о низкой производительности Unity, юнитеки пригласили одного из этих соневских байтолюбов себе в контору. Знакомьтесь, Mike Acton, он же Миша-Оптимизатор, автор DoD, любитель пердолить байты.

Вот он сейчас и занимается DOTS

https://www.youtube.com/watch?v=rX0ItVEVjHc

На второй фотке - его коллега по команде, Jason Gregory, всё оттуда же из сони, нотидог, тоже пилил дрейкфейс, автор книги Game Engine Architecture/

Оба они - главная причина влажных дрочек сониблядей из /cg/ по ночам.
133 628386
>>28384

DOTS - это ванильные из каропки ECS + DOD + кастомный компилятор сисярпа с гейшами и куртизанками
134 628388
>>28385

Сейчас погуглил и понял что спиздел, Мишаня из Insomniac и он не изобретал DOD, он только дал название и форсил.
135 628392
Нашел вот тут советы по оптимизации кода, что скажете https://docs.microsoft.com/ru-ru/windows/mixed-reality/performance-recommendations-for-unity ?
Ryoma-sc3.jpg102 Кб, 1111x739
136 628393
Вкатываюсь из веб дева. Поставил 2018.4. Хочу делать что-то осмысленное с деревьями юнитевских ландшафтов. Научился на C# их двигать, удалять, добавлять, менять цвет. Помогите с парой вопросов:

1. Какого-то хуя билборд не генерируется снова после смены цвета через метод Terrain.terrainData.SetTreeInstance, а только через установку всего массива деревьев в Terrain.treeInstances ? Баг?

2. Раз SetTreeInstance не вариант при смене цвета, то мне каждый раз весь огромный массив из 10000 деревьев ставить? Насколько это затратно или может одна установка массива лучше чем сотня вызовов SetTreeInstance? В документации что _конкретно_ делает и регенерирует каждый метод нет.

3. Какой лучше использовать подход, чтобы расширить свойства деревьев? Допустим я хочу хранить где-то жизнь и возраст каждого дерева. Пока в голове висит вариант вести параллельный массив к массиву всех деревьев и в нем уже структуры с нужными свойствами. Звучит достаточно костыльно и нихуя не ООП, но как быть еще? Как привязать к деревую нужную структуру данных?
137 628395
>>28392

>а самом деле, камера. Main просто использует финдгамеобжектсвистаг ()


>с помощью тега "маинкамера"


1С ПОГРОМИНГ ИН АСОЦИЭЙШОН ВИЗ РАПИРА ЭНД КОМПАНИЯ ПРЕЗЕНТС
138 628405
Коллеги, добрый день.
Подскажите начинку для .gitignore, пожалуйста.
Стандартный, который предлагает github выполняет свои задачи?
139 628407
>>28392
Все по делу расписано
140 628411
>>28395
это автоперивод, маьнка
141 628444
Смотрю на всякие Тарковы, инди-игры и замечаю иногда весьма пиздатый графон. Как его делают? Что для этого нужно знать и... как вкатиться?
142 628445
>>28444
Нужно быть крутым художником и моделлером
143 628447
>>28445
Ну нихуя себе. Там же в освещении и шейдерах дело.
144 628449
>>28447

Внезапно, но что бы шейдеры и освещение канали , им нужны охуенно сделанные карты - альбедо, нормаль, глосинес, металлик, вот это вот все, натянутые на норм модельку.
145 628450
>>28449
как быть тогда.
146 628452
>>28449

А что бы они были охуенно сделаны, то нужно сидеть днями и корпеть, вылизывая, вылизывая и вылизывая.
147 628453
148 628507
>>28405
Гуглишь гитигнор для своей среды разработки и гитигнор для юнити. Оба содержимых заливаешь к себе. Профит.
149 628511
>>28392
Пробежался по статье. Большая часть перечисленного - мастхев, который должен знать любой уважающий себя юнитидел большую часть перечисленного я узнал только на третий год разработки.
90% актуально и не для VR.

Не согласен только с заявлением про интерфейсы. Вот так и рождаются говнокодеры, оправдывающие свой говнокод мифической прибавкой в 0,002% к фпс.
150 628512
Чет мозг тупо думает, так что пока займусь приведением кода в порядок в плане наименования. Нашел вот тут статью, она нормальная? https://github.com/ktaranov/naming-convention/blob/master/C# Coding Standards and Naming Conventions.md
151 628513
>>28512
Да. А если хочешь кодить на уровне "бог", то также изучи как не надо писать комментарии и начинай писать документацию к своим публичным методам и классам.
152 628516
>>28513
Тут анон пишет
>>28300

>, публичные свойства - с большой


Он прав? В юнити они вон с маленькой, да и этой статье они с маленькой
153 628525
>>28516
Ты путаешь свойства и поля. Свойства:

>public Speed { get; set; } = 10;


Поля:

>private speed = 10;



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

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

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

>[SerializeField] private speed = 10;


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

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

Да, тот анон прав, потому что это я.
154 628534
Короч делаю тайкун-менежмент ёбаный и думаю пускать всю логику игры через FixedUpdate() ведь тогда я смогу легко контролировать скорость игры через fixedDeltaTime. Какие подводные?
155 628540
>>28534
Все ивенты юнити типа нажатий кнопок синхронизированы с апдейтом. Тебе придется при внедрении каждого нового действия проверять, исполняется ли оно один раз, дважды или ни разу.
156 628546
>>28525
все статичное с большой буквы?
157 628551
>>28546
Нет, почему же. Статичное следует тем же правилам, что и обычное.

Константы внутри клаcса - с большой буквы.
Константы внутри метода - с маленькой.

Но это уже менее устоявшиеся правила. Кто-то их хуячит капсом с подчеркиваниями.

Но важно понимать, что каждый дрочит как хочет. Можешь вообще изучать Swift и юзать эмоджи вместо названий переменных. Там можно.
158 628554
>>28551
Я имел ввиду поля static. Приватные с маленькой, публичные с большой?
159 628562
А вот советуют ограничить количество Update()

А как их ограничить если большинство скриптов наследуются от MonoBehaviour? в котором уже есть пустые Update()?

или стараться по минимуму наследоваться от MonoBehaviour?
160 628564
>>28562
Апдейт не будет вызываться, если ты его удалишь, даже если он наследуется от MonoBehaviour
161 628565
>>28564
а как его удалить?
162 628566
Народ, а есть такой паттерн чтобы скрипты не перетаскивать мышкой в редакторе для связей?

Синглтон не нравится. FindComponent тоже херня

Пытался гуглить но нашел только всякие MVC (а я не фанат этого паттерна - мой мозг не может думать видами и контроллерами).
163 628567
>>28566

>FindComponent тоже херня


И на чем основано это утверждение?
164 628568
>>28567
Сразу фпс до нуля падает
165 628570
>>28565
В скрипте удаляешь функцию и всё прикинь
166 628573
Сап пацаны. Как сделать управление как в игре на мобилу falcon squad? Там спэйс шутер, и смысл в том что можно в любой части экрана тыкать и корабль повторяет движение пальца. Не могу сообоазить как сделать
image.png53 Кб, 671x624
167 628578
что это за пункт?

генерирует солюшен проекта на С++. Можно запускать прямо из студии. Но вот кода там нет - пустое Main

Это юнитеки вдруг решили С++ завести? (2020 версия юнити)
169 628584
>>28566
Для поиска компонентов ничего лучше getcomponent не изобрели. Причем я предпочитаю писать ленивую инициализацию, а не засирать Awake. Получается не так чисто, но зато не будет лагов при инициализации сразу сотни объектов.

А для поиска абстрактного объекта сцены я угораю по servicelocator'у. Статический класс с глобальным доступом, удобнее синглтона, не имеет недостатков синглтона, легко переиспользуется. Поддерживает интерфейсы, в отличие от синглтона, что позволяет писать охуительные вещи. Имеет два недостатка (прячет зависимости и превращает ошибки компилятора в рантайм ошибки), за что адепты ентерпрайза нежно окрестили его антипаттерном. На мой взгляд для юнити это не применимо.
Название намекает - его лучше использовать для служб, существующих в единственном числе. Причем их даже не обязательно наследовать от monobehaviour. Я его обычно использую для кастомного логгера, ивент менеджера, менеджера сцен и сохранений и... Для игрока. Это наверное не очень хорошо, но охуенно удобно.

Для взаимодействий десятков объектов же ничего лучше observer'а нет. Пишешь свой ивент менеджер и подписываешь сотни объектов совершенно не парясь о перетаскивании их мышью. В юнити есть встроенный ивент менеджер, он чуть удобнее своего, но гораздо медленнее.
170 628585
>>28581
это не то. это Windows Store по ссылке.
на моем же скрине старые платформы (например линукс)
171 628588
>>28584
Бро, ты вроде на опыте. Подскажи как сделать такое управление >>28573 сделать, не нагуглил что-то пока. По идее надо что бы один вектор как-то параллельно другому двигался, что ли
172 628590
>>28584

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


Двачую этого.
173 628591
>>28590
Это же вроде на производительность влияет, не сильно получается?
174 628592
Как лучше сделать открывание двери туловищем персонажа, без нажатия кнопок и детекта триггера, чисто физической силой? Если идти прямиком на дверь, то оно как бы должно толкаться вперед под воздействием тела игрока и останавливаться, если игрок перестал идти на дверь. Я посмотрел туториал по Hinge Joint, вроде похоже на то, что мне нужно, но там дверь будет возвращаться на прежнее место, как будто на пружине. А моя дверь должна оставаться на том месте, где ее закончили толкать.
175 628593
>>28591
Всё зависит от задачи. Тут нужно в каждом случае индивидуально подходить. Либо ты делаешь лоадскрин, в котором всё инициализируется "трудолюбиво", либо юзаешь ленивую инициализацию и имеешь некоторые просадки фпс.
Этот принцип я запалил, например, в ведьмаке втором (подчёркиваю, втором). У меня была слабая машина тогда и была такая тема: Когда идёшь медленно и находишься в пределах локации (чанка), то игра работает нормально. Когда начинаешь ускорятся, то при смене локация начинаются лаги. Если во время лагов притормаживать, то игра продолжается. Если пришпорить плотву и втопить - врубается лоадскрин.
176 628594
>>28588
Плохо понимаю, чего ты хочешь. Рисовать пальцем на экране, чтобы потом корабль летел по нарисованной траектории?

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

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

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


Вектор не двигается. Двигаются объекты и их движение в каждый конкретный момент можно показать векторами.
Я это к тому, что тебе надо записывать координаты пальца в массив, пока рисуешь жест. Затем этот массив использовать ка навигационный путь. Когда палец касается, записываем Х1 = 0, 0. Когда палец едет, периодически записываем Xn = Xn-1 + текущие_координаты. Когда палец отпустили - массив завершен и мы запускаем корабль, интерполируя его позицию с позициями точек в массиве.
>>28594
А я вот как понял его ^
178 628596
>>28592
Не будет. Пружина настраивается.
179 628598
>>28594
Да мне на словах сложно объяснить, поэтому я привел в пример игру, можешь ее скачать и посмотреть как там сделано.
Сейчас у меня упрввление такое, я просто ловлю точку в которую мы тыкаем, и корабль летит от своей позиции к этой точке. Но на самом деле это не очень удобно.
В той игре сделано так, можно в любой точке экрана тыкнуть, но корабль остаётся на месте пока мы не начнем двигать пальцем. Когда мы начинаем двигать пальцем, корабль со своей позиции начинает повторять траекторию наших жестов. Таким образом можно из любой точки экрана управлять кораблем. По сути считываются вектора нашего пальца и как-то пропорционально передаются в игрока
image.png13 Кб, 377x634
180 628599
181 628600
>>28599
В мои времена школьники изучая погроммирование на каком-то этапе обязательно писали свой недоПейнт.
Хуйзнает вас миллениалов, какие-то вообще не можете в мышление.
182 628601
>>28600
Да мне 27, я просто тупой и ленивый. Сам пробую сижу, но подумал параллельно спрошу тут, вдруг быстрее подскажут. Я даже не кодер, так самоучка
183 628602
>>28601
Ну так посмотри, как посоны пейнт пишут в мануалах, а потом эти точички не на экран бери клей, а массивом на вход твоему треугольнику чтобы по ним летел, епта.
184 628603
>>28602
Какой нахуй пэинт, я спэйс шутер делаю. Я просто проиллюстрировал как выглядит управление, которое я хочу. Пунктиры условные.
Сейчас он у меня вот так летает:
https://pastebin.com/weDZAUvK
Там по игрику его подымаю, что бы палец спрайт не закрывал.
Но недавно увидел в игре falcon squad круче управление, я его описал выше. Вот не могу додуматься как сделать лучше всего.
185 628604
>>28603
Ай хуйнатебя, сперва объяснять начал, потом подумал, лучше свою игру запилю.
186 628605
>>28604
Ну не жадничай, хули ты
187 628606
>>28605
Схуяли я должен помогать бесплатно? Помогу за 100 рублей.
188 628607
>>28603

> Какой нахуй пэинт, я спэйс шутер делаю.


Такой.
Чтобы делать игры, сначала надо научиться делать программы вообще. Потому что игры это программы. Причем не самый простой их вид.
Так что брысь курить матчасть и чтобы пока не сделаешь свои пейнт, блокнот и телнет, чтобы и не заикался мне тут о спейс-шутерах!
189 628610
>>28607
Сука двачерские умники, толку от вас, как от говна
190 628611
>>28610
Мы здесь не для толка, а для постинга своего прогресса с обсуждением и лулзами. Хочешь толка учи матчасть на unity.com/learn
191 628612
>>28315
действительно?
Я вот читал что есть ASO или как то так - короче продвижение под маркет, что так никуда не зайдёшь.
В принципе мой опыт с ютубом показывает что так оно и есть - даже имея канал мультфильмов мне приходилось скажем так покупать рекламу чтобы хоть куда-то выстрелить.
Ты знаешь что-нибудь про маркет - неужели правда сейчас всё ещё можно делать игры и надеяться что какая-то зайдет?
192 628613
Больше сюда вообще не зайду, тупые дауны, ничего не поменялось, вместо подсказок посылают учить мат часть, в то время как требуется помощь в решении не тривиальной задачи, просто вы лохи сами не знаете как сделать что-то сложнее какой-нибудь хуйни, а те кто знает просто молчат.
193 628614
>>28606
Договорились, скачай игру которую я называл, посмотри там управление и запили такое же через методы rigidbody
b60.png473 Кб, 680x435
194 628620
>>28613

>не тривиальной задачи


>не тривиальной


Может за тебя hello world еще написать? Иди матчасть учи.
195 628624
>>28620
Но ты и сам не знаешь, как сделать что я прошу, ты же лох
196 628630
>>28624
Это делается 5 строками кода. Не позорься.
У тебя неправильный подход к разработке. Без базовых знаний ты все равно не сможешь ничего сделать. Будешь все время просить написать за тебя игру? Серьезнее нужно относится к делу. Без труда не вытащишь рыбку из пруда.
197 628638
>>28554

>Я имел ввиду поля static. Приватные с маленькой, публичные с большой?



https://github.com/ktaranov/naming-convention/blob/master/C# Coding Standards and Naming Conventions.md
198 628639
Вроде бы правильно, чтобы события клавиш и мыши отлавливались в одном месте, а не в каждом Update() компонента?
А компонент должен вроде как то отлавливать эти события
199 628641
>>28639
там static в примере только публичные, и они с большой. А приватные значит с маленькой?
200 628642
>>28641
не туда ответил
201 628688
>>28639
Это имеет смысл, если у тебя десяток скриптов, опрашивающих инпут каждый апдейт.

Если же при нажатии на пробел у тебя прыгает и всегда будет прыгать один объект, нет особого смысла делать отдельный менеджер. Проще сделать одну проверку внутри этого же объекта.
P14.png617 Кб, 1643x861
202 628697
>>28566
че хочешь то? ссылки одного на другое они такие, либо сам указываешь, либо через код, либо пишешь код требующий как можно меньше ссылок.

>>28639
да, так правильно.
это делает новый инпут менеджер, если тебя это интересует. но пользоваться пока не советую.
Залагает ведь!.jpg115 Кб, 501x600
203 628705
>>28688

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

204 628721
Дожили, теперь не надо для скайбокса создавать материал и его кидать в небо, сразу hdriку можно закидывать. ПРОГРЕСС!
205 628728
>>28382
Вот, классы никуда не делись. ООП никуда не делся. Какие ещё вам нужны доказательства, что ецс - это одна из многих техник ООП?
206 628730
>>28728
А как сиплюсплюсы работают? Там, вроде, только додиком и можно много объектов делать. Следовательно, ЕЦС - это шаг назад
207 628741
Возвращаюсь со своим дебильным .gitignore
Открыв проект после товарища, обнаружил, что он изменил интерфейс под себя, и сохранил в репозитории.
В каком файле сохраняются настройки интерфейса?
208 628746
>>28730
До плюсов я ещё не доразвился, но тех знаний, что у меня есть, хватает, чтобы заявить, что плюсы - это мультипарадигменный язык. В нём нет жесткой привязки ни к чему. Хочешь ООП - вот те классы. Хочешь функционалки - вот те лямбды с замыканиями. Хочешь императивки - вот те модули с функциями и точкой входа.
209 628751
>>28746

>До плюсов я ещё не доразвился


Что будешь делать когда преисполнишься?
210 628754
>>28751
Бешенно стуча пальцами по клавиатуре напишу за джве недели игру мечты во вселенной наоборот с толщеходами.
211 628758
>>28754

> за джве недели игру мечты во вселенной наоборот с толщеходами.


Тьфу ты, я думал ты нормальный кент, а ты оказывается гей-пидор
212 628766
>>28758
Ты же в юнити-треде. Алё!
213 628805
>>28630
Да я то сделал. Просто ваше отношение мудакское не переношу, чмыри.
https://pastebin.com/T2kKQXUu
214 628808
>>28805
Зачем ты пишешь _ перед именем?
215 628810
>>28808
Приватные переменные так помечаются. Мне решарпер навязал, я и привык. Ещё у других ребят встречал.
216 628811
>>28810

>Приватные переменные так помечаются


Так только питонодауны делают, потому что у них приватных переменных нет.
В C# любые префиксы, постфиксы и проч. мусор являются дурным тоном.
Только загаживаешь код.
217 628812
>>28811
У всех свое мнение на тот или иной счёт, думаешь ребята из JetBrains дауны? Мне то все равно, можно залезть в настройки да убрать, чтобы решарпер не ругался.
218 628814
>>28812

>думаешь ребята из JetBrains дауны?


Я не думаю. Я в этом уверен.
Ты просто добавляешь грязь в код. А мокрописька от jetbrains поощряет это.
219 628817
>>28814
Иди в жопу, тупой двачер. Интерфейсы например помечают префиксом I, локальные переменные помечают, чтобы отличать их от переданных аргументов. Кто как хочет так и дрочит, пиздовал бы ты со своим экспертным мнением куда подальше.
220 628818
>>28817
Ты просто попугай, который бездумно копирует.

>Интерфейсы например помечают префиксом I


Я не помечаю. Потому что не вижу в этом смысла. Так-же и со всякими префиксами. Я просто не вижу смысла писать это. Это просто ухудшает читаемость кода.

От этого нет никакой пользы, но есть реальный вред.
Тебе сюда.jpg171 Кб, 1000x667
221 628819
>>28818
Да, да, только не кричи.
222 628826
>>28814
в чем ты уверен?

метки для приватных членов (_ или m или m_) улучшают читаемость кода - потому что вот так визуально сразу видно где приватный член, а где публичный
(ну если ты конечно не любитель радуги и твой код не раскрашен всеми цветами радуги).
223 628831
>>28826

>улучшают читаемость кода


улучшают читаемость, добавляя мусор?

>сразу видно где приватный член, а где публичный


1. ты и так знаешь что приватное, а что нет.
2. тебе это не нужно знать.
224 628841
>>28818

>Я не помечаю


>Я не думаю


Действительно, нахуй думать - прыгать надо.
225 628842
>>28818
Двачую. В век существования разнообразных ИДЕ, которые подсвечивают всё что можно и всё что нельзя, использовать какие-то префиксы - анахронизьм. Мы же не в блокноте пишем.
226 628843
>>28831
мусор у тебя в голове, а в коде это просто еще один символ. если тебя бомбит от _, то для тебя придумали добавлять m

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

>>28831

>1. ты и так знаешь что приватное, а что нет.


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

>>28831

>2. тебе это не нужно знать.


нужно если ты хочешь узнать куда идут те или иные данные и кто что меняет.
227 628844
>>28842

>> которые подсвечивают


это:

>>твой код не раскрашен всеми цветами радуги



А теперь вопрос на миллион, открой свою ИДЕ и посмотри как в ней выделена глобальная, статическая и локальная переменные. Вангую что одинаково. Будешь мышкой елозить?
да.jpg55 Кб, 1280x768
228 628846
>>28844

>Будешь мышкой елозить?

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

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

Кстати, кекнул от того, что в райдере 2019.3 подсказывают использовать динамическую типизацию, а потом у динамических переменных автоматом подсвечивают тип данных. И нахуя тогда нужно было писать var'ы?
230 628853
>>28844

>глобальная


С большой.

>локальная


С малой без подчеркиваний.

>статичная


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

Единственный реально годный аргумент - возможность отличать аргументы функции от локальных переменных. Все остальное - самодроч.

К слову, если происходит путаница в переменных, класс нужно декомпозировать до тех пор, пока путаница не исчезнет. Независимо от тысяч строк.
231 628855
>>28844

>А теперь вопрос на миллион, открой свою ИДЕ и посмотри как в ней выделена глобальная, статическая и локальная переменные. Вангую что одинаково. Будешь мышкой елозить?


Ты ответь сначала, зачем с точки зрения метода, ему нужно различать природу переменных?
232 628899
И в самом деле, зачем нужны эти префиксы, подчеркивания, если все можно разграничить строчной и заглавной буквами
233 628901
>>28818
Ты просто типичный токсичный пидоран-полуёбок, который не может ни секунды прожить, не указывая другим как им жить и дрочить. Соси хуй, быдло.
мимопроходил
images.jfif12 Кб, 225x225
234 628904
>>28901

>Ты просто типичный токсичный пидоран-полуёбок

235 628906
>>28853

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


Если у тебя есть такая проблема - то это явно code smell. Не представляю как можно спутать это. У тебя вся игра записана в одной функции что-ли?
236 628917
>>28848
Что за решарпер? Он платный? Пиратить надо?
В чем его соль вообще?
У меня вижуал студио 2017 и так автодополняет иногда что-то, а решарпер зачем нужен?
Подскажите чайнику :3
237 628922
>>28917
Ох етить он там навыделял мне, ифы на свитчи поменял, названия все сказал неправильные. Мне мои названия нравились, хуле он доебался.
238 628923
>>28917
roslynator бесплатный аналог
239 628949
>>28917

> Что за решарпер?


> В чем его соль вообще?


Это инструмент для профессиональных ентерпрайз-кодеров. В геймдеве на юнити нинужна. Юнити тебе сам все необходимые правки в код внесёт.
240 628959
>>28949
Эх, ето слишком круто для меня походу.
>>28923
Спасибо, попробую его еще тогда
241 628967
>>28917

>Что за решарпер? Он платный?


Ты напросился на простыню, приятель!

Пользовался бесплатным месяцем решарпера. Это расширение на студию, привносит тысячи правок, помогает в назывании переменных, дабы избежать срачей выше по треду. Ловит null'ы, я только за неделю пользования избежал полудюжины ошибок благодаря его подсказкам. Очень круто преобразует циклы в LINQ или сокращает их, поддерживает чистоту кода и ловит все ненужности. По сути, это Intellisence, только под спидами.

Месяц кончился, я уж думал покупать, но решил поставить Rider от них же.
Это чувство не описать словами! По сравнению с ванильной студией это все равно что сесть за нормальную IDE после того как всю жизнь программировал в блокноте. Он великолепно заточен под юнити, проводит огромное количество проверок и чистит говнокод. Есть плагины, отслеживающие генерацию мусора, которые помогают избегать пролагов в игре. Проверяет наличие говна в апдейтах и тычет тебя носом в них.

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

Там также неплохая поддержка бд, scv и тестов, но я их ещё не шатал подробно.

Решарпер это лайт версия для нищих и для тех кто прикипел к VS и не умеет в новое. Но и для него мастхев плагин на юнити.
242 628968
>>28967
Ля, звучит очень круто, спасибо за ответ.
Я в целом пока что новичок, мне и студия устраивает, я её настроил под себя аккуратненько, но ты убедил попробовать что-то новенькое.
243 628983
>>28967
Хм, плагин аллокаций в самом начале мне предложили поставить, а вот что это такое-

>цикломатическую сложность, когнитивную сложность


я вообще хз, погуглил и не нашел. Как это ставить?
244 628985
>>28983
Хипстерские расширения, позволяющие видеть метрики сложности для твоих функций:
https://plugins.jetbrains.com/plugin/11625-cyclomaticcomplexity/
https://plugins.jetbrains.com/plugin/12024-cognitivecomplexity/

Это не так важно как аллокации, но помогает держать код чистым и разбитым на понятные куски. Чисто на вкус.
245 628992
>>28985
Спасибо большое!
53.jpg310 Кб, 1023x787
246 628993
Вопрос про налог TAX VAT при покупке ассетов в ассетсторе юнити. Почему бля с меня взымается этот ебучий налог? Год назад не было его.
А щас бля покупаю ассет за 86 долларов и еще 17 накидывает налог! Это тысяча рублей просто подари им сукам! Как его избежать и что это за хуйня ебаная этот налог?
247 628995
>>28993
Тож заметил такое, я думаю это как-то связано с налоговым законодательством сша, хз как избежать, если найдешь как расскажи, возможно это вообще или нет?
248 628998
>>28993
А что ты решил за 80 бачей брать?
249 629010
>>28967
+15 рублей
250 629013
Интересно найдется или нет.
Ищу анона >>544086 который был некоторое время назад. Вопрос есть!!!
251 629018
>>28967
Посоветуй цветовую схему
252 629056
>>29018
Стандартная, если кодишь по утрам, темная, если по вечерам.
253 629083
делаю вот открывание двери туловищем, повесил hinge joint. Как сделать, чтобы изнутри не открывалась? В гифке чел не должен был выйти, и дверь не должна была открыться в коридор, я ж лимит поставил 0 градусов
hqdefault.jpg8 Кб, 480x360
254 629090
Это не твой ГГ случайно?
15725253370320.png228 Кб, 559x423
255 629093
>>28993

>юзать ассеты

256 629095
>>29093
А как без них?
257 629096
>>29083
Дверь изнутри и не открывается. Ты её ломаешь нахуй.
Джоинты специально сделаны "мягкими", чтобы поддерживать механику поломок.

Тебе нужно не перетаскивать объект мышкой, а протестировать его поведение в реальных условиях, если у него не 10кк килограмм в массе, то мб он и не будет выпиливать дверь.
258 629097
>>29083
>>29096
А как вариант - сделать дверной косяк как ирл, чтобы он физически держал дверь от открывания, вместо системы лимитов.
259 629098
>>29097

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


Такое умеют делать только дорогие закрытые физические движки с полной симуляцией. Или я отстал от прогресса?
image.png21 Кб, 799x399
260 629100
>>29098
Все же просто, хуле ты. Показать, как сэкономить на дорогом закрытом движке?
261 629103
>>29100
Провалится оно нахуй сквозь коллайдер. Ты диванный штоле?
sage 262 629109
Когда эти слоупки-дегенераты доделают 2019.3? 2018.4 выпустили 13 декабря. А третью версию 2019, видимо, эти идиоты выпустят только в 2020.
263 629114
>>29109
Я тоже с середины ноября горю в ожидании. Единственная надежда, что они выкатят стабильную версию, на которой можно будет разрабатывать проект без миграций и заплаток.
gradTB.png19 Кб, 128x128
264 629119
Уважаемые знатоки, в UI нужно много простых градиентных имажей, что будет дешевле по производительности - использовать вот эту приблуду https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/src/master/Scripts/Effects/Gradient.cs или тупо красить пнг с белым на альфу пикрелейтед?
265 629124
>>29119
Сделай миллион кнопок с этим градиентом и миллион кнопок с пнг. Сравни быстродействие. Выбери.
266 629125
Сап уважаемые аноны. Возник вопрос - можно ли в скрипте сделать проверку на соприкосновение двух объектов с разными тэгами?
267 629126
>>29125
OnCollisionEnter с CompareTag.
268 629128
>>29126
Не совсем корректно вопрос задал. У меня есть отдельный скрипт и мне нужно в нем прописать
if(объект с тэгом №1 соприкоснулся с объектом с тэгом №2)

как такое написать?
269 629129
>>29128
Проще всего не писать такой скрипт.

Как это можно проверить извне? Хранить список всех объектов-тегов1, список всех объектов-тегов2 и каждый фрейм делать перебор обоих списков и сравнивать их координаты/коллайдеры? Удачи.

Очевидно, что "объект с тэгом1 соприкоснулся с объектом с тэгом2" - это некий ивент, и ты отслеживаешь его срабатывание (в данный апдейт? за последнюю секунду игры? случалось ли вообще в игре?). Срабатывание можно легко написать изнутри.
Делаешь как описано выше и в момент срабатывания кидаешь ивент или ставишь глобальный флаг или посылаешь инфу куда надо. А дальше твой менеджер либо ловит ивент, либо делает проверку, но не как описал ты, а по выставленному флагу, меняемому в момент срабатывания.

А, но если тебе нужно проверить соприкосновение двух конкретных объектов, и ты знаешь, каких именно, то перебор двух коллекций делать не нужно и можно придумать какую-то особую логику. Но готовых вариантов никаких нет, так что быстрее и проще придерживаться первого варианта.
270 629145
>>29129
Спасибо за разъяснение, придумал логику
271 629147
Кто-нибудь разбирался со Sprite Atlas? Я не понимаю, почему атлас упаковывает не исходные изображения, а уже, блять, сжатые? И потом еще изображение самого атласа сжимается. Получается двойной сжатие, которое превращает часть изображений в говно из пикселей.
sage 272 629155
Когда же уже эти долбоёбы релизнут 2019.3?
273 629176
Нихуя не понял. Когда уже будут все эти DOTS, Burst, новый UI Builder, новый multiplayer и прочая хуета? Когда можно будет это все опробовать?
274 629180
>>28382

>Out of Order и предзагрузки кеша


Что это такое?
1463747800168319479.png209 Кб, 600x600
275 629182
>>29176
Никогда
276 629185
>>28382
Блять, спасибо большое.
277 629187
>>29182
всм
15602818049093.mp43,5 Мб, mp4,
640x480, 1:00
278 629251
Пацаны, вот во многих хоррорах, есть функция медленного открывания/закрывания шкафчиков, дверей и всяких там крутилок.
Чел удерживает кнопку мыши, и отлавливается его движения. Если чел ухватил дверную ручку и куда то движется, то дверь ведет себя так, словно чел реально ухватил дверную ручку. Если идет назад - дверь закрывается, например. Я не могу сообразить, как такое сделать, точнее, идеи есть, но реализация сложной получается.
В SOMA, например, чтобы открутить вентиль, надо по кругу мышкой елозить.
Поэтому я хочу сделать так: тупо отлавливать колесо мыши. Если чел подошел к двери и крутит колесико - то дверь медленно открывается (или закрывается).
Нормальное решение?
279 629259
>>29251
Просто изи, в определённые моменты (к примеру нажал на нужный обьект), считываешь движения мыши, типо если игрок тянет её с зажатой клавишей влево то дверь закрывает, если в право то открывается, ну ты понел да? Это дело модифицируешь формулой и делашеь что те надо, к примеру опять же добавляешь силу к физ обьекту(двери) с вектором направления в нужную сторону, ну короч суть ты уловил.
280 629263
>>29251
Это всё делается инверсной кинематикой. Гугли.
image.png20 Кб, 848x545
281 629274
А получится ли сделать так? Делаю дверь rigidbody, ставлю ограничения на все, кроме rotation Y. Когда чел зажимает клавишу, связываю joint-ом (каким именно, еще не знаю), "руку" персонажа и ручку двери. В итоге, получится, как будто чел ухватился за ручку и дверь должна будет крутится за ним
282 629278
>>29274

>А получится ли сделать так?


Ёбаный рот анон, попробывать не судьба? Если лень гуглить готовые решения или делать велосипед то фантазируй!
283 629283
>>29278

> попробывать не судьба?


Не надо так шутить. Здесь другие ребята.
284 629284
>>29274
Очень костыльно. Юнити уже разработал hinge joint для дверей, тебе нужно лишь настроить его и прикладывать любую силу к объекту без изобретания велосипедов.

Другое дело - если у тебя есть выдвижные шкафы.
285 629288
>>26966 (OP)
Пацаны, как сделать чтобы кнопка со своим спрайтом кликалась только когда мышь над спрайтом, а не над всем квадратом? Ну, например, когда спрайт в форме круга. Там вроде нужно включить use sprite mesh, и в импорте картинки mesh type tight, но не работает.
286 629312
Господа, среди присутствующих найдутся хорошие знатоки шейдеров?
Есть одна игра, нужны шейдеры (обводки и нормал мапы генерируемые), ничего прям криминального, воду или лавовые взрывы генерировать не надо.
Я бы сам сделал, но у меня не очень получается.
Unity LWRP с шейдер графом если что.

Если есть желающие помочь, то пишите: moonrolH`+l.artANUSgmab=/ilPUNCTUMcoap_m Не бесплатно офк
287 629351
>>29312
Бочку сделаешь?
288 629362
>>28853

>>С малой без подчеркиваний.


есть еще публичная и приватная
289 629363
>>28855
это нужно читателю твоего кода который не знает твоего кода.

>>28899

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


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

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

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

Далее, есть еще и статические константы - их бы тоже стоило отделить от публичных свойств (хотя это не так востребовано, так как редко появляется в коде, можно и забить)
290 629366
>>28906
class Foo
{
private int size;
public int Size {
get { ... }
set { ... }
}

int Bar(int arg_size) {
int local_size = ExtractSize(arg_size);
Size = local_size;
}

Ну и? ты же не будешь везде писать эти arg и локал? Или под одну сущность будешь юзать стопятсотслов? как же тогда отличить все эти 4 переменных?
291 629368
>>29176
что мешает тебе поставить альфу 2020.1 и всё опробовать?
292 629381
>>29368
Пиздец.

Ты бы ещё посоветовал попробовать анальный секс с парнем.
293 629385
Посоны, скажите, как это в UEBS может рендериться миллион персонажей в одной сцене? Сколько там лодов у каждого персонажа? И почему у меня если в кадре пара десятков персов с 30к треугольников, то уже фпс проседать начинает?
image.png38 Кб, 1028x759
294 629391
>>29381
пилю игру и не ебет.

(как будто там большая разница в количестве багов между альфой и релизом)
295 629392
>>29385
UEBS на юнити?

А вообще
- инстансинг и батчинг для однотипных персов (привет годотерам у которых батчинг не нужОн)
- генерация билбордов с моделей (ака импостор) (видел ассет который генерит на лету)
- oclusion culling (скорее всего самописный, в юнити из каробки вроде работает как дерьмо)

А вот лоды тут не сильно помогут. Юнити из каробки даже миллион кубиков не прожует (это если что из оффициальной презентации - типа в 2020 версии в следующем году юнити наконец-то сможет осилить миллион кубиков)
Sorting.webm2,9 Мб, webm,
1080x800, 0:09
296 629395
>>29385
вообще я не проверял сделали ли уже аниматор для ECS чтобы делать такое щелчком пальцев. рендери лучше. рендерить то не проблема. проблема чтобы двигалось.

>>29392

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


да жует оно всё. помню некоторое время назад в тред выкладывал сортировку где обана и рендерилось 100к кубиков. ниче особо не поменяется если 1кк рендерить.
297 629403
Анон, хочу поковыряться в ресурсах одной игры (вытащить скрипты из нее). знаю про DevXUnity Unpacker - но оно платное, а пираты врубили робин гуда и говорят что нельзя ломать

Так есть что-нибудь бесплатное? И чтобы в этом было не сложно разобраться
298 629425
>>29403
Пять тактов процессора в гугле: https://www.jetbrains.com/ru-ru/decompiler/
299 629430
>>29385

DOTS канает если у тебя много объектов и на них много логики и бутылит именно в неё. То есть если ты делаешь RTS в духе суприм командера или какой-нибудь другой мясной Alien Shooter, где сотни юнитов/мобов набигают.

Если у тебя упирается в рендер - тот тут уёбс не поможет.
300 629441
>>29288
Юнитипараша во всей красе. Какое же юнитипидарье жалкое
http://unity3d.ru/distribution/viewtopic.php?f=105&t=49626
301 629451
>>29392
Няша, мой тебе ответ в срачетеде >>629450
302 629493
>>29441

>Ебанутая специфичная задача, которую толком описать не можешь


>РЯЯЯ ПОЧЕМУ ЭТОГО НЕТ ИЗ КОРОБКИ

303 629495
>>29493

>Ебанутая специфичная задача, которую толком описать не можешь


Что ты несешь, ебанько? Есть кнопка в форме звезды на прозрачном фоне, нужно чтобы она кликалась только по звезде, а по фону нет. Если для тебя это специфичная задача, то ты конченный аутист-сын шлюхи.
304 629498
>>29495

>кнопка в форме звезды


Да, у всех кнопки в форме звезды с кликом не по квадрату, а именно вот по форме звезды. И нахуя такое нужно в UI? Какое реальное применение?
305 629507
>>29498

>Ряяяя, нинужнаааааа


Дура блядь, мне нужно, и в юнити есть реализация этого (только через сраку), значит не мне одному. Такие же тупые отмазки как в у годотеров, тебе показывают сука вот косяк, ты включаешь дауна про нинужно, кусок ебанины.
306 629511
>>29507
Я не говорю не нужно в принципе. Ты совсем в глаза ебешься? Я говорю что это нихуя не типовая задача в UI, что бы ещё делать "ползунок в инспекторе". Решается одной строчкой с eventAlphaThreshold, но это же так сложно, это же код писать, а нужно всё на ползунках.
307 629513
>>29511
Типовая и есть. Загружаешь в кнопку свое изображение, оно может быть чем угодно, от просто прямоугольников со скругленными краями, до кружков, облачек и тд. Там полно галочек непонятно для чего нужных в кнопке и при импорте изображения стоит, пусть их все удаляют и кому нужно через скрипт включают. Есть поле advanced, туда бы вставили.
308 629516
>>29513

>галочек непонятно для чего нужных


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

>Так бы и сказал, что ничего не понимаешь и разбираться не собир


Начал съезжать, сучка, с обсуждения проблемы перешел на личности. Понимаешь, вот я сначала сидел на годоте, и поливал говном юнити, так что вы тут верещали от боли. Стоит только начать что-то реально делать, как вылазят баги. Сейчас я, конечно, на юнити, после обсера хуана с рендером, в сраче треде поливаю годотеров, но все равно, как только начинаешь реально пытаться в игру, на самых начальных этапах вылазят баги. При смешивании анимаций, при клике блять на кнопку, это же элементарные вещи. Вот ты говоришь, что эта хуйня с кнопкой прекрасно работает, и на нескольких пикчах было все нормально, но внезапно на третьей пикче посмотри на вебмке, сетка спрайта будто смещена, почему так, ммм, уеба?
310 629522
>>29519

>почему так, ммм, уеба?


Потому что ты криворукий. Попробовал сделать вот прямо сейчас - всё прекрасно работает, никакого сдвига нет. А уж где ты там проебался я не знаю.
311 629524
>>29522

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


Классика отрицания, стоит только немного всковырнуть, как оказывается, что не только у годотирав манямирок больших размеров. Заткнись уже, черт позорный.
312 629526
>>29524
Ну кидай свою пикчу в тред, вставлю и кину сюда результат.
Без имени-2.png8 Кб, 182x189
313 629527
>>29526
Так вопрос не в том, можно ли ее заставить работать, а в том почему две картинки идеально заработали, а третья мозги ебет.
314 629529
>>29527
В 99,9999% случаев это ты сам обосрался, просто нужно понять в чём. Очень удобно винить движок, и в юнити реально есть баги, но они совсем другого уровня и глубины.
Может у тебя разные какие-то настройки, разные форматы, просто опечатка где-то, хуй знает. Ну давай тогда и те, другие пикчи.
И ты в png спрайты хранишь все?
315 629530
>>29527
Только мне кажется, что на картинке хуй?
316 629532
>>29529
Какая разница в чем храню, я для теста сделал несколько картинок и все. У тебя заработала эта пикча, или ты так попиздеть?
Там из настроект только read/write галочку поставить, все.
Ну я кажется нашел обсер, у пикчи с боков есть пустые поля, если их кропнуть начинает нормально работать. Маска эта в левый нижний угол уходит
317 629534
>>29532

> Ну я кажется нашел обсер


А визгу-то было!
318 629535
>>29534
Ну это классический юнити баг, так что не пизди, адвокат говна.
пикчаХуя.png13 Кб, 434x271
319 629536
>>29532
Я спросил, потому что пикча вот так импортнулась с ходу, значит ты в png какой-то хуйни (кроме собственно пикчи хуя) напихал.
320 629537
>>29535
А я и не пизжу. Я что вижу, о том и пою. А вижу я неосилятора, который нихуя не умеет, а виноват у него движок.
321 629539
>>29536
Ну, как в воду глядел, лол. Мало того что он неосилятор, так ещё и криволапый. Вангую, у него знаний нет нихуя даже поверхностных. Обычный кирилл-домики-корованы из 7-го б.
>>29537-кун
image.png3 Кб, 389x43
322 629540
>>29536
Кликни на картинку и в импортере так как на пикче сделай. И это чудище мне еще доказывает что-то.
>>29537
Ну так ты расскажи, почему сетка сваливается в левый нижний угол, если там прозрачное поле есть? Может где в документации про это сказано, юнитипидар?
>>29539
Вы вообще по ходу тут нубье, про настрой импорта пикч не слышали, шакалы.
323 629542
>>29539
Именно так. Ниже объясняю этому неоссилятору что и как.

>>29540
У меня всё с ходу заработало, даже с учётом кривого png. И я понял, в чём твоя криворукость. Ты тупо отказываешься читать доки. Почитай что такое при импорте выбор mesh type и чем tight mesh отличается от full rect mesh. Подсказка - в одном режиме будет "криво", а в правильном - всё работает с исходной пикчей.
324 629543
И сразу тебе на доки ссылку, что бы ты хотя бы в таких базовых вещах больше не тупил.
https://docs.unity3d.com/ScriptReference/SpriteMeshType.html
325 629544
>>29543
>>29542
Ну вот, нужно было просто сразу ответить сюда >>29288 и все, вопросов у меня еще много, и каждый будет ставить юнити на грань звания движка багованнее чем годот, лучше сразу отвечайте как положено. И быстро.
326 629545
>>29392
вот этот UEBS https://store.steampowered.com/app/616560/Ultimate_Epic_Battle_Simulator/

вообще игра сделана на отъебись, и я не верю что там были какие то дохуя крутые самописные вещи, поэтому не могу понять, в чем же секрет?
327 629546
>>29544
Неоссилятор, тебе отвечали только что бы ты принял порцию урины в свой рот. Удаляй юнити, это слишком сложно для тебя, если ты даже базовые доки освоить не смог.
328 629547
снова этот удивительный человек вылез? а я тебя помню. ты и раньше такой-же тупой вопрос задавал. ничего не изменилось.

>>29545
секрет в том что нет никаких геймобжектов.
image.png867 Кб, 626x569
329 629551
>>29546
>>29547
Простите ребята, умоляю, признаю свой косяк, какое же годот говно!
330 629559
>>29368
Там уже все готово типа того, что я перечислил? Если да то качну.
331 629574
Попытаю удачу.

Кто-нибудь знает, почему для спрайта в 2D такая схема наложения процедурной карты нормалей не работает, а для 3D обьекта работает?
U - SW.webm36,1 Мб, webm,
1680x966, 0:51
332 629581
какую забавную хуйню собрал. эрозии нет, но фан получил.

>>29574
а хуй его знает. наверняка как всегда суешь не то не в ту конечную ноду. кстати разве там есть какие-то различия особые между спрайтом и не спрайтом? их же одним и тем-же шейдором рисовать можно.
333 629585
>>29581
Ого, вот это штукенцию ты собрал там, восхищаюсь :3

Ну я использую Unity LWRP 2D Renderer новый, там для шейдеров свои 2D ноды экспериментальные используются. Выбрал этот тип из-за 2D освещения нового.

А что, в обычной версии LWRP на спрайты можно обычные PBR шейдеры кидать?
334 629588
>>29581
Кста, а что ты используешь такое на фоне, "Паттерн эдитор" какой-то?
335 629589
>>29585
Сам себе отвечу- можно использовать, туплю просто.
Screenshot6.png109 Кб, 987x663
336 629591
>>29574
Ууу сука, а когда напрямую через текстурку подключаешь мапу то все работает. Ну какого хуя?
Мне кажется, что генерируемую нормаль надо переработать как-то в текстуру и её уже через "Спрайт семпл текстур 2Д" подключить к нормалмапе, но я не ебу как это сделать. Хотя может быть я хуйню сказать.

Вот на скрине приложенном все работает, но только с текстуркой простой. А мне генерировать надо.
337 629598
>>29585
на самом деле говна собрал. дольше тупил-тормозил с написанием всего этого. само уравнение мелкой воды то не сложное. сложно быть тупым когда его пишешь.
пару раз оси перепутал, целый вечер проебал на осознание того что я в формулу сую отрицательную, вместо положительной гравитацию. когда узнал что семантику можно описывать через дефайны типа
#define OFFSET(tex, x, y) ((tex[id.xy + uint2(x, y)]))
#define LEFT(tex) (OFFSET(tex, -1, 0))
#define RIGHT(tex) (OFFSET(tex, 1, 0))
то всё сразу стало проще

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

>>29591
наверняка как всегда какая-нибудь хуйня с UV координатами. наверно надо воткнуть какую-то ноду чтобы правильно читать че ты там сгенерировал? может быть?
338 629638
>>29598
Етить ты суровый.

Ты работаешь где-то программистом и тут для фана постишь или как?
Мне кажется с такими навыками можно реально 300кк\наносекунду зарабатывать.
339 629641
>>29638
Обычные навыки человека, который делает игры, а не срёт на двачах.
мимо
340 629647
>>29641
Посал тебе в рот, пидар.
341 629648
>>29641
Удвоил струю.
342 629649
>>29641
Утраиваю
343 629651
Аноны поясните чё это блядь за пиздец нахуй
https://assetstore.unity.com/packages/tools/utilities/blockchain-sdk-by-enjin-124133
1576580636703.png294 Кб, 673x768
344 629652
>>29647
>>29648
>>29649
Спасибки, мальчики!
20191217174034.jpg259 Кб, 919x1321
345 629663
Собираюсь написать рогалик.
Опустим генерацию подземелья, как осуществить поиск пути?
346 629671
>>29663
Очевидно, алгоритмом поиска пути. A* например.
347 629675
>>29663
На любом языке программирования изучаешь как сделать поиск пути, как только поймёшь суть сможешь такое же реализовать хоть на листке, главное понять как, а сделать легко.
15586229083190.jpg17 Кб, 194x200
348 629679
>>29675
>>29671
В юнити нет встроенного поиска пути? Позор, пиздецский, ой стыд.
349 629682
>>29679
Есть для 3д режима.
350 629683
>>29679
В юнити есть по навмешу, но для рогалики или стратегии такой не пойдет, там по гриду нужен. По гриду ни в одном движке нет из коробки, насколько я знаю
351 629696
>>29683

> По гриду ни в одном движке нет из коробки


Есть в одном. Прямо искаропки. Но нет оклюжен куллинга.
352 629702
>>29696
И в каком?
ZH4LHkDmFV.gif11,1 Мб, 920x561
353 629713
Ну вроде дверь запилил, без применения сил на rigidbody. При клике дверь сразу открывается/закрывается, а если зажать ЛКМ, то дверь анимируется в зависимости от Mouse Y. Код написал в Update в Door.cs.
Подобным образом теперь хочу анимировать (я изменяю именно animator.SetFloat() а не сам transform), выдвижные шкафчики и дверцы шкафов. Поэтому из моего текущего кода я сделаю компонент, типа AnimateByInput, и навешу на эти геймобжекты, В компоненте надо будет указать: название переменной аниматора (в случае с дверью это Angle), скорости, Min и Max, чтобы дверцы не улетали, и тп.
354 629722
>>29679
Даж не представляю как ты собрался получать встроенный поиск пути для неизвестных обьектов, которые не известно как располагаются в пространстве 3Д или 2Д.
Есть встроенный нав меш агент для 3д, там надо запекать карту передвижения с параметрами агентов, вне этих карт они работать не буду, но на самих картах передвигаются идеально без глитчей.
Если же брать 2Д, то прежде чем делать карту надо сделать структуру этой карты, тобишь сеточку, искаропки в юнити можно запечать в 2Д, но лично не делал лишь видел видосики, не сильно отличается от 3Д, думаю по аналогии также.
355 629725
>>29713
Хотел назвать тебя извращенцем, но, вроде, норм система. Не очень гибкая и требует дополнительной работы с каждым новым этапом, зато не нужно пилить полноценный фреймворк.

Но все равно кто физику через анимации делает? Извращенец!

Кстати, переносных предметов не будет? Что если открыть дверь, положить в проходе ящик и попытаться закрыть?
356 629727
>>29722
Для протокола заявлю, что встроенная система в юнити чисто для галочки, там очень кастрированная настройка навмеша. А на гите лежит неофициальный плагин от создателей юнити (NavMeshComponents), вот там и генерация навмеша в рантайме, и хождение по стенам, и навмешлинки нормальные. Мне он даже больше, чем A* понравился.
357 629732
>>29727
У них еще по моему авто лоды есть, тоже недоделаны на гите тухнут
358 629737
>>29725

>Кстати, переносных предметов не будет?


Не, таскать ничего не надо будет.

>то если открыть дверь, положить в проходе ящик и попытаться закрыть?


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

>Но все равно кто физику


Я вообще не думаю, что в моей игре важна физика. Но сейчас че то думаю, что было бы неплохо, если бы дверь была свободной, болталась, когда мимо нее пробегаешь, чтобы можно было открыть туловищем, и не нажимать на мышь. Хм, надо еще раз попробовать, в прошлый раз мучался с hinge joint,так и не смог нормально сделать
359 629740
>>29727

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


Хз что ты там заявляешь лично юзая встроенную, ваще проблем не наблюдаю, всё супер.
360 629749
>>29702
Ну ты головой-то подумай. 2+2 сложи.
361 629751
>>29749
Анриал?
1576608140659.jpg182 Кб, 623x623
362 629753
>>29751
Репорт за движкосрач!
363 629754
>>29753
бляяяяяяя это байт был? сукааааааааааааа
364 629757
>>29754
ГГ ВП, бро!
365 629764
>>29740
Пробовал создавать агентов с разными размерами, м?
yrqwewOghF.gif7,4 Мб, 920x576
366 629773
О, настроил наконец hinge join, можно открывать туловищем и бросать предметы в проход. Но ручное управление все равно нужно, например, чтобы открыть дверь на себя. В этом случае можно просто применить addForce с нужной стороны?
15656230711271.png1,4 Мб, 1920x1080
367 629775
Эх, скорее бы все коды допилить и начать раскрашивать. Пик мой, painter рулит!
368 629776
>>29773
Открывать двери таким способом можно было ещё в этой технологически отсталой игре
https://www.youtube.com/watch?v=1qVzZFYZEus&t=681
и без всяких джойнтов
U - TE.webm2,2 Мб, webm,
1680x966, 0:18
369 629825
>>29638
лол. на самом деле у меня вполне обычные навыки для человека который ушел несколько дальше базовых вещей.
то что я показал - умение дорабатывать юнити напильником и немного шейдорной магии совсем не требуют каких--то продвинутых навыков.

>>29663
https://ru.wikipedia.org/wiki/A*
настоятельно советую заимплементить его самостоятельно. как колдун навигации тебе говорю.

>>29773
тебе тогда Rigidbody.AddTorque уже наверно надо же. ты же крутишь а не толкаешь. но можно и аддфорсом конечно, перпендикулярно плоскости двери.
U - TE2.webm11,8 Мб, webm,
1680x966, 1:00
370 629832
>>29825
вообще да, приятно смотреть как машина за тебя песочек пересыпает. дрыгаемое значение это допустимое соотношение между высотой и шириной.
371 629851
>>29825
Что тогда продвинутые навыки по твоему?
И в итоге, это у тебя хобби или ты все же в индустрии работаешь?
372 629871
>>29825

>тебе тогда Rigidbody.AddTorque уже наверно надо же. ты же крутишь а не толкаешь.


AddTorque вращает объект вокруг его origin'а. В то время как система джоинтов настроена так, что объект пол воздействием сил будет вращаться вокруг оси hinge joint'а прямо из коробки.
У меня в большинстве случаев AddTorque либо не работала, либо приводила в контринтуитивному поведению (именно в контексте джоинтов), так что ему нужно использовать как раз AddForce или AddForceAtPosition.
JointIK.webm1,5 Мб, webm,
928x644, 0:23
373 629877
>>29851
как всегда. продвинутые навыки, разумеется, это те навыки которые можно продать. те навыки которые получил занимаясь каким-то говном достаточно долго чтобы другие нихуя не понимали что за колдовство ты делаешь, или мочь сделать это в несколько раз быстрей и лучше чем другие.

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

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

так то джойнты весело. много весёлого с ними можно сделать. могу показать забавную анимацию через лимиты. помню наверно года 3-4 назад тут был анон который всего человечка так анимировал.
374 629879
>>29877

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


Как? Я видел только два решения:
- Редактировать модель самостоятельно или заранее ставить ТЗ с четко обговоренным ориджином.
- Пихать объект внутрь пустого геймобжекта с необходимым отступом.

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

AddTorque я использовал, когда писал полностью самостоятельные двери без джоинтов с настроенным ориджином и, откровенно говоря, они получались хуже оригинала.
375 629885
>>29879
в целом второе решение - правильное. едва ли не все интерактивные предметы требуют коррекции позиции(и не только её). так что как правило следует подготавливать префабы разделяя объекты которые отвечают за визуализацию, за физон, за что угодно. нет ничего зазорного в использовании геймобжектов как "папок" в сцене. и как правило это очень ускоряет дальнейшую работу с ними. 111 скейл самого верхнего объекта решает огромное количество проблем, например.
хотя, конечно, это не применимо ко всем случаям.

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

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


Где про это подробнее почитать?
377 629892
>>29887
а сильно ли надо где-то про это читать? открой юнити, потыкай там конфигурабл джойнт. джойнты же могут магнитить одно к другому. для держания/хватания самое заебись. много че сделали искаропки, типа скейла массы между объектами.
попробуй спроси у гугла ченить типа "unity portal picking holding", в портале же предметы на физоне в руках болтались.

небольшой видосик в тему хватания держания предметов.
378 629900
>>29892
Выйду ночью в поле
с конем
Ночкой темной тихо
пойдем
Мы пойдем с конем
по полю вдвоем
Мы пойдем с конем
по полю вдвоем
Мы пойдем с конем
по полю вдвоем
Мы пойдем с конем
по полю вдвоем
Ночью в поле звезд
благодать
В поле никого не
видать
Только мы с конем
по полю идем
Только мы с конем
по полю идем
Только мы с конем
по полю идем
Только мы с конем
по полю идем
Сяду я верхом на
коня
Ты вези по полю
меня
По бескрайнему полю
моему
По бескрайнему полю
моему
По бескрайнему полю
моему
По бескрайнему полю
моему
Дай-ка я разок

посмотрю
Где рождает поле
зарю
Ай, брусничный цвет
Алый да рассвет
Али есть то место,
али его нет
Ай, брусничный цвет
Алый да рассвет
Али есть то место,
али его нет
Полюшко мое,
родники
Дальних деревень
огоньки
Золотая рожь да
кудрявый лён
Я влюблен в тебя,
Россия, влюблен
Золотая рожь да
кудрявый лён
Я влюблен в тебя,
Россия, влюблен
Будет добрым
год-хлебород
Было всяко, всяко
пройдет
Пой, златая рожь,
пой, кудрявый лён
Пой о том, как я в
Россию влюблен
Пой, златая рожь,
пой, кудрявый лён
Мы идем с конем по
полю вдвоем...
378 629900
>>29892
Выйду ночью в поле
с конем
Ночкой темной тихо
пойдем
Мы пойдем с конем
по полю вдвоем
Мы пойдем с конем
по полю вдвоем
Мы пойдем с конем
по полю вдвоем
Мы пойдем с конем
по полю вдвоем
Ночью в поле звезд
благодать
В поле никого не
видать
Только мы с конем
по полю идем
Только мы с конем
по полю идем
Только мы с конем
по полю идем
Только мы с конем
по полю идем
Сяду я верхом на
коня
Ты вези по полю
меня
По бескрайнему полю
моему
По бескрайнему полю
моему
По бескрайнему полю
моему
По бескрайнему полю
моему
Дай-ка я разок

посмотрю
Где рождает поле
зарю
Ай, брусничный цвет
Алый да рассвет
Али есть то место,
али его нет
Ай, брусничный цвет
Алый да рассвет
Али есть то место,
али его нет
Полюшко мое,
родники
Дальних деревень
огоньки
Золотая рожь да
кудрявый лён
Я влюблен в тебя,
Россия, влюблен
Золотая рожь да
кудрявый лён
Я влюблен в тебя,
Россия, влюблен
Будет добрым
год-хлебород
Было всяко, всяко
пройдет
Пой, златая рожь,
пой, кудрявый лён
Пой о том, как я в
Россию влюблен
Пой, златая рожь,
пой, кудрявый лён
Мы идем с конем по
полю вдвоем...
379 629902
>>29892
Круто!

А то я сам разрабатывал подобную систему. Джоинты для дверей и механизмов, а перенос предметов чистой физикой. Интересно изучить альтернативы.
380 629917
>>29877
Получается фрилансер?
Прости, что лезу с допросами, но почему не найдешь себе постоянную работу программистом? Мне всё еще кажется ты без проблем бы нашел себе место в любом достойном проекте с такими навыками и знаниями.
Или ты пилишь свой проект мечты какой-то?
381 629918
>>29917
Я не он, но отвечу. 80% геймдева в снг - мобилкоговно в духе 3 в ряд и онлайн казино. 15% оставшегося - браузерки и интерактивные системы для бизнеса. Уныние и боль.

В оставшихся 5% конкуренция и требования настолько бешеные, что быстро подскочить представляется проблематичным. И требования там зачастую выдвигаются очень узкие. Проще пилить самому игори по фану, чем удрачиваться неинтересными бездушными проектами.
382 630023
>>29918

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


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

Я вам охуенную бизнес-идею подкинул, как реализуете, заплатите мне роялти (а то по судам затаскаю).
384 630049
>>30032

> потому что тут будет свой пацанский колорит


Ты лет на десять опоздал, поцанчег.
385 630056
>>29918

>80% геймдева в снг - мобилкоговно в духе 3 в ряд


Уже давно перешли на 3Д игры. Всякие хорроры, сурвайвалы, сетевые игры.

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


Что это за игры такие? И почему ты не можешь по фану сделать моб игру и зарабатывать на ней баксов 100 в день?
386 630058
>>30056

> И почему ты не можешь по фану сделать


Так ему для этого придётся трудиться, а не в интрнетах срать.
387 630063
>>30056

>Уже давно перешли на 3Д игры. Всякие хорроры, сурвайвалы, сетевые игры.


Возможно. На игры перешли, а разработчиков новых почему-то не ищут.

>Что это за игры такие? И почему ты не можешь по фану сделать моб игру и зарабатывать на ней баксов 100 в день?


Так я и не говорю, что по фану - обязательно бесплатно. Посыл в том, что дома ты можешь пилить то, что интересно тебе, а на работе с большой вероятностью это будут клоны-кликеры.
image.png3,2 Мб, 1920x1080
388 630067
Неделю вкатываюсь в Юнити, и первое, с чем я столкнулся - это отвратительный свет. Почему освещение такое говно? Я правильно понимаю, что мне нужно либо включать HDRP, который еще не факт, что пофиксит все проблемы, либо покупать костыльные ассеты, дающие нормальные тени за 30 баксов?
Пока это выглядит так, что Юнити вообще не рассчитана на нормальную работу с динамичными тенями, и больше подходит для мобилкогейминга и инди со стилизованной графикой вообще без теней. Это так?
389 630069
>>30067
гугли light baking
390 630071
>>30069
Так это запеченые тени, а меня сейчас интересует динамическое освещение, которое, похоже, в Юнтити рудиментарное и очень плохо работающее. Это если не считать HDRP, которое я еще не тестировал.
391 630072
>>30071
Оно везде такое. Newsflash - динамическое освещение внехуенно дорогое. Именно поэтому мы имеем RTX мем
392 630073
>>30072
Хм, ну окей. Я успел протестировал пару юнити-туториалов с освещением и запеканием, и мне показалось, что получается какое-то говно. Что ж, пойду луркать дальше, а то я уже был готов плюнуть на все и пойти скачивать UE4.
393 630074
>>30073
у UE4 больше свистоперделок изкаропки, возможно тебе он пбольше по вкусу будет. Попробуй
image.png221 Кб, 350x371
394 630076
>>30074
Спасибо, добрый анон. Попробую еще покопаться в Юнити, если не сдвинусь с места - потестирую Анрил.
395 630084
>>30067
Поставь post processing stack, он бесплатен.
396 630101
>>30032
Охуеть манямирок.
397 630109
>>30067
Свет - очень обширная тема, тянет на отдельную профессию. Из коробки действительно получается говно, а в настройке очень много подводных.

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

HDRP, в свою очередь, имеет хуеву тучу настроек из которых можно сделать конфетку.

Да, посоветованный постпроцессинг помогает картинке, но не конкретно с тенями и светом.
398 630148
>>30109
Спасибо, что даешь ориентиры, это то, что мне сейчас нужно.
Как я и думал, пора вкатываться в HDRP.
К слову, сейчас меня больше всего обеспокоит peter panning (тени находятся на расстоянии от объекта), shadow acne (жуткий баг, появляющийся при попытке исправить первую проблему с помощью bias) и низким разрешением теней в целом, особенно при удалении от источника света.

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

>постпроцессинг помогает картинке, но не конкретно с тенями и светом.

image.png28 Кб, 717x392
399 630168
>>29103
Проверил. Оставил только вращение по одной оси. И она проваливается. Хотя у двери 1к масса, а у чарактера 10. И я даже не знаю, как сделать, чтобы у двери ось вращения была сбоку. Пытался сделать костыль из скриптов по фану - начал проходить сквозь дверь. Такие дела.
400 630173
>>30168
Как-то без коллайдеров и без физических движков такие двери раньше делали >>29776
401 630190
>>30168
Да, симуляция физики в современных движках имеет ряд фундаментальных проблем, которые приходится обходить всяческими ухищрениями.
Но спасение уже есть! Купи HAVOK!
402 630193
>>30168
Печально. Я думал, сработает Теперь вопрос на миллион: как ты перемещаешься персонажем?
403 630280
>>30193

> как ты перемещаешься персонажем?


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

Угу, на триггер-вольюмах и миллиарде скриптов. Это пастген, ты еще предложи освещение и блики в текстуре рисовать d 20 20
406 630290
>>30281
Я создатель тредов и автор постов!
407 630291
>>30280
Во первых, ускорение-торможение уже придумано в виде переменной gravity в input'е.

Во-вторых, я спрашивал про конкретную функцию, которой ты заставляешь объект двигаться. Я это к тому, что в юнити достаточно способов передвинуть объект игнорируя физику мира. Если ты используешь один из них, то дверь, естественно, не может устоять перед объектом, который телепортируется прямо в нее, и начинает пидораситься.
408 630292
>>30291
Ну, сколько я ассетов контроллера ни качал, во всех используется интерполяция трансформа. Какая физика, ты о чём вообще? А так можно было?
409 630296
>>30292
Я мимо проходил, но спрошу.
А посоветуй какой-нибудь годный контроллер для первого лица. Физика rigged body не нужна, достаточно плавного и естественного хода камеры. Хорошо бы еще бесплатный (но если можно своровать, то тоже ок).
410 630297
>>30292
Конешно. От лучшего к худшему:

1. rigidbidy.AddForce. Неудобно настраивать для аркадного управления, ибо адовая инерция. Зато крутые реалистичные перемещения физических объектов (если ты пилишь космические симуляторы).
2. rigidbody.MovePosition, rigidbody.velocity. Удобно настраивать, но нереалистичное перемещение без инерции. Обычно это то, что нужно. Инерция допиливается самостоятельно.
3. Character controller. Классика. Удобный компонент исключительно для перемещения персонажей, но не принимает в расчет физику. Обычно на нем строят FPS-контроллеры.
3.5. NavMeshAgent. Для point-n-click систем. Тоже игронит физику, но там можно играться с обходом и толканием препятствий.
4. Манипуляции с трансформом. Для месье-извращенцев.
jannochka.jpg109 Кб, 848x1200
411 630309
Как сделать так, чтобы одинаковые объекты инстансированные из одного префаба и имеющие одинаковые компоненты, меш, шейдер, материал использовали одну и ту же "память"? Хотя бы пните в нужном направлении, не знаю по каким кейвордам искать в гугле
412 630310
>>30309
Мне кажется, это невозможно. Но можешь погуглить batching.
413 630319
>>30310
Точно, batching же. Спасибо.
414 630334
>>30310
>>30319
Не, не то. Прогулялся по коду, а батчинг у меня уже включен, хотя и работает через раз за счёт не помню уже каких ограничений в пропертиблоках.

Слишком слабый комп. Сделал тыщу моделек на одной сцене, загрузка ЦП под 95%. Ну не буду же я их все в один меш объединять ради СЕБЯ одного, это слишком много оптимизации для корректной работы на ржавом железе. У них и анимации, и прочая чушь.

Из игр на юньке похожего жанра и, следовательно, похожих игродизайнерских решений, которые пробовал сам играть, Тирания стабильно вылетала в городе с водопадами из-за нехватки ЦП, а Тея едва играбельна с теми самыми 95% загрузки. Стоит ли мне вообще с этой проблемой заморачиваться?
415 630337
>>30334

>Слишком слабый комп


Что за проц? Тыща моделек не должна так грузить
416 630341
>>30337
Тысяча моделек по миллиону поликов каждая
417 630343
Молю, анон помоги. Нужно сделать видео с альфа каналом. Юзаю вебм с vp8 кодеком, вроде все работает в эдиторе, но на ведре не работает. Нужно чтобы работало. Писал шейдер, пытался другие форматы поюзать, ничго не помогает. Ебучая фоновая текстура остается.
418 630366
>>30334
>>30337

>загрузка ЦП под 95%


Нет, вру, не ЦП, а "частный рабочий набор". Ram, то бишь. 4 гига в сумме, 2 на ядро, 2 на программы, по итогу получается 1 гиг на юньку если не выключать ничего в фоне. До импорта модель в блендер формате ~500кб. По-моему, это моя проблема, а не кода.
419 630413
Можно ли на маке при использовании нескольких мониторов сделать так, чтобы новые окна открывались на том же мониторе, на котором сам юнити, а не на primary?
Очень неудобно когда открываешь что нибудь из секции widows переключаться на главный моник и перетягивать окно обратно на тот, на котором работаешь.
420 630426
>>30413

> на маке


Шиндовс установи через паралельсы и не еби мозги ни себе, ни людям.
421 630456
>>30426
У меня есть пк с шиндоусом, не хочу себя насиловать этим говном, на маке все равно удобнее. Тем более что освноной таргет - айфоны, сомневаюсь что на винде я смогу нормально подебажить через юнити ремоут.
image.png20 Кб, 784x600
422 630564
>>26966 (OP)
Ньюфаг на связи.

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

Как быть с запеканием освещения? Можно запечь его для префаба, как бы для сцены внутри сцены? Или из-за динамического окружения я сосу?
423 630582
Пацаны, а надо ли в rigidboyde указывать реальную массу? ну типа чел - 60 кг, дверь 30
424 630614
>>30582
Как правило - нет. Симуляция физики несовершенна, и если 60-килограммовый персонаж слегка заденет легкий объект, результат будет не из лучших. Куда важнее правильно настроить Drag.

Проще настроить несколько предметов, чтобы их взаимодействия через массу смотрелись органично, а затем подгонять остальные объекты под них.
425 630624
>>30564
Так-то lightmap можно прилепить к объекту, но я не нашел способа подружить всю эту систему, когда я пилил нечто подобное.

В любом случае у тебя на стыках будут происходить странные вещи. Лучше придерживаться динамического освещения.
426 630725
>>30614

> слегка заденет легкий объект


Иначе говоря, правильный ответ такой: если проставлять массы - то абсолютно всем объектам в игре, и горе тебе, если забудешь хоть одну маленькую чашечку!
blog-pic-4-700x473.png358 Кб, 700x473
427 630738
Антон, кого-нибудь интересует тема кастомных рендер пайплайнов? Из представленых юнити URP говно, а HDRP слишком жир. Какой бы идеальный пайп хотелось? Столкнулся с такой проблемой - в этой стране никто не делает графоуни, а делают клоны арчеро, и я тут сижу и сосу бибу. Мож на ассет сторе удася заработатть на зулупы с гречей.
428 630783
Я не пойму как они делают свой движок. У них вообще нет никаких методологий тестирования или как? Читаю патчноуты и ужасаюсь.

ну как можно сделать одну фичу и получать пару десятков багов совершенно в других местах?

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

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

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

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

Так что реально кажется что баги делают умышленно
429 630787
>>30783
В годоте тоже ничего не добавляют уже год, но баги фиксятся пачками ежедневно, это норма видимо для движков
430 630789
Как можно контролировать кручение ригидбоди? Порой все ок, а порой начинает делать сальтухи.
431 630790
>>30789
Отбой, помогло простое:
rb.angularVelocity = Vector3.zero;
432 630826
>>26966 (OP)
Пацаны, котята, помогите, как сделать увеличение скорости при таком 2д свайп контроллере:
https://pastebin.com/3NNuyWdQ
В скрипте понятно в чём ошибка и почему багует, игрок при каждом щелчке по экрану отлетает в сторону кратно скорости, но зато после этого движется ускоренно и плавно, как надо. Все другие способы которые я пробовал, делают движение либо ломанным, либо не точным.
С меня тонны нефти.
image.png3 Кб, 187x50
433 630966
Пытался перенести игру на андроид. Задолбался в край и сделал прикл. Я идиот? Я всего лишь хотел выводить список префабов не вручную, но я как понял префабы можно загружать только из Resources как минимум это будет геморно, а BetterStreamingAssets работает только в StreamingAssets.
434 631037
>>30966
У тебя твои сотни префабов от силы будут занимать пару мегабайт. Ничего страшного не случится от того, что они всем скопом загрузятся в память игры.

Я сделал так же для автоматизации библиотеки префабов, подводных пока не нашел. надеюсь и не найти
435 631039
>>31037
>>30966
Не обратил внимание на StreamingAssets. Мой пост был про Resources.
image.png177 Кб, 1699x1067
436 631109
переустанавливал тут систему. потом поставил VS 2019 (там в установщие ставил галку для поддержки юнити), потом поставил юнити.

Как лечить такое? раньше этого не было. мало того что теперь когда я создаю скрипт в юнити редакторе, он показывает такой вопрос, но и он еще перетирает все несохраненные файлы (я так целый скрипт потерял:( )
437 631112
>>31109
Это норма, жмешь обновить все и обновляешь. Потом создаешь новые скрипты через саму визуалку.
438 631114
>>31112
попробовал через визуалку - оно пишет что проект был изменен вне среды и обновляет вообще все.

Там явно что-то надо сделать
image.png220 Кб, 1920x1080
439 631115
>>31112
Вот зашел в студию, создал скрипт, развернул редактор юнити, оно там что-то поделало (полоса загрузки), развернул студию и написало так
440 631130
>>31115
Сохряняй скрипты перед переключением из редактора в редактор. Это классика, это знать надо.
По скрину >>31109
кнопка ПЕРЕЗАГРУЗИТЬ заменяет данные студии данными из юнити, кнопка ОБНОВИТЬ ВСЁ заменяет данные юнити данными из студии. Кнопки пропуска оставляют рассинхрон.
441 631159
>>31130
и на каждый скрипт надо заменять все данные? я задолбаюсь

а еще прикол в том что раньше-то (до перестановки винды и софта) все работало, ровно в той же сборке - unity 2020 и vs 2019. Как-то же я раньше это настроил
442 631196
>>31159
Можешь попробовать снести все нахер и начать с установки юнити. Он вроде умеет VS сам накатывать.

Пройдись по всем настройкам юнити, проверь, что VS выставлен стандартным редактором. Проверь package manager, там есть расширения для VS.

Была такая же проблема, не помню, с чего началась и чем закончилась.
Screenshot1.png56 Кб, 1185x434
443 631209
Анончик, спасай!

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

OnTriggerEnter2D срабатывает на каждом этом обьекте по отдельности.
А нужно один раз его вызвать на входе в такой тип обьектов и один раз на выходе. Типа проверять, остался игрок внутри них или нет.
444 631212
>>31209
Ладно, как мне просто проверить что игрок НЕ ТРОГАЕТ слой с определенным тегом/леером?
image.png94 Кб, 712x687
445 631218
Вобщем, дверь можно открывать частично в любую сторону удерживанием мыши. А если мышь нажать и быстро отпустить то дверь должна сама быстро открыться или закрыться. Но при ситуации как на пикрил, дверь должна открыться или закрыться? Вроде бы дверь почти закрыта, и чел наверняка хочет выйти, так что лучше открыть. Но, возможно, чел наоборот захочет захлопнуть дверь окончательно, если например, к ней подходит враг
446 631219
>>31209
Что может быть проще? Добавь int в игрока, или в твой менеджер коллизий, или в игровой менеджер. При заходе в триггер инкрементируй, при выходе - декрементируй. В таком случае условие "вошёл в группу" срабатывает только при смене 0->1, а " вышел из группы" - при 1->0.
447 631221
>>31218
Как часто игрок захочет открывать двери и как часто - захлопывать?

Вот тебе и ответ.
448 631229
>>31218
Сделай ход конём и организуй так, чтобы при нажатии дверь толкалась вперёд. Отпадут все вопросы, а взаимодействие будет органичным и предсказуемым для игрока.
449 631232
>>31229
Тогда чтобы закрыть полностью открытую дверь к ней придется зайти сзади
450 631233
>>31219
О блин, я думал о таком, но построил ебанутую систему с таймером в итоге, типа игрок проверяет на выходе не попал ли он снова в етот коллайдер, лол.
451 631235
>>31232
ps но предсказуемость это хорошо
452 631237
>>31219
А продолжать инкрементировать больше 1?
Можешь помочь нубасу?
453 631243
>>31159
Ты вообще тот солюшен то открываешь? Попробуй открыть из Юнити наверху assets-> open c# project.
YjNnfmsr1N.gif675 Кб, 498x352
454 631255
Можно ли получить вектор вот этой синий стрелки? Мне бы хотелось знать, в какую сторону смотрит дверь
455 631256
>>31255
transform.forward
456 631281
>>31237
Продолжать. В этом и смысл.
1339970369299.jpg56 Кб, 417x500
457 631285
>>31219
Б-же, оно сработало! Спасибо тебе дорогой!
Я целый час ебался и пробовал писать 100 разных вариантов, а все оказалось так просто, я в ахуе.
В интернете вообще не встречал таких систем ни разу, спасибо тебе, спас меня!
458 631286
Эх, я эту дверь никогда не запилю. Почему-то она закрывается быстрее, чем открывается.Дело в hingeJoint? Но там все по нулям. Вроде силу во всех случая прикладываю одинаковую.
8va9LVtFAn.gif4,9 Мб, 555x687
459 631288
И еще вот проблема. Если я в сцене открою дверь на 30 градусов, то в итоге на этим градусе она блокируется. Хотя в hingejoint min 0, max 100. А судя по тому, что происходит в гифке, min теперь 30, max 130
460 631291
>>31286
Нахуя делать дверь джоинтом если можно просто сделать анимацию открывающейся двери?
image.png20 Кб, 1111x137
461 631292
>>31286
Ладно, вроде прблему решил. Просто дверь дочерняя, локальные rotation и position у нее по нулям, так что векторы взял локальные. Хз, как это работает, надо подумать
462 631293
>>31291
Зато дверь можно толкать туловищем. А если я запущу анимацию, а дверь столкнется с препятствием?
image.png12 Кб, 556x145
463 631294
>>31292
Еще упростил код. Бля, я тупица. Мозг после работы не фурычит. Как же плохо работать прогером (не геймдев, жалкий вэб), домой придти и опять кодить
464 631297
>>31294
Зачем ты игры делаешь? Лучше бы новый веб фреймворк выучил.
465 631338
>>31288
Да, лимиты приходится перенастраивать. Как вариант, напиши простенький скрипт, который будет на старте брать текущее вращение и вычитать из лимитов.
466 631339
>>29083

>делаю вот открывание двери туловищем


>14/12/19



>>31294

>26/12/19


По две недели на дверь - далеко пойдёшь.
467 631340
>>31339
Во время обучения всегда так. Если анон его переживет, то будет ебашить скрипты десятками. Года через три.
468 631345
>>31294
Все равно плохо. Что за магическая константа 33? А если ты захочешь сделать открывание на 40 или 45? Будешь каждый раз в скрипт лезть? А ну марш выносить константы в сериализованные переменные!

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

Передаешь в скрипт управления двери данные об игроке (или камере). При удерживании двери накладываешь силу на дверь:
force = player.transform.forwardInput.GetAxis("Vertical")+player.transform.rightInput.GetAxis("Horizontal");
При клике по двери игрок толкает ее вперёд: force=player.transform.forward*pushForce;

Таким образом игрок может открывать, закрывать и быстро толкать дверь.

С такой системой можно делать рычаги и сундуки, если догадаешься, как менять векторы направлений в зависимости от типа взаимодействия.
469 631353
>>31345
Это был упрощенный код, специально для треда
470 631382
>>31294

>Мозг после работы не фурычит


Ты весь день занимаешься умственной работой, приходишь домой и занимаешься тем же. Мозг просто физически не может делать одно и то же. У тебя голова не нагревается к вечеру? И как ты ещё в депрессию не скатился?
471 631383
>>31345

>force = player.transform.forwardInput.GetAxis("Vertical")+player.transform.rightInput.GetAxis("Horizontal");


В смысле дверь двигается вместе с игроком? Не лучше ли тогда связать дверь и игрока?
15747701747580.png107 Кб, 264x264
472 631390
>>31382
Ну а чё ещё делать, у меня больше нет увлечений. А так да, депрессую. Особенно когда хочется проект попилить, а мозг устал, и я сижу кинчик смотрю
15773331105230.mp4839 Кб, mp4,
1008x492, 0:11
473 631408
Господи, очередной юнитистыд, вы посмотрите как тени исчезают, потом опять появляются, сук такой позор пидарский
474 631417
>>31408
Похоже, что нужно переходить на годот
image.png28 Кб, 1280x600
475 631419
На пике моя сцена, вид сверху. Есть два объекта, стоят на одной плоскости. Мне нужно найти такой кватернион, который будет являться поворотом объекта А в сторону объекта В.

Quaternion.FromToRotation(transformA.position, transformB.position) не туда поворачивает почему-то. Дебажить кватернионы я не могу, надеюсь на какую-нибудь встроенную функцию. Заранее спасибо.
476 631421
>>31419
На всякий случай объясню задачу. Нужно повернуть игрока в сторону врага. Мой контролер, который отвечает за перемещение, принимает кватернионы, чтобы вращать персонажа. Вот тот, который получается из FromToRotation вращает персонажа не туда.
477 631422
>>31421
Ты пробовал использовать Transform.LookAt?
478 631427
>>31383
Да, я проебался. Имелись в виду Mouse X и Mouse Y. Хотя движение игрока тоже можно включить, чтобы взаимодействия на ходу воспринимались нормально.
479 631430
>>31419

>Дебажить кватернионы я не могу, надеюсь на какую-нибудь встроенную функцию. Заранее спасибо.


https://docs.unity3d.com/ScriptReference/Quaternion.html

>You can use the Quaternion.operator * to rotate one rotation by another, or to rotate a vector by a rotation.


возьми вектор, поверни его на кватернион, отдебаж вектор.
алсо на той-же странице. какая из перечисленных функций описывает то что нужно тебе? кубик надо совать в круглую дырку, квадратную, или треугольную?
480 631432
>>31419
Можешь попробовать Quaternion.FromToRotation(transformA.forward, transformB.position-transformA.position). Ты юзаешь вектора отвечающие за положения объектов, а нужно - вектора направлений.

LookAt проще, как тебе ответил анон.
481 631438
>>31408
Лоды не менялись уже 5 лет, значит на эту ошибку всем похуй, никто ее исправлять не собирается, юнитиговно-классик
482 631439
>>31422
Этот метод напрямую управляет трансформом, не прокатит с моим контролером.

>>31430

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


Я не знаю. Больше всего похоже на FromToRotation, но она принимает стартовое и конечное направление. Как мне получить их из векторов?
483 631440
>>31432
Всё равно вращает не туда. Но я понял про направления, буду думать, спасибо.
484 631442
>>31439
>>31440
>>31432
>>31430
>>31422

Получилось с помощью
Quaternion.LookRotation(transformB.position - transformA.position, transformA.up)

Всем большое спасибо за помощь
485 631443
>>31432>>31422

>LookAt


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

>>31439
суешь векторы, получаешь ротацию на которую надо умножить вектор А чтобы получить вектор Б. понимаешь? то насколько надо повернуть один вектор, чтобы получить второй вектор. поворачивание через оператор умножения. в эту функцию суешь не позицию. а вектор. направление. куда он смотрит.
Vector3 forwardA = A.transform.forward;
Vector3 forwardB = B.transform.forward;
Quaternion rot = Quaternion.FromToRotation(forwardA, forwardB);
Debug.DrawRay(Vector3.zero, Vector3.forward, Color.magenta);
Debug.DrawRay(Vector3.zero, rot * Vector3.forward, Color.red);
Debug.DrawRay(A.transform.position, forwardA, Color.magenta);
Debug.DrawRay(B.transform.position, forwardB, Color.red);

понимаешь? оппа и если повернуть форвард вектор А на эту ротацию то он будет смотреть туда-же куда форвард вектор Б.
486 631445
>>31443
Это всё хорошо, если бы мне нужно было смотреть туда, куда смотрит противник. Но мне нужно было смотреть на него. Но всё равно спасибо, ты няша.
487 631447
>>31443
поэ-э-этому тебе надо повернуть текущую ротацию, на текущую ротацию + дельта-ротацию до противника. круто да? в дополнение к коду выше можно написать

A.transform.rotation = Quaternion.Lerp(A.transform.rotation, A.transform.rotation * Quaternion.FromToRotation(forwardA, forwardB), 0.1f);

тогда А будет крутится в то-же направление в которое смотрит Б. например. а можно совать туда и направление от текущего форварда до противника.
488 631448
>>31447
>>31445
сам себе ответил лол. в общем, ротация одного в другое это очень интересно. таким-же способом можно например и вычитать ротации. ты главное учитывай что если складываешь ротации то порядок сложения важен.
489 631452
>>31445
а вообще, этот пример с FromToRotation я привел чтобы повернуть одно в сторону другого. но ты учитывай что оно поворачивает вектор. а вот ориентацию вдоль вектора оно тебе сделает скорей всего не ту которую ты ожидаешь увидеть. поэтому лучше воспользуйся Quaternion.AngleAxis, сунь в него угол между форвард вектором и направлением до противника, получишь дельта-ротацию с сохранением UP вектора. это будет куда приятней результат.
an1.jpg6 Кб, 166x101
490 631487
Анончики, хочу сделать анимацию с бегом. Сделал спрайт лист в адоб анимейт, залил в папку, что теперь?
491 631489
>>31487

> что теперь?


Теперь learn.unity.com
492 631490
>>31487
а теперь делай чтобы бегало
an1.jpg14 Кб, 777x95
493 631492
>>31490
>>31489
Я прост не пойму, почему спрайт лист не "разрезался" на кадры, как на пике.
494 631493
>>31492
ты это. у угла то проси. https://docs.unity3d.com/Manual/SpriteEditor.html
495 631495
>>31493
Пасиб
496 631496
>>31495
https://youtu.be/gbgIA3pwpHcю вдруг ты читать не умеешь
497 631511
Аноны, а кто-то вкатывался на работу после курсов по юнити? Я вот уже месяц изучаю, C# там, анимации со спрайтами сам рисую, в планах игру доделать. Смогу ли я потом найти работу? Аниматором или программистом хотя бы. И как понять, что ты уже скилл наботал, и уже готов?
498 631531
>>31511
Большие игровые студии частенько набирают джуниоров, которые ещё только обучаются. Чекай их сайты, спрашивай их ХРов. Чем быстрее к ним устроишься, тем лучше. Буду платить мало скорее всего(если не дс), но зато реальный опыт и после тебя повысят.
499 631555
>>31531
В геймдеве бешеная конкуренция. На опытного разработчика обычно собеседуют несколько десятков кандидатов. На должности джунов-ньюфагов мне даже сложно представить какой ад творится.
Особенно после того, как развелись всякие скиллбоксы и подобное дерьмо. Теперь любой долбоеб за трёхмесячный курс превращается в конкурентоспособного кандидата. Нужно реально сиять или иметь нехилую удачу, чтобы выделиться среди них.

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

Если ты тратишь 3-4 часа 3-4 раза в неделю, причём не только бесконечно учишься, но и занимаешься рутинной работой над игрой (диздоки, настройка сцен, префабов, света), то тебе потребуется ещё около 11 месяцев, чтобы работодатель тебя хоть как-то рассматривал как вариант.

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

Моя история - около года задрачивал свои проекты, активно при этом искал работу, еженедельно рассылая резюме в две-три компании. Ни-ху-я. В итоге вкатился обычным джуном программистом в левую контору. С тех пор уже наыармил прилично опыта, продолжаю ковырять юнити почти ежедневно, вырастил зарплату в два с половиной раза, но в геймдев так и не попал, лол. Отчасти потому что сейчас я обнаглел, прошу в полтора раза больше нынешней зарплаты и отказываюсь работать над казино и матч-3.
500 631556
>>31443

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


Почему? Чисто чтобы знать кухню кватернионов и не пользоваться простыми функциями для неосиляторов?
501 631561
>>31555

>в геймдев так и не попал


Эммм, не игры делаешь? Приложухи типа дополненной реальности?
502 631565
>>31561
Я же говорю, обычный погромист. Сначала работал над умным домом, сейчас работа с банками в крупной корпорации. Скучно,но есть деньги и время на игрострой в перерывах.

Меня вштырило написание скриптов, и это стало моей основной профой. И несмотря на то, что под Юнити кодить я могу в разы лучше, чем под .net, предложений очень мало. В то время как обычные конторы меня с руками отрывают, лол.
cube.webm346 Кб, webm,
600x422, 0:09
503 631566
>>31556
эти функции будут далеко не везде, а вот проблемы ротаций всюду. например вот тот удивительный человек верху дверью хлопает, половину его удивительных проблем с джойнтами можно было давно уже решить с помощью колдовства ротаций.
или например видеорелейтед. помню наверно месяцев 8 назад тут был другой интересный человек, он хотел нажатием кнопки крутить кубик, но так чтобы оси его ротаций всегда были кратны 90. как решить эти проблемы? с геймобжектами ещё можно поколдовать немного. но далеко не все эти проблемы - проблемы геймобжектов.

>>31555
чё к резюме то прикладывал? какие проекты?
504 631569
>>31566

>чё к резюме то прикладывал? какие проекты?


Поначалу - ничего, а сейчас - гитхаб с полудюжиной рабочих библиотек под Юнити, написанных мной.

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

Охуительные истории про годы поисков могут казаться преувеличением, но:
1. Казино и браузерки сразу нахуй.
2. Портфолио у меня не было около года.
3. Работать бесплатно я не готов.

Готов предположить, что если анон возьмёт себя в руки и за месяц выпустит с пяток топов продаж в гуглплее, то с трудоустройством проблем у него будет меньше.
Numbers.webm3,3 Мб, webm,
1152x776, 0:22
505 631578
>>31569
да вообще чисто так интересно что другим людям показывал то, что были такие проблемы с поиском. на этой доске не часто люди делятся таким опытом.

лично у меня особых проблем не возникает, но мне и показать в целом есть что. вот только начинал я тыкать всё это как увлечение и проёбывал тонны времени на него без цели найти работу в этой сфере. а когда в животе заурчало то внезапно оказалось что мои скиллы в целом востребованы. так что я скипнул тот этап неопределённости и даже рассказать по этому поводу нечего. а вопрос то важный.
506 631590
>>31578
Недавно, к примеру, собеседовался в одно место. Рекрутер разоткровенничался и сообщил, что я у них 47й кандидат. Ищут человека второй месяц.

Пиздеть ему смысла нет, меня все равно не взяли. Разговаривал он открыто.

И это компания, ищущая специалиста с 3 годами опыта работы с разнообразными навыками и узкими критериями.

А теперь представь, какой поток людей на стартовые вакансии. Любой человек полгода потыкавший кнопки в юнити уже мнит себя специалистом.
507 631603
>>31590
Ощущение, что сейчас везде избыток людей и работ нет, у нас продаваны в тц сидят на этих островках перчатками торгуют за 800 рублей + 5% с продаж в день, но там продаж почти нет, три через три и ведь все забито
Image.gif715 Кб, 678x385
508 631604
Есть в юнити официальные инструменты чтобы так волосы двигались на костях?
Кот орет.jpg117 Кб, 510x391
509 631606
А бамплимит уменьшили же? ПЕРЕКАТ!!!
510 631607
>>31603
Это относится к неквалифицированному труду в основном. Когда я менял работу меня буквально завалили спамом с предложениями (не геймдев).

Все хотят себе погромиста, который уже что-то умеет, но ещё не нюхал настоящих денег. Он за копейки вьебывать будет и ещё и довольным останется. Я эту фичу просек и теперь на собеседованиях требую зарплату на 30-40% дороже, чем себя оцениваю сам. Поэтому меня никуда не берут, лол.
511 631608
>>31607

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


Так в итоге что продаван за копейки будет работать, что прогер. Когда тебе или такому как ты жрать нечего станет и это место займет.
512 631609
>>31604
Нету в юнитипараше такого, они лучше еще какой-нибудь дотс запилят, чем нужные фичи для игростроя.
513 631610
>>31604
https://docs.unity3d.com/Manual/class-Cloth.html
возьми ткань и запили через неё.
514 631619
Что-то я запутался с лямбдами. Вот у нас есть https://pastebin.com/vewY0Jaf
Там по наступлению ивента вызывается функция, которая выполняет detectedObjects.Remove(other.gameObject). Когда она будет вызвана, она удалит именно тот геймобджект, который был в контексте на момент подписки именно этой функции, я правильно понимаю?
515 631620
>>31619
Или мне надо как-то явно в делегат передавать, какой геймобджект выстрелил ивент?
516 631625
>>31619
Вроде все верно.

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

Алсо, защиту от множественных срабатываний не забыл на случай, если объект несколько раз входит в триггер? В курсе, что лямбды невозможно отписывать от ивентов оператором "-="?
517 631638
>>31625
Да в том и дело, что у меня потом в этом списке уничтоженные геймобджекты возникают иногда, хотя перед уничтожением должны ивент отправить и съебаться из списка. Вот и пытаюсь понять, откуда такое.
518 631646
>>31638
Так-то дохуя вариантов может быть, начиная от нескольких коллайдеров и кончая случайной очисткой или игнором событий. Логами обмазал бы каждую строчку и проблем бы не знал. Или вынос операций с листом в отдельные функции и расстановка брейкпоинтов.
519 631654
>>31646
Перекатывайте тред, сыны шлюх, я не буду
520 631655
>>31654
Нет, будешь.
521 631675
>>31655
Нет, не будет. Я буду.
ПЕРЕКАТ
>>631674 (OP)
>>631674 (OP)
>>631674 (OP)
522 633863
Суп, аноны. Делаю свой первый 2D-платформер на юнити, столкнулся с тем что камера не видит UI-элементы. Уже всю голову сломал, камеру отдалил, кнопочки вперед выдвинул, свойства Canvas стоят по умолчанию как и было в туториале, в настройках камеры ничего не менял. В гугле решений нет не нашел даже проблемы такой ни у кого. Делал по этому туториалу: https://habr.com/ru/post/264611/
image.png1,5 Мб, 1280x720
523 634104
Всем привет, делаю свою игру, рисую всё сам. Есть ли здесь анон что на этом зарабатывает?
524 634822
>>33863
Братан, была абсолютно такая же проблема.
У меня проблема была в том, что я вместо RawImage использовал простой Image (хз почему, но просто image не выводится на экран)
Ещё я установил размер канваса равный разрешению экрана.
Если хочешь, можешь связаться в дискорде, я тебе могу всё показать
525 634823
>>34822
можем*
быстрофикс
cover3d.jpg113 Кб, 600x815
526 635748
>>26966 (OP)
Привет юнитологи, ищу вот такую книгу "Гейг - РАЗРАБОТКА ИГР НА UNITY 2018 ЗА 24 ЧАСА". Скиньте ссылку пж если у кого есть. Заранее спасибо
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 13 апреля 2021 года.

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

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