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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
DYsnb5uXkAAsysv.jpg:large.jpeg69 Кб, 1024x512
unity thread 2018.3 edition 528048 В конец треда | Веб
2 528051
что в ECS используют вместо SendMessage?
3 528053
>>28051
Допустим, есть entity с компонентом BulletComponent. Сейчас я в сообщении коллизии в этом компоненте просто использую SendMessage для отправки сообще об уроне и все. Остальные компоненты на столкнувшемся объекте обрабатывают сообщение как угодно. В этом гениальная простота ООП.

А вот как это сделать с ECS? Не понимаю.
4 528055
>>28053
может ты зайдешь в гугл хотя бы на 1 сек? прежде чем задавать даунский вопрос по фреймворку нужно его хотя бы ЧУТЬ изучить и понять принцип работы?
6 528057
>>28055

>ко-ко-ко


Я уже в ECS не один месяц пытаюсь разобраться вообще-то.
Если ты такой гуру, то поделись знаниями.
7 528065
>>28056
А теперь добавляешь отображение урона на экране, и вся система ломается.
8 528066
>>28065
С использованием SendMessage это делает добавлением одного(!) компонента без изменения существующей системы.
9 528067
>>28065
Всплывающие циферки над врагами или что? Для этого создаёшь отдельную систему, которая не будет ломать текущую структуру игры.
10 528070
>>28067
Нет, не получится просто создать систему.
11 528071
>>28070
Почему? Ты не позволишь?
12 528073
Судя по тому, что я видел, ECS и Unity ECS - две абсолютно разные вещи. В юнити это просто строенная система для удобной работы с большим количеством объектов.

А вот здесь тру-ECS, на котором строится игра
>>28056
13 528076
>>28073

>тру-ECS


тру ECS - это data-oriented дизайн. А это какой-то тру говнокод. То же самое делается на MonoBehaviour намного проще.
14 528086
>>28076

>тру ECS - это data-oriented дизайн.


Необязательно, хотя это один из основных вариантов. Суть же в отказе от калечного ООП-дизайна и четкого разделения данных и логики. Можешь хоть из постгреса свои компоненты тягать.
15 528087
>>28086

>четкого разделения данных и логики


Но нахуя? Прочел >>28056 и не понятно, зачем такой анальный цирк нужен? Байтоебства ради?
16 528088
>>28086

>Суть же в отказе от калечного наследования реализации


пофиксил
Наследование - это анти-паттерн. Не нужно его ассоциировать с ООП только потому, что оно есть в большинстве ООП-языков
https://hackernoon.com/inheritance-based-on-internal-structure-is-evil-7474cc8e64dc
17 528089
>>28087

>Но нахуя?


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

Опять же, тут проблема в том, что под ecs (как и под mvc, как и под ооп) многие понимают вообще что угодно. И еще многие фанатики молятся на это, как на святую корову, из-за чего у некоторых возникает отторжение. Но на самом деле это просто нехитрая техника организации кода, в которой используется композиция вместо наследования.
18 528090
>>28088
Хайвмайнд практически, лол.

Я об этом и говорю: "ваше ооп не ооп" ваш коммунизм не коммунизм. На сегодня никто не подразумевает под "ооп" смоллток. Под "ооп" подразумевают класс-бейзед дизайн с наследованием и инкапсуляцией, а-ля джава. Самое смешное, что даже дизайнеры джавы во весь голос повторяют, что НЕНУЖНО пихать инкапсуляцию туда, где она не нужна (геттеры\сеттеры на дата-классах, ага), но их никто не слышит. Ну то есть тут уже нет смысла о чем-то говорить, настолько все blurred. Ничего не спасти - господь, жги.
19 528092
>>28089

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


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

>>28089

>читаемый и расширяемый код


Ну хз, разделение данных и методов как по мне хороший способ насоздавать багов, в отличии от обратной системы, где данные прочно прилеплены к алгоритмам.
20 528093
>>28090
Ну хз кто там что говорит, по мне так инкапсуляция везде нужна чтобы скрывать реализацию. Да и не стоит это ничего.
21 528096
>>28092

>Потому что ООП не запрещает применять композицию


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

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


Ну читай классиков. "Лучше иметь 100 функций, оперирующих одной структурой данных, чем 10 функций, оперирующих 10 структурами данных", все в таком духе.

>>28093

>Ну хз кто там что говорит


Лол, ну вот собственно поэтому и имеем то, что имеем.
68747470733a2f2f692e696d6775722e636f6d2f5538355a6a53562e706[...].png221 Кб, 1275x599
22 528101
>>28096
Наверно я просто стриггерился.
Я, собственно, недавно стал с наследования переходить на компоненты в своем симуляторе кокономики. Не потому что разуверился в ООП (все еще использую его) просто классы большие стали. Теперь, когда класс больше 1200 строк я тупо выделяю часть связанного функционала (и данные и алгоритмы вместе) в отдельный класс который потом можно навешивать куда хочешь как компонент. Дипломатию, например, так обособил. Теперь ее даже в других проектах можно просто навесить и радоваться.

Впрочем, для гейм дизайнера, пожалуй, важно что бы был набор постоянного АПИ, а как оно там под капотом вертится - не важно, хоть ООП, хоть ЕКС хоть в одну строку на джава скрипт.
23 528102
Я, кстати, прочитал сейчас ту статью от пиксоник - там все годно расписано, ребята шарят. Блядь, теперь вдвойне обидно, что мейлру скатило wr в такое говно. Я думал все нормальные разрабы оттуда ушли в red button.

>>28101
Ну, геймдизайнеру ецс как раз позволяет редактировать поведение игры, не касаясь кода вообще, ведь все компоненты - это просто данные, хоть в экселе их редактируй, все энтити - это просто наборы компонентов, включай\отключай как хочешь, и т.п. Ну и даже при написании логики можно постараться и обернуть это все в красивый дсл, так что это будет больше похоже на sql\datalog запросы, чем на код. У меня в моем костыле, например, ты буквально пишешь: для всех e таких что у них есть отравление, уменьшить здоровье на величину отравления - выглядит как нечто среднее между селектором jquery и кодом на прологе.
24 528107
Хотя вот это говно:

>У нас есть специальные «singleton»-компоненты/сущности. Например, у нас есть сущность с ID=1, на которой висят специальные компоненты — настройки игры.


Для этого создается компонент "Game" или "Level" и вешается на соответствующую сущность. ID тут вообще ни при чем, айди трогать не надо.

>События/запросы мы реализуем за счет создания специальных компонент.


Это говно, из-за этого у них анальный цирк с созданием временных энтитей чтобы нанести игроку урон два раза за тик. Возникло это из-за того, что у них системы завязаны на игровой цикл, хотя они должны быть функциями GameState, Events -> Events (а они изначально рассматривали системы только как сайд-эффекты, проектированием датафлоу не занимались). Хотя тут трейдоффы по производительности конечно будут, так что это зависит.
25 528111
>>28107

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


Хм, это серьезный недостаток ECS и использования компонентов для сообщений.
Как ECS-господа обходят это ограничение?
26 528121
>>28111
Это не ecs, это их конкретная реализация. Я же говорю, в общем виде ецс описывается так:

1. Состояние S: множество троек вида [id name data], где id - натуральное число, name - имя компонента, data - содержимое компонента.
2. Логика: множество пар (cs F), где cs - это список [c] имен компонентов, F - (чистая) функция вида E, S' -> [E], где E - "входящее" событие, которое триггерит эту функцию, [E] - множество "выходящих" событий, S' - множество троек из S вида [_ c _].

И все, вся игровая логика этим описывается, плюс есть некий внешний исполнитель, который запихивает начальные события в систему (юзер инпут, сеть, таймеры) и обрабатывает конечные события (отрисовка, сеть). Если добавить ограничение, что cs должен содержать ровно один элемент, и считать любой сайд-эффект событием, получится классический сишный однопроходный data-oriented ецс. У них как раз проблема в том, что нет явного notion'а событий, поэтому функции фактически получаются E, S -> S (ну и S получается состоянием
всей* программы, а не только игры, потому что глобальное состояние и сайд-эффекты). Потому что они транзишны запускают из геймлупа, ну и это кстати еще не даст распараллелить\разсинхронить обработку. Но аффтар там тащем-то как раз писал в комментах, что они планируют перевести свою ецс на событийную архитетуру.
27 528122
>>28121
Ой, разметка все-таки проебалась. Ну и хуй с ней.
28 528125
>>28121

>Это не ecs, это их конкретная реализация


Это практически стандарт ECS. Много где так сделано.
29 528126
>>28121
Я себе ECS представляю так

1. все игровое состояние представлено посредстом компонентов
2. компоненты явл. типом struct
3. компоненты хранятся в ассоциативных массивах (например, Dictionary)
4. каждый комп. ассоциирован с каким-то числом (entity id), это позволяет группировать разные компоненты вместе
5. можно осуществлять фильтрацию имеющихся entity по наличию у них нескольких типов комп-ов
30 528128
>>28121

>Но аффтар там тащем-то как раз писал в комментах, что они планируют перевести свою ецс на событийную архитетуру.


А это как?
CombinedVideo.webm3,8 Мб, webm,
1168x792, 0:32
31 528132
>>28101
ты это. partial классами тоже пользуйся. можно же разбивать логически один и тот-же класс на разные файлики когда когда разный функционал должен быть в одном месте. куда проще всем этим управлять становится.
Slonikmacro.jpg39 Кб, 320x240
32 528134
>>28132

>partial классами тоже пользуйся

33 528140
>>28125

>Много где так сделано.


Все еще проблема много каких реализаций, где так сделано, но не самого ecs.

>>28128
Что как? Я же в посте это и описывал...
34 528150
>>28140
То, что ты описываешь, не существует. По крайней мере я не видел ECS на событиях. Везде используют добавление компонентов как флагов, вместо событий
35 528164
>>28121

>на событийную архитетуру


Как это выглядит?
36 528174
>>28164
Ээ, попробуй прочитать пост, на который отвечаешь. Там как раз это весь пост и описывается.

>>28150
По-хорошему надо бы послать тебя нахуй в гугл, но давай я за тебя открою первую ссылку на гитхаб по запросу "ecs callbacks": https://github.com/alecthomas/entityx
А еще можешь попробовать почитать вот эту труднодоступную обскурную статью: https://en.wikipedia.org/wiki/Entity–component–system - когда откроешь, нажми Ctrl-F и введи "events".
И это уж не говоря о том, что я прямо в посте русским языком описал, как именно вариант с прямым изменением глобального состояния является частным случаем этой общей модели.

Испытываю некоторую фрустрацию по поводу таких аутичных ответов, извините.
37 528182
>>28174

>попробуй прочитать пост


Нужны реальные примеры на C#, а не словоблудие.
38 528183
>>28174

>https://github.com/alecthomas/entityx


от того, что туда зачем-то воткнули глобальный event dispatcher, ecs не стала более событийной.
39 528188
>>28182
Если ты по формальному описанию не можешь закодить прототип на языкнейм, то я здесь и сейчас ничем не смогу тебе помочь.

>>28183

>то, что там события, еще не значит, что там события



Пожалуй, скрою-ка я обратно тред жс ой, то есть юнити-макак. Можете не отвечать.Но не сможете :3
hmm.jpg12 Кб, 350x257
40 528197
Понял, что обосрался, и сразу дал по газам.
41 528258
>>28188
Суть юнитивских сообщений в том, что обработчик связан с компонентом и вызовется только если компонент добавлен к объекту. Сообщения ты отправляешь объекту, а не отдельным компонентам. Поэтому получается такой событийный полиморфизм. Ты просто добавляешь какие нужно компоненты, и они задают поведение объекта. Очень просто и эффективно.

В ECS тебе придется эмулировать ООП-функции. В самом простом случае тебе в подписчиках на твой глобальный диспетчер нужно писать какой-то такой код:
// обработчик урона
void OnMessage(Entity entity, string message) {
if (message == "OnDamage" && entity.HasComponent<Damage>()) {
//
}
}
42 528259
хуй
43 528261
>>28258
Что за хуйня? Зачем этот иф через иф? Ты вообще понимаешь, что такое подписка на событие? Это засовывание своего коллбека в список, хранящийся у глобального менеджера. Когда менеджеру приходит сообщение о событии, менеджер вызывает все коллбэки по списку. Никакие ифы в коллбэке не нужны. Сам факт подписки объекта на событие подтверждает, что он соответствует требованиям.
44 528266
>>28261
Нам нужна не просто подписка на событие. Нам нужно выполнять какой-то код, если entity содержит определенный/ые компоненты.

С SendMessage мы это получаем бесплатно.

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

C использования диспетчера нам нужны if в самом простом случае, чтобы фильтровать события для entity у которых есть нужный компонент. Про недостатки этого способа ничего не знаю, но уверен что их немало.
45 528269
>>28266

>SendMessage


Тебя даже вчерашний шторм не разбудил
https://docs.unity3d.com/ru/current/Manual/MessagingSystem.html
46 528270
>>28269
Лол, бедные юнити-кликуши. Буквально неделю назад агрились на интерфейсы, а тут такая зрада от юнитеков подкатила.
47 528272
Почему Юнити не на питоне?
Было бы намного удобнее и быстрее писать код
48 528276
>>28272
Это толстота какая-то? Сложные нынче рофлы стали.
49 528282
>>28272
Юнити на питоне. Как годот на шарпе.
>>28266
Я все ещё не понимаю, зачем тебе все эти сложности, которые ты описываешь? Я вроде ясно выразился. Регистрируется слушатель сообщения. Процедура регистрации требует предъявить функцию-коллбэк в которой будет код, выполняемый каждый раз, когда данное сообщение будет послано. Регистрация делается в конструкторе компонента, атписка делается в деструкторе. Всё. О какой сложной ручной работе у тебя там идёт речь?
50 528283
>>28269
Во, я придумал новую систему, игровые объекты должны слать не только сообщения, а письма. Сообщение - широковещательное, письмо - адресное.
Например при коллизии пули с объектом, пуля посылает письмо объекту такому-то "ранен на столько-то". Синглтон "почтовый сервер" направляет письмо адресату и тот начинает хрустеть плотью и уменьшать свои хп, если он мясной, если же этот объект стена, то она просто рисует декаль в месте коллизии, указанном в письме.
Побежал патентовать, пока юнитеки не украли.
51 528285
>>28283
Уже украли, называется - broadcast message
52 528286
>>28285
Сцк. Ну что же такое делается?
maxresdefault.jpg136 Кб, 1280x720
53 528290
>>28283

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


Приходите работать к нам в unyti
54 528291
Байтоебы - рак инди-геймдева
55 528294
>>28270

>неделю назад


>ссылка на API двухлетней давности

56 528296
>>28282

>О какой сложной ручной работе у тебя там идёт речь?


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

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

Допустим сигнатура метода такая: OnCollision(Entity sender, Entity receiver); код подписки примерно такой AddListener("OnCollision", OnCollision);

Как ты в подписчике поймешь, что это столкнулась пуля с игроком и что у игрока надо отнять ХП?
57 528298
>>28296
Я делаю, например, так в компоненте пули и все. Никакого boilerplate кода.

void OnCollision(other) { other.SendMessage("OnDamage", gameObject); }

Через глобальный диспетчер это выглядит как-то так:

void OnCollisionMessageReceived(Entity sender, Entity receiver) {
// тут надо отфильтровать sender, чтобы у него было компонент Bullet
if (sender.HasComponent<Bullet>())
EventManager.Dispatch("OnDamage", sender, receiver);
}
58 528299
>>28296
Ладно, уговорил. Ифы нужны. Не там, так здесь.
sage 59 528315
>>28298
Долбоебина, ты понимаешь, что SendMessage мало того что пиздец какой медленный, потому что пытается вызвать метод через строчное название, так еще и пытается сделать этот вызов на всех компонентах, которые навешаны на твоем гейобжекте?

>So, on my (rather old) machine, a loop of 5000000 SendMessage calls, using an empty function, takes 9.872 seconds. A loop of 5000000 direct calls (using a cached GetComponent) takes .024 seconds. Therefore, direct calling seems to be about 400 times faster, although considering that the loop itself takes up some time, it's probably more than that



И нет, пускать все вызовы через глобальный маняменеджер маняэвентов, как местные дебилычи любят - тоже нихуя не оптимальный вариант. Вы просто два сорта даунов, спорящие чем лучше копать ямы - черенком от лопаты или полотном.
60 528316
>>28315
в сбилженных проектах он становится нормальным делегатом. это приблуда для удобства в эдиторе в такой форме, придурок.
61 528320
>>28315
Опять этот шизик вылез.
Время и простота разработки > производительность.
62 528327
АААА СУКА
63 528328
>>28320
Тем более что разница в скорости настолько ничтожна >>28320 , что пердолинг с оптимизацией не стоит этого.
64 528329
>>28327
Если кто не понял, то раньше при выборе префаба отображался GameObject с компонентами, и можно было быстро настроить префаб.
Теперь эта хуйня, которую нужно открывать в scene view, изменять, возвращаться обратно.
Это фейл.
65 528336
Когда хд рендер пайплайн можно будет использовать без ебли?
66 528337
>>28329
обновляться? в пизду.
67 528356
>>28266
Короче, самый оптимальный способ для ECS - это для каждого сообщения создавать отдельную entity с компонентом-данными сообщениями. Тогда можно обойти ограничение на один компонент.
Использование диспетчером и прочих SendMessage затрудняет распараллеливание систем.
68 528363
>>28316
>>28328
Мрази жирные, не знаю кто вас так раскормил, но надеюсь вы подавитесь.
15335772059950.png92 Кб, 300x300
Как пользоваться многопоточностью в Unity3d? (из скриптов) 69 528365
Короче у меня возникла идея. Я ведь изучал С#, а не сразу вкатился в Юнити и еще помню про стандартные средства C# связаные с потоками. И вот задался вопросом:
А можно ли с помощью скриптов С# прикрутить в Юнити-игру какую-то свою отдельную многопоточность? Ну типо помимо того, как Юнити сама работает и что-то обсчитывает, а ты из скрипта вызвал стандартный поток в C# и чето в нем обработал\посчитал? Или это хуйня идея? И почему?
70 528371
>>28276
Ну он же проще и удобней сисярпа
71 528381
>>28365
Можно. Уан минус - нельзя вызывать юните апи из доп. потоков. А так норм, брат жив. Но лучше jobs попробуй приладить
72 528396
>>28371
Ну и истории у тебя.
Generation.webm3,1 Мб, webm,
1064x764, 0:14
73 528404
>>28363
каникулы что-ли неожиданно начались гдето

>>28365
до тех пор пока многопоточность отдельно от самого юнити. вон у меня например пайплайн навмеша в отдельном потоке. в потоке юнити собирается информация о мире, проверяется физон, информация отправляется в пулл потоков, там генерируется чанк, в конце пинается поток навмеша, который уже объединяет результаты в один целый, ищет путь и прочее.
74 528406
>>28381

> нельзя вызывать юните апи из доп. потоков


Точно нельзя? Даже с using?
sage 75 528435
>>28053

>Сейчас я в сообщении коллизии в этом компоненте просто использую SendMessage для отправки сообще об уроне и все.


Ок. Скажешь как оно заработает при появлении у тебя хотя бы десятка противников с пулемётами. Вообще Юнити со своими SendMessage жидко насрали в общий котёл, пидарасы.
sage 76 528436
>>28057
Для понимания ECS надо иметь определённый уровень понимания в software engineering ну или хотя бы уметь программировать.
77 528447
>>28435

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


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

>>28436
Скорее это ECS слишком ограниченная архитектура для программирования геймплея. ECS нужно применять только для оптимизации определенных алгоритмов, а не пытаться сделать на нем всю игру.
sage 78 528453
>>28447
ECS по сути своей соответствует определению игры как "базы данных с красивым интерфейсом". Если мы считаем состояние игры как БД, то кадр можно описать как серию запросов переводящих игру в состояние следующего кадра. ECS даёт такое разделение - отдельно состояние, отдельно логика.
79 528454
>>28453
лол. до тех пор пока эта логика находится на примитивном уровне. не всё тут так просто.
80 528455
>>28454
Ну приведи пример непримитивной логики, которую нельзя реализовать в ecs.
sage 81 528456
>>28454

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



Она всегда находится на примитивном уровне. Даже в шахматных монстрах вроде стокфиша.
82 528457
>>28456
>>28455
ололо хотелось бы узнать точку зрения этого замечательного господина >>28101 и того как он смотрит на этот вопрос.

а вообще разумеется когда ты делаешь какую-то хитрую хуйню где требуются километры спагетти чтобы связать разные участки кода и зачастую ещё и в иерархичном порядке и с приличным слоем абстракции то ECS будет болью и мучением.
83 528461
>>28453
Какая база данных? Что ты пиздишь? Entity-Component-System это банальный паттерн (шаблон проектирования) в котором композиция ООП предпочтительнее наследования ООП. И все бля. Ебучие фанбои, нихуя не понимаете, а всюду лезете.
84 528462
>>28461
Разве ECS не про отделение данных от логики?
sage 85 528466
>>28457

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



Поправил тебя.
86 528471
>>28466
ну а хули. вон как по твоему выглядит внутри эта хуйня? какая там иерархия компонентов?
там лол пришлось даже отдельно стейтмашину делать которая бы синхронизировала работу ИИ и контролер. плюс отдельно ИИ для планирования и стейтмашина которая меняет паттерн перемещения. отдельно даже была иная категория ИИ которая управляла сквадом меняя приоритеты действий у разных его участников. очень интересно посмотреть как это можно сделать в рамках ECS. очень увлекательное чтиво небось будет.
87 528475
>>28471
Нихуя ты монстр. Что за шедевр пилишь?
88 528494
>>28471
У меня один вопрос, нахуя тебе в прототипировании тканевая физика?
89 528496
>>28475
>>28494
это навмеш-шизик, тредовый сумасшедший.
90 528498
>>28471
А как проигрывать сцену в окне Scene? У меня постоянно открывается окно Game. Бесит.
91 528500
>>28498
Сверху тупо переключаешься на окно сцены после запуска.
92 528501
>>28500
Это неудобно.
93 528504
>>28501
Купи второй монитор, на него выведи окно Game, а на первом всё остальное, включая сцену.
Базарю, ещё захочешь.
pp,550x550.u1.jpg36 Кб, 550x550
94 528505
>>28504

>Купи второй монитор

95 528516
>>28475
meh. только на дваче и можно этим кого-то впечатлить. видео старое как говно мамонта. это был прототип примерно того что можно было увидеть в FEAR. у меня на тот момент появилась первая рабочая версия моего навмеша и я решил исследовать пространство смежных проблем заебошив прототип ИИ. у меня было множество интересных ваниантов как это применить но мои идеи трансформировались раз за разом в всё более охуительные.
плюс один знакомый артист постоянно мешал моим планам. он был согласен помогать мне с проектом А но я хотел делать проект Б больше чем А. в итоге я начинал с ним делать А, но спустя какое-то время он сбегал. я начинал делать Б и он появлялся. в итоге пришлось послать его нахуй и продолжить совершенствоваться в этой сфере не делая ни один из проектов.

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

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

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

>>28496
я уверен я всё делаю правильно! разбавляю скуку треда.

>>28498
вообще тебе уже посоветовали два монитора (у меня два). но вообще можно же просто переместить окошко Game куда-нибудь нахуй. мне оно большую часть времени не нужно и поэтому я перемещаю его куда-нибудь в угол.
Unity.png369 Кб, 1678x967
96 528517
>>28498
например сюда
97 528518
>>28516

> у меня два


На работе тоже два, а дома один. На одном пиздец как неудобно, после того как к двум привык.
Вообще и двух маловато, особенно когда с анимациями работаешь.
98 528519
>>28518
Просто в юнити нет нормального переключения workspace'ов.
99 528521
>>28516
Я тоже кстати одно время игрался с ии, но я использовал утилитарный подход а у тебя как понимаю GOAP как в фире? Удалось добиться прикольных результатов, юниты грамотно сидели по препятсвиям, съебывали если их сильно обстреливаешь/подходишь близко/кидаешь гранату, плюс поверх этого сделал ии отряда, чтобы он распределял юнитов на подавление огнем/обходы с фланга/отступление и т.д.
Для фпс пилил, но проект затух, но наработки применил потом для икскома своего.
100 528525
>>28516
А ECS ты не делал?
101 528532
>>28516
А что за проекты ты делал расскажи вкратце?
102 528534
>>28521 >>28532
йеп. это GOAP как в фире. сделал ещё обратный поиск, но этим никого не удивить. но изначально я применял его для немного иных целей. у меня список проблем начинался с того как научить ИИ организовывать собственный инвентарь. и GOAP отлично решал проблемы выстраивания цепочек из действий вроде "освободить основной слот", "положить предмет в основной слот", "одеть штаны", "перезарядить оружие" и так далее. просто потом к списку возможностей добавились подбирание и применение предметов в мире.
но тут появилась иная проблема - отсутствие возможности адекватно оценивать дистанцию между применяемыми предметами. и недостаточно крутые мои собственные наработки чтобы я мог добавлять такие фичи с лёгкостью.

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

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

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

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

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

>>28525
не. но разумеется я отлично знаком с этим подходом. миллион вагон вещей разумеется у меня было реализовано в виде данных и обрабатывалось одной функцией. например в проекте с бегающим человечком у меня был простенький менеджер баллистики который обрабатывал все сорты пуль. пули разумеется в массиве со структами, в потоке юнити рэйкастили вперёд, а потом в других потоках обрабатывались одной функцией.
103 528538
>>28534
Бляя... Сколько ещё предстоит выучить, чтобы создать игру Мечты! :с
sage 104 528544
>>28461
А вот такая. Если ты будешь всерьёз работать с ECS (я на работе закодировал целую игру на Entitas, сколько-то там миллионов закачек уже) - то очень скоро начнёшь мыслить в терминах данных и запросов к ним.
11982.jpg68 Кб, 200x262
105 528548
Закодировал игру на SendMessage. Начал думать как почтальон.
106 528558
>>28548
У меня для вас новая парадигма. Но я ее вам не покажу. Потому что у вас паспорта нет.
107 528559
>>28534
Что у тебя за плагин на вкладке mapatternedit?
108 528560
>>28544
В терминах данных и запросов к ним мыслит любой программист, программа которого активно работает с данными.
Все ещё непонятно, при чем здесь паттерн, завязанный на композиции, как я описал выше.
Сдаётся мне, ты наслушался баззвордов из рекламных видосов юнитеков.
sage 109 528562
>>28560
Вообще то я занимаюсь ECS уже третий год, задолго до того как Юнити решили очередную фичу, которая никогда не будет доделана, добавить. Игру шипнули до того как Юнити что то публично выложили.
Типично при ООП ты думаешь в терминах данных объекта и какие манипуляции ты проделываешь над объектом, что объект делает. Не про состояние игры в целом и как ты это состояние трансформируешь.
110 528573
>>28562
Чушь. ООП не вещь в себе, при ООП тебе ничто не мешает думать так, как эффективнее для поставленной задачи. На ООП 30 лет корпоративный бд-софт пишется и успешно работает.
При этом ООП универсален: есть классы, есть методы. Внутри методов можно ебашить код на любой парадигме, хоть на императивной, хоть на функциональной, хоть на сущностно-компонентной.
111 528575
>>28573
Я пожалуй, ещё раз повторюсь, ООП - каркас, ECS - одна из реализаций наполнения каркаса. Таким образом ECS - часть ООП. Сравнивать их все равно, что сравнивать печень человека с самим человеком.
112 528609
Почему NavMeshComponents идет отдельным компонентом а не встроенным в юнити.
113 528630
>>28406

>Точно нельзя? Даже с using?


Хоть с двумя using. Вызывать то оно вызывается только ошибку выкидывает
208-pop.png43 Кб, 410x505
114 528632
>>28457

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


Ну кстати для моей кокономики идеально бы подошла ECS если бы я с нее начал пилить. Потому что экономика это набор таблиц по сути, одномерных. БД то есть. А абстракции, наверно, можно и в ECS реализовать.

>>28461

>Какая база данных? Что ты пиздишь?


ECS предполагает хранить данные в виде таблиц, это формат баз данных.
115 528636
>>28630
Потому что работу с юнити апи нужно переводить в главный поток. В сайд потоках делаешь вычисления, в маин потоке обрабатываешь результат.
116 528644
>>28632

>ECS предполагает хранить данные в виде таблиц, это формат баз данных.


А есть LINQ для ECS?
sage 117 528653
>>28644
В Entitas очень годная система сборщиков (Collectors), можно создавать разные условия, типа "Всё что имеет здоровье, является игроком или монстром и не мертво", в реактивных системах ещё и дополнительным фильтром пройти.
>>28573
ООП значит объединение состояния с логикой с сокрытием состояния. Истинный ООП-код должен оперировать автономными агентами обменивающимися сообщениями (SendMessage в этом плане кстати ближе к Ъ-ООП). ECS это разделение состояния, не имеющего логики, и логики, которая не должна иметь в себе состояния. ECS это ближе к функциональному подходу, где игру можно описать как функцию от состояния, времени и ввода, отдающую новое состояние. Это достаточно разные вещи, но ничего не мешает использовать их вместе разумеется. Делать интерфейс на ECS есть форма мазохизма (в Tanki Online так делали, брррр). Ты можешь конечно использовать ООП-синтаксис для не-ООП кода.
118 528658
>>28538
а брось че там учить. гейдев это сорт исследовательской работы. к этому можно притупить имея минимум знаний и обрести их методически наступая на грабли.

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

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

>но можно охуеть делая это


+++
sage 121 528670
>>28658
Это именно набор таблиц, всё описываемое состоит из набора структурок. Каждый тип компонентов по сути таблица, а сама Entity это primary key. В иных реализациях даже такого объекта как Entity нет - чистый цифровой ключ по которому можно спросить систему "эй ты, объект 1337, ты кто?" и тот тебе выложит всё что в нём есть. Или давать запросы "дай мне все ключи к объектам содержащим такие и такие записи". Эдакий специфический упрощённый SQL.
niceBottom2.png2,4 Мб, 1477x827
122 528706
>>28644

>А есть LINQ для ECS?


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

>>28658

>добиться какой-то формы абстракции, но можно охуеть


Без абстракций как то хуево. Хз, может не привычно

А как быть со связями между компонентами? У меня классы имеют кучу ссылок на другие классы. В компонентах так можно или не тру?
sage 123 528712
>>28706

>А как быть со связями между компонентами?


Слабое место. Типично фигачат id другого компонента и всё. Сам id типично состоит из индекса и поколения, засунутых в 32/64 бита. Это кстати решает проблему уведомить всех кого надо про смерть объекта чтобы ссылки лишние не висели и проблему мёртвых ссылок - по такому id ты всегда можешь сказать что объект уже умер.
sage 124 528716
>>28712
Fix: id другой Entity.
125 528747
>>28706

>Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity


Может ли энтитас работать с годотом?
126 528749
>>28747
Или там жестко прибито гвоздями к monobehaviour?
sage 127 528757
>>28747
Может.
>>28749
Нет. MonoBehaviour нужен только для получения Start, Update и Destroy.
128 528761
>>28747

>>Entitas is a super fast Entity Component System (ECS)


>классы для компонентов


>super fast


смешно
129 528768
Юзаю Юнити с 2014
@
до сих пор не пойму, как блядь работает местный snap to grid

Оф.доки читал, очень уж скудно. Может кто пояснит, ибо заебался уже с не-модульными левелами.

* имею ввиду 3д
130 528770
Почони, будьте любезны, подскажите, как сгладить управление камерой на телефонах? Ставлю сенсу камере низко- слишком медленно двигается, выше - перескакиваю место, куда пользователь хотел бы прицелиться. Золотая середина отсутствует.
sage 131 528774
>>28761
Быстрей чем штатное юнити-говно по тестам.
sage 132 528775
>>28770
Управление камерой не на мыше это огромная область. tl;dr: нужно определять куда игрок скорее всего хочет смотреть и помогать ему. Например в шутане камера оказавшись на враге должна притормаживать в ожидании что игрок хочет прицелиться на врага. С кучей условий - типа если игрок вертит камеру быстро то он скорее всего не хочет прицелиться, а если стал притормаживать то скорее всего хочет.
133 528778
>>28775
Спасибо за пояснение, озадачил прям. А не знаешь, есть ли в ассетсторе ассет с реализацией? Хочется взглянуть на пример.
sage 134 528833
>>28778
Таких нет. Это довольно узкоспецифическая область, в интернете есть очень мало упоминаний как работает управление камерой в консольных шутерах - но это очень сложные системы. Большинство вообще не в курсе их существования. Вот отсюда можно начать: http://drstrangevolt.blogspot.com/2012/12/aim-acceleration-in-console-shooters-part1.html и адаптировать для мабилок.
135 528843
>>28833
Как будто побывал в масонской ложе, спасибо за просвещение. Думаю, обойдусь рэйкастом: луч попадает на enemy-> player фиксируется на нём, знания пока слабоваты.
136 528849
>>28843
Автовыстрелы еще сделай, а игрок просто для рекламных видосов нужен
137 529031
Если я в блендер сделаю модель и навешаю на нее всякие текстурки, прозрачность и т.д. это сохранится в юнити или нужно будет заново в юнити навешать текстуры и эффекты?
138 529058
>>29031
Заново, импортнется только часть и криво
139 529106
Узнал про практическую пользу от ECS. В будущем движке от Photon - "QUANTUM" симуляция работает на ECS. Движок детерминирован. По сети отправляется лишь ввод от игрока. Так что имеет смысл уже сейчас начать учиться мыслить в парадигме ECS для разработки сетевых игр следующего поколения.

https://www.photonengine.com/en-US/Quantum
140 529108
>>29106

>deterministic simulation without lockstepping


А это как?
141 529130
Юняч, помогай.

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

И всё бы было хорошо, если бы эти ребята жили в 3D. Я бы прикрутил навмеш и в хуй бы не дул, как говорится.

Но как это реализовать в 2D?

Можно, конечно, просто заставить их бампаться друг об друга, но не хотелось бы использовать динамику там, где она не нужна. Да и выглядит сие топорно.
142 529136
Как правильно экспортировать майя анимации отдельно от модели в юньку?
Если я импортирую модель с анимацией то все ок, но если пытаюсь сделать отдельно то ничего не работает.

В майе я сначала экспортирую модель без анимаций(скрин 1). Потом открываю файл с анимациями, делаю бейк, удаляю все меши, оставляя только кости(скрин 2). Экспортирую в fbx с анимацией.
В юньке создаю аватар из fbx с моделькой. Назначаю рандомную кость для rootNode.(скрин 3). А в fbx с анимацией ставлю этот аватар во вкладке rig.
Модельку немного пидорасит по оси y в процессе анимации, но анимация не та, некоторые анимации вообще польностью не работают.

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

Может ли это быть из за немного другой иерархии(скрин 2)?
144 529143
>>29138
Я бы тебе отсосал, будь я пидором. Спасибо.
145 529146
Вбросьте скрипт. Единственный с адекватным прицеливанием для смартфонов, но 15к$ требовать за 600кб - это нахальство, желаю автору рака.
https://assetstore.unity.com/packages/templates/mfpc-mobile-first-person-controller-54270
146 529147
147 529149
>>29147
Оно не автоматическое же, а работа с сенсором настроена чики-пуки. Стандартное говно ерзает, как припадочное.
sage 148 529166
>>29146

>15к$


Ты даун.

>измеряет качество кода в килобайтах


Вдвойне даун.

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


Трижды даун.

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


Просто ultimate имбецил.

Даже ссать на тебя зашкварно, просто съеби под шконарь и не пиши сюда больше.
149 529170
>>29166
А ты можешь? Ну напиши, раз герой такой, и запости со фри доступом. Я вот могу, но мне лень. Я ему 5 баксов и так занёс, он, наверное, от счастья кончил в очко твоей мамаши, быдло агрессивное.
150 529172
>>29166

>15к$


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

Мимо
image.png598 Кб, 600x693
sage 151 529175
>>29170

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


- раздался пронзительный голос со стороны параши.

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

Петух — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём банку сгущёнки.
изображение.png252 Кб, 1384x728
152 529176
>>29172
Охуительные, блядь, истории.
154 529182
>>29176
Окей, по ссылке я ясен хуй не переходил, беру свои слова обратно и ссу на того нищука с реквестом. 15 баксов это действительно немного.
155 529190
Может кто подскажет? Как сделать так чтобы текст на экран выводился побуквенно(с анимацией), весь гугл прочекал ничего толком не нашел.
156 529193
>>29190
Накодь сам, просто меняй компонент text, добавляя по одной букве.
157 529196
>>29136
Что за игру делаешь?
158 529201
>>29196
Иммерсив sci-fi шутер.
159 529208
>>29196
Это модельки из вахи. Просто мне нравится изучать и экспериментировать с красивыми модельками, а не бездушными кубами.

Пока в планах пильнуть часть того же dow это RTS если вдруг не знаешь с некоторыми фишечками из другого кириллоподелия Zero-K тоже RTS.

Почему работает анимация я так и не разобрался, так что бампаю реквест двачеэкспертов.

пост #159 писал какой-то мимохуй
15346773900690.png141 Кб, 600x842
160 529212
>>29208

>2019


>rts

161 529213
>>29208

>бездушными кубами


У кубов есть душа! Я куб - я знаю!
162 529215
>>29213

>Я куб


Надеюсь, перегонный?
163 529216
>>29213
Дефолтный надеюсь? Без нескучных материалов?
164 529218
>>29216
Не дефолтный, а классический. "Дефолтный" это ругательный эпитет, как "негр" или "женщина".
165 529219
>>29215
У перегонных редко бывает форма правильная. Еще и эмиссия повышенная. Смешение кровей до добра не доводит.
166 529220
>>29212
Все еще лучше чем стараться ради школьников, пожирающих любое йоба говно без разбору.
167 529223
>>29136
Может потому что анимация не переносится и нужно все в юнити анимировать.
1538074607.png80x80
168 529224
169 529236
Ребят, чёт я мучаюсь с колайдером сильно, может кто поможет. Кароч я не хотел возится с кубическими колайдерами и решил пользоватся меш колайдером, и у него есть конвекс и нормальный. Но нормальный не работает с другими меш колайдерами. Но мне очень понравилась его детализация, может кто знает как добиться такого же детального колайдера но чтобы он работал везде?
170 529244
Как скриптом сгенерировать mesh с множеством разных материалов? Как у отдельного triangle поменять материал?
171 529253
>>29244
Начни с базовых вещей
https://habr.com/post/194620/
172 529255
>>29236

> не работает


Бастует? Или ты жалуешься, что isTrigger задизейблен, когда convex выключен?

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


Только её врядли оценят пользователи. Игра на вкладке Scene это не совсем игра, никому кроме тебя (ошибаюсь?) крутой коллайдер не нужен. Еще учти, что динамическое инстанцирование скейленного меха с меш-коллайдером (конвексным) стоит до 200мс в погожий день.
173 529263
Обьесните долбоебу - нахуя вкрячивают этот нейстед префабс. Когда он существовал отдельно - хорошо, я его не трогал, такая-же лютая хуета от сторонних разрабов, как и ECSюнитеки любят прикупать себе конкретных разрабов, чтоб решали вопросы всякие, типа вашего Киеджиры, что рендерпайплайн и hdrp за них нахуячил в одно лицо, чувака, что эн-гую псиал, сейчас взялись за этих вот
Только у меня с конкретным нейстед префабсом был очень плохой опыт общения, когда пришел проект практически доделаный кем-то очень криворуким на допилить. И нейстед префабс доставлял мне адскую жопную боль, ибо при каждом маломальски изменении единообразного префаба, на которых и строилась архитектура - ебашил мне сохранение всех дочек внутренних, без моей на то воли.
Может обьясните - зачем он есть и в чем прелесть. Видосики от юнитеков и авторов ни о чем прикладном не говорят, а на форуме только темы касательно прикладного пользования без указания причины - нахуя это нужно
174 529264
>>29236
Тебе юнитеки пишут прямым текстов - нихуя коллайдер не риджидбадя, пока он не конвексный. по-моему самая первая пятая юнька начала на это ругаться. Онли конвекс. И возможность в свежих версиях этот конвекс покрутить ползунки. Бай зе вей - количество поликов на один меш увеличится с 256 на нормальное в ближайших обновлениях. Эдакий симплигон встроенный будет именно для конвексов
175 529267
>>29263
Ну смотри, допустим у тебя есть несколько префабов неписей, ну там бармен, уборщица, пьяница и т.д. И есть у тебя сотня префабов домов разных, и в каждом эти неписи в разных конфигурациях. И если ты захочешь поменять что-то в одном из неписей, то без нестед префабов тебе придётся менять это в каждом из сотни домов. Так что нестед префабы нужны, чтобы избежать подобной ебли.
176 529271
>>29263
Ты говоришь про нейстиед прифабес из ассетстора? Там пиздец кривые реализации. Это говно из говна в говне. А реализация от Юнитеков просто божественная.
177 529273
>>29271

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


>рекурсивно изменилось 99% проекта


вложенные префабы - это зло. вложенные префабы - это как наследование. все знают что наследование - плохо.
178 529286
>>29273
Ты скозал?
sage 179 529298
>>29263
Поменяй вид кнопок в интерфейсе на 100 экранов.
180 529305
>>29273
Я сталкнулся с подобным, не имея понимания - каким образом наследуются компоненты на обьектах и дочках.>>29298
>>29298
В чем проблема? пробежался по рекурсии, используя для поиска имена, накинул с ее помощью на каджую компонент, который поменяет любое тебе нужное свойство на новое. Изи 5 минут
181 529307
>>29267
Нахуя подобные вещи делать вообще в окне иерархии. Для подобной нели в любом же случае БД со свойствами, или для убогих - скриптбл обджекты. хуяк-хуяк, сериализовали - збс.
Нужен немного другой пример, ибо видя задачу вспоминаю решение или костыль. Можно больше абстракции
182 529308
>>29263

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



Может дело в том что ты недоразвитый долбоёб с однопотоком головного мозга в 2к18, у которого игры не тормозят только на топ пеках и топ-смартфонах и ты не можешь учиться в соверменные и актуальные парадигмы и приёмы?
183 529310
>>29308
Причем тут нейстед префабс?
184 529311
>>29310

Потому что ты дебич-шизик не могущий ни во что кроме MonoBehaviour и тормоза на >50 объектов+одноядро долбится в соточку.

То тебе ECS не нравится, то тебе Job System не нравится. А долбиться в соточку тебе нравится.
185 529312
>>29308

>Господа, нахуя ввели теплое?


>КАКОГО ХУЯ ТЕБЕ НЕ НРАВРАВИТСЯ МЯГКОЕ?

186 529314
>>29307
Это нужно для дезигнеров, не могущих в кодинг, чтобы всё в окне иерархии делалось.
187 529315
>>29311
И че ты доебался? Про многопоточность я топлю еще с ранних беток изучить и побаловаться с этим делом успел и заценил и уже юзаю, благо было время между проектами, и удалось прикрутить к ml-agent, где потоки пиздец как нужны.
Ебать ты дикий...
Я про конкретный нейстед префабс, который не имеет к сабжу обсуждаемого отношения
188 529318
>>29314
Спасибо. Вот ты адекват и все разложил.
закрыл глаза, представил Задорнова, произносящего в адрес дезигнеров "инсектором! ну-ту-пы-ые!". Даже попустило
189 529319
>>29263
Потому что можно создать префаб человека (с анимашками), можно создать префаб винтовки (умеет стрелять) - и сделать префаб человек-с-винтовкой. Так же можно создать префаб гранатомета. И создать префаб чеовек-с-гранатометом. При изменении человека будут меняться оба солдата. И еще засунуть 10 prefab variant'ов "ракетницы" рядом с префабов машины и получить префаб "ракетная установка". При изменении гранатомета будет изменен и гранатомет, и ракетница, и ракетная установка.
190 529321
>>29307
Напомни, через сколько месяцев после релиза у "this is the police" появилась песочница? Часто из кодом создаешь анимации (не крутишь их, а именно создаешь)?
191 529325
>>29321
Яебу кагда когда она вышла, что ты подразумеваешь под песочницей, и нахуя там анимации из кода. Братиш, ты говоришь какие-то странные тезисы, которые не все обязаны знать. Если знаешь что и как - тупо пиши, а не задавай странные вопросы, которые никому ничего не объясняют, а только выставляют тебя странным типом с манией величия
192 529327
>>29319
Ну, тогда посмотрим. спасибо
193 529328
>>29319
А потом ты соснёшь, когда человеку нужно будет сменить оружие.
194 529349
>>29328
Дада, никогда не забуду, как пехотинцы в старкрафте шли в штыковую, когда патроны кончались. А, нет, это ты обосрался.
195 529354
>>29349
А ничо, что в старкрафте патроны бесконечные?
196 529357
>>29354
Другие аргументы против твоего обсера? Все в курсе, что бесконечные, там и штыковую я тоже сам придумал
изображение.png191 Кб, 360x308
197 529362
>>29354

>А ничо, что в старкрафте патроны бесконечные?



Попизди мне тут ещё, сука.
198 529366
>>29255
Я жалуюсь что два серх детальных меша друг с другом не работают, когда очень хочется.
Ух, 200 мс это больно. Так что получается, вы все делаете конструкцию из кубов вместо меша? Как вы делаете свои детальные колайдеры? Или вы их не делаете? Алсо можно ли использовать istrigger как колайдер? Если да то можно пример кода пожалуйста? не кричите чтобы я загуглил, я прост в гугле на эту тему запутался
199 529370
>>28670
тебе квадратно-гнездовой способ мышления не мешает?

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

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

чтобы ловить коллизии с коллайдером есть специально отдельный код.
200 529380
>>29366
Конвекс или его подобие из тридередактора. Деградировавшая моделька отвечающая за физику там-же где лежит основная
Ты в майнкрафт переиграл
201 529383
>>29366
Я делаю так, чтобы модельки падали и ударялось прикольно, чтобы глаз не резало. Очень заебывает 10-30 кубов на модельке настраивать. Есть какой-то плагин, который автоматом кубы генерит, но со сложными фигурами (пикап с пустым задним отсеком) он справляется только очень большим количеством кубов (а 100500 кубов, я уверен, выльются опять же в потерянные кадры).
202 529387
>>29383
Почему кубы то? Кстати у кубов коллайдер очень странный и неправильно отрабатывает физику. Была задача сделать хват предмета физикой через джоинты и форсы (для виара) в итоге все отрабатывает правильно, включая конвексы, а кубы распидорашивает. Мешколлайдер такого-же куба даже без сабдивайда сетки дает нормальный результат. Оказалось, что у них вертексы физ. взаимодействия однонаправленные(наружу) а у всего остального - нет, и если мы что-то с большим усилием погружжаем в куб - он ебется, а остальные честно отрабатывают. Юнитеки в курсе, но зачем они так сделали - не понятно
203 529389
>>29387
Интересно. В плане перехвата пуль и падения объекта у меня с кубами все норм. А с кубами в жоинтах, гришь, проблемы возникают? Спасибо, буду знать.
204 529391
>>29389
Они там есть в принципе. Усилие приводящее к проходу сквозь коллизию вызывает не желание обьекта под собственной массой форснуться из куба в ближайший вектор до поверхности, а ждать пока следующие вертексы физики начнут взаимодействие друг с другом. Можешь провести эксперимент и захерачить предмет в куб юнитевский и заценить, покадрово - куда его херачит. и так-же сделать с кубом-мешем. Разница огромная
205 529400
>>29391
>>29383
Понял, то есть надо пользоватся конвексами, а там где надо что то точное так строить пирамиду из кубов? Кстати можешь дать название такого бесплатного строителя?
sage 206 529401
>>29305

> В чем проблема?


Вот в этом:

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

sage 207 529402
>>29370

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


Нет. Я им наслаждаюсь.
208 529414
>>29400
Интеграция фич в юнитях

>Сначала юнитеки купили NGUI


>Потом юнитеки купили keijiro


>Потом купили ECS


>Купили Nested Prefabs


>TextMeshPro



А еще они купили пробилдер и кинули в народ. Пользуйся! https://blogs.unity3d.com/ru/2018/02/15/probuilder-joins-unity-offering-integrated-in-editor-advanced-level-design/
209 529453
>>29253
Это я уже всё это делал. Как разные текстуры на разные треугольники одного меша наложить?
PleaseSendHelp.webm1,7 Мб, webm,
731x582, 0:32
210 529455
Памагити пожалуйста. Сделал кастомный эдитор суть которого в ВебМрелейтед. Проблема в том что при изменении префаба изменяются те его экземпляры, у которых spriteIndex помечен как неизмененный. Как можно этого избежать? Может, как-то пометить эту переменную как измененную?
Алсо, в новых Nested Префабах это будет правильно работать? Не спешу обновляться, но если это надо будет сделать для великого дела изменения тумбочек, то я готов.
1538162692.png8 Кб, 487x382
211 529460
>>29455
Немношк потерпи, пока качается юнити кетчуп.
212 529464
>>29455
В ящике слева ты задал значение - при изменении префаба юнити... эм... изменило значение префаба. А переопределения остались переопределениями. Ну, в этом суть префабов. Скажем так: в префабе дефолтные значения, на сцене интересные значения.
213 529466
>>29460
unity hub установи уже
214 529470
>>29464
Имеется ввиду работа в инспекторе - раскидал, забыл про брейк префаб инстанс и... пизда, че. И да, есть варик завести скриптбл обджект, где хранятся как раз вот эти состояния по типам, и играться с ними, через обращение из твоего скрипта экзекьютеблом в едиторе
215 529472
>>29466
И что будет? Боздо подарит мне скоростной интернет?
216 529481
>>29470
Никакой "брейк префаб инстанс", как правило, не нужен, т.к. тогда эффективность префабов обнуляется. Есть вариант, задавать "интересное" значение равным "дефолтовому". Но так себе вариант - от "брейк префаб инстанс" отличается несильно. Вариант юзать как можно больше prefab variant'ов - кусок говна, т.к. у тебя удобный ползунок для смены спрайтов. Ну, млин, получается что нужно аккуратненько и лишний раз префаб не менять. Можешь для страховки использовать правило "использовать на сценах только prefab variant'ы". Эх, нету в мире совершенства - если хочешь, я могу убить тебя, чтобы ты не мучался.
217 529485
>>29481

>Эх, нету в мире совершенства - если хочешь, я могу убить тебя, чтобы ты не мучался.


Лучше поставить ГОДОТ. Там полноценный инстансинг префабов (сцен), включая нестед любого уровня вложенности.
sage 218 529489
>>29485
Ты даже не смог понять суть проблемы, но выпрыгиваешь: ПОСТАВЬ ГОДОТ ПОСТАВЬ ЕГО ПОЛНОСТЬЮ - ты не черт из табакерки, ты не очень разумный школьник.
VeshestvennoeDokazatelstvo.webm692 Кб, webm,
659x495, 0:16
219 529500
>>29481
>>29470
Если я двигаю ползунок с дефолтного значения, а потом возвращаю его на прежнее то переменная становится "интересной" и изменение префаба её не затрагивает, хотя по факту значение остается таким же. Я плохо представляю как юнити работает под капотом, поэтому пока не знаю как это имитировать в коде. Попробовал корутином переставлять значение на -1 и обратно - не помогло.
220 529502
>>29489

>Ты даже не смог понять суть проблемы


Ты тоже не смог понять суть проблемы. Инстансы сцен годота в отличие от префабов на вебм, могут переопределять общие значения переменных для себя. В отличие от того, что показано на вебм. Переопределяют значения любых параметров, установленных в сцене-префабе и это переопределение не влияет на другие инстансы. Но изменение параметра в корневой сцене всё еще затрагивает инстансы, если этот параметр не переопределен. Юнити сосёт не разгибаясь у опенсорца.
221 529507
>>29502
в юнити так-же
222 529513
Оказывается, есть способ изменить название сериализуемого поля, не потеряв при этом его значения. Для этого нужно использовать атрибут, а потом убрать его кек:
[FormerlySerializedAs("old name")]
223 529522
>>29455
Мне вот одно непонятно. Чего ты блядь пытался добиться нажатием apply?
224 529523
>>29500
https://docs.unity3d.com/ScriptReference/PrefabUtility.DisconnectPrefabInstance.html
Можешь еще посмотреть другие функции в PrefabUtility, мб пригодятся
225 529535
>>29522
А чего обычно добиваются с его помощью? На видосе видно, какой ебанутый эффеки у нас происходит при сохранении префаба
226 529546
>>29502
Инстансы могут переопределять общие значения переменных для себя - это показано на вебм. Изменение параметра в корневой сцене всё еще затрагивает инстансы, если этот параметр не переопределен - это тоже есть. В юньке инстанция префаба может жить не только на сцене, то и внутри другого префаба (насколько я тебя понял, годот так тоже умеет). Еще в юньке есть prefab variant'ы и save/load настроек компонента, чего нет в годоте. Использовать менее функциональный инструмент не очень идея. Про суть проблемы: нашему строителю тумбочек это не нужно.
227 529593
Аноны, посоветуйте годный кит для UI а-ля РПГ. С инвентарём и прочей поебистикой.
Capture.PNG119 Кб, 698x459
228 529594
Как поменять background color эдитора, как у этого петушка на скрине?
229 529595
x-bar.png601 Кб, 1400x1050
230 529596
>>29595
Не обязательно. На гитхабе давненько видел репозиторий, где человек клепает кастомные шкурки для редактора. Хотя это на совсем любителя тема
231 529597
>>29596
>>29595
Забыл уточнить, что только под винду
232 529601
Короче делаю вот это https://www.youtube.com/watch?v=q-r1YJzj28M
В окне игры как по умолчанию один спрайт накладывается на другой, но в окне сцены всё работает как на видео. Чяднт?
233 529671
>>29601
Тебе же все видео твердят про сортинг груп. https://docs.unity3d.com/Manual/SortingGroup.html Если с чем-то сталкиваешься - сразу лезь в документацию, а если там нет, гугли на юнитиансверс, пока их не полюбишь

Умничка, что изучаешь по оф. туториалам, а не говнокодерам с ютюба(есть пара хороших ребят, но это только те, на кого сами юнитеки подписаны). Все бы так начинали...
2.jpg82 Кб, 700x634
234 529711
>>29671
Так суть в том, что в сцене всё работает нормально, но в игре не работает вообще, пикрелейтед. Сортинг групы само собой проставил. Да и раньше я уже такое делал тащемта, всё было ок.
235 529974
Есть задачка запилить клиент-серверную игру не используя unity-network. Что посоветуете попроще? Photon?
1538421233405.png147 Кб, 475x624
237 530002
Почему при активном компоненте rb2d нельзя поменять order in layer? На обекте висит 2 триггера и 1 коллайдер.
238 530009
>>29974
Тебе реалтайм нужен или только запросы?
239 530012
>>30009
Реалтайм
240 530025
>>30012
Что-то полноценное или индюшатина для себя?
241 530028
>>30025
Просто демка. Только надо считать все на сервере, от клиента только ввод брать (и графон показывать)
242 530031
>>30028
А почему на unet триггер? И это все-таки игра или что-то стенлово-выставочное?
243 530032
>>30031
Сервер нужно сделать отдельно, не на юнити
unet так не может, насколько я знаю
244 530040
>>30032
Пиши тогда на чем знаешь - джанго, нода, руби, аспнеткор. Не понимаю, что значит в твоем понимании - что есть "попроще"
245 530041
>>30040
На c# надо. Движок какой посоветуешь или мне ручками в сокеты долбиться?
246 530043
>>30041
Движок на шарпе... Ну пиздец теперь. Ебись если хочешь c asp.net core, но есть вероятность что быстро без навыков серверного охуеешь. Но если думаешь, что знаешь шарп - флаг тебе в руки открою тебе тайну, шарп юнитевые разработчики не знают и имеют лишь общие и ограниченные представления о нем
247 530057
Когда новый скин для редактора завезут?
248 530065
>>30032
Либо Lidgren.Network, либо Photon Server, если тебе нужна готовая система с мастер сервером, который запускает инстанцы и держит связь с другими серверами.
ecs.jpg116 Кб, 1286x542
249 530076
tenor.png270 Кб, 540x410
250 530078
>>30076

>8:14:44

251 530080
>>30078
По ссылке открывается сразу про ECS. Если до тебя не дошло.
252 530081
>>30080
Это то же самое что и на хабре?
253 530083
>>30081
Отчасти.
254 530084
>>30076
ECS - сила, ООП - могила. Буквально неделю назад я копротивлялся за ООП, но тут почитал пару статей и ПРОЗРЕЛ!
255 530085
>>30084
ЕКС актуален только для сетевых дрочилен.
256 530089
>>30085
И для крупных игор с открытым миром и обилием контента.
257 530092
>>30076
Вот здесь уже рассказывается о ECS и других фичах от юнити разработчика
https://youtu.be/GFb84n9gz94?t=4h31m37s
258 530094
>>30092
Он так говорит, будто ИСИЕС это будущее разработки, всё будет на ИСИЕС. Ага, конечно.
ecs.jpg164 Кб, 1280x721
259 530096
260 530097
>>30096

> смириться с тем, что многое недоступно


> ради выигрыша в 0,05 микросекунд


Ололо! ЕЦСблядей ебут уже в открытую.
261 530098
>>30097
Они, кстати, рассказали, что это пока низкоуровневая реализация. Потом они будут пилить высокоуровневую, которая будет такой же удобной, как обычные монобехавиоры.

ЕУЧ сосёт с его отсталой архитектурой из 90х. А больше движков и нет.
262 530125
>>30094

>Он так говорит, будто ИСИЕС это будущее разработки, всё будет на ИСИЕС. Ага, конечно.



Это уже настоящее для всех крупных контор, которые прошли путь от ООП головного мозга и XRay-engine середины 2000х подобных движков, вдоволь наелись говна с ООП и консолями прошлого поколения, поняли что без Data-oriented design в AAA никуда и прикрутили его к ECS. Уже скоро как 10 лет основная архитектура всех современных крутых игорь с графеном - ECS.

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

Поэтому у них в лучшем случае пупки получаются, в которых на топ пекарне нужно на минималочках играть шоб нитармазило.
263 530126
>>30125

>и XRay-engine-подобных движков середины 2000х

264 530244
>>30098
Крайенджин на ecs работает(которую год как знатно обновили). Даже первый сурс на нем был.
Переучиваться прийдется всем и походу это реально бужет стандатом. Но скорее всего это будет плавно и в течении минимум года(как когда делали переход только на шарп, убирая js и boo
265 530251
>>30244
Никогда этот ограниченный процедурный понос не будет стандартом. Его область применения - это оптимизация алгоритмов. Все.
266 530252
>>30251
Есть твои вскукареки, а есть слова разработчиков из юнити. Это станет новым стандартом. Ещё они встроят екс в их новую сеть.
267 530253
То, что в unity - это вообще ограниченная версия ECS с которой ничего нельзя сделать. Там можно только сделать выборку по типу компонентов и все. Нахуй это нужно, если можно объявить массивы в MonoBehaviour и написать обычный процедурный код без ебли
268 530254
>>30252

>а есть слова разработчиков из юнити


Знатные пиздаболы. Их слова надо на 10 делить.
Будет очередная заброшенная технология. Лет через 5 анонсирует новый ECS опять, если к этому времени юнити не издохнет.
269 530258
Энтитидауны Школьники ОРХИТЕКТУРЩИКИ захватили тред, пиздец, я думал хуже в юнититредах уже не будет.
270 530286
>>30254
Юнитеки - ребята пиздатые и вообще ниразу не пиздоболы. Ричителла - неебаться управленец, и для роста акций продукт, что они реализуют обрастает фичами такого толка, что разрабы готовы переходить с других движков, видя удобство сейчас и на перспективу. А это привязывает кучу народа к другим сервисам экосистемы - унеты всякие и юнитиэдс. Почему, думаешь, скупают этих всяких самородков, которые делали топчик ассеты для стора и keijiro?
271 530290
>>30251
Так и про реактивное программирование говорили и про функциональный подход, и MVC, когда он появился(не про геймдев речь, а в целом)
272 530292
>>30258
Люди постигшие дзен геймдева понимают, что любую игру можно сдделать используя только передачу сообщений и behaviour tree
273 530294
>>30286
Тебя тоже скупили, самородок?
274 530296
>>30294
Как будто ты не знаешь, о чем я
275 530318
Я могу как-то реализовать чтобы при клике на объекте в иерархии выделялся не сам объект, а все его дочерние объекты с определенным компонентам на них?
276 530322
>>30318
не... зато можешь пробежаться по дочерним обьектам и заполнить ими массив с нужным тебе компонентом
277 530326
>>30292
Что ты делал прошлым летом? Где ты был год назад? Хотя, я бы и сейчас почитал толковых статей, чтобы колхозить поменьше.
278 530327
>>30318
не... зато можешь выделить их по-одинчоке, зажав ctrl
279 530340
>>30318
Да.
280 530368
>>30340
Как?

>>30327
Это я знаю, долго и неудобно, когда я делаю какой-то эффект удобнее делать particleSystem дочерними элементами пустого объекта. И хотелось бы выделять их все при клике на пустой объект.
Делать вложенными сами партикл системc неудобно, если хочешь каждую по отдельности смотреть.

Я так понимаю что могу сделать кастомный инспектор с кнопкой и при клике добавлять нужные мне объекты в Selection. Но мне интересно могу ли я как-то перехватывать выделение нужного объекта и вместо него добавлять в Selection то, что мне нужно?
209.png258 Кб, 1019x553
281 530369
А я могу в решение юнити (*.sln) добавить второй проект, причем второй - не на юнити а windows form?

Прост я хочу чтобы эти два проекта использовали общие классы, а с dll пердолиться не хочу.
282 530395
>>30369
Добавил, и на уровне ms vs код видит классы из другого проекта. А юнька чет не хочет видеть. Она только из Plugins видит связи?
sage 283 530408
>>30251
Это стандарт для ААА уже не первый и не второй год.
sage 284 530409
>>30286

>вообще ниразу не пиздоболы.


Где их Server Library, чтобы делать сервера на UNET без необходимости запускать Юнити, которую обещали в районе 5.3? Нету. Они обещали расширять свою серверную библиотеку? Обещали. Где она? Нету, они кинули всех и пилят какую то новую пиздецому которую точно так же забросят. Потому пиздаболы.
Ах да, про баги в критических элементах вроде ломающихся через версию канвасы находящиеся внутри других канвасах (критично для производительного UI!) я вообще молчу. А ещё у них был фундаментальный баг когда запечённый и сохранённый в проекте свет на одной платформе пропадал при сборке на другой - они вообще ответили по багрепорту с минимальным примером где то через 4 месяца. Не просто пиздаболы, а пиздаболы-говноделы.
sage 285 530410
>>30369
Не стоит - проектные файлы генерируются и вообще не должны идти в контроль версий.
286 530452
>>30368
Ты можешь рекурсией или просто по нужными тебе компонентам пробежаться файндом и экзекьют ин эдитормод заинстансить единожды нужный тебе префаб при указанном парэнте. Изи же
287 530463
>>30410
Кароч я поебался, теперь у меня 2 солюшена и 3 проекта: Юнити, Сервер на виндовс форм и Common который билдит длл с описанием общий классов. Все правильно делаю?
288 530465
>>30463

>Сервер на виндовс форм


Это легально вообще?
289 530469
>>30465
Даже на ГТК# легально. Даже на УЕЧе. Даже на Godot.
290 530482
>>30465
Я щас еще начну все сериализировать в XML и кидать бродкастом, вызывай полицию
sage 291 530489
>>30482
Ты такой удивишься когда откроешь что грузить уровни из xml быстрей чем обычной сценой.
292 530513
>>30489
Говнокоду юнитеков уже давно никто не удивляется.
293 530564
>>30452
Врядли ты читал мой пост. Я спрашивал можно ли как-то перехватить клик на объекте в эдиторе. Мне не нужно ничего инстантить.
294 530631
Котоны, а как можно сделать, чтоб визуализация текста, например Text mesh pro, управлялся с помощью партикл систем? Можно сделать материал, чтоб он использовал текст как текстуру?
295 530633
>>30043
А используемый в юнити шарп полноценный или нет?
296 530679
>>30633
Он у них отстаёт от последнего апдейта (или что-то вроде). Например, туплей нет, надо либо самому их делать, либо выкручиваться, если приспичило тупли использовать. Несущественные мелочи.
297 530712
>>30631
Бамп вопросу.
sage 298 530719
>>30631
Рендеришь в текстуру, текстуру в партикли.
299 530736
Платиновый вопрос от очередного вкатывальщика не программиста. С# или юнитискрипт учить?
300 530739
301 530740
>>30719

>Рендеришь в текстуру


Не подскажешь как это сделать?
302 530741
sage 303 530748
>>30740
Руками.
304 530751
>>30736
Второй поциент разве сейчас существует?
305 530752
>>30631
Переформулируй
306 530756
>>30748
Я уже без тебя разобрался. Спасибо
307 530757
>>30752
Вот то, что я хотел. Может есть более оптимальный вариант реализации сего?

https://www.youtube.com/watch?v=E2AA-EgjbIw
308 530759
>>30757
Меня смущает вторая камера, потому что-то я клепаю своё ДЕТИЩЕ на андроид, и когда-то начитался от ахуевших гуру сеньёров юнити, что якобы использовать вторую камеру приравнивается к смертному греху и в приличном обществе за такое бьют в ебало. Вот я и комплексую по этому поводу. Хотя, конечно, я всё уже затестил и пока стабильные 60 фпс на телефоне.
309 530764
>>30759
Вторая камера вроде бы юзается для создания минимапов, т.е. показывается область сверху, на врага вешается префаб красный шарик, на игрока синий шарик, потом после хитрых манипуляций со слоями сцены, разрешаем второй камере рендерить только слои с шариками и общим лэйаутом уровня - чтобы сцена не рендерилась два раза целиком. А основной камере запрещаем рендерить слои с шариками и лэйаутом, как-то так.
310 530846
Сделал я отсылку данных с сервера на клиент (прост сериализую карту и шлю)

Но как мне слать команды с клиента на сервер? В буквально текстовом виде как то не айс "отправь этот юнит туда то".

Завести класс Command или как принято?
311 530862
>>30846
А что официальные туторы говорят? Там были какие-то спец. инструкции для полей.
312 530874
>>30846
json?
313 530875
>>30846

>Но как мне слать команды с клиента на сервер? В буквально текстовом виде как то не айс "отправь этот юнит туда то".



Придумай протокол@пердоль.

Вот пример:

https://bitbucket.org/l2jserver/l2j_server/src/0ac4798f7ff255722115defef24b73e2d5522765/src/main/java/com/l2jserver/gameserver/network/clientpackets/?at=develop
314 531250
Придумываю архитектуру для карточной игры. И кажется что ECS подходит для этого идеально.
Простите меня, ООП-братушки. Кажется я перехожу на темную сторону силы!
315 531252
>>30862
>>30874
>>30875
Сделал класс Command и сериализую его
316 531253
Какой FPS ассет посоветуете? Говорят что UFPS говнище в красивой обёртке, это так?
317 531256
>>31253

>Какой FPS ассет посоветуете?


ЕБЕТ ЭТО ЧТОЛИ??? СУКА БЛЯТЬ ВОТ ЗА ТАКИЕ ВОПРОСЫ У МЕНЯ УБИВАЮТ В ТРЕДЕ НАХУЙ!
318 531282
>>31250
esc подходит идеально почти для всего лил
319 531289
>>31256
Не бомби ты так, не у всех есть время копаться в сторе и вылавливать годные ассеты.
ss1-med-975cbaf0ad0d112e7665728d494a62a8764679fa76546c390af[...].jpg114 Кб, 720x450
320 531328
Как бы вы сделали игровой цикл в карточной игре?
Ну то есть начало хода, получение карты, выбор карт.
321 531329
>>31282
Нет. Просто в картах удобнее сделать просто данные, чем городить поведения для каждого эффекта. По крайней мере мне так показалось.
322 531333
>>31328
В смысле архитектуры?
323 531338
>>31333
Да. Как это сделать в коде. SendMessage? корутины?
324 531339
>>31338
Я бы сделал визуалку отдельно, логику - отдельно, сеть - отдельно.

Т.е. игрок делает ввод данных, возникает событие, все кому надо на него подписались и отрабатывают. Логика про существования визуалки даже не знает. C# события. Корутины разве что для анимации какой.
325 531340
>>31339
И именно поэтому визуалку никак в ХС не пропустить и не ускорить, хотя всем уже сколько лет хочется. Визуалке и логике нужно друг об дружке знать, все потуги разделить их есть ошибка - в конце концов ввод игрока зависит от визуалки, он не общается с логикой напрямую.

Буффер команд надо делать как в файтингах. И кверю с первый входит первый выходит.
Вызываешь начало хода одного игрока, апдейтятся статы через корутину, в которой вейт пока переменная конца анимаций не станет тру, в конце корутины вызывается корутина с самим ходом игрока, в которой вейтится нажатие конца хода. Когда нажимается, вызывается начало хода другого игрока.
326 531341
>>31250
ECS - это один из паттернов ООП, назывался композицией до того, как ньюфаги придумали ему новое модное базз-имя. Так что никуда ты не переходишь, братушка.
327 531345
>>31340

>ХС


Що се теке?

>>31340

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


Чет звучит плохо. Это ты УСЫ изобразил?

>>31340

>Визуалке и логике нужно друг об дружке знать


Ниет. Визуалку геймдизайнер сломает, логика вообще на удаленные сервера в гонконг уедет. Для годного дизайна - надо разделять. Попытки оптимизировать перформанс таким образом - смешны. особенно когда игры нет. И внутри логики и визуалки надо все разделять.
328 531347
>>31340
То бишь так сделать:
Логика эффекта карт, которая лежит в буффере и которая связана с визуалкой, чтобы не ебаться с ускорением/пропуском ходов и т.п.
Логика добавления эффекта карты в буффер
>>31345

>логика вообще на удаленные сервера в гонконг уедет


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

>оптимизировать перформанс


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

>такая архитектура


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

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


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

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


Что значит "не выдрать" вообще? У меня такая цепочка вместо разделения логики и графона. Ты думаешь я что, для каждой абилки программно графон и логику прописываю? Нихуя вообще, у меня поддержка моддерства, всё в скриптах во внешних файлах прописано. Очевидно, что это НЕ вермишель, если возможно в такую систему вписать новую абилку с новым скриптом и новым графонием просто из текстовика.
332 531370
>>31328
Было бы круто, если бы я играл в карточные игры и знал, о чем говорю.
Вот есть ход. Ход это игрока, или ход ИИ, или ход игрока-за-сеткой: без разницы - делаем Ходильщика, унаследованного от Unit(точнее, нужен public ActionReceiver getActionReceiver, но с ним писанины кратно больше). Список ходильщиков держим в PartyController и итерируем, пока у одного из ходильщиков не случился .isPartyWinner.
У ходильщика случился ход. Он может: кинуть карту на лоток, нажать спец. действие (-3 всем роботам противника), нажать конец хода сделать что-нибудь. Из синглтона partyController вызываем у tekuwiyHodilwik.nextAction(this) (если вернулся false - делаем this.endTurn()).
Внутри .nextAction решили, что нужно кастануть "Уебать всех роботов врага" - дергаем myPartyController.castSpell(actions).
Каждый Action должен уметь понимать кого можно трогать (FilterRule_ByRase : FilterRule ... public List<FilterRule> canTouch) и кого трогать не стоит (FilterRule_ByOwner : FilterRule ... public List<FilterRule> refuseTouch). Массив юнитов не держим. Держим массив плейсхолдеров: Placeholder_CardOnDesk, Placeholder_CardInPacket, Placeholder_Hodilshik, ... Бегаем по плейсхолдерам. Placeholder вернул true из .canReceiveAction(action): итерируемя по Unit'ам из .getUnitsForAction(action). Например, нам вернули магический-щит-над-орком и самого орка (оба унаследованы от Unit, а точнее имеют getActionReceiver). units[0].runAction(action) сделает action.damagePoints-=10, а units[1].runAction(action) вернет false. И тут пора бы еще раз дернуть .nextAction, но...
Но у нас есть анимашки. Точнее, для игры они нужны, а для каких-нибудь юнит-тестов и просчета баланса визуальная часть не нужна. У ActionReceiver создаем public Visualizer visualizer и public GameObject visualizerAnimationLivesHere. Собственно, если visualizer у нас не null'овый - инстанцируем некий префаб с некими анимашками и сохраняем его в visualizerAnimationLivesHere. Запускаем все итерации как сразу по получению команды, так и по Update - покуда кто-то (из ActionReceiver'ов) имеет visualizerAnimationLivesHere!=null делаем return, если null у всех - считаем действие выполненным.
Идем на следующий .nextAction. Решили выкинуть карту. Тоже экнш, применяется к первому-не-пустому Placeholder_CardOnDesk, но с проверкой на .blockAction(action) (и там тоже нужен ActionReceiver+Visualizer, который покажет: "Нельзя использовать пиратов и английскую королеву одновременно"). Положили карту на стол со всеми теми же visualizerAnimationLivesHere.
.nextAction вернул-таки false. Делаем конец хода. По-одному берем каждый плейсхолдер из Placeholder_CardOnDesk, Placeholder_Hodilshik, дергаем у него .getEnemySlotForAttack (если занятого вражьего Placeholder_CardOnDesk нету, то возвращаем вражий Placeholder_Hodilshik; да, конечно, тут логика потяжелее, но я уже заебался печатать), берем .getUnit (если кудаАтаковать и когоМогуАтаковать связаны - ну блядь делаем общий метод, усложняем логику), делаем ourDearUnit.atack(toSlot, toUnit) (Action+ActionReceiver?+ActionVisualizer+Update).
Когда все атаки проитерированы - переключаем ходильщика.
332 531370
>>31328
Было бы круто, если бы я играл в карточные игры и знал, о чем говорю.
Вот есть ход. Ход это игрока, или ход ИИ, или ход игрока-за-сеткой: без разницы - делаем Ходильщика, унаследованного от Unit(точнее, нужен public ActionReceiver getActionReceiver, но с ним писанины кратно больше). Список ходильщиков держим в PartyController и итерируем, пока у одного из ходильщиков не случился .isPartyWinner.
У ходильщика случился ход. Он может: кинуть карту на лоток, нажать спец. действие (-3 всем роботам противника), нажать конец хода сделать что-нибудь. Из синглтона partyController вызываем у tekuwiyHodilwik.nextAction(this) (если вернулся false - делаем this.endTurn()).
Внутри .nextAction решили, что нужно кастануть "Уебать всех роботов врага" - дергаем myPartyController.castSpell(actions).
Каждый Action должен уметь понимать кого можно трогать (FilterRule_ByRase : FilterRule ... public List<FilterRule> canTouch) и кого трогать не стоит (FilterRule_ByOwner : FilterRule ... public List<FilterRule> refuseTouch). Массив юнитов не держим. Держим массив плейсхолдеров: Placeholder_CardOnDesk, Placeholder_CardInPacket, Placeholder_Hodilshik, ... Бегаем по плейсхолдерам. Placeholder вернул true из .canReceiveAction(action): итерируемя по Unit'ам из .getUnitsForAction(action). Например, нам вернули магический-щит-над-орком и самого орка (оба унаследованы от Unit, а точнее имеют getActionReceiver). units[0].runAction(action) сделает action.damagePoints-=10, а units[1].runAction(action) вернет false. И тут пора бы еще раз дернуть .nextAction, но...
Но у нас есть анимашки. Точнее, для игры они нужны, а для каких-нибудь юнит-тестов и просчета баланса визуальная часть не нужна. У ActionReceiver создаем public Visualizer visualizer и public GameObject visualizerAnimationLivesHere. Собственно, если visualizer у нас не null'овый - инстанцируем некий префаб с некими анимашками и сохраняем его в visualizerAnimationLivesHere. Запускаем все итерации как сразу по получению команды, так и по Update - покуда кто-то (из ActionReceiver'ов) имеет visualizerAnimationLivesHere!=null делаем return, если null у всех - считаем действие выполненным.
Идем на следующий .nextAction. Решили выкинуть карту. Тоже экнш, применяется к первому-не-пустому Placeholder_CardOnDesk, но с проверкой на .blockAction(action) (и там тоже нужен ActionReceiver+Visualizer, который покажет: "Нельзя использовать пиратов и английскую королеву одновременно"). Положили карту на стол со всеми теми же visualizerAnimationLivesHere.
.nextAction вернул-таки false. Делаем конец хода. По-одному берем каждый плейсхолдер из Placeholder_CardOnDesk, Placeholder_Hodilshik, дергаем у него .getEnemySlotForAttack (если занятого вражьего Placeholder_CardOnDesk нету, то возвращаем вражий Placeholder_Hodilshik; да, конечно, тут логика потяжелее, но я уже заебался печатать), берем .getUnit (если кудаАтаковать и когоМогуАтаковать связаны - ну блядь делаем общий метод, усложняем логику), делаем ourDearUnit.atack(toSlot, toUnit) (Action+ActionReceiver?+ActionVisualizer+Update).
Когда все атаки проитерированы - переключаем ходильщика.
333 531371
>>31370
Чтобы не было недопонимания. От MonoBehavior в таком раскладе вообще никто не унаследован. Как нарисовать карту-на-столе:
1. делаем у плейсхолдера список-карт-на-столе опциональный visualizer (разумеется, не ActionVisualier) который знает куда карты рисовать (задано мышкой в юнити) и знает какие карты рисовать из-за дабл-каплинга с плейсхолдером (да, блядь, прямо вот оба о друге знают, три программиста погибли, пассажиры в шоке).
2. делаем у карты опциональный visualizer (опять же, не ActionVisualier и не CardsListOnDeskVisualizer), который нашу карту рисует. кол-во здоровья, кол-во урона, все иконки рисуем отдельными компонентами, которые знают о юните.
334 531375
Антош, помоги пожалуйста, я тупой.
Есть код: https://pastebin.com/YAhFsa1B
insectPrefabsArray - 3 элемента, последние 2 пустые, первый префаб.

Если запустить все как есть, то все работает как ожидается:
Спавнится объект раз в 3 секунды.

Но если раскомментировать строчку 31 и закомментировать 32ю то начинается какая то хуйня, тогда у меня в первые 3 секунды спавнится 1 объект, во вторые 3 секунды спавнится 2 объекта, в третьи 3 секунды спавнится 5 и так по нарастающей. Из-за чего такое происходит?
По задумке должен раз в 3 секунды создаваться объект с шансом 1/3.
335 531376
>>31375
.isTimeToSpawn ставится в false только если свезет с 1f/3f - цепочка Update > SpawnInsect > StartCoroutine отрабатывает чаще.
Можешь SpawnCooldown выпилить и сделать
void Update() {
spawnEachSecondsTail -= Time.deltaTime;
if (spawnEachSecondsTail<0f) {
spawnEachSecondsTail = spawnEachSecond;
SpawnInsect(); // в котором нет вызова SpawnCooldown - 1f/3f будет без сайд-эффектов
}
}
336 531384
>>31340

>И именно поэтому визуалку никак в ХС не пропустить и не ускорить, хотя всем уже сколько лет хочется.


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

>Буффер команд надо делать как в файтингах.


Да, как то я не подумал про такое. Я сначала хотел все на одних сообщениях сделать. Но тут лучше сделать 2 абстракции: игровые эвенты и буфер команд. Тогда игровые эвенты генерирует команды и добавляют их в буфер, где они выполняются по очереди.
Безымянный.png22 Кб, 712x958
337 531395
Первая версия архитектуры ККИ. Но это не точно.
338 531402
>>31375

>По задумке должен раз в 3 секунды создаваться объект с шансом 1/3.


Нипонил. Раз в три секунды создаётся по одному ненулевому объекту в массиве (каждый с шансом 1/3) так, что раз в три секунды может создаться случайное количество объектов в диапазоне от нуля до количества ненулевых объектов в массиве?
339 531410
>>31375
Апдейт каждый фрейм, а isSpawnЧто-тоТам буля поглощается лишь в 1/3 случаев, тогда как корутина, эту булю создающая, случается всегда. Вот и получаешь примерно так:
первый фрейм выпадает 3 из 3, запускается кулдаун
второй фрейм 2 из 3, запускается кулдаун
третий фрейм 1 из 3, сжирается буля и создаётся инсект, запускается кулдаун
Через время кулдауна первого фрейма буля становится тру, снова происходит то, что выше
В следующий фрейм снова случается то же самое
И третий фрейм снова, итого 5 раз выходит, что тебе в дебаглог кулдауна запись внесёт
340 531414
>>31395
Хм, такая проблема. Допустим, игрок нажимает кнопку конца хода. Отправляется сообщение. Одна система проверяет карты и находит карту с эффектом конца хода и добавляет в буфер команд. Последняя система добавляет команду окончания хода.
Тогда в буфере такие команды:
1. Выполнить эффект
2. Конец хода.

Но возможно такое, что во время выполнения эффекта будут созданы новые сообщения и новые команды (например, это эффект убей существо, будет убито существо с эффектом при смерти), и тогда они будут добавлены в буфер после конца хода.
341 531416
>>31395
Нужно организовать игровой цикл через ECS. Тогда архитектура будет простой и понятной.
https://habr.com/company/pixonic/blog/413729/
342 531418
>>31414
Надо сделать буфер команд не очередью, а стеком. Тогда команда конца хода добавляется первой, а все последующие команды выполняются в порядке с последней добавленной по первую.
Нет ли тут каких-то подводных камней?
343 531420
>>31416

>Нужно организовать игровой цикл через ECS


Не понимаю. Как ты это себе представляешь?
У меня тут событийная архитектура. Это отлично подходит для карточных игр. Системы это просто подписчики на события, которые выполняются в заданной последовательности.
Я их называю системами, потому что они делают принципиально то же самое: фильтруют сущности (карты) по каким-то данным и выполняют код в зависимости от данных.
344 531442
>>31375
if(Random.value < 0.3f) { Spawn(); }
345 531449
>>31418
Делаю буфер в виде листа из контейнеров, в каждом из них в конце контейнер удаляется из листа и вызывается NextAction(), в самом NextAction() висит проверка, сколько элементов в листе осталось, если 0, то конец хода, иначе берётся следующий контейнер из листа
346 531488
>>31410
>>31376
Спасибо, разобрался.
347 531498
Можно ли как-нибудь заставить trail renderer работать в localPosition без костылей?
348 531507
Посоны, в юнити же собирались какой-то язык разметки завезти для гуя. Как с этим дела обстоят?
349 531510
>>31507
Давно слышал, что у них был html в планах. Они даже левый js+css+html движок на c# выкопали в какой-то помойке. Но забили, уж не знаю к счастью или нет.
350 531531
>>31507
В 2019 бете появится скорее всего.
351 531532
А это мысль, нужно создать персонажа Петуха-Энтитуха, страдающего преждевременной кокоптимизацией. Чтобы он такой кокококококо внимательно в экран смотрит, задумчиво клювом водит, тут SSE-интринсик впендюрил, сразу радостное КУДАААААх , там кучу ECS лапши написал, такой получил +5 фпс и сидит довольный, кукарекает и тут такое оказывается, что он всё это время сидел в питушином углу, его блатные сокамерники уже три игры на объектах с наследованием написали и зашиппили, а разъяренный издатель в конце этой истории засовывает ему банку с абстрактной фабрикой в анус.
352 531546
>>31532
Почему ты так баттхёртишь от энтитей? Батька в детстве выебал, годотюшек?
353 531554
>>31250
ECS для карточной игры? Ебануться... скоро для сапера многопоточность пилить начнут.

мимо быдло геймдевер
354 531566
>>31554
Сапер на CUDA! Наконец-то ваша любимая игра рендерится 257 000 раз в секунду. Если Вы оставите куда-сапера включенным на сутки, по он отрендерится больше раз, чем обычный сапер смог бы отрендериться за всю Вашу жизнь!
355 531658
Ребят что может быть не так? Уже все проверил ничо не пойму.
356 531668
>>31658
Вы пробовали выключить и включить? Кеш ошибок - штука забористая. Когда юнька рисует белый экран и бастует - ребутай комп, как в 95м. Это правда.
357 531680
Как правильно организовывать на этапе создания глубокое дерево графического интерфейса? Начал кое что тут делать и чем больше развилок тем сложнее все настраивать.
358 531683
>>31658
Я не вижу на твоих скринах "pobeda1 = ... ;" при этом юнька говорит тебе, что в переменной pobeda1 ничего нет. Ты что нас за идиотов тут держишь?
360 531711
>>31691
А ни что другое (в рантайме) не удаляет Win (или родителя)? И не зануляет pobeda1?
ребутй-комп-кун
361 531716
>>31680
Хз что ты называешь глубоким деревом, но вероятно твоя проблема в избыточной связности
362 531717
>>31716
И как с этим бороться? Особенно если это мобильная игра фактически из одного интерфейса и состоящая.
Проблема в том, что постоянно доступных кнопок много, на каждую нужно вешать закрытие всех любых уже открытых окон, на все окна нужно ставить булианы для запоминания их состояния, значения прогресса, это все в такую кашу превращается в которой я начинаю путаться.
363 531718
>>31717

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


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

А вообще по апрхитектуру почитай, тут например https://habr.com/post/276593/
364 531719
>>31718
Вектор исследования понятен, попытаемся вникнут практически.

> райзишь события - все кому надо его обрабатывают и закрываются.


А вот тут можно поподробнее?
365 531723
>>31719
Ты не вызываешь гуишные методы напрямую, вместо этого у тебя есть событие "Конец уровня", например. На это событие уже подписаны окна и они сами решают что им делать с этим событием.
1502456506608.jpg9 Кб, 236x227
367 531731
Подскажите долбоеб-tier новичку как лучше организовывать игровое поле для пошаговой грид-бейсед рпг.
368 531733
>>31731
Использовать какой нибудь РПГ движок, там и учиться?
f5605bac4d9c7c8f7f597a925eca8b2e.jpg164 Кб, 1000x1414
369 531735
>>31733
Ну не, все не настолько плохо. Я сейчас балуюсь с векторной физикой. Но из практического опыта только платформер на Моногейме. Видел пример сеточного поля, но там чел использовал circle collider для определения дальности атаки и я засомневался в этом подходе.
370 531736
>>31731
Тайлмапы в помощь.
372 531763
Что лучше, json или xml?
374 531788
Ну че поцоны, кто-нибудь Quake 4 на Юнити уже запилил или вы еще все с платформерами ебетесь?
375 531797
>>31788
Уже не один сделан
376 531798
>>31763
Кастомный чтец текстовых файлов лучше
377 531800
>>31797
Покеж
378 531806
>>31800
За такое из /gd/ гонять ссаными тряпками (показывать-то нечего).
379 531820
>>31798

>Кастомный чтец текстовых файлов лучше


Победитель гонки Тур-де-Франс
https://www.youtube.com/watch?v=HaBP7eXdZUg
image.png6 Кб, 380x93
380 531822
Смарите, вот я например хочу, чтобы у меня был класс, в котором бы содержались различные объкты, и я хочу ссылку на эти объекты указать в инспекторе unity. Как мне это сделать?
Написал небольшой скрипт (https://pastebin.com/3fXQbF2c), но результата нет.
381 531823
>>31822
Объяви публичный массив геймобджектов в классе.
382 531825
>>31822

>https://pastebin.com/3fXQbF2c


Serializacia, do you can't into it?

Гугли [SerializeField] и [Serializable].
383 531826
Алсо, чему у меня через раз GetComponents<GraphicElement>() выдает нулл? Ладно бы все время, но он рандомно то пустую коллекцию дает то нулл выкидывает.

NullReferenceException
UnityEngine.Component.GetComponents[GraphicElement] () (at C:/buildslave/unity/build/artifacts/generated/common/runtime/ComponentBindings.gen.cs:185)
384 531841
>>31826
Ну тут два варианта, либо Юнити у тебя косячный (спасибо разрабам), либо ты вкатился в геймдев на пахуе не изучав программирование и не замечаешь почему у тебя выдает null.
385 531845
>>31763
xml конечно-же
386 531847
>>31826
Как вариант, что ни одного такого компонента не нашлось - "вместо" пустой коллекции вернулся null. Рандомно потому что компонент на одном элементе находит компоненты, а на другом элементе - не находит. Как будет (создай пустую сцену и повесь свой компонент на камеру) вести GetComponents когда нет компонентов?
387 531856
Сука блять написал какую то хуйню в Watch, теперь Unity вещается до того как я это почищу. Пиздец инженеры ПО блять.
388 531911
Челикс у которого лагало при открытии плакатов, ты тут? Как успехи?
image.png24 Кб, 812x304
389 532020
Есть одна стейт машина. Анимация в Closing меняет альфу картинки до нуля. Однако, при следующем заходе на Opening альфа остается на нуле. Как сделать что б альфа в дефолтное состояние вернулась? Как то зациклить? Когда ставлю Loop оно в рамках одного перехода начинает мигать

Запускаю машину через animator.Play("Opening");
390 532024
И можно ли сделать чтобы после Exit машина не перескакивала автоматически на Entry?
391 532029
>>32020
Сделай новый стейт с той же анимацией и поставь скорость -1
392 532030
>>32024
Не выводи на Exit, зацикли на Idle
393 532038
>>32029
Спасибо. Добавил стейт с отрицательной скоростью но обратная анимация отображается визуально, а это не нужно.. Надо как то лучше вернуть анимированные значения в дефолт..

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

https://twitter.com/i/status/1047640140540260359
394 532061
>>32038
У тебя же простая последовательность. Зачем тогда юзать стейтмашин, если есть таймлайн. Там же практически любые юнитевские компоненты и паблики монобехов менять можно, пользуясь визуалочкой
arm64 Oreo 8.0 395 532072
Help, намутил апк - на xiaomi с 8 ядерным хз чем и андроидом 8.1, запускается норм. На Sony с arm64 Snapdragon 835 MSM8998 под андроидом 8,0, не запускается, сразу ошибка. В настройках поставил галку на arm64, всё обновил - и Юнити от 12.10.2018 и в андроид студии все инструменты обновил и джаву. в гугле ответы только от 2017го года, где обещают завести поддержку arm64, а в нынещней юнити оно уже есть но не робит. ПОМОХИТЕ!!!
15390942885570.png401 Кб, 718x782
396 532094
С чего быстрее дергать значения, из массива? А почему? Массив это класс? Значит кажыдй раз как минимум надо заглянуть в кучу?
397 532096
>>32094
В гугле забанили?
398 532099
>>32096
Если не знаешь, так и скажи
399 532101
>>32099
C ануса дергай
400 532130
Насколько по силе различаются эдитор и билд? Особенно интересует работа с текстом. Я постоянно срусь с падения фпс от отображения текста на экране, но в самом билде всё СИЛКИ СМУФ без проблем с падением фпс.
Я себя уже уверил, что дело в эдиторе, но вдруг я ошибаюсь в причине. Знает кто-нибудь что за дела такие?
401 532142
>>32130
Начнем с того что мы не знаем под какую кофеварку ты билдешь. На разных платформах разные интерпретаторы. По хорошему надо на каждой конкретной платформе тестить а не гадать на пораше.

А так стандалон билд быстрее в несколько раз, на моих задачах.
image.png463 Кб, 1277x961
402 532148
Подсобите ньюфагу. Импортировал из блендера машину, отображается в итоге так. Как исправить и не переделывать модель? Всякое напереключал, смотрел, понятия не имею что с этим делать.
403 532150
>>32148
Инвертируй нормали в блендере.
404 532151
>>32150
Вкратце, как это гуглить хотя бы?
405 532152
>>32151
blender invert normals
406 532153
>>32152
Благодарю.
2018-10-14-20-35-28.webm1 Мб, webm,
1280x720, 0:15
407 532280
Почему картинки, которая не привязана к движению камеры, странно начинает пикселизироваться при движении? Как пофиксить?
408 532281
>>32280
*которые
fix
409 532464
>>32280
Ой, да кто заметит? Я вот в твоём видео еле-еле разглядел.
410 532648
Сап юнитач. Можно ли как-нибудь отражать спрайты с шейдерами? Попробовал сделать тень на свои спрайты, и все бы ничего, но при флипе, или повороте на 180, или при скейле на -1 спрайт исчезает.
411 532655
>>32648
Нагуглил что там нужно в шейдер Cull Off вписать, но куда именно, шейдер ведь на 2к строк? Legacy Shaders/Transparent/Diffuse - вот этот меня интересует.
412 532665
>>32655
В начале, лел. Погугли любой шейдер
413 532843
Как в if else создать несколько условий?
Например:
if (Нажатие пкм по кнопке, свет выключен)
свет включен
414 532850
>>32843
Даю голодающему удочку: if (true) => if (true == true) => if (!false == true) => if (true && false == !true) => if (!false || true == true), и так далее. Дальше сам.
r102813Wx1Vb.jpg27 Кб, 500x483
415 532858
1.jpg269 Кб, 1913x936
416 532861
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FaceCamera : MonoBehaviour {
Vector3 cameraDirection;

void Update()
{
cameraDirection = Camera.main.transform.forward;
cameraDirection.y = 0;
transform.rotation = Quaternion.LookRotation(cameraDirection);
}
}

Что я делаю не так почему не работает?
417 532863
Как в скрипте обратиться к какому-нибудь объекту? Допустим я хочу, чтобы кубик поменял цвет. Как указать этот кубик в скрипте?
1.jpg14 Кб, 388x87
418 532865
>>32861
Сам решил проблему.
index.jpg5 Кб, 207x243
419 532866
>>32861

>Object reference not set to an instance of object


>FaceCamera.cs:10



>Что я делаю не так почему не работает?



теперь у главной камеры надо ставить тег MainCamera
420 532870
>>32843

Под юнити же на С# пишут?

if (ПКМ && Свет выключен)
{
Свет включен
}
else
{
Свет выключен
}

Это же блять даже не основы программирования, это блять 5-тилетка через три минуты изучения любого языка узнает, куда ты лезешь не зная этого, оно тебя сожрёт.
421 532873
>>32858
Проиграл в голосину чёт.
422 532874
>>32863
Вешай свой скрипт на кубик и используй gameObject.getComponent
423 532915
>>32870
Самое интересное, что это в школе проходят. Не помнишь, как "жи" и "ши" пишется, или сколько будет 4х8?
15379911254690.jpg17 Кб, 379x336
424 532916
>>32843
Бля ты че серьезно такие вопросы задавать? Вот ты вообще нихуя решил не делать, даже капельку программирование не поизучать, даже в туторах по юнити всяких такая лабуда встречается, и вот ты еблан тут решился это спросить?
Пиздец уебки разленились, еще и игори делать хотят.
425 532975
Есть гараж. В гараже автомобили. Не статичные. На потолке светильники. Как лучше организовать освещение? Натыкл каждому светильнику поинт лайтов, но чет не уверен.
426 532977
Может есть у кого-то плагин pro camera 2d 2.6.5 ?
427 532979
>>32977
Есть только Pro Camera 2D 2.2.2
magnet:?xt=urn:btih:38e88075347f308dc8921df5b45b58b304ca876c
428 533139
Короче такой трабл. При первой загрузке сцены все нормально. Но когда из этой сцены выхожу в другую (меню), а потом из меню загружаю первую сцену обратно, не видит ригидбоди на объектах. Это баг, или я что-то сделал не правильно? Ригидбоди определяю в Start() с помощью gameObject.GetComponent.
429 533141
>>33139
Разобрался, проблема была в необнуленных ивентах.
430 533142
>>33139
А что в этом вашем юнити нельзя поставить текущую сцену на паузу и показать сцену с меню оверлейно? Правда штоле? Ахазхаха! Ебать движок тысячелетия!
431 533149
>>33142
Можно как угодно.
432 533169
>>33149
Пока что я вижу только так как не угодно.
изображение.png142 Кб, 1024x601
433 533175
>>32094

> С чего быстрее дергать значения, из массива?



Да.

> А почему?



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

> Массив это класс?



Массив это экземпляр System.Array. Устроен вот так (пикрелейтед).

> Значит кажыдй раз как минимум надо заглянуть в кучу?



"стек" и "куча" - суть абстракции области видимости и времени жизни языка.

В реалиях железа имеет смысл говорить сугубо о cache friendliness тех или иных структур данных.
434 533334
>>28048 (OP)
Аноны, не обосрался ли я с реализацией? Нужно реализовать разные типы профессии со способностями, которые характеризуют данную профессию. То есть если ты слесарь, то способностью будет уметь "крафтить" и т.п.

Самая профессия реализованная через скриптовый объект. Он принимает в себя название, описание и само состояние способности, пока этого хватит.

Тип, состояние спобности реализовано через enum. К примеру: врачевать, крафтить и т.п.

А вот уже о способности, описание, склонение, прочий текст, enum профессии и т.п. реализовано тоже через sctiptable object.

Еба событие
Тоже скриптовый объект. В нём хранится описание, enum способности, последствия.

Как работает:

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

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

Можно же слить в одно и скилы и профессию, то есть в описании скила написать профессию, но мне нужно отдельно объект скил и отдельно объект профессии.

Надеюсь понятно объяснил, рад любой критике, как этого монстра можно уменьшить и оптимизировать.
435 533344
>>33334
Можно рассмотреть вариант, при котором у человечков есть навыки в скиллах и они не связаны с профессией напрямую. Т.е. был npc врачом, а потом стал лесорубом - лечить он не разучился. Профессия npm служит для выбора задачи. Тогда у каждого человечка есть массив скиллов, у профессии (а то и у текущей задачи) есть массив как-скиллы-прокачиваются. Для каких-то задач может потребоваться массив минимальный-размер-скиллов.
Скилл перестает быть объектом первого уровня, становится абстрактной субстанцией на страничке в вики. Названия скиллам для работы не нужны - переходят на уровень локализации. Профессии я бы хранил в DontDestroyOnExit синглтоном из префаба (может быть, скриптаблы более правильное решение, я их не люблю).
Скиллы и характеристики отличаются только ростом из-за выполненных задач (т.е. это параметры). Т.е. у размера сисек и дальнозоркости в массиве буста будут стоять нолики. Или не нолики, если мы говорим о действии "медицинская операция" (задача это приказ-к-действию, профессия лишь добавляет возможные действия).
Компоненты массив-буста-параметров, массив-требований-к-параметров, массив-текущих-значений-параметров должны или наследоваться от компонента МассивПараметров, или иметь ссылку на лежащий рядом МассивПараметров. Очень рекомендую залепить в МассивПараметров кастомную рисовалку для инспектора.
436 533350
>>33334

>Аноны, не обосрался ли я с реализацией?


>Тип, состояние спобности реализовано через enum.


Обосрался
sage 437 533363
>>33334
А в чем собственно проблема с количеством скриптабл обжектов? Или ты собрался делать тысячу профессий?
438 533380
>>33344
Да это круто. Но у меня не будет такой большой и растущей системы с переходами способностей, прокачкой

Просто будет человек. Ему случайно присваивается профессия, которая уже заранее ссылается на enum или название, скилла.
Мне нужно отдельно объект профессии и скиллов. Чтобы можно было ссылаться на профессию и скилы. А не через профессию на скилл.

Хотя как раз можно вытаскивать из профессии скилл и выдать сразу человеку.

Спасибо, есть над чем подумать.
439 533381
>>33363
С началом мы создаём скриптобжекты профессий их в dictonary ключём будет название профы. Потом скриптобжекты скиллов их тоже в dictonary с ключем их enum.

Трабл в том что, а можно ли запихивать в dictonary заранее или только при старте проекта.

И сколько будет весить эта еба, да ещё и в dictonary.
sage 440 533385
>>33381
Словари не сериализуются в унити, но можешь на гитхабе поискать Serializable Dictionary. Или на старом юнити вики, не помню уже.
441 533389
>>33385
Как и ожидал. Просто не хочется нагружать проекта, сторонними инструментами, но если что воспользуюсь в крайнем случае. Спасибо
442 533438
Как реализовать пре-лоад рекламных объявлений AdMob? Межстраничное объявление загружается 5-8 секунд, а видео 12-15.
443 533465
На этом говне есть хоть одна нормальная игра?
445 533468
>>33466
Что за поделки детей? Я правильно понимаю что юнити нужен чтобы создавать низкопробное мультяшное говно с пучеглазыми ебальниками, на большее он не годится?
446 533470
>>33465
С какой целью интересуешься?
447 533471
>>33470
Провожу исследование.
448 533472
>>33468

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

449 533473
>>33472

> нормальная игра

450 533475
>>33471
Исследование реакции на толстые набросы?
image.png1,2 Мб, 2320x1238
451 533477
>>33468
https://www.youtube.com/watch?v=R8NeB10INDo
вот этот, кста, пучеглазый?
452 533480
Ясно, ни одного достойного внимания проекта нет. Так и я и думал.
453 533481
>>33480
Нам очень жаль, а теперь иди нахуй отсюда.
454 533495
Добрый вечер, /gd/! Я к вам в юнити-тред пришёл с небольшой проблемой, не совсем игрой. Так как я нихуя не программист, и не знаю, как сделать по-другому, пришёл сюда за советом. В общем, к сути дела: есть несколько объектов, и при нажатии должна появляться панель с текстом. Вот мой ебанутый код скрипта: https://pastebin.com/8HB03cXq
Пояснять, как оно работает, хз, надо ли. В общем, на панели есть дочерний объект - кнопка, при нажатии на которую срабатывает функция HideUI() из скрипта. В чём проблема: вот нажал я на один объект, появилась панель с текстом там, и кнопкой. Но при этом остальные объекты остаются активными, то есть я могу нажать на корпус, и появится вторая панель под первой. Есть идеи, как решить? Только не стукайте больно, пожалуйста
455 533501
>>33495
Я так понял, что тебе оверлей. Собсно, сделай UI>Panel во весь экран, внутрь него суй текст и что там еще надо. По клике по панеле удаляй панель.
456 533525
>>33501

> сделай UI>Panel во весь экран, внутрь него суй текст и что там еще надо.


> По клике по панеле удаляй панель.


true unity way
457 533531
>>33501
Хм, поможешь с кодом? У меня там есть уже в скрипте OnMouseDown, как повесить его на выбранный UIObject?
458 533532
>>33525
В этом способе только один минус, я считаю - энивей ты будешь нажимать на объект, панель старого объекта скроется, но нового всё равно появится.
459 533533
Слушайте, я тут подумал, а мб поставить на панель коллайдер? Ну тогда ведь не будут активными объекты за панелью, да?
460 533534
>>33533
Нихуя не работает, эх, жоль, так было бы намного легче :с
461 533546
Господи какой объёб этот юнитовский ecs и жоп систем, который уже второй год пытаются втюхать на всевозможных презентациях. Вот только ни один человек это говно не использует, потому что это не юзабельно, и кроме одинаковых слайдов (об утонченной гибкой структуре) больше ничего не показывают и не рассказывают. Так похоже никто и не понимает нахуя это надо и нахуя ему это нужно. После скриптбл обжектов маркетологи поняли что можно любую пыль кидать в глаза лохам, а они и рады будут. В общем я крайне разочарован в этом всём и в бизнес модели в частности.
462 533550
>>33531
Суть в том, что "есть уже" отрабатывать не будет. Хотя, у меня мышка только в меню (т.е. я с мышкой не работал) - могут быть дополнительные сюрпризы.
463 533551
>>33546

>скриптбл обжектов


Всегда смотрел на них, как на лишнюю не нужную абстракцию. Я прав?
464 533555
>>32979
Нужна версия поновее, может есть у кого купленная?
465 533556
>>33550
Так мб новый скрипт написать и сделать так, чтобы он передавал значение другой переменной в функцию HideUI()?
466 533565
>>33495
UI - это всегда синглтон. Не верь ебланам, услышавшим слово "антипаттерн".
Твой UI всегда должен быть загружен в память и всегда готов мгновенно выскочить на экран при активации.
Поэтому.
1. Делаешь отдельный объект UI. Загружаешь его при старте игры и выгружаешь в конце игры. Или вообще оставляешь выгрузку сборщику мусора.
2. У этого объекта должны быть методы, наподобие: showMainManu, showInventory, showCharacterMenu, showLOOTMenu и т.п. (Либо один метод showUIItem(ItemKind) с аргументом, представляющим элемент интерфейса, который надо отобразить).
3. Все твои игровые объекты при надобности вызывают соответствующие методы синглтона UI.
4. Каждый метод, будучи вызван должен проверить, не выведено ли на экран то, что он должен вывести? И если уже выведено - прекратить свое выполнение.
З.Ы. Можно то же самое сделать через модные у школоты сообщения. В этом случае, игровым объектам будет неважно, существует UI или нет - они просто будут сообщать "на меня нажали, покажи панельку с лутом", не проверяя, будет ли это сообщение услышано. Плюсы этого метода - не надо помнить об синглтонах и знать их, достаточно придерживаться установленных в команде разработчиков соглашений о именовании сообщений. Минусы - сложная отладка: в случае хуйни, вариант с ООП будет вызывать исключения при компиляции, с указанием строки с ошибкой. Вариант же с сообщениями будет компилироваться нормально, но в игре будет либо ничего не происходить, либо происходить не так, как тебе надо. Поэтому придется дополнительно реализовывать систему логгинга, которая бы тебе показывала, в каком месте ошибка.
099.gif610 Кб, 480x228
467 533571
>>33565

>UI - это всегда синглтон

468 533573
>>33571
>>33565

>Не верь ебланам, услышавшим слово "антипаттерн". Игнорируй их посты с боевыми картиночками.

469 533586
>>33573
Яскозал?
470 533600
>>33546
Если доведут до ума то будет конфетка, встроенный многопоточный Entitas. Но не доведут, потому что в презентациях уже приелось, надо новую модную штуку придумывать для продажи хипстерам.
471 533619
>>33565
Слишком много новых для меня слов, но я так понял, что есть другие методы, помимо "показать UI-панель". А теперь покажи мне, как это сделать на практике, да так, чтобы устранилась моя проблема.
2cbt5y.jpg30 Кб, 496x360
472 533622
Как я заебался с ебаным C# ждать компиляции. Почему все так медленно.
Нахуя?! Объясните, нахуя они взяли mono и C#? Почему не javascript, например? Простота, крохотный runtime, легкость портирования на любую платформу, возможность hot reload'а и многие другие плюшки скриптового языка.
Нет, возьмем компилируемый кусок говна от ms. Изменил строчку? Жди десять секунд! Создал скрипт? Жди 20 секунд! Делаешь билд для webgl? Жди вообще час, сука!
473 533625
>>33622
Купи кудахтер помощнее
20160118084820711.png460 Кб, 1440x877
474 533626
>>33625
Я лучше возьму движок получше.
photo2018-10-1910-59-36.jpg22 Кб, 480x349
475 533627
>>33622

>Почему не javascript


<--

>Изменил строчку? Жди десять секунд! Создал скрипт? Жди 20 секунд! Делаешь билд для webgl? Жди вообще час, сука!


Мне кажется ты слегка ПРЕУВЕЛИЧИВАЕШЬ
476 533628
>>33627
Допустим ты редактируешь код раз в 3 минуты. За день ты тратишь 6 часов на написание игры.
Тогда 20 минут ты тупо тратишь на ожидание компиляции! 20 минут! Задумайся! За неделю это уже 2.5 часа. за месяц 10 часов!
477 533629
>>33628
Ты на какой конфигурации работаешь?
478 533630
>>33627

>>Почему не javascript


><--


Тащемта javascript это самый лучший ООП-язык. Последние стандарты по функциям уже догнали С#.
Я не понимаю зачем для СКРИПТИНГА нужно использовать компилируемый .net. А ты понимаешь?
479 533631
>>33630
А с чего ты взял что у тебя скриптинг? Скриптинг происходит в терминах предметной области конкретной игры. В Юнити у тебя нихуя нет, кроме коллайдеров и мешей.
480 533633
>>33630
Для типизации.
481 533634
>>33631
В том-то и дело, что в юнити нет скриптинга, а есть только системное программирование. Компоненты создаются с расчетом на повторное использование. Создавать маленькие скрипты чтобы сделать какое-то простое поведение для конкретного объекта, или просто хранить данные для data-oriented кода просто неудобно.
482 533636
>>33495
Бумпну вопросик, мб ещё кто чем поможет. :(
483 533638
>>33634
Замечательно работает до тех пор пока ты держишь реальный код за пределами юнитевских объектов.
484 533639
>>33633

>Для типизации.


Не нужно. Нормальные ребята все равно используют сообщения. А там типы не нужны.
485 533640
>>33636
Тебе уже ответили.
486 533641
>>33638

>Замечательно работает


>Создал файл. 10 секунд компиляции


>Переместил файл в другую папку. Еще 10 секунд компиляции


>Удалил скрипт. Жди компиляцию


Я хочу код писать , а не конпелировать
487 533647
>>33640
Предложение скрывать панель при нажатии по ней? Так я один чёрт на неё нажму, а другая панель другого геймобжекта высветится. Это не совсем корректное решение проблемы.
488 533649
>>33641
Бери юич и программируй мышкой, какие вопросы. Там и графон лучше!
489 533650
490 533651
>>33495
Я бы помог, но слишком много воды. Лень вчитываться что там у тебя не так.
491 533659
>>33651
Ну бля, ну позязя :з
492 533660
>>33641
Бери УЕ, там блюпринты компелируются мгновенно. Так же непонято что у тебя такое по 10 секунд компелируется - у тебя явно меньше хотя бы пары мегабайт кода.
493 533669
>>33556
Другой скрипт "КликПоПанелеУдаляетПанель" точно нужно писать. Никуда никакие переменные он передавать не должен - не усложняй. У тебя есть экран игры - он не меняется. Есть всплывающая панель на весь экран, которая блокирует экран игры (визуально может быть полностью прозрачной) - она тоже сама по себе.
494 533670
>>33660
Я другой анон, но абсолютно согласен с предыдущим. Там не факт, что именно компилинг по 10 секунд тянется. Сохранил скрипт, переключился в юньку: пару секунд ждем, фриз, пару секунд ждем, фриз, пару секунд ждем, фриз - и мы почти уверены, что код обновился. Если изменить текст в комменте - юнька тоже будет "компилить" (хотя даже по AST'у понятно, что ничерта не поменялось). И, да, часто процедура обновления растягивается куда дольше, чем на 10 секунд. HCR в юньке есть, но связан с теми же тормозами + любит юньку крашить.
495 533671
>>33633
Жалко, что не для модульности.
496 533673
>>33647
Тебе сказали сделать одну панель.
На канвас добавить скрипт MoyInterfeis и в нем сделай
public GameObject MoyaPanel;

void PokazatPanel() {
MoyaPanel.SetActive(true);
}
CSharp.PNG2 Кб, 349x49
497 533680
Насколько законно сейчас так писать?
Будут ли отличия от создания прайвет переменной и свойства на основе её?
498 533693
>>33673
Если точнее, я сказал сделать так:

public GameObject MoyaPanel;

void PokazatPanel(string ChtoNapisat; List<Knopki> KakieKnopkiOtobrazit = [OK, Cancel])
{
if (!Active)
{SetActive(true);}
SetText(ChtoNapisat);
SetButtons(KakieKnopkiOtobrazit);
}
back.png8 Кб, 384x240
499 533703
Аноны, классика, но нужен совет знатоков.
Я правильно понимаю, что для каждого особого действия, каждой катсцены, каждого изменения в мире мне нужно писать новый скрипт? Их же тогда сотни будут!
Или я не догоняю? Там есть инструмент наверняка для катсцен, для всяких действий особых. Но их же надо запустить, а это скрипт. Или как это работает?
500 533704
>>33703
Не сотни, а тысячи.
В моей игре сейчас 397 скриптов. не считая create-step-draw ивентов у объектов, которых уже 320
501 533705
>>33704
Но на самом деле всё просто. Уже после описания трёх-четырёх катсцен у тебя в голове сложится шаблон, и ты уже не будешь напрягаться, создавая следующую. Будет только "кастцена фаза 1, ждёт пятый кадр анимации, фаза ++" "катсцена фаза2, спрайт меняем на такой-то, х+=2.5. Если х == 50 фаза ++" и т.д.
502 533710
>>33703
1. Декомпозируй. Сделай компонент Action (с полем List<GameObject> doWith и public virtual void doAction(){}), унаследуй от него ActionActivate (public override void doAction(){ foreach (var v in doWith) {v.setActive(true);} }), ActionDeactivate, ActionDestroy. Сделай Timer, который умеет дергать Action через заданный промежуток времени (про зацикливание сразу подумай). Сделай CustomCollider, который дергает экнш, когда происходит OnTriggerEnter с объектом, который прошел фильтр isGoodObjectForMe, от него унаследую PlayerFinder, AnyEnemyFinder, FlyingEnemyFinder. 2/3 логики уже покрыты. Таких скриптов тоже будет много, но они композируются в +/- любую логику. Можешь включать объекты, только когда игрок внутри коллайдера (ты же в курсе про слои, да?), можешь включать объекты если другие выключены, можешь делать все что угодно - но атомарными блоками, которые легко запомнить.
2. Для кат-сцен используй аниматоры. Скрипты только там, где логика заранее не просчитывается. Если у тебя есть скрипты в кат-сценах, то ты что-то очень общее пропустил, или я чего-то не учитываю (например, аниматоров внутри аниматоров).
3. Выведи DamageReceiver из Enemy, сделай BulletCollider, ExplosionCollider. Чем меньше монолита - тем лучше.
503 533711
>>33703

>их же надо запустить


Вообще, анимашки сами запускаются. Для кат-сцен делай отдельные сцены, аниматор вешай прямо на рутовый объект. Только учти, что анимации (не таймлайн) смотрят на иерархию по пути... Попробуй сделать пустой объект с аниматором, в нем проанимируй два куба, потом засунь один куб внутрь второго - анимашка развалится. Это учитывай.
Варианты.
1. Активация вложенного аниматора с помощью таймлайна. Включаешь объект с помощью таймлайна. В объекте таймер установленный на 0 секунд (или просто MakeActionOnStart), который дергает ActionSetTrigger - все. реакцию на SetTrigger настраиваешь в окошке Animator.
2. Нет возможности сделать кат-сцену отдельной сценой. Т.е. тебе нужно, чтобы когда игрок оказывался рядом с флагом - он его поднимал и махал, потом шел назад. Описываю самый геморный вариант, на практике можешь проще сделать. С помощью PlayerFinder ты можешь определить, что игрок рядом с флагом. Заодно и запомнишь игрока. Блочишь управление, чтобы игрок встал в Idle (событие аниматора "Я идлюсь" (100) перехватывает OnAnimationEvent(int animId) и дергает следующий экшн). Выключаешь игрока с помощью ActionDeactivate (тут вру, поясню дальше), с помощью ActionClone создаешь визуальный клон игрока (клон запоминаешь) на позиции игрока. Запускаешь анимашку на клоне, ждешь от анимахи события "Я схватил флаг" (200) (тут аккуратнее, т.к. юнька умеет пропускать события) - дергаешь экшн который удаляет настоящий флаг. Второй флаг показываешь на уровне аниматора. Махает флагом тоже аниматор клона. Словил событие аниматора "Флажок воткнут в землю" (300) - удаляешь клон. Я врал про ActionDeactivate, потому что нам нужно сделать иначе. Рядом с игроком делаем компонент, который сам скрывает игрока, если активны некие объекты. Когда мы создали клона - мы закинули клона в этот компонент. Ну и до кучи, надо ждать не 300е событие анимации, а 100е после 200е. Ну и, еще до кучи, я бы строками названия событий лепил.
504 533712
>>33711
Мысли об инлайновой кат-сцене с флагом не отпускали. Решил, что этот случай в мои "2/3 логики" не укалывается - вот в случае с флагом лучше-таки написать отдельный скрипт.
505 533718
>>33693
Приеду с шараги и сделаю. Только я не совсем понял, как этот скрипт будет работать.
506 533719
>>33705
>>33710
>>33711
Спасибо большое, добра :3
507 533720
>>33693
Так, падажжи, а как это работает? У меня же по сути для каждого объекта должен быть уникальный текст. Как это работает, объясни ещё раз.
508 533744
>>33622
Дж это медленое дерьмо нахуй ненужное.
509 533745
510 533764
>>33745

>Как ECS, C# Job System и SRP меняют подход к архитектуре


Никак?
511 533765
>>33764

>пук


Ах ты гаденыш нафунял
512 533766
>>33626
Нихуясе, неожиданный проход в говнодвижки!
513 533767
>>33720

>Как это работает, объясни ещё раз.


Очень просто:
Объект "враг" вызывает функцию
PokazatPanel("Вы убиты!" [Restart, Exit]);
А например, объект "торговец" вызывает функцию
PokazatPanel("Вот какие у меня товары", [Trade, Cancel]);
Первый аргумент - текстовое описание твоего сообщения на панели, которое ты хочешь видеть. Второй аргумент - список (массив) именованных констант кнопок, которые может отображать панель.
Эм, возможно между нами возникло недопонимание, код выше это не полноценное решение, а абстрактный псевдокод, который вызывает методы, которые тебе самому тоже нужно описать в классе интерфеса с панельками, например, SetText - этот метод меняет текст на панели. SetButtons - этот меняет кнопки на панели. Для простоты сделай, чтобы он удалял все кнопки, а затем создавал согласно переданному массиву.
И теперь самое главное, как мы с еще одним аноном сказали выше, панель всегда висит в памяти, отображается на экране методом PokazatPanel, так же этим методом обновляется уже показанная панель (то, что тебе нужно было изначально - метод PokazatPanel не дублирует панель, а только обновляет в ней текст и состав кнопок).
Скрывается панель кнопками, которые на ней отображены. С вызовом забинденных на кнопки действий. Так же ты можешь прихардкодить скрытие панели по кнопке Esc, чтобы избежать ситуаций, когда ни одна кнопка не скрывает панель (или по запарке панель вызвана без кнопок), и игрок матерится, не знает, как убрать этоя дрянья.
Ещё вопросы?
514 533780
>>33641
Заебал ныть, решение перед носом
https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html
21515089images2159307515.jpg128 Кб, 1000x1000
515 533784
>>33780

>решение

15388498888750.jpg104 Кб, 1280x853
516 533789
Посоны, думаю сохранять данные (небольшая структура со стрингом втутри стринг же вроде в куче лежит, да?) для последующей обработки. Может получиться много данных, где-то до десятка тысяч в массиве, и около сотни массивов. Юнити по сути используется для визуализации, сам класс без монобихавора. Дело в том что я хуй как работает этот ваш стек и слышал вроде что он имеет какие-то ограничения, а в стеке же будут лежать структруы верно ?А что такое структура, это набор указателей? В моем случае будет один стринг и несколько флоатов. Все эти флоаты будут лежать в стеке, так? Массивы будут использованы для перепостроение данных, обычно это просто полный/частичный перебор некоторго ренджа, и иногда будут обрезаться концы чтоб хуйня совсем не растолстела. Думаю использовать обычный список, какие могут быть подводные камни?
517 533790
>>33789

>какие могут быть подводные камни?


Слышал, что если в юнити переполнить стек, то может сгореть процессор.
Ты поосторжней с этим.
518 533800
>>33789

>Дело в том что я хуй


Вот в чем проблема!
519 533802
>>33767

>Ещё вопросы?


Да мне кнопки особо не надо менять, лул. У меня там при щелчке будет просто текстовое описание детали появляться и всё, а кнопка будет одна - "закрыть", так что в принципе, метод SetButtons создавать не надо. А как описывается SetText? Это типа надо создать такую функцию, а в нём описать, что входит, и что он должен делать? И в одном скрипте, да? Покажи пример, как он должен выглядеть а то я тупой, соре. По сути, у меня на панели должен меняться только текст, а кнопка одна единственная должна уметь закрывать эту панель.
520 533803
>>33789

>стринг же вроде в куче лежит


ты на с++ или на си писал когда-нибудь?

>Может получиться много данных


Да?

>где-то до десятка тысяч в массиве


10000 байт?

>и около сотни массивов.


1000000 байт(чуть меньше мегабайта)?

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


Просто зайди в гугл и напиши А ЧТО ТАКОЕ СТЭЙК и А ЧТО ТАКОЕ КУЧА ЭТО ТО ЧТО Я НА ГОРШКЕ ОТЛОЖИЛ ИЛИ ДА

А еще лучше напиши конкретнее что за срань такую странную ты делаешь, откуда данные и как передаешь, почему тебя волнует переполнение стека(!!!) и как ты вообще к этому пришел?
521 533804
Аноны, сорян за нубовопрос, но прошу помощи.
Хочу в 2D игре реализовать много разных меню, сделать это частью геймплея. Чтоб в них много разных статистик, кнопок, элементов.
Я правильно понимаю, что для этого используют Canvas? Или мне сделать отдельный геймобджект, и в нем уже делать кнопки разные и панели?
А еще, может ли быть несколько Canvas? Один убирать, потом показывать другой.
522 533806
https://blogs.unity3d.com/2018/10/22/what-is-a-job-system/

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

Кажется в комментариях начали что-то подозревать

>So what’s new? Unity is really weird company rehashing stuff over and over without giving any new info.



Хомячков уже корить жоп системс не получается. Скоро ее выбросят на помойку и выдумывают что-нибудь EXCITING
523 533807
>>33804
Может, может. Иди делай, не боись
14266206893410.jpg23 Кб, 374x347
524 533817
>>33802
Ну да, я тупой блять, ну помогите инвалиду сделать рабочим функционал, ну позязя!
525 533820
>>33807
Спасибо :3
526 533849
>>33800
>>33803
Ладно, я обосрался и уже ухожу.
527 533854
>>33817
Дружище, ты уже который раз переспрашиваешь. Тебе пишут в целом, код тебе никто не даст. Вариантов у тебя на выбор уже несколько. Не осилиль менять кнопки - не меняй кнопки. Каким-то образом ты раньше текст показывал (без оверлея) - таким же и показывай.
528 533856
>>33806
Потому что в юнити уже все есть, больше нечего добавлять. Так же как в гейфонах, но что-то же нужно пиздеть.
fff.jpg145 Кб, 844x770
529 533857
Решил поизучать юнит. С каких классов начать?

Подловил себя на том что элементарно не знаю многих классов юнити, тупо с ними не знаком. Вывел все классы, вышло 7866 штук. Но там 7/8 служебные, вроде конвертеров под iOS или внутреннего устройства редактора.

Подксжите, как этот список сократить до 1000 самых важных? Вот знание каких классов реально важно?

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

https://pastebin.com/PMTVtsVq
530 533858
>>33806

2018 год подходил к концу, ECS+Job System уже 10 лет как стал стандартом де-факто во всех AAA играх и только у ооптушка-ниасилятора по прежнему пригорало от ECS на весь юнити-тред.
531 533859
>>33857

>С каких классов начать?


С первых
532 533860
>>33857
UnityEditorInternal.EditMode+<DoInspectorToolbar>c__AnonStorey1 разумеется, еще интервал ща наугад ёбну, потом посмотрю 5700-5950 попал в UnityEngine.Networking.Match.NetworkMatch+<ProcessMatchResponse>c__Iterator0`2
.
Туторы посмотри. И классы, как бы тебе сказать. Юнька в целом про визуальный редактор. Ты можешь хоть 9499 классов вызубрить, но без понимания того, что "боевым товарищам" нужен именно редактор (а не "красивый код") - тебя уделает любой джун, который смастерил (и напрограммировал) четыре уровня платформера.
533 533870
Как примитивно защитить свое приложение от воровства? Что кроме кода через рефлектор можно палить? Как сделать сорт оф тайм бомбы чтоб приложение не работало по истечению определенного срока и так чтоб бляди не смогли подменить dll, если конечно так можно.
534 533872
>>33860
Вообще-то я вполне себе средний юнити дев. И я вот решил вывести все классы и мне бомбануло что я там от силы 3,5 знаю. Типичный сосач. Спросил какие классы важны/нужны. В ответ рассказали как мне дальше жить, какую методологию применять к изучению юнити и то какой я школьник. Идите нахуй без вас соображу какие классы там важны, а какие шелуха. Не хотите кооперацию, получите конкуренцию мрази.
535 533873
>>33870
if (getDate().ToString() > "24.10.2018") {
exit("acess denyd");
}
536 533874
>>33870
Да кому твое говно нужно
537 533875
Аноны встал вопрос как передать массив данных между скриптами. У меня есть массив с данными, нужно что бы другой скрипт дёргал этот массив и получал эти данные? Кроме как во второй скрипт вложить первый
538 533876
>>33703
>>33704
Совсем уж в быдло код не надо ударяться. Всегда есть решение лучше https://m.habr.com/post/244493/
540 533883
>>33849
Да не, не надо, чего ты. Просто скажи что ты хочешь сделать, и как ты это собираешься делать, а мы подскажем тебе правильный ли у тебя подход и какие подводные камни, если же нет - то как лучше сделать.
541 533884
>>33875
ImyaScriptaSDannimi dadaya = FindObjectOfType<ImyaScriptaSDannimi>();
dadaya.data //мои данные
1540374326594.jpg13 Кб, 400x295
542 533886
>>33858

> Job System уже 10 лет как стал стандартом де-факто во всех AAA играх

543 533888
>>33884
Мы вам перезвоним.
546 533899
>>33897
>>33898

Спешу заметить - 2к09, 2к10 года.

ООптушок опять оподливился.
547 533900
>>33884
Спасибо
548 533901
>>33899

https://www.gdcvault.com/play/1012338/Shears-Squeeze-the-Juice-Out

очередной гвоздик в крышку гроба манямирка однопоточного оопущенца. Опять 2к10.
549 533902
Ну и напоследок, выход - 2009 год, разработка с 2007

https://www.slideshare.net/naughty_dog/multiprocessor-game-loops-lessons-from-uncharted-2-among-thieves

С 47 страницы, из десятилетнего прошлого нотидоги врываются в наше время и проводят оопущенцу хуями по губам.
550 533906
>>33884
А не затратно ли будет?
551 533907
Напоминаю, шёл 2007-2009. У ретрограда в 2018 всё еще

> A Simple Approach(That Doesn't Work)

552 533908
>>33907

> Он так говорит, будто ИСИЕС это будущее разработки, всё будет на ИСИЕС. Ага, конечно.

553 533916
>>33897

> Job System уже 10 лет как стал стандартом де-факто во всех AAA играх


> Parallel Graphics


> Parallelizing


Поехавший все никак не уймется, называй вещи своими именами.
554 533918
>>33907
Не знаю кого ты пытаешься детектить, но екс в ооп языках всегда будет находтся в контексте ооп. Либо ты не понимаешь что то одно из них двоих.
555 533919
>>33916

О, оопушок подъехал, но дальше названия прочитать постеснялся. Иначе манямирок рухнет.

Впрочем, судя по подгоранию - уже начал рушится.
556 533920
>>33919
Проигрываю с твоего батхерта, но в следующий раз все такие лучше подумай прежде чем что либо писать.
557 533925
>>33906
Кэшируй если часто надо.
Можешьв старте найти.
Можешь изначально присвоить нулл, и в нужном методе если нулл - находишь.
Можешь сразу в скрипте публичную переменную типа скрипта с данными сделать и в инспекторе перетащить туда то что надо.
1372442265573.jpg71 Кб, 500x398
558 533926
559 533927
>>33906

>А не затратно ли будет?


фпс до 35 падает, но ничего неподелоешь, это юнити.
15376823266450.png4 Кб, 222x211
560 533931
>>33854
Так раньше я полностью менял панели, и на каждый объект цеплял скрипт. Так же делать?
561 533934
>>33926
абвгдёж 228
562 533935
>>33875

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


Юнити-туториалы осилил, а сишарп-туториалы не осилил?
В сишарпе есть элегантный и универсальный метод обмена данными между "скриптами" - модулями: Оберни каждый из своих скриптов в одинаковый неймспейс и они сразу увидят друг друга.
Не знаю, как там сейчас, но раньше юнити генерировал сишарп-солюшен с неправильно настроенным неймспейсом по умолчанию, потому что если солюшен генерирует вижуал-студия, у неё автоматически все модули классов помещаются в неймспейс по умолчанию, одноимённый названию проекта. И все классы автоматически видят друг-друга.
В юнити же все модули классов ("скрипты", лол) получались изолированными и друг друга не видели. Как сейчас, не знаю. Возможно хитрые жиды юнитеки сделали это специально, чтобы продавать за шекели дополнительные средства интеграции.
Если бы ты знал сишарп, ты бы (1) полез в настройки солюшена и настроил неймспейс по умолчанию или (2) не лез бы в солюшен, а просто оборачивал бы генерируемые юнитей классы в самодельные неймспейсы, а потом using MyPrefabs; using MyPropsData; using MyCockPussyDjigurda;
Поэтому учи сишарп, чтобы не быть лохом.
giphy.gif4,1 Мб, 400x200
563 533936
564 533937
>>33931
Запости в тред свою писечку с супом и датой - я тебе рабочее решение напишу и архивом скину.
Стикер127 Кб, 512x382
565 533938
1540393130239.png399 Кб, 604x453
566 533939
>>33935

> Юнити-туториалы осилил, а сишарп-туториалы не осилил?


> В сишарпе есть элегантный и универсальный метод обмена данными между "скриптами"


Ничто не предвещало беды, как вдруг

>- модулями: Оберни каждый из своих скриптов в одинаковый неймспейс и они сразу увидят друг друга.


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


> В юнити же все модули классов ("скрипты", лол) получались изолированными и друг друга не видели. Как сейчас, не знаю. Возможно хитрые жиды юнитеки сделали это специально, чтобы продавать за шекели дополнительные средства интеграции.


> Если бы ты знал сишарп, ты бы (1) полез в настройки солюшена и настроил неймспейс по умолчанию или (2) не лез бы в солюшен, а просто оборачивал бы генерируемые юнитей классы в самодельные неймспейсы, а потом using MyPrefabs; using MyPropsData; using MyCockPussyDjigurda

567 533940
>>33906
Тебе не похуй?
568 533941
>>33939

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


Ну да, сейчас всё правильно генерируется. Я напиздел. Ладно.
569 533943
>>33940
Об оптимизации надо заранее беспокоиться, а то на абум что-то делать и потом плакать, ой набыдлокодил надо все заново переписывать
570 533944
>>33943
Было бы что переписывать, для начала.
15321585564540.jpg34 Кб, 560x560
571 533945
572 533947
>>33941
Таким образом, правильный ответ:
>>33875

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


1. Массив с данными хранится в отдельном объекте, который ни от чего не наследуется.
2. Данные передаются статическими методами, в которых реализована инициализация объекта при первом вызове. На скриншотах изображена простая инициализация конструктором, но можно создавать и десериализацией, например. В последующие вызовы функция уже будет обращаться к созданному объекту.
94f.gif565 Кб, 260x146
573 533949
574 533950
>>33947
Отличный архитектурный прием, всем советую.
575 533951
>>33950
А вот еще дай оценку такому приёму:
576 533952
>>33947
Бля это же singleton, как сразу не допер. Спасибо большое, самое лучшее что есть
577 533953
>>33952

>самое лучшее что есть


Нет.
Синглтон хорош, когда надо держать данные в памяти и быстро вызывать.
Ты же не будешь из-за боязни антипаттернов дёргать десериализацию в апдейте?
Или будешь? Хуй вас знает, сектантов баззвордовых.
578 533956
>>33953
Мне как раз singleton и нужен. Мне и нужно было быстро дёргать массив с данными и этот массив уникален.
А зачем делать десериализацию да и еще в апдейте?
579 533957
>>33943
Тяночки не любят анонов с предварительной оптимизацией )))
580 533958
>>33957
Ага сразу бросаются к Ванечке, который харкодит и без проектирования, комментирования делает всё логику.
А потом приходиться все это исправлять, не понимания как и что работает.
581 533959
>>33956
Значит, сорян. Я увидел сарказм, там где его не было. ГД такой токсичный стал, что на каждый шорох приходится гавкать на упреждение.
582 533961
>>33959
Хех. Ладно, спасибо тебе. Надо будет повторить паттерны, а то со своими амбициями я далеко не уйду, даже не зная простой и готовой реализации.
583 533964
>>33961
Лучше уроки повтори
584 533967
>>33964
Да там такие уроки, в частности на Ютубе. По типу как взять компонент текст и присвоить ему текст. Другая половина, которая учить делать что-то на реальных проектах, такую пургу пишет, начиная с магических чисел, спагетти-кода и заканчивая непонятной структурой проекта. В которой сами под конец блуждают

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

А так с помощью своих амбиций, реального проекта, любви к чистоте и внутреннему перфекционизму, который всегда захочет лучшего. Буду искать лучшие варианты и как раз закреплю знания.
585 533969
>>33967
Это какой-то левый хуй про уроки кукарекнул. Лучшие уроки - учебники. Лучший учебник по шарпу - MSDN.
586 533972
>>33969
>>33967
Я вообще подумал что он так решил затраленговать, типа паттерны говно для школьников.
мимо
ТП.jpg90 Кб, 653x660
587 533973
>>33972
Школьники всё могут в говно превратить, и паттерны, и антипаттерны.
588 533990
>>33919
О чём вы вообще спорите? И нахуя какие-то событийные шины, если тупо можно вызвать нужную функцию напрямую. Ну вот наприер я сегодня писал тайлинг текстуры. И там надо было квадраты рисовать в текстуру пикселями. Я все функции напрямую и вызывал. А что надо какие-то события лол для этого юзать? Зачем обычному индиблядку эти ваши шины? У тебя 3 макросекунды чтоб убедить меня что лично сука мне с них есть материальная шкурная низказкая и сладострастная выгода.
589 534064
>>33990
События нужны тогда, когда дохуя вещей должны происходит после какого-либо события. Например, сменил язык -> событие -> все текста на экране обновились. Удобно, только подписывай/отписывай текста при создании/удалении. Использовать события для чего-то большего есть извращение.
590 534065
>>34064
но для этого есть паттерн проектирования ОБСЕРВЕР из книжке 4ех

причем тут шины? вы шиноебы чтоле?
591 534069
>>34065
А чтобы жопу подтереть ты тоже книги по паттернам читаешь?
592 534070
>>34069
Нет, отправляю запрос по шине на разрешение отмотать 3, а то и целых 5 метров бумаги из рулона и жду пока шина ответит на мой призыв.
593 534081
Суп, юнитибоги.
Где ммаксимально нюфагу разжевывается кодинг UI?
Почему-то все туториалы которые я нашел, даже официальные, просто шлепают их в эдиторе, а потом уже в самом эдиторе вешают на них всякие разности.
Я смотрел в сторону OnGui и даже запилил пару вещей на нем, но люди на форумах говорят что они тормозные@устаревшие и вообще зачем тебе это нужно иди в эдиторе нашлепай.
Вот еще говорят есть какой-то способ запихнуть нашлепанное в эдиторе в префаб, префаб в ассет бандл, ассет бандл в длл и загружать этот ассет бандл прямо из кода. Это было бы идеально. Я даже пару примеров видел, но поскольку я тупой и начал изучать сишарп и вообще программирование четыре с половиной дня назад кек не думаю, что мне удастся провернуть такой трюк.
8.png101 Кб, 1131x707
594 534092
Скажите как правильно нужно моделить этот корабль что бы вот так вот раскрашивать все текстурами, нужно частями моделить и все отдельными объектами собирать в юнити или есть способ раскрашивать текстурками секционо целую модель?
595 534103
Чому if (Inpunt.GetButtonDown) не всегда срабатывает в FixedUpdate?
596 534104
>>34092

>есть способ раскрашивать текстурками секционо целую модель


color mask\id map shader
597 534108
>>34103
FixedUpdate не вызывается каждый кадр. Он срабатывает с фиксированным шагом ~20 раз в секунду, в моменты когда физический движок проводит свои рассчеты, так что момент нажатия кнопки FixedUpdate может пропустить. Проверку нажатий нужно вставлять в Update или LateUpdate.
598 534114
ВИЗУАЛЬНЫЙ СКРИПТИНГ В ЮНИТИ
599 534115
>>34114
Кажется это следующая NEXT BING THING. Наконец-то перестануть форсить ECS и жоп систем
15179488195800.jpg58 Кб, 535x542
600 534116
>>34114
Ну это круто, будет как в уеч4, надеюсь производительность будет как в нативном коде.
sage 601 534117
>>34115
И точно так же забросят недоделанной, перейдя на следующую BIG THING. Кеки анальные.
602 534122
>>34114

>ВИЗУАЛЬНЫЙ СКРИПТИНГ В ЮНИТИ


Так для юньки уже давно штук сто проектов с нодами есть. Говно говна одно и тоже.
603 534127
>>34065

>причем тут шины?


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

>но для этого есть паттерн проектирования ОБСЕРВЕР из книжке 4ех


Обчитаются своих паттернов, а потом у них виснет всё
604 534167
Аноны нахуй нужны (get;set;) почитал документацию от microsoft сказано что нужно для лучшего контроля свойств и инкапсуляция.
А нахуй тогда делать так: public int someint { get; set;}. Тут нету ничего из выше перечисленного
605 534170
>>34167
Дочитай до конца. Ты можешь сделать, например public int someint { get; private set;}
Дальше сам.
606 534171
>>34170
Это да, это для инкапсуляция. Но люди в коде просто используют то что я привёл выше, вот вопрос, нахуя?
607 534174
>>34171
У них надо спрашивать. Могу предположить, что чисто для порядку, чтобы стиль соблюсти. Ну и плюс самодокументируемость - сразу видно, что обращаешься к свойству. И еще плюс можно по быстрому туда сеттер-геттер ебануть.
608 534175
>>34174
Короче очередной сахар, ладно спасибо
image.png14 Кб, 575x312
609 534176
>>33856
Есть инструменты для построения графиков?
610 534178
>>33856
Ну или просто чтоб 10-20к лайнов держало свободно
611 534179
Нагуглил Vectrosity , хз норм ли, может еще чего есть.
612 534185
>>33937
У меня хуй, соре. :с
sage 613 534193
>>34167
Ты брейкпоинт туда воткнуть можешь.
614 534212
Есть поток говна идущий на тебя беспрерывно, нужно метко раскидывать говнины по кучам, но мы не знаем в какую кучу можно ложить, а в какую нет, быстрее ли всего выяснить с помщью dictionary.ContainsKey()? Зависит ли скорость выяснения от размера кучи линейно?
1540503310142.png248 Кб, 512x512
615 534213
616 534214
>>34176
Рисуй в текстуру например, какие проблемы.
617 534225
Ладно, а как просто быстро проверить наличие элемента в коллекции? Нужно просто знать есть ли он там или нет, тип стринг.
image.png15 Кб, 481x289
618 534226
Нп, я сьебался
619 534228
>>34174
Мимо-анон, приебаться хочу.

> сразу видно, что обращаешься к свойству


А по public int someint = 0 не видно, что обращения будут?
620 534237
>>34225
ЛИНКом проверь.
621 534240
>>34167
А вдруг, потом будет? Чтобы проще менять было.
622 534243
>>34167 >>34175
на самом деле это не совсем сахар и у свойств есть свои лимитации так как они не являются какой-то хуитой которая содержит значение, а просто с другой хуйней взаимодействует. например свойство нельзя передать через ref. ну и некоторые хитрости при использовании их в struct.
623 534271
Аноны, шлепаю примитив на пустую сцену (в проекте впрочем и других сцен хватает) редактор кладет его куда бог пошлет а не перед камерой например.
С какого ?

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

Знатокам: (знаю что без мазы но вдруг)
Может всетаки есть финт ушами писать екстенты без скобочек как проперти или как-то запилить проперти екстент с использованием This как в экстент методе.
Например:
obj.ext().something - такое вот расширение изза скобок трудно читается
obj.ext.something - намного меньше шума
624 534272
>>34167
Подумай анон, а зачем нужы интерфейсы ?
Ищи профит, Люк )
625 534275
>>34081
А чем кодинг UI отличается от прочего кодинга ?
626 534276
>>33870

>защитить свое приложение от воровства


Что именно ты внем собрался защищать и от чего ?
Ты уж определись.
627 534283
Анотехи, уже с год наверное имею Юньку во все тяжкие, но вот как-то не попадал в ситуации где нужно юзать ScriptableObject.
Читал мануал и гугл листал, однако устал.
Обычно на каждый чих есть простой пример неепического профита.
А тут как-то не срослось.
В чем профит ?
Что он может чего неможно сделать другими средствами ?
628 534290
>>34271

>финт ушами


как то прикрутить к монодеву препроцессор хотябы
629 534291
Решил попробовать Юнити.
И у меня сразу несколько вопросов:
1. В юнити есть встроенный 3d редактор. Есть ли смысл хоть как-то им пользоваться, если умеешь пользоваться всякими 3д максами, блендерами, автокадами и скетчапами и можешь делать модели в них?
2. Как я понял, в юнити есть редактор текстур. Его будет хватать или нужны какие-то сторонние?
3. Какие плагины можете посоветовать, если я собираюсь тупо делать рил тайм рендер зданий с упором на фотореалистичность?
630 534292
>>34291
1. Нет там встроеного (по крайней мере не в 5.6 версии) редактора для моделинга.
Есть редактор для расстановки на сцене.
631 534295
>>34283

>В чем профит ?


Его можно просто, без задней мысли объявить (инстанцировать через new). В отличие от MonoBehaviour, который нельзя просто, без задней мысли объявить (а только через Add Component). Мне сама юнька об этом написала, когда я готовил этот >>33947 пост, потому я в том коде не стал заморачиваться со ScriptableObject, а написал вспомогательный класс, который вообще ни от чего не наследуется. Хотя в том посте, в коде, вспомогательный класс script2 мог бы быть как раз наследником ScriptableObject. Но раз работает и так, то зачем платить больше?
А теперь ты идёшь в документацию юнити и смотришь, какими методами обладает ScriptableObject, и если эти методы тебе нужны, наследуешься от него.
632 534298
Нашел несколько вроде бы подходящих плагинов. Может быть еще что-то посоветуете?

Substance in Unity
https://assetstore.unity.com/packages/tools/utilities/substance-in-unity-110555

Post Processing Stack
https://assetstore.unity.com/packages/essentials/post-processing-stack-83912

Polybrush
https://assetstore.unity.com/packages/tools/modeling/polybrush-beta-111427

>>34291-кун
633 534302
>>34298

>Может быть еще что-то посоветуете?


Сейчас ты будешь устанавливать все плагины? Будешь делать все игры? Сашко? Цэ ты?
634 534304
>>34302
Плагины в любой программе упрощают жизнь в разы.
Если бы у меня сразу были все нужные плагины, когда я изучал 3д, то я бы делал все быстрее, лучше и эффектвнее. Но нет, заместо этого я изобретал велосипеды, хотя мог выполнять рутину одной кнопкой. Порой час времени без нужного плагина заменяется минутой времени в плагине.
635 534308
>>34114

> 2019.3

636 534309
>>34304
Э нет, Сашко, ты не сможешь автоматизировать сразу всё, выучить за одну ночь сотни плагинов на все случаи жизни, при этом не утруждая себя изучением основ, как это всё работает. По факту, ты сейчас просишь кнопку "сделать заебись":
Тэээкс, делаем игру. Я надеваю плащ и волшебную шляпу, достаю ассет "заебись модельки в едином стиле который ты хочешь", сверху на него скачиваю плагин "осознающий себя нейроскрипт", затем скачиваю плагин автоматическое игровое меню-экстрасенс, читающее мысли разраба". Итак, засекайте время, бац-бац, хуяк-хуяк, скачиваю плагин "процедурный генератор интересного контента", хуяк-хуяк, устанавливаю плагин "универсальный конвертор любых анимаций со встроенным валидатором мешей", еблысь-хуякс, накатываю плагин на плагин, надо не забыть сериализацию, вот так, скачиваю плагин "удобная система сохранения", бдыщь-пиздык - готово! Компилирую и выгружаю в стим. 10/10. ААА. Все игрожуры хвалят бесплатно! Называют меня русским Кодзимой.
637 534397
>>34276
Ну приложение такое себе, вроде ничего необычного, но в нем есть своя изюминка. Хотелось бы сделать сорт оф авторизации,и чтоб билд через некоторые время был непригоден к использованию и не было возможности выковырять заставив работать обратно либо чтоб это было очень трудно. Но глядя на то как на многие программы есть кряки складывается впечетление что хуйца так просто можно защититься.
638 534399
>>34397
Для малого объема кода и отсутствии инета - никак.
Невозможно создать условия когда взлом станет невыгодным.

На большом объеме кода и загрузке проца проверками лехко и интересно.
639 534403
Пацанва, вот есть функция в классе, в класе есть поле (int), функция делает цикл 50-100 итераций, и при этом каждая итерация читает поле. Если скопировать поле локально перед началом цикла, будет быстрее?
sage 640 534413
>>34403
Да. Компилятор не может гарантировать что переменная не будет изменена сторонним потоком. Потому каждый раз будет читать из памяти. Локальную переменную можно просто поместить в регистр.
641 534418
>>34413
Вообще-то наоборот. Конпелятор все оптимизирует из расчета на однопоточное выполнение.
Так что если какой-то поток изменит переменную, то это скорее внутри твоего цикла никак не обнаружится
Для отмены таких оптимизаций даже специальный модификатор volatile есть
642 534427
Хочу абсолютно тупорылый вопрос задать, не бейте посоны ООП не понимаю, сишарп начал изучать очень недавно.
Есть два префаба, один - ракетница, другой - ракеты.
На них в эдиторе ничего не повешено(и вообще невозможно что-то повесить по моему скудному разумению, в игре к которой я пытаюсь прикрутить эту ракетницу свой уже готовый assembly-csharp, что-то прикрутить можно только через длл). В игре я инстанциирую ракеты по клику дллкой и прикручиваю к ним наследующий от MonoBehaviour класс, который должен следить за ее положением, скоростью, количеством топлива.
Допустим, у каждой ракеты разный запас топлива.
Все вроде как работает, но возникает этот самый абсолютно тупорылый вопрос.
Я не могу понять, как обратиться к конкретно этому инстансу этого класса и соответственно, этой конкретной ракете к которой этот инстанс прицеплен. Мне нужно как-то поиметь возможность менять переменную запаса топлива для каждой конкретной ракеты. Но я абсолютно не понимаю как понять что это именно та ракеты, которая мне нужна, это просто в голову не укладывается.
geek shock fotolia.jpg95 Кб, 400x400
643 534429
>>34427
Штоблять??
Что ты творишь!?
Остановись! Тебе нужно чтобы просто пушка стреляла ракетами. И всё. Какие нахуй ДЛЛ? Какой ООП? Какое прикручивание классов??? Куда ты полез? Она тебя сожрёт нахуй!
what.png155 Кб, 385x299
644 534430
>>34429
Я бы с радостью не лез в вещи в которых нихуя не понимаю, но я уже не могу остановиться.

>Тебе нужно чтобы просто пушка стреляла ракетами. И всё.


Это хуевое описание от непрограммиста кек, нет там никакой пушки и ракет.
В игре есть механика выбора объекта через клик мышкой, к ней я прицепился и могу нормально отличить мой объект от других объектов в игре. Но как отличить какой конкретно это инстанс моего объекта? Мне нужно иметь возможность собирать с них инфу скопом, выставлять значения переменных для каждого в отдельности, как-то так в общем. И вот как обратиться к железно тому инстансу который мне нужен, я не понимаю.
645 534431
>>34430
Ну что тебе посоветовать?
Изучай юнити.
Тут выше в треде тебе советовали изучать шарп на МСДН, это дело хорошее, но помимо шарпа, тебе надо знать особенности движка. Для чего там нужны объекты, как движок ими манипулирует. Какие методы у тебя есть для получения доступа к объектам игровой сцены. А то ты за ночь нахватался вершков, а общего понимания нет.
646 534432
>>34431
Советовали не мне, я левый мимохуй. Я пробежался по юнити туториалам у самих юнитеков, но как-то это дело они либо обошли стороной, либо я просто не увидел.
647 534433
>>34432

>либо я просто не увидел


Зыс.
Невозможно увидеть всё, особенно, когда "пробежался".
Теперь пройдись адресно, выискивая статьи по тем вопросам, которые тебе нужны.
648 534434
>>34433
Знать бы еще что искать эх. Буду копаться.
Я вообще думаю вот что, а зачем писать велосипед. В игре это уже все реализовано, когда я копался в ассембли я видел что есть несколько dictionary, при каждом добавлении объекта в сцену и в них записывается инфа об объекте.
И в этой самой механике выбора, когда игрок выбирает объект, то игра пробегается по этим dictionary, пока не находит нужный тип объекта и дальше уже решает что с ним делать.
Я таким образом и подцепляю свой monob класс к конкретно моему объекту по параметрам, которых у никакого другого объекта в игре быть не может(наверное хех), а потом определяю, подцеплен ли к объекту класс или нет.
Может быть пойти дальше и сказать, что если объект выбран, объект отвечает заданным параметрам и на объекте уже есть инстанс моего monob, то этот инстанс и есть нужный мне? Воот.
649 534438
>>34431

>Ну что тебе посоветовать?


>Изучай юнити.


Не хочешь помогать - не пиши ничего, даун, в зад засунь себе такие советы.
650 534440
>>34438
Нет ну совет-то правильный. Изучать как движок работает надо, иначе так и буду хуйню лепить. Мне просто надо было срочно разобраться в конкретной особенности.
651 534441
>>34440

>Нет ну совет-то правильный.


Хочешь еще правильный совет? Иди учись на программиста несколько лет, потом не будешь нас своими вопросами мучить, мы тут не для этого сидим.
652 534446
>>34441
Совет был бы корректен, если бы у меня не было профессии(у меня она уже есть) или я бы хотел ее сменить(нет смысла). В моем случае гораздо логичнее спросить настоящих программистов конкретные направления поиска.
653 534447
>>34446

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


>>34431

>Изучай юнити.


>>34434

>Знать бы еще что искать эх


Продолжай спрашивать этого дауна.
654 534449
>>34427
что за хуйню ты там творишь вообще? инстанс класса чего? наследуй ракету от MonoBehaviour и пускай она сама себе там на Update топливо отнимает. нахуй тебе где-то ещё отнимать у ракеты топливо то
655 534450
>>34447
Ну хрен его знает, может чего дельное будет.
>>34449
Я же говорю, пример с ракетой туповат оказался.
Класс наследуется от MonoBehaviour, в нем есть переменные, которые вытаскиваются из параметров аниматор контроллера этих объектов, на который вешается инстанс - это он уже может. Но мне нужно как-то понять, как сделать так, что совсем другой класс будет менять и узнавать эти переменные адресно с каждого инстанса или все значения массово, вот так как-то.
656 534453
>>34450
не совсем понятно о каких ситуациях речь, приведи конкретные примеры.
вот есть у тебя хуйня1 и хуйня2 которые представляют собой два обьекта. хуйня1 с аниматором и хватает его значения. их хочет хуйня2.
как хуйня1 и хуйня2 взаимодействуют между собой в мире? возможно следует сообщать хуйня2 о хуйня1 через это взаимодействие?
если ты хочешь список всех инстансов хуйня1 то это уже другой вопрос и на него другой ответ.
657 534455
>>34453
Постараюсь пояснить что мне надо сделать.
Игрок создает объект из префаба. Когда он выделяет его, если этот объект отвечает параметрам, то главная_хуйня2 вешает на него хуйня1, которая в свою очередь вытаскивает значения из аниматора этого объекта.
Игрок создает еще один такой же объект, опять же выделяет его, на него подцепляется еще одна хуйня1. И еще и еще и еще.
При выделении объекта, который отвечает заданным параметрам и на котором уже есть хуйня1, выскакивает менюшка, в которой через хуйню1 можно контролировать эти значения аниматора на текущем выделенном объекте.
Все это контролируется главной_хуйней2, которая цепляет хуйню1 на объект и которой надо знать каким конкретно объектам какие конкретно хуйня1 назначены.
Потом, когда игра сохраняется, главная_хуйня2 собирает все параметры из всех объектов, на которые навешены инстансы хуйня1, сохраняет их каким-то пока еще не придумал каким образом и при загрузке ищет все созданные игроком ранее нужные объекты на которых была навешана хуйня1, автоматически вешает на них хуйню1 заново и восстанавливает в ней все значения, которые выставил игрок.
Вот примерно то что мне нужно сделать.
Я уже могу понять, что это именно тот объект на который нужно нацепить хуйня1, т.к. подцепился к механизму выбора игры, но как мне сказать главной_хуйне2, что именно эта хуйня1 на этом конкретном выделенном объекте должна реагировать на менюшку и как сохранить потом со всех хуйня1 их значения, на каком конкретно объекте они были и потом это все восстановить?
658 534457
>>34455
как-то сильно дохуя абстрактно. два раза пришлось перечитывать. лучше задавай вопрос "у меня есть Х. я хочу У" и схему в пэйнте бы не помешало, возможно пока рисуешь сам поймешь ответ.

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


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

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

>но как мне сказать главной_хуйне2, что именно эта хуйня1 на этом конкретном выделенном объекте должна реагировать на менюшку


а зачем в этой логике главная_хуйня2? у тебя же должно быть что-то вроде public class Menushka где просто есть ссылка на нужный ей инстанс хуйня1. главная_хуйня2 же должна только создавать менюшку и возможно хранить список открытых менюшек на случай если захочется их все закрыть. но на этом вклад главная_хуйня2 в этот процесс заканчивается.
659 534459
>>34457

>как-то сильно дохуя абстрактно


Рискну предположить, что этот анон очень сильно ссыкует спалить свой геймплей, чтобы не увели. Потому такие абстрактные сведения.
Numbers.webm3,3 Мб, webm,
1152x776, 0:22
660 534461
>>34459
а хуй его знает. я тоже это предполагаю. но ничего не говорит о том что есть вообще что спиздить. может ему и просто показывать нечего так как и нет нихуя.
67z06u07owwf.jpg38 Кб, 400x300
661 534462
>>34459

>сильно ссыкует спалить свой геймплей


>Потому такие абстрактные сведения.


Тхис и тупость еще накладывается.
662 534480
>>34441

> мы тут не для этого сидим.


а для чего ? мимоинтерес
663 534483
>>34275
Я другой анон, но разница есть. Т.е. когда ты скриптуешь поведение сцены (игрок оказался здесь - включаем вот этот объект) ты используешь одни подходы, а когда скриптуешь интерфейс (если здоровье игрока упало ниже 20hp - включаем красный оверлей на камере). Вопрос в более жесткой линковке, например. Вопрос в слежении за показателями (или событийной моделе, которая цепляется именно за своего игрока). Или ты как-то так живешь, что этой разницы не чувствуешь?
664 534487
>>34483
Да какбы для мну что там что там один хрен програмить или юзать инспектор привязками или префабить.
Собсна у чела два вопроса - как управлять с нуля гуем и как цеплять гуй снаружи к билду.
Первый кодится также как и с обычными объектами, ну то что код другой так это везде так, а может это у юнитехов такой тонкий стеб типа могли сделать унификацию архитектуры, но вот хрен вам.
Второй тоже попробовал, гугл не то что до Киива, до Гавриила местами даже тропинки расчистил, к слову в 2018 версии теперь должно быть проще, они там перешли на какую-то знатную шнягу и обросили старые костыли с бандлами итп.
665 534490
Хочу сделать симулятор менюшек с бегающими человечками типа banished. Как не обосраться с архитектурой? А то боюсь, что если неправильно спроектировать - на выходе получится полтора фпс.
666 534495
Тут это, настало время подчистить за собой. Пробелма один, есть классы которым требудются апдейты, а в них еще есть другие классы, которые тоже требуют апдейт, и ВНЕЗАПНО, в этихклассах тоже есть массивы сущностей (sic!) требующих апдейт, короче получилась такая лесенка из апдейтов. Как выходить из такого положения? Ну пока что брат жив, но полагаю тут нужен какой-то хитрый менеджер в котором бы еще желательно выставлять ордер апдейта, примерно как у юнити для скриптов. Сущности эти требуются для расчтетов и вычислений, обновлений, вот.
667 534501
>>34480
Чтобы выебываться на нюфанек и посылать их лучше учиться.
668 534502
>>34495
Я сделал так - общий менеджер с апдейтом, в котором логика всех менюшек и всех состояний вызывается, и апдейты в юнитах для обработки их моделей. Апдейты независимы друг от друга, разве что апдейт в моделях смотрит иногда на состояния из общего менеджера.
669 534507
>>34450
Ёбаная ты чмоня, просто создай открытый вызов в своем манябихейворе, который будет менять нужные тебе параметры.
670 534515
>>34462
Про тупость мог бы и не упоминать, если думаешь, что в юнититреде кто то спиздит твои гениальные идеи и завтра зальёт в стим.
671 534517
>>28658

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


Но ведь, справедливости ради, этого же можно добиться и без ECS при помощи интерфейсов:
class Oligarkh : IBoss, IHuman, IRich, IPhat, IJew, IHasCock, IOwnsPussy, IFriendsDjigurda {}
672 534520
>>34517
это не совсем так. интерфейсы предоставляют реализацию конечному классу, тогда как в ECS реализация не предоставляется. и каждый кусочек пазла должен уже в себе содержать реализацию.
673 534521
>>34520
Ага, таким образом самая простейшая в вакууме реализация ECS будет:
class Entity
{
private List<Entity> components;
public AddComponent(Entity component){ components.add(component); }
}

?
674 534524
>>34521
Хотя нет, лучше так, наверное:
abstract class Component{}

class Entity
{
private List<Component> components;
public AddComponent(Component component){ components.add(component); }
}

class Dooer : Component
{
public void DoSomething{ Console.write("I do!"); }
}

class System1
{
Entity entity1 = new Entity() { AddComponent( new Dooer() ); }
}
2.mp4918 Кб, mp4,
1920x1000, 0:07
675 534536
Подскажите как фиксить перекосоёбливание камеры как на видрилейтед в конце.
Кот:
Quaternion to = Quaternion.FromToRotation(transform.forward, -snakeHead.up) transform.rotation;
transform.rotation = Quaternion.Lerp(transform.rotation, to, rotateSmooth
Time.deltaTime);
676 534537
Quaternion to = Quaternion.FromToRotation(transform.forward, -snakeHead.up) transform.rotation;
transform.rotation = Quaternion.Lerp(transform.rotation, to, rotateSmooth
Time.deltaTime);
677 534538
>>34536
у меня была идея прибавлять новое вращение к старому типо застакать что бы получилось конечное вращение, но нихуя не вышло т.к. рак мозга
678 534539
Сап. Есть в Юнити инструменты для создания AR-приложений, не использующих маркеры?
Я знаю, что есть ARCore, но он работает лишь на некоторых моделях телефона. Есть ещё что нибудь?
Конкретно, мне бы хотелось создать приложение, которое превращает пол в квартире в траву.
679 534541
>>34521
>>34524
довольно отдалённо. вообще конечно пример с интерфейсами ближе к реальности. можно же сказать "вот для группы у которой есть позиция, ротация, кошелёк и член ебанись ка этот код". но разумеется это будет поток боли, так как переиспользовать код по человечески нельзя, эвенты тоже нормально нельзя, ссылки нельзя. много чего нельзя. вообще интерфейсы как правило ебошат же чтобы проверять наличие какого-то функционала не ожидая что он есть вообще. чтобы ты такой хопа if target is IPickable DoSomeCode(target as IPickable), для этого ECS тоже не подходит так как надо заранее сказать "хочу всё говно с IPickable"
всё это напоминает тот самый аутизм с оптимизоном когда ты все свои данные представляешь как несколько массивов со struct и ебёшся там с индексами, разве что удобств заметно больше.
это всё просто замечательно, пока имеет разумные размеры.

>>34536
чисто так, интересно, а хули ты камеру крутишь? вместо квадратика?
а вообще дай ка весь код.
680 534542
>>34536
Ну во-первых у тебя тут знаки проебались.
А во-вторых - где этот код вызывается? На камере или на кубе? И змейка как у тебя представлена?
681 534543
>>34541

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


Разумеется. Только при чём тут ECS?
ECS не про группы и групповой вызов кода, насколько я понял, ECS это про то, как для реализации игровой логики создаются объекты-системы, код которых строится из взаимодействия объектов-компонентов внутри объектов-энтитей. Я неправильно понял?
682 534546
>>34542
>>34541

>>а хули ты камеру крутишь? вместо квадратика?


куб как в майнкрафте сделан из блоков и не вижу разницы

>> И змейка как у тебя представлена?


код весит на камере, а по "snakeHead.up" можно понять что голова змейки это двигающийся квадрат
683 534547
>>34546

>>куб как в майнкрафте сделан из блоков и не вижу разницы


ведь принцип будет тот же, он не успеет докрутится начав новое вращение и его перекосит как камеру
cube.webm346 Кб, webm,
600x422, 0:09
685 534550
>>34543
а нахуй он нужен если не использовать его для ебанистических групп то? ты суешь себе кочергу в задницу в обмен на производительность. оно не даёт плюсов за пределами этого. я уже привёл пример с массивом структов, я не знаю что к нему ещё добавить.

>>34546
>>34547
>>34549
ну добавь какое-нибудь округление ротации. например код этой крутилки
https://pastebin.com/DW6gpuJ6
686 534556
Ну допустим я создал с помощью Vuforia приложение, которое отображает объект при наведении камеры на маркер. Можно ли как то сделать так, что бы объект не пропадал в том случаи, если маркер уже не попадает в область камеры, но сама камера ещё смотрит на объект?
Допустим у меня высокая башня, и я, стоя к ней близко, хочу посмотреть на верх башни.
687 534557
>>34556
лол ну сохрани позицию объекта и попробуй угадать где он основываясь на какой-нибудь техномагии.
а вообще тут икспертов по AR я не видал. лучше игры делать
688 534562
>>34550

> например код этой крутилки


спасибо большое, но теперь чувствую себя хуесосищем бездарным, опущеным в парашу всей головой. Такая мелочь, но сам бы не додумался
https://pastebin.com/MujJrQHU
Unity 2018.2.13f1 Personal (64bit) - Prototype.unity - Snak[...].mp42,8 Мб, mp4,
1920x1000, 0:10
689 534563
>>34562
забыл даже видрил...
690 534565
>>34557

>а вообще тут икспертов по AR я не видал


А где они водятся?
691 534566
>>34563 >>34562
лол это же обычное дело когда самые тупые и очевидные решения приходят в последнюю очередь. я много раз когда ложился спать и уже окуклился в одеяльчико неожиданно понимал это решение, вскакивал и записывал его.

>>34565
я могу только выразить отсутствие наблюдаемых экспертов.
а вообще. возможно тут? https://developer.vuforia.com/forum
692 534567
>>34566

>https://developer.vuforia.com/forum


Ну я надеялся на ареал обитания российских экспертов по AR
693 534570
>>34567
ARVR - новая область. Вкатываясь сегодня, ты можешь стать одним из наикрутейших отцов-первооткрывателей индустрии.
694 534577
>>34567
На дваче ? лол
А по существу не ведись ты на апи вуфоровцев, также как и производители видеокарт они будут по капле вливать типа иновацыи и тянуть резину до второго пришествия.
Делай сам распознавание что сложного то ?
15390460243190.png206 Кб, 498x594
695 534582
Корчое так, вот есть у меня класс-система с другими класссами-сущностями, , ну лежат там в списочке, апдейятся, то се, я их щипаю через GetBar(), и все хорошо, но есть одно но, если я его не использую, он дальше себе апдейтится и обновляется ,в памяти, а корчое как сделать так чтоб скотина удалялась то? Монобихавор юзает только публичные функции, и получает ссылку , а сам класс-система, не знаю ничего о монобихавере. Как итого неизвесно, кто юзает или юзает ли вообще сущности из класса-системы, я не использую ECS, просто обозвал так для наглядности. Что делать пацаны, может давать на вход системы монобихаворный парашливый компонент, а система уже будет смотреть. если типа компонент использует сущность, знач удаляем старую, и вставляем новую, хочется вообще почтиать про этот ваш ECS и научится работать с ним, тем более что пирфоманс, мультипоточность это как раз та пилюля что доктор прописал.
696 534584
>>34582
Оче мутno, понRтно ниhуя. Если монобех изменяется благодаря какой-то инородной субстанции, то кто сейчас их склеивает? Почему там же не сделать подсчет ссылок? Если монобех знает о некоей внешней субстанции (т.е. если у тебя есть компонент ЮзательИнороднойХуйни), то ты можешь сделать синглтон-счетчик, на Awake ЮзателяИнороднойХуйни регистрироваться в синглтоне, на OnDestroy выписываться и там же считать кто нужен, а кто нет.
697 534588
>>34582

>как сделать так чтоб скотина удалялась то? Монобихавор


RemoveComponent() не?
698 534592
>>34577

>Делай сам распознавание что сложного то ?


Во времени очень ограничен.
Да и оказалась, что Vuforia по умолчанию поддерживает нужную мне функцию
699 534593
>>34582
Если всё совсем хуёво у тебя - делай один единственный апдейт в каком-нибудь апдейт-менеджере и подписывай в него списки апдейтируемых объектов, и регулируй, вызывать ли апдейты (обозванные как-нибудь MUHUPDATE()) в этих объектах через их наличие в списке.
1.png18 Кб, 1529x676
700 534625
Есть наклонная поверхность. Также есть Rigidbody с CapsuleCollider'ом.
Если я двигаю его под поверхность, то он просто проваливается. Как это пофиксить?
701 534626
>>34625

> Как это пофиксить?


Вариант первый: дикий костыль на скорую руку.
На месте назначения движения проверь (высота земли - высота первого колайдера над землей) и если она не вмещает высоту перемещаемого объекта не двигайся туда.
Вариант второй: еще более дикий костыль, но с привкусом мышки редактора.
Вокруг(рядом, снизу) объектов под которые объект не может заехать из-за габаритов поставь еще колайдеров вида стенка.
702 534627
>>34626
А почему он проходит именно сквозь "пол", а не наклонную поверхность?
703 534629
>>34625
В ригидбоди поменяй Collision detection на continious.
704 534631
>>34629
Пробовал, не канает.
705 534643
>>34295

>(инстанцировать через new)


Так, паддажжи, ёбана. Разве SO - это не такая .ассет-хуйня, которая лежит в файлах игры(в асстах) и не может быть создана в рантайме?
706 534647
Кто-нибудь шарит в создании шейдеров? HLSL?
Лютое дело? Нужно шарить в геометрии?
мимо3дмакак
707 534648
>>34643
Там у юнити вообще, судя по всему ничего в рантайме нельзя создавать, а не то юнитеки по ручкам надают и пожурят, нахуя ты кодишь, когда ассетфлипать нада?
708 534649
>>34647
Нахуя тебе шарить в шейдерах? Скачай готовый ассет воды всего за 35$ базарю, ещё захочешь.
709 534652
>>34647

>Лютое дело?


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

>Нужно шарить в геометрии?


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

И да анонас тебе правильно говорит, купи лучше нужный шейдор за $5 в ассет сторе это позволит съэкономить прото гору времени на отладку и тесты.
710 534653
>>34627
Не знаю, но предполагаю, что пол имеет более высокий приритет чем наклонная поверхность из-за вектора гравитации.

Есть некоторый объект стоящий на другом объекте, чтобы правильно разрулить их коллизии нужно взять самый первый объект в иерархии против вектора гравитации, объявить его "неподвижным", а все остальные вытолкнуть вверх. Так касула "стоит" на земле после первой итерации физики. Потом внезапно она становится вторым объектом по вектору гравитации который нужно решить а решать ее нужно со всеми обектами что остались выше ее. И тут проихдоит майндфак - выше объект тоже закреплен и неподвижен и его выталкивать навех нельзя, значит надо двигать капсулу вниз, под землю. Капсула погружается под землю на второй итерации физики. По хорошему физику следует решать до тех пор пока не будет пересечений по всякому протбуя растолкнуть объекты, но можно ведь и не решать, а принять, что за N шагов будет достигута нужная точность решения "снизу-вверх", если моделировать простую гравитацию.
711 534655
>>34627
Видишь ли о мудрый Каа, при рассчете физики, сколько по твоему коллизий будет у наклонной и горизонтальной поверхностей на единицу времени ?
Про то что проваливаться при континиус вобще-то не долно, скромно умолчим.
712 534656
Давайте представим так, есть класс SolarSystem, в нем есть планеты, соларСистем получает апдейт и апдейтит все планеты, планеты создаются констуктором на старте и по ходу. Теперь нужно взаимодействовать с юнитимиром, делаю СоларСистемМенеджер, пишу туда чтоб на старте раскидала обжекты UnityPlanet : MonoBehaviour, и каждому монособачему компоненту через Activate() вхуячиваю инстанс Planet. Вот планета крутится, гравитация мутится, тут я такой навожу мышку и ВНЕЗАПНО начинаю крутить колесо, срабатывает функция SolarSystem.ReplacePlanet(this.planet) из монопсины, все, я сижу на экране с новой планетой, из памяти старая удалена и отправлена на помойку, производительность цела, компилятор жив. Правильно ли так делать, когда оснвной замес в памяти происходит не выходя за пределы, нужно всего лишь визуализировать неболььшой кусочек.
713 534657
>>34656
Нет так делать неправильно, но для прототипа сойдет.

>монособачему


>монопсины


Рот с мылом помой.
714 534658
>>34656

>начинаю крутить колесо, срабатывает функция SolarSystem.ReplacePlanet(this.planet) из монопсины


А почему в таком случае не срабатывать приближению камеры в обнимочку с LOD'ом (или еще какой резиновой женщиной самопальной лод-системой)?

>Правильно ли так делать


Ну вот можно так делать, можно так не делать. Правильно это вопрос контекста. Идея с камерой тоже ни "правильная", ни "ошибочная". Или ты говоришь о том, что юнити-объект пересоздается когда мог бы и не пересоздаваться? Тогда ты должен быть твердо уверен, что сможешь бросить изменить поведение в любой момент - и не бояться теоритических тормозов.
715 534659
>>34655
Что, блять, значит "не должно"?

1. Переключить на континоус
2. Запустить и проверить

Что я, по твоему, упустил?
716 534660
Посмотрел я сейчас что на рыночеке творится - и у меня возник вопрос: а нахуй ковыряться в этом самом юнити? Зарплаты никакущие - новичку юнитиводу платят 30к (хотя требований к нему столько, что пойди он в веб - ему с его скиллом все 60 дадут), 80к считается очень и очень неплохой зарплатой. Если работать не на дядю - то тут вообще говно вырисовывается, ибо без бюджета в пару лямов рублей на маркетинг шанс заработать больше, чем заработал бы в макдональдсе меньше, чем выиграть в лотерею.

В чем наебка? Есть какие-то масленные места и схемы заработка, которые я упускаю? Почему все так упарываются по геймдеву и дрочат эти ваши юнити?
717 534661
>>34660

>пару лямов рублей на маркетинг


А что ты с ними делать будешь? На объявления в фейсбуке пустишь?
718 534662
>>34657
Но а как тогда можно сделать чтоб было вменяемо?
719 534664
>>34660
В гейдеве и радиоэлектроннике работают ебанутые фанатики, потому такие маленькие зарплаты и такое отношение работодателей.
720 534672
>>34662

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

Только когда написал простыню текста понял о чем ты говоришь. Мысли ты выражаешь ужасно. От этого страдает и твой код. Твоя идея рисовать по минимуму верна, но сделана плохо.
Я так понял у тебя есть куча планет со своими свойствами, но видно только одну и можно переключаться между ними через скролл?
oskar-vega-egogirl.jpg334 Кб, 1200x1391
721 534675
Посоны, роюсь в ассетсторе. Меня заебало это делать вруцную. А там нет случаем АПИ? Хочу табличку ВСЕХ ассетов на сторе, с рейтингами в текстовом формате. Потому что переходить по ссылкам через всторенные интерфейс заебало.

Может такое есть? Ну скачатъ список ВСЕХ ассетов в текстовом формате мне для парсинга. Ну а по сути я просто хочу

1. Мне уже чисто интересно, сколько ж их там вообще? 1000? 10000) МИЛЬЯРДЫ?

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

Или может есть какой-то внешний сайт с табличками итп?= Или у них есть более продвинутый поиск по ассет стору?
722 534676
>>34660

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


Как и везде, работодатель согласен платить не больше чем суммы, на которые соглашаются работать соискатели. Ты хочешь получать от 80 и выше, но вокруг куча народу шарит поболее тебя и готовы работать за 20-тку. Ты сидишь на жопе и сосёшь хуй, либо соглашаешься на 15-шку.
723 534678
>>34672
Проблем с перфомансом нет,пока что, хотел узнать как по другому сделать можно.
724 534681
>>34675
1. https://assetstore.unity.com/search/?k=type:content&order_by=relevance&q=type:content&rows=42 x1154 страниц это 48к - скоро юбилей
2. открой браузерную консоль, напиши скрипт
И очень большая ошибка ориентироваться по звездам. Ассет свыше 50 баксов очень часто оказывается оверинжиниринным говном, которое заражает пользователей Стокгольмским синдромом. И есть крутые ассеты которые или новые, или не раскручены автором.
725 534685
>>34681
Да, я понимаю что метод не идеален. Но как еще? Просмотреть 48к ассетов вручную, каждый скачатъ, потестить и потратить недельку на вдумчивое чтение туториалов, ютюб роликов и пиление небольшого прокетика? Такой способо подходит для изучения ЯП или библиотек. Но вот разобраться в 48к юнитипакетов таким образом времени не хватит.
sage 726 534686
>>34660
Есть. Учить UE, С++ и разные сложные темы новичкам недоступные. Всё как всегда в итоге. Алсо, тут бабло есть только у издателей и владельцев, идти сюда имеет смысл только если твоя цель в итоге стать одни из.
redalrt.jpg69 Кб, 1136x400
727 534690
После запуска (play) проект и иерархия становятся вот такими красными. Причём это не тёмно-красный, как пропавший префаб. А яркокрасный. Кто-нибудь сталивался с таким? Это можно починить? Что собвенно это значит? Сломана сцена или редактор? Переустановка 2018.2.12 на 2018.2.14 не помогает.
728 534694
>>34690
Сообщения в консоли тебе религия не позволяет посмотреть?
729 534704
>>34678
Я так не понял что ты хочешь сделать. По скролу на планете что должно происходить?

В любом случае в ECS планета/вся солнечная система это сущность с кучей компонентов, если для разных удалений(я так понял у тебя на это скрол завязан) нужно отображать разную инфу, то просто включай/выключай нужные компоненты отображения без ее реального пересоздания(по сути такое поведение это самопальная лод-система, ее можно будет потом отдеить от планет).
730 534712
>>34660
Ой вэй не понял вопроса.
Зачем ковыряться когда там уже все разжевано ?
Зачем работать на чужого дядю если например ты даже поспать норамльно не можешь ибо идей столько что натурально рвут крышу ?
Лепи поделия пхай на маркеты индигогопатрены и прочие кикстартеры.
И будет тебе (если ты художник хотя бы в музыке и графоне) стабильный доход.
731 534721
Аноны среди вас есть художники. Столько сука идей а все упирается в дизайн.
732 534722
>>34563
Короче, теперь разбивай куб на квадраты и шумом перлина поднимай вершины куба случайно
Примерно вот так:
https://youtu.be/gIUVRYViG_g
Мимо анон
733 534728
>>34721
есть лол
но ты ведь имеешь ввиду бесплатных рабов которые будут рисовать по твоей прихоти и твоему быдло кодерскому вкусу
а потом ты всё равно дропнешь проект и все отрисовкачасы пойдут по пизде

таких нет, извеняй
зачем мне рисовать твои идеи, когда я могу рисовать СВОИ идеи
мои идеи-то получше а твои говно
734 534729
>>34685
Я по ассет стору шарился много. Понимаю его мощность, и когда надо что-то найти - рука набита, посмотреть 10-50 страничек могу быстро (внутрь ассета заглядывать далеко не всегда надо). Правда, посмотреть - не факт что найти, т.к. 48к поделим на тематики, да на стилистики, да на применимость к текущим ассетам... Короче, когда будет 480к будет хорошо. Но, как бы то ни было, когда смотришь массив ассетов, часто новые идеи появляются (порой даже легкие в реализации). Так что очень рекомендую уделить время на изучение части стора.
735 534730
>>34728

>бесплатных рабов


А как насчет платных? За скока мне осьминога запилишь?
736 534733
>>34728
Это же лишь твои догадки.
Да и не бесплатно, а за общую идею. :^)
Да и плюс твои идеи могут перерасти во что-то более комплексное, найдя ты хорошего программиста на unity.
737 534737
Читаю я значит этот туториал:
https://unity3d.com/ru/learn/tutorials/topics/physics/physics-best-practices
Где сказано, что, мол, лепи ригидбади, коль коллайдер двигаешь.
Ну налепил я их и шо я таки в итоге поимел - ~85 fps вместо ~120 без них.
Где я проебался? Кинематик поставил.
Ворнинги, кстати, без ригибади, тоже не видел. Объекты с коллайдерами двигаются.
738 534739
>>34737

>в итоге поимел - ~85 fps вместо ~120 без них.


>Где я проебался?


Ты проебался в том, что думал, будто симуляция физики обойдется тебе бесплатно или сущие фреймы, а оно вишь как. Теперь ты много задумаешься, нахуя игроделы такие трюки выдумывают, как знаменитый поезд-шапка у Тодда.
739 534740
>>34739
Так, паддажжи. Мне простой коллижн-детект нужон и я использую коллайдеры. Умные дядьки написали типа нужно присрать еще к каждому коллайдеру ригидбади обязательно и будет пиздато, а иначе пиздато не будет и пидором станешь. Но на деле все наоборот получается.
740 534744
>>34740
Поздравляю ты купился на разводку, как наивный дурачок. Смотри не нарушь закон, а то на зоне сразу же петухом станешь.
741 534745
>>34740
Не мороси ебана. Чтобы столкновения детектить, рижидбоди нужен только на одном из двух коллайдеров. Лучше распиши чего ты пытаешься добиться и тебе пояснят как лучше можно.
742 534754
>>34745
Сраннер. Бьюсь за производительность, но без крайностей с велосипедами.
image.png1,4 Мб, 1280x960
743 534757
Скачал vectrosity, держит 50к лайнов, 80к vector2 в листе, но когда жму пробел (начинает апдейтить каждый фрейм), фпс падает до 40 в билде. Столько лайнов с головой хватит, но интересно что может ботлнечить? Может сам вектросити прожорливый с оверхедом? Стоит ддр3 зачтыка на 1гб, память ddr3 1600
744 534759
гпу не нагружается
745 534760
если смотреть через afterner
746 534768
Аноны, я новенький, на прошлой неделе начал учиться программировать, и вот мне не нравится, что в юнити все через отдельные Update() делается (как я понял). Нельзя ли все это как-то централизовать, сделать, скажем базу данных, в которой будет храниться все об игре, а сама игра будет просто эту базу теребить и рисовать соответствующую картинку?
747 534770
Апдейт не относится к рендер-луп если ты об этом.
Он дает возможность твоему скрипту как бы выполняться в нем.
Но ты можешь не юзать апдейт.

>>34768

>все это как-то


Что именно ?
Можно то много всяких штук, от простигосподи синглтонов до экстентов через статик класс всего и вся.
748 534771
Курва, опять пока расписывал проблему понял в чем проблема.
749 534772
>>34768

>сама игра


сама игра это как раз твои скрипты а юнька от себя дает только обвязку орхитектурой и рендер.
750 534777
>>34768
Ты не очень понял, что такое юнити. Это вот такие штуки подключаемые https://assetstore.unity.com/packages/3d/animations/horseman-animation-collection-11545 , а для "мне только рендерить" бери https://github.com/Izzimach/react-pixi и не выебывайся.
751 534869
Как заввстваить юнити выдавать приличную картинку на уровне UE из коробки?
image.png1,5 Мб, 1920x1080
752 534903
>>34869
Пост-эффекты. Только не перестарайся, а то https://www.playground.ru/blogs/battlefield_4/6_naibolee_uzhasnyh_graficheskih_effektov_kotorye_nuzhno_ubrat-140420/ получится.
753 534918
Что думаете про alloy? Выглядит вроде как миленько, все йобы в наличии и бесплатный к тому же.
https://assetstore.unity.com/packages/vfx/shaders/alloy-physical-shader-framework-11978
754 534934
>>34903
Я твою игру уважаю, но это совсем не приличная коробка из UE. Просто не совсем хуевая картинка с минимумом пост-эффектов и плохо запеченым амбиентом.
claaamp.png33 Кб, 705x552
755 534946
[code]fillTexture.wrapMode = TextureWrapMode.Repeat;
fillTexture.Apply();
EditorUtility.SetDirty(fillTexture);
AssetDatabase.SaveAssets(); [/code]

посоны, почему текстура всё равно остается в Clamp-warp-mode
чяднт?
Из инспектора всё работает.
006.png799 Кб, 1073x893
756 534949
>>34869
Погугли unity postprocessing.
757 534979
>>34934
Бро, спасибо за вежливость, но это не моя игра. Пикрил (нашелся в гугле) именно чтобы продемонстрировать было/стало. А так можем кадр из юнитевской демки https://www.youtube.com/watch?v=GXI0l3yqBrA посмотреть: глубина резкости (depth of field), очень аккуратный блюм (или даже хитрый LUT), sun shafts (хотя и не факт, что он тут пост-эффектом реализован), яркость+насыщенность тоже не "как в текстурах было" и (подозреваю) туман в зависимости от глубины.
На второй еще и хроматическая аберрация (чем дальше от центра экрана - тем сильнее), а на первой картинке её нет.
interactive-1.gif6,6 Мб, 1460x556
758 534984
>>34934
А, ну да, еще источники света как надо стоят. Тени, наверняка, везде где можно запечены (хотя я их не запекаю - не могу ничего толкового сказать). https://blogs.unity3d.com/cn/2016/09/28/in-development-progressive-lightmapper/ , https://docs.unity3d.com/Manual/LightMode-Baked.html
brainlethal.jpg41 Кб, 800x450
759 534995
>>34979
Так падажжи ебана, адам это реалтайм что ли?
image.png615 Кб, 951x1080
760 535016
>>34995
Ну ебана бля. Ты как первый раз штаны обоссал. Все демки всегда делаются для супер-пупер оборудования. Не удивлюсь если он риалтайм на компе со спаянной вручную материнской плате, в которую воткнуты 146 видях.
761 535024
>>35016
Запускал адама на одной 1080 как она только вышла(да и адам был свеженький) Вроде норм, притормаживало при ассинхрронной подгрузке в сцену всяких ресов и выгрузке из нее, и еще где пидюков овердохуя - пролагивало. Но тут вопрос не в видюхе.
И да - все эти прелести - они же без HDRP этих ващих
image.png44 Кб, 187x220
762 535026
>>35024
Хуясе бля ваще. Еще и хэ дэ рэ пэ это наше пиздец.
763 535027
Есть у меня здоровое здание, для сохранения приличного texel density собираюсь обмазать его стену тайловой текстурой и чтобы не палилось повторение сблендить несколько тайловых материалов по карте.

Как такое провернуть в юнити? Как быть с запеканием света при тайловой развертке? Прийдется юзать amplify?

Также реквестирую тулзы для рисование и обмазываения тайловых текстур для последуещего блендинга, substance painter для этого не очень подходит.
764 535028
>>35027
В догонку: кушает ли юнити uv сеты?
765 535030
>>35028
Очень странные вещи спрашиваешь. Свет падает на отдельный канал. В принципе ты их можешь юзать сколько захочешь, только нахуя? Это нужно людям чаще при расчете на шейдере какой-нибудь фигни, типа карты повреждений, где цветами выведен коэффициент хитпоинтов. Художникам это нахуй не надо, и лучше не трогать - делать красивую одноканальную развертку, знать, что тень расчитывается на отдельной ювишке и эить с этим.
766 535031
>>35030
Ясно. С этим разобрался. А по вопросу выше, про блендинг материалов не подскажешь?
767 535046
>>35031
сабстенс дизайнер же
768 535050
Анон, помоги разобраться с кодерскими штуками, сорян сразу если что-то не так говорю.

В C# обычно пишу функцию
public void test()
{
Какой-то код
}

Недавно встретил такую штуку
public void test(Чота написано)
{
Какой-то код
}

Не понял, что это за штука написана в тех скобочках. Что это дает, как называется? Прошу помощи, вдруг у тебя анон получится обьяснить человеческим языком?
769 535051
>>35050
Если не сложно обьясните, как эти штуки в скобочках использовать и для чего например?
770 535052
>>35050
Это (Чота написано) аргументы функции для передачи каково либо значения в функцию, ты что основ не знаешь?
771 535053
>>35050
Бро. Это, как тебе уже написали, аргументы. Если ты где-то (в другом, или в том же самое скрипте) вызовешь .test() - исполнится первый метод (метод это функция-для-объекта), если напишешь .test(чёта) - исполнится второй метод. Но. Как бы это тебе сказать помягче. Я забыл порядок цветов радуги и таблицу умножения для восьмерки - подсоби, будь добр. Иди в официальные туторы юньки и учись, нехуй тут эфир засорять.
772 535061
>>35050
Купи книжку по программированию для самых маленьких и прочитай ее перед тем, как к компьютеру подходить.
773 535063
Анон, юнька виснет при попытке изменить аватар у модели с ригом импортнутой из блендера, кто-то сталкивался?
774 535065
Господа, подскажите пожалуйста. Есть у кого оффлайн-документация по Юнити 3.5.7? Или в онлайне, похуй собсно. Пока нашел ток в веб-архиве, и то под более позднюю версию(4.х).

Спасибо
775 535069
Так это, джоб систем типа паралелит скрипты? А то я в один все сьебашил, чтоб одно и тоже дйствие не повторять по всех. При перемещении канвасов мне нужно получить ворлд корнер и траслировать 3d в 2d через RectTransformUtility, ну и я такой думаю, а че это я вообще должен в каждых 10 скриптах получать корнер, если могу все в одном, а в адейте поcчтитать цикл в цикле, вместо того чтоб кажlsй скрипт делал свой цикл. В цикле работа со списком и векторами, не сказать что много забирает кекопроизводительности, но вполне ощутимо. А что если я сделал неправильно, и бруст компилер/джобсы наоборот мне помогли бы?
776 535083
>>35052
Спасиб.
777 535091
>>35065
Бемп, чтоль
778 535094
Профайлер сьедает 100 мб в сек, никто с таким не сталкивался?
779 535096
Кидаю на 2д-сцену спрайт. Прикрепляю к нему 2д-риджидбади.
Запускаю.
Падает.
Окей.
Кидаю на сцену спрайт. Прикрепляю к нему 2д-статикбади.
Запускаю.
Падает. На 5-10 пикселов входит в статик, затем выталкивается обратно.
ЧЯДНТ?
780 535152
Как подключить библиотеки Юнити для кодинга без самого Юнити? Хочу в Notepad++ воткнуть, чтобы он всё это читал и можно было кодить на компе без Юнити (места просто на компе 2гб свободного, комп полевой).
782 535160
>>35152
Открой солюшен, изучи ссылки. Скопируй на флешку библиотеки по ссылкам.
783 535200
>>35091
Юнька в своем репертуаре. Можешь на https://docs.unity3d.com/Manual/ManualVersions.html тыкнуть "Report a problem on this page". Им будет похуй, зато ты еще долго сможешь рассказывать, ну какие же они пиродасы.
784 535242
>>34918
Неужели никто не пробовал?
785 535260
>>35065
но зачем тебе документация на старую как говно мамонта версию юнити?

>>35069
много жрет чтоли? нахуй тебе возня с такими мелочами? а так вообще да, джобс это хуйня чтобы паралелить код. Там всякие интересные полезности есть вроде быстренького копирования информации в потоки и прочего.
image.png122 Кб, 968x413
786 535265
>>35260
Хотел в будущем построить сорт оф спектрограммы, нужен тупой брутфорс миллионых списков, с многопоточностю мало знаком, и если юнити дает тулзы для ленивых которые нагрузят все потоки под завязку бесплатно без смс то я готов ими воспользоваться.
787 535299
Почоны, помогите дегенерату. Как правильно апдейтить InputField?
Хотел этим вот назначать WAAGH через инпут филд:
if (int.TryParse(waaghbar.text, out int value))
{
if (value < 0)
{
value = 0;
}
selectedOrc.WAAGH = value;
}
И все заебись рабтает, да вот только изменения не отражаются в инпут филде, потому что у меня много оркоты и у каждой разный ваагх.
Когда я пытаюсь повесить вот такую хуйню в апдейт:
if(selectedOrc)
{
waaghbar.text = selectedOrc.WAAGH.ToString;
}
по идее эта хуйня должна вытягивать из орка его текущий WAAGH, если я его выделил и пихать его в инпут филд.
WAAGH изначально нуль, в процессе игоря он поднимается, ну и опускается.
И оно действительно вытягивает, просто спамит этот ебаный нуль и я не могу воспользоваться инпут филдом вообще. Мне кажется зря я вообще в Update такую хуету тащу. Навесить апдейт гуя на сам селект пробовал, но почему-то обычный дебаг лог подтверждает что все работает и оркота выделяется с первого раза, а вот вызов апдейта гуя работает только после повторного выделения.
788 535300
>>35299
Решил булевым костылем, который запрещает эту строчку, когда когда триггерится onValueChanged и разрешает, когда триггерится onEndEdit, но наверняка есть другие способы, получше?
789 535301
>>34770

>от простигосподи синглтонов до экстентов


Что такое экстенты в контексте юнити?
790 535302
>>34771
Уточку купи
791 535334
>>35301
public static class ChmoExtension
{
public static void TrahnutMamku(this 535301.Mamka whore, penis elda)
{
whore.Insert(elda);
}
}
792 535338
>>35265
а не проще отдать рисование такой хуйни видеокарте? она явно лучше с этим справилась бы.
793 535352
>>34949
О, привет.

>>35094

>сталкивался


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

>>35334
Спасибо

>>34660
Но ведь ХХ.ру даже в ДС2 обещает 80-120 даже миддлу.
794 535362
>>34676
Вот никогда не понимал этой демпинговой логики. Занимаюсь исключительно VR-ом последние 4 года. Бывает звонят - фрилансер нужен, сроки две недели, работы на пару месяцев если в обычном режиме, тз почти согласовано, есть графика почти вся... Озвучиваешь ценник - мол час столько-то, спать времени не будет, я не враг здоровью, потому еще и за это сверху возьму. А тебе "по рынку в среднем дешевле, есть ребята, которые за еду работают" и прочее прочее. В итоге твоя цифра отличается от цифры заказчика почти в 10 раз. Они тебе про тридцатку за две недели марафона(!) а ты им про три сотки.
А итог всегда один - звонит менеджер, что твой корешь - и говорит, что "из-за тебя сорвали проект, что ты не взялся и попали на штрафы в пару лямов". Жиза. И такое 4 раза за последние пол-года. Все эти менеджеры любители фрилансеров придумывают себе каких-то разрабов, которым можно платить по 10ке в неделю - и это типа средняя по рынку.
Не ведись - плюй в лицо тем, кто несет чепуху про фантастически дешевых разработчиков. Их нет, не было, и если ты не будешь дураком - не будет
795 535366
>>35362
Лучше работать на дно работе по фиксированому графику без переработок чем не спать ночами и выжигать глаза кодом.
796 535367
>>34676

>работать за 20-тку.


В мск столько платят охраннику.
797 535369
>>35366
О том и речь. Уже дошло до того, что ценник фрилансерам выставляют при сжатых сроках расчитывая цены исходя из зарплат на местах. Разница да - ты спишь и имеешь рабочий день (кроме дедлайнов, но в нормальных конторах за это приплачивают), можешь отлучиться на пожрать в рабочее время, может развеяться и заняться чем-нибудь ненапряжным, благо это в офисе всегда понимают, порисерчить в конце концов, почитать литературу по работе. А тебе на вышеперечисленное - "все это несущественно, ты же все равно без работы сидишь". Потому ценник исходя из минимальной ЗП, найденной на хедхантере за джуниора. Платят ему 70к - значит две недели на фрилансе - 35 и неебет. Таких надо сразу нахуй слать и вообще ничего не обсуждать. На твою цифру - "мы такое в бюджет не закладывали, и вообще заказчик бы отказался, если бы мы дороже сказали". А почему это должно быть головной болью разрабов?
798 535370
>>35367
Играем в "менеджера долбоеба"?
- У нас есть ребята в регионах и для них это нормальный ценник. Не знаю почему тебе должны платить больше
799 535372
>>35370

>- У нас есть ребята в регионах и для них это нормальный ценник.


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

>Не знаю почему тебе должны платить больше


Может быть по тому что у вас не таких ребят которые работают за миску супа.
800 535373
>>35372
Это за какую единицу времени?

По поводу второй части. Именно. Потому схема работает в виде торга, только в обратную сторону. Тебе озвучивают ценник, ты закладываешь все свои траты и время и озвучиваешь немного с запасом. Тебя шлют нахуй. Через неделю перезванивают, мол так и быть, ты заебал, сроки горят, но мы кое-как выбили денюжку на тебя. Но ты озвучиваешь уже ценник больше ибо неделя прошла и значит ебашить надо усиленнее, чтоб уложиться(что логично)
801 535375
>>35373

>Это за какую единицу времени?


За месяц.
802 535376
>>35375
Ты ебобо?
803 535379
>>35376
Нет.
804 535382
С какого анон ты сравниваешь ставку сталевара и геймдева ?
Вот смотри сталевар отпахал выплавил котел металла и получил свою тридцатку.
НО !
Его работа это капля в море остальных работ делаемых другими людьми.

Тут вас приглашают делать игру и платят по часам, а потом пиздос спасибо что отлизали ?
Да с какого члена ?

Все кто пахал на игру режут бабки с пирога продаж в пропорциях и никак иначе.
Хитровыебаные пидоры манагеры пусть идут нахуй, посмотрим как они сами ззаебашат игру, посмеемся.
photo2018-11-0323-55-01.jpg88 Кб, 906x1280
805 535383
>>35382
Никто так не работает - не поверишь. Есть люди, которые ответственны за происходящее перед инвестором или владельцем, есть команда, нанятая наработу. Тут не Пало Альто чтоб при устройстве на работу выделялся депозит, подъемные и опцион от доли в проекте. Люди работающие на опционах - обычно просто работают там, где нет денег на разработку, а значит что нет инвестора, а значит - проект говно и это индишкольники из телеграм канала @Govnodev
806 535384
>>35383
Ну как сказать, было дело пердложили написать магазин онлайн.
Сразу поинтересовался про мой процент, строго по Марксу ни копейки лишнего.
Сказали хренте в грызло.
Ну окай отказал, насколько знаю магазин они себе так и не слепили.
Сижу в уютной юньке, имею тридцатник чистыми.

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

А про ответственность, смеюсь с такой ответственности, Готику грохнули, дохрена игр грохнули, какие то вобще закрыли.
Денег вбухано немерено.
Манагеры отделались общими словами и легким испугом.
807 535386
>>35384
Ты давно школу закончил?
808 535387
>>35386
Да лет 30 назад, а че ?
809 535388
>>35386
А ты случайно не манагер ?
Или может штрейкбрехер ?
810 535390
>>35388
Штрейкбрехом и не пахнет. Я за то, что разраб, получающий 30ку и при этом не совмещающий со школьной скамьей не особо имеет право рассуждать о проценте каком-то в принципе. И обвинять кого-то в штрейкбрехерстве тем более.
811 535392
>>35390
Тактактак, что-то ты меня смутил прямо.
То есть вот давай подумаем.
Вот пустое место.
Вот появился манагер и подумал, а не замутить ли игру.
Вот пригласил команду из пяти человек.

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

Вот игру выпустили и она снискала лавры и всеобщую любовь (упрощаем)

В каком отношении надо делить прибыль между этими шестью человеками (ну ок добавим бухгалтера и юриста) ?
812 535394
>>35392
Есть инвесторские деньги, ответственность за них, офис обставленный чтоб было комфортно, оборудование, компы, софт, деньги на корпоративы, реклама(!), серваки, сисадмины и прочий стафф аля эсэмэмщики и даже уборщицы, поддержка, и зп не исчесляющаяся в говяжьих анусах как у тебя, а позволяющая тянуть семью прикинь, два ребенка в частном детском саду - это 70к в месяц, тачку, ипотеку и отдых.
И про шесть человек - ты дебил? Не бывал в студиях по 60-100 человек?
813 535397
Кстати да, при привлечении внешних инвестиций это понятно.
И снова жирное такое, НО.
Пусть инвестиций будет лимон баксов, а игра очевидно взяла десять лимонов на продажах.
Как теперь делить ?

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

>>35394

>И про шесть человек - ты дебил?


Ойвэй, разве я где-то сказал что это ММО грейд ААА ?
Так что 6 человек это еще по божески.
Но отыскав алмазов неграненых в количестве трех человек (график, музыкант, сценарист) и при этом каждый может в хоть какой-то архитектурный програминг, получим тоже самое что и с десятью посредственностями или пятнашкой омежек с манией величия, а по факту ремесленников.
814 535398
>>35369
Мне тут на днях 5к рублей в месяц предлагали, типо стартап, денег, все такое.

Ты какой то фантазер. Такие вопрсы решаются при найме, договор называется. Или ты подписываешь один договор в стиле "обоссыте но наймите" а потом требуешь 100500 денег за процент от взлетевшей игры?
815 535399
>>35397
Что ты за хуйню пишешь? Я тебе говорю, что есть на рынке клинические идиоты, что демпингуют рынок своими услугами в три-четыре раза меньше среднего по рынку - ты мне говоришь, мол "я такой, но это норм, а вообще я хочу процент от пары ляма баксов"? Ты поехавший, или реально школьник-тралль?
816 535400
>>35394

>Не бывал в студиях по 60-100 человек?


Представил Скайрим над которым работали хотя бы половина от этого числа, но не ремесленников а настоящих художников.
Эххх.
817 535401
>>35398
Ненене, про процент это не ко мне, а к другому долбоебу. У меня прайс фиксированный почасовой, если не согласны - ищите меня же на апворке, и я его вообще не обсуждаю в меньшую сторону от слова совсем. И вообще среднее по рынку 35 бачей в час для мидла, 50 для сеньора. И не занимаюсь я играми. Я блядь код пишу. И да, он для игр. Концепция не важна, идея, игра, проект. Мне за код платят, а не за участие в какой-то игре. И очень огорчаюсь, когда мне говорят, что мой ценник переоценен в несколько десятков раз и показывают анкетку долбоеба, пишущего про 5к
рублей
Сукакакжеуменябомбит.
011961.jpg57 Кб, 730x551
818 535402
Оно как-то так выглядит
819 535403
820 535422
>>35362
Охуенно про "ты нам сроки сорвал, мы попали на штрафы".
Русская культура всегда нахаляву и побыстрее.
ba23be0aadaa144a436bd572caa1fe76300300.png135 Кб, 300x300
821 535439
>>35400
Что ты там эхаешь, фантазёр? Не было бы игры, была бы параша в которой за графоном не было бы геймплея. Титры. Едешь на физически корректной телеге в Хелген. Во рту у тебя детально прорисованный кляп. Кинематографическая камера постоянно тычет тебя в этот кляп с понтом "посмотри, посмотри какая красота!" Так же камера кинематографично тычет тебя в кинематографически идеальные рожи воров и Ульфрика, сидящих в телеге. И тоже постоянно как бы демонстрируя тебе, "смотри как колышутся на них наши тряпки с детализикованными 16К текстурами! Смотри какой физон ткани!"
мимо из тесача, насмотревшийся за прошедшие годы на оверхолы вот таких вот настоящих художников
822 535447
>>35399
Против клинических идиотов с демпингом только профсоюзы помогут. Ну, или хотя бы какие-то организации, которые смогут насильно заставить потребителей пользоваться только услугами от поставщиков, одобренных этой организацией. Иначе студенты ради доширака зарплаты так и будут обваливать.
823 535448
>>35439

> была бы параша в которой за графоном не было бы геймплея.


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

А то что у меня в первых же кадрах на полчаса отобрали управление ?
Это как назвать ?
Если мне нужна кинематографичность я пойду в кинотеатр.
В игре мне нужена игра, блят.
Хорошо замаскированная нелинейность, а не набор сгенереных простейшим скриптом квестов.
Криво понапиханые везде однотипные кривые префабы (ну вот яхз чем они все это время занимались)
Физон ткани, ойвэй это не их заслуга, там же вроде физикс от нвидии, так он и в ActiveWorlds за 2000 год нормально фурычит зайди проверь http://activeworlds.ru
Куклы как были скриптовыми так и остались, анимация жуткая.
Долбаная реклама мимо которой вобще никак не пройти было и которая похерила всю изюминку, АУНАСДРОКОНЫ !!!! гребаные манагеры решили бабла нарубить козлы.
Это не игра, блят, а заготовка под допиливание модами.
824 535451
>>35447
Кстати, лет 10 назад, до переезда в ДС, когда был работягой(доки, ремонт кораблей) - организовывал независимый профсоюз. Для организации нужно а)6 человек - руководство, отчетно-ревизионная комиссия, пара членов. б)регистрация банкоского счета фонда для пожертвований(обычно это юристы, у олдскульных это плюс переодика печатная, которая в 21 веке нахуй не нужна) в)актив, готовый подорваться разок в неделю на встречу/подписание трехстороннего договора вместо двухстороннего, или вызванивать демпингующих, чтоб поговорить "по душам"
Вообще не так уж и сложно
15361682956920.png266 Кб, 433x430
825 535492
Сделал неплохую, простеньку 3д игру на Юнити. Выложил в маркет. Она точно как минимум не хуже конкурентов, у которых за 2 года под 100к установок набежало.
Моя игра в поиске на 300+ месте, никто ее не найдет через поиск, конкуренция высока.
В итоге я выложил её и что? И хуй. Никакого почти траффика, установок, ничего. И как в таком случае быть?
Почему какие-то пдоры выкладывают говно из ассетов и у них сразу неебаца трафик установки есть и все такое?
826 535496
>>35492
Сто раз уже обсудили. Грамотная реклама и пиар. Потребители говна в мобильных магазинах не умеют в поиск, они просто, без задней мысли тыкают установку того, что у них перед глазами.
827 535497
>>35496
Ну приведи пример грамотной рекламы не за большие бачи? Я серьезно не понимаю.
828 535498
>>35497
Э, а причём тут "не за большие бачи"? Я такого не говорил. И примеров на то, о чём я не говорил - приводить не собираюсь.
universe[1].jpg968 Кб, 1920x1079
829 535500
Анон, нужна помощь.
Предположим есть планета, которая удаляется, становясь меньше и меньше, пока не станет выглядеть как точка.
Как лучше эту точку сделать?
830 535510
>>35500

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


Тоньше.
831 535519
>>35492
Дядя ты бы что ли тактику и стратегию почитал.

Смотри сам просто навскидку:
Агрессиваня реклама.
Вмрусная реклама.
Продвижения через всякие соцсети.
Продвижение через всякие краудфанды типа индигого, патреон итп.

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

При условии что у тебя действиетельно что-то стоящее, денежка найдет своего владельца не сумлевайся.
833 535525
>>35519
Даешь рекламу на picabu, yaplakal и других ресурсов и скачивания тебе обеспечены.
834 535526
>>35525
А вот это годно, анон, годно.
Схороню в коллекцию методов.
835 535635
photo2018-11-0510-21-37.jpg41 Кб, 750x732
836 535636
>>35526
>>35525
>>35519

Ни один из методов не работает. Траты на рекламу в соцсетях никак не окупаюются. С видео перешедших вообще нет. Если готов пару сотен тысяч выкинуть на ветер, и разочароваться - пожалуйста.
Алсо есть целые ресурсы посвященные монетизации, рекламе, метрикам.
"Манагеры не нужны", - кричали школьники. "Вы тупые, и нихуя не понимаете что делаете" - отвечали им цифры
837 535638
Всем привет!
Подскажите, есть методики или бест-практисы про то, как связывать программный код поведения ИИ с системами анимации, озвучивания и т.д. и т.п.?
Например, у меня реализуется поведение монстра через машину состояний, но я понятия не имею как по-уму сделать проигрывание анимаций "вступления" или "завершения" при переходе из одного состояния в другое, так чтобы часть поведения как бы блокировалась, пока проигрывается анимация. Что-то вроде: сначала скелет собирается по кусочкам, потом включается логика поведения; но ничто не мешает замочить NPC во время его "простоя".

Можно тупо брать и прямо в коде прописывать бесконечный return пока какой-либо анимационный клип не завершится, но это кажется слишком грубым вариантом и в итоге для каждого отдельного ИИ надо будет индивидуально описывать алгоритмы сопоставления машины состояний анимации и поведения.
Хотелось бы знать какой-то проработанный гайд по тому, как реализуются те или иные шаблоны связываний логики поведения и логики внешних признаков.
838 535643
>>35638
На гдач набижали тролли?
Уже во втором треде машиной состояний срут.
И тут я такой типа кормлю: Ты вообще понимаешь, что такое машина состояний? Это линейная последовательность состояний. На вход её может подаваться любая логика, хоть линейная, хоть древовидная, но сама машина работает линейно. Пример:
(есть питание) собираюсь - (есть питание) собираюсь - (нет питания) жду - (есть свет) впитываю - (есть питание) собираюсь - (собралось) ищу врага - (враг не найден) ищу врага - (враг не найден) ищу врага - (нет питания) ищу питание - (есть питание) питаюсь - (нет врага) ищу врага - (получаю урон) прячусь - (получаю урон) прячусь - (вижу врага) атакую врага - (вижу питание) питаюсь ...
Вот так работает конечный автомат. На него могут влиять тысячи факторов, но в каждый момент времени КА берёт сумму факторов, влияющих на него и переходит в соответственное этой информации состояние. Факторы могут быть как внешние (атаки, угрозы, погода) так и внутренние (жажда, голод, распорядок дня).
Соответственно, переходу из состояния в состояние могут отвечать графические эффекты типа анимаций, замешанные в т.н. блендспейсы. Они в отличие от КА не линейны. На персонаж воздействует команда идти вперед, он отыгрывает анимацию ходьбы вперед, внезапно команда идти вперед сменяется командой идти вправо, КА персонажа мгновенно переключился в режим ходьбы вправо, но блендспейс анимаций плавно смешивает анимации вперёд и вправо, таким образом, что модель персонажа красиво перестраивается с ходьбы на смещение.
Точно так же моб из абстрактного примера выше, он может ползти и жевать мертвечину в спокойном состоянии, но завидев ГГ он плавно перестаёт жевать и выпускает стрекательные тентакли, плавно меняя траекторию движения, хотя КА его ИИ уже десяток фреймов назад переключилось с "питаюсь" на "атакую врага".
839 535649
>>35643
Про динамическое связывание мне всё понятно, для этого есть переменные и триггеры в аниматоре.
Я скорее имею ввиду статическое.

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



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

А если надо описать поведение транформации босса, н-р, ему был нанесен критический урон, и он переходит в другую внешнюю форму. И при этом заморозить и поведение и реагирование на внешние воздействия, то это делается в каком месте? До перехода в новый стейт или при входе? И как стейт должен отслеживать, что анимация сыграна и можно "начинать"?
image.png350 Кб, 1920x1080
840 535650
Визюал скрюптингз! Я то думал как в констракте сделают, а тут ТАКОЕ!!1
841 535653
>>35649

Еще раз уточню, мне бы желательно какие-нибудь ссылки на гайды или лучшие практики, где аккумулируется опыт игровых программистов и аниматоров.
Гугл отсылает только к основам анимации в Юнити.
842 535654
Как оптимизировать Юнити террейн и ихние SpeedTree? Я сделал не густой, редкий лес и Draw Calls особенно после высадки деревьев выросли до 190. Больше на карте ниче нет.
843 535661
>>35654
бету скачай, там поменьше пиздец с этим
844 535663
>>35638
Animation Events
845 535664
>>35636
Можешь, плиз, тезисно рассказать как жить-то? Потому что я понимаю, что маркетинг нужен. Но больше ничего не понимаю. Кеймейлер, стимгифты и общение с общественностью к Большому Успеху не приведут.
846 535666
>>35663

Только для всякой мелкой шляпы типа звуков шагания... Едва ли можно прикрутить к чему-то более серьезному. Где-то находил анализ производительности событий анимации. Цифры печальные.
847 535667
>>35666
да ну брось. вон у меня эвенты в этой хуйне >>28471
через StateMachineBehaviour были сделаны и нормально
848 535668
>>35666
Никто не запрещает тебе написать свои эвенты с прямой подпиской, используя StateMachineBehaviour. Отслеживаешь кадр анимации, вызываешь нужную тебе функцию напрямую в нужный момент, профит. Только на переходах там что-то мутное было, но в целом я так очень многое на анимацию цеплял.
849 535670
>>35653
ИМХО, ты просишь на пальцах описать тебе сложнейшую область компьютерного моделирования (подчёркиваю, не игрового). Тут не может быть простеньких туториалов.
850 535672
>>28516

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


Я бы сделал игру-убийцу скайрима и тоддачей.
851 535673
>>35670
>>35668

Пока ищу только руководства по тому, как в контексте Unity по-человечески связываются две сущности: отдельная машина состояний ИИ и машина состояний анимации.
Изначально все начинал с описания логики в апдейте МБ. Т.е. NPC описывались просто. Когда пришлось придумывать что-то посложнее, созрел до описания машины стейтов. А теперь приходится реализовывать еще более сложные в поведении игровые объекты, и тут я уперся в стенку, так как не имею понятия, как с нуля придумать универсальные правила связанной и согласованной работы системы внутренней логики и системы внешних признаков.
852 535677
>>35664
Изучай апптрактор, там профкомьюнити небольшре есть касательно продвижения.
Полюби цифры, все эти метрики вроде CTR, CPM, средние сессии, и
прочее прочее.
Если занимаешься мобилками - ищи самые хайповые истории, пиздуй на appannie и sensortower и займись эксперементами с покупкой мотивированного траффика. Самые хайповые вещи относительно монетизации пользуй(киты если платят сечас за лутбоксы - встраивай лутбоксы, если мода на видеорекламу мотивируемую - в нее)
Касательно комплуктерных сторов - юзай хайповые темы, эксплуатэйшн, собирай денюжку на партеоне
А вообще да, искать вопросы касательно продвижения в отечественном нете - можно, но немножко.
853 535679
>>35677

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


Самостоятельно выложить свою игру на трекерах. Единственное возможное продвижение в нищерунете.
854 535680
>>35679
Имелось ввиду про отечественные новости и комьюнити про продвижение.
И да, публика платит и за подписки и за лутбоксы, да и игры покупает за фулпрайс. У нас ситуация средняя по рынку. Не надо принижать отечественного покупателя
855 535684
>>35677
Стор, как раз, кампутерный. Но проект рядовой, хайповой темы нет (я стараюсь и делаю его на совесть, вставляю всякие маленькие фишечки и очень хочу чтобы людям нравилось в него играть). На всяких редитах надо по тематическим разделам размещаться? Помню, что размещался на реддите в геймдев-прогрессе, и в твиттер скриншот-субботу юзал, но очень неуверен, что с этого был толк. Или я за тремя соснами леса не вижу?
856 535687
>>35684
Реддит - фигня. Меня там утопили в лайках а профита ноль. Твиттер, внезапно, неплох.
857 535688
>>35680

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


Новости давно читал?
https://2ch.hk/news/res/3974935.html (М)
858 535690
>>35688
Я тебе про цифры и статистику, а ты мне какой-то политач несешь. Давай, выходи уже из манямирка, и делом занимайся. Тебе наверное комфортно, сычевать и читать, что все вокруг хуево и у тебя никогда ничего не получится. А кто-то читает другую литературку, источники, и у таких людей вероятно, больше шансов сделать что-то полезное и как-то свой потенциал реализовать, не думаешь?
859 535693
>>35690
Я думаю, когда ты заработаешь больше, чем на дошик, к тебе придут в гости и попросят поделиться. И они будут очень убедительны.
860 535694
>>35693
Ебать ты контуженный. Манямирок на грани с шизой и паранойей. Больше чем на дошик - это сколько? За пять лет проганья успел взять в ипотеку трешку внутри ТТК и до НГ ее закрою. И что-то никто не пришел за долей какой-то. И не прийдет. Потому то эти люди не живут в моем мире - они живут в твоем. Скорее даже - в твоей голове.
861 535695
>>35694
А я вообще за 2 месяца на майбах накопил.
862 535698
>>35695
Сарказм неуместен
863 535700
>>35693
Не придут. Обезьяны приходят за теми, кто им понятен и у кого можно это дело отжать.
А программист им непонятен, сидит какой-то сыч и клацает по клавише весь день. Как он деньги вообще зарабатывает? СЛОЖНА, пойду лучше у ашота ларек отожму.
864 535707
>>35687
В твиттере я любил разбавлять теги типа #gamedev тегами в духе #handdrawed , #pcgame , тегать что изображено на картинке. Все правильно делал? Нет?
Снимок экрана (62).png655 Кб, 1600x900
865 535726
короч, переношу много моделей из сталкера.

как мне автоматом присвоить материалам текстуры?
не вручную же несколько текстур в каждый из сотен материалов пихать.
текстуры там хранились в .dds в разных каналах, я их повынимал и сделал в .png
866 535734
>>35726
в настройках экспорта в модели есть вкладка про материалы.
867 535735
>>35734
да, я видел, что можно авто-найти, но только дифуз, а остальные карты, типа нормали, спекуляра - хер
868 535762
>>35653
А куда отсылает ютубчик ?
869 535763
>>35650
А для сравнения бы еще картинку из констракта.
870 535765
>>35654

>ихние SpeedTree


Ой мамо.
Во первых зачем тебе ихние ?
Во вторых нормальный спидтри я не видел, особенно если ты по кустам шаришься.
Если только в Ризен морфинг крон неплох в одном месте, но не уверен что там спидтрее.
871 535766
>>35664
Анон, очевидно что ни патреон ни индигого к кпримеру твоим продвижением не занимаютсяи они сами об этом трижды предупреждают.
Ты сам должен накропать аудиторию и самое главное не профукать ее релизом.
То есть они должны сказать вау и ххотеть.

Вот после этого запускаешь уже вирусный проект, наращиваешь аудиторию скачком.
Все, дальше считай ты устроился, но само собой ровно до момента пока не попытаешься обмануть ожидания, тут с обещаниями будь очень осторожен.
872 535768
Посоны, вот такой вопрос назрел. Есть аниматор контроллер, в ассет бандле, в не моей игре. Его можно как-нибудь раздеребанить, узнать что у него внутри(и вообще в эдитор обратно запихнуть)?
873 535780
>>35768
Импортишь @портишь
874 535791
>>35366
Все так говорят. Но скиллуха растет - а сколько ты в рашке будешь получать? Ну 3к баксов тебе заплатят, это потолок. А буржуины клятые на апворке 50 баксов в час могут дать, общаясь с тобой через гуглопереводчик. Какой тут сон, если ты в потоке и за это 50 баксов в час платят?
875 535823
>>35791
3к на то и выходят.ну сколько часов в месяц ты будешь работать? Рисерч и обучение - за свое время. в итоге две недели работы, две недели простоя , поиска, обсуждения и прочего. В принципе и у нас есть места для топчиков по 200-250к.
За свои бабки покупать оборудование очень накладно. Тот же хололенз стоит около 300к. Шлемак vr с компом - около сотки. PSVR и девкит под него около 4к бачей. Leap motion - 300к... Айфоны, самсунги с8-с9, комп под былды на айось... Потихоньку этим обзаводиться можно, но В случае работы на дядю - ты можешь общаться с этими приблудами и все норм.
И опыт. На апворк люди не идут из начинающих. Они уже имеют бекграунд на гитхабе в качестве своих личных СДК-шек, плагинов и решений. Без них ты тоже нахуй никому не нужен. Как и без грамотного пайплайна разработки.
876 535827
>>35766
Обещания, когда первую делал, я давал аккуратно. Очень аккуратно. Можем даже сказать, что критически аккуратно. Потому что я ненавижу обманывать. Посему и патреон не рассматриваю (как-то очень много там, имхо, халявщиков и наёбщиков). А вот изначальную аудиторию где брать? Можешь пример какой-нибудь конторы написать, которая правильно себя ведет? Я вот помню создателей hunie pop, у которых на твиттере 20к живых челиков было (сейчас цифра должна измениться), но не уверен что у них правильная работа с общественность.
877 535828
>>35780
Как? Использовал uTiny ripper, он выцепил этот самый контроллер и он вроде даже импортируется в эдитор, но флоучарт не открывается вообще.
Ну ладно думаю, у меня же текстовое описание есть от uTiny есть, просто сделаю по нему.
И хрен! Ванильный контроллер в игре работает идеально, даже если я под завязку напихиваю его моими собственными клипами. А мой собственный контроллер - нет. При этом, они(вроде как) абсолютно одинаковые.
У них есть какие-то скрытые параметры, которые я пропускаю? Я спецом взял юнити той же версии, что и игра которую моддить хотел.
878 535845
Есть пачка юнитов, которым можно указать, куда идти, то есть имеются три точки, текущая позиция, желаемая и "точка сброса" (куда сбросится, если не сможет передвигаться). Там ещё методы всякие и параметры, чтобы такую деятельность обслужить. Что лучше: иметь апдейт в каждом юните или же иметь один апдейт и несколько связанных списков юнитов, точек и параметров?
879 535850
>>35827
Бадреон драфика не дает. Совсем. 0 из 10
880 535851
>>35845
По логике смотри. Кто у тебя путь ищет, сам юнит или некий надмозг. Алсо, если серьезный проект делаешь можно вообще логику отделить от монобехайвора
881 535855
>>35851
Надмозг, конечно, но в ебеня идти юниту, а не надмозгу. Там в апдейте банально высчитывается оставшееся расстояние + всякие правила того, какая должна дальше анимация проигрываться (прыжок, падение, ну понятно).

Это очень легко перенести в списки и в один апдейт.

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


Вот вопрос как раз о том, надо ли оно вообще таким заниматься и насколько оно надо.
882 535862
Как бы так менюшку сделать, есть одна менюшка, и она вызывается скриптами у которых есть интерфейс AltMod() , это для того если я по кнопке нажму с зажатим альтом, каждый шкрипт имплментит по свойму, все хорошо пока у метода интерфейса сигнатура стринг, а что если я хочу по нажатию кнопки юзать AltMod() c не стригом,а с чем-то другим? Хотел было юзануть рефлексию, а в скрипте просто сделать лесенку из if-ов и юзать оператор typeof/ as, скорость не важна, но он не подходит для валью тайпов, пацаны пишут что раз я так делаю то я обосрался, а правда ли это? Просто в менюшке куча кнопок, она универсальна по задумке для всех елементов, к некоторым можно применить чтото к некотоырм нельзя, накидал все в однмо месте и збс, дальше просто имплементишь интерфейсы для каждого класса, не?
43b76962-ad1c-4f68-bab3-ae370c515de7scaled.jpg99 Кб, 785x442
883 535870
>>35862
А что по поводу создать для каждой класс-контроллер в котором описывается вариация интеракта и паблик юнитиэвент. Юнитиэвенты блядь. Стринги, хуинги - жрет все. Эту хуйню размножай рефлексией на всех детей типа кнопка, добавляй поля, параметры, инстанцируй экземпляры описанного тобой класса со всеми параметрами прямо в эдиторе сколько хочешь раз.
Вообще занимаюсь сборкой всяких музейных и выставочных тач-панелей - и подход, описания класса для всего с допполями и возможностью размножения этого всего сколь угодно раз - превращают работу с интерфейсами в сплошной драг энд дроп. Если совсем дохуя в итоге переходов и прочего получается - пишешь визуальный дебаггер - и будет тебе счастье
image.png168 Кб, 600x339
884 535885
>>35850
Так я его и не хотел же. Мне он, вообще, не нравится. Игрок купил игру - игрок играется, не купил - не играется. И я не хочу других моделей. DLC, донаты и талоны на скидку от лукавого. Именно по этому я спрашивал: "А вот изначальную аудиторию где брать?"
885 535887
>>35885

>"А вот изначальную аудиторию где брать?"


Выложи свою игру на торентах а в самой игре в главном меню укажи ссылку на свои реквизиты куда тебе можно заслать пожертвования, напиши что типа такого "Я делал игру бесплатно, жил в впроголодь и жрал один доширак.", я уверен люди сжалится над тобой и даже школьник пожертвует последние деньги.
886 535890
>>35887
Дружище, да ты ебанутый. Ты когда-нибудь что-нибудь выкладывал? Что-то заработал? Или это из разряда "хоть я и школьник, но мне лучше знать?"
887 535891
>>35890

>Ты когда-нибудь что-нибудь выкладывал?


Я игры не делал.

Я даю тебе ценный совет воспользуйся им, у тебя все равно нету выбора.
888 535892
>>35891
Двачую этого. Самые лучшие литературные критики, к мнению которых прислушиваются - не написали ни одной книги.
image.png23 Кб, 200x113
889 535895
>>35887
>>35891
Я соглашусь с мимокроком, что ты ебанутый. Ебанутый ты, потому что игроки делятся на два типа: платят за игры, не платят за игры. Понятно, что у есть исключения (например, я когда-то купил диск с фоллачем, а потом его скачал с торрента). Так же ты ебанут, потому что я ни разу не видел обсуждений геймплея на торрентах. Понятно, что напишут и "говно, не играйте", и "лучшая игра на свете". Но способ привлечения хоть какой-то аудитории... Оригинальный, интересный. Плюс, вполне адекватно закинуть на свой сайт демку, её же (+/- с модификациями) дублянуть на торренты.
890 535896
>>35895

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


Ты сам понимаешь что делить мир на черное и белое это черта ограниченного человека.
Если игра зайдет человеку который никогда не покупал игру то он может ее купить что бы поддержать разработчика.
image.png24 Кб, 200x113
891 535905
>>35896
Я-то понимаю, а ты спойлеры не читаешь. Один из тысячи скачавших - да, купит. По каким-то своим тараканам. А чтобы поддержать разработчика 99,99% нажмут кнопку "Спасибо". Но это не сообщество, хотя и способ собрать фидбек до раннего доступа ("Релиз всегда только один" - есть такая полуправда).
892 535907
>>35905
>>35522
Ты смотрел то видео? Ты понимаешь что таких как ты тысячи которые хотят продвинуть свою игру, в том видео есть епизод где рассказывается про одного разработчика который делал все, что бы продать свою игру и в итоге у него только 100 скачек со стима. Если ты выложишь свою игру у нее хотя бы будет шанс стать популярной если ты конечно не говно сделал.
image.png24 Кб, 200x113
893 535910
>>35907
Чувак тусил по будкам (или как там гейм-конфочки называются) вместо того, чтобы делом заниматься. Потусил, а публике это нужно не было. Мне гораздо больше нравится история, как несколько чуваков годами пилили игру фултаймом (ну, при первой же возможности - фултаймом), но выпустились в день в один день с началом гейм-конфочки. Причем хорошую игру запилили, даже с разрушаемым ландшафтом. Только вот 300 скачек на торренте дадут 30 "спасибо" и 3 коммента: "норм", "хуйня", "хурма". Ну постучусь я человеку, который сказал: "хуйня" - спрошу что не понравилось, а он ответит: "да всё говно". Второй скажет: "Управление какое-то деревянное". И торрент хорош тем, что можно услышать: "Управление какое-то деревянное" - до релиза в раннем доступе. Хотя, мля, для этого должны быть и специализированные ресурсы (типа /v/), не предполагающие монетизацию.
894 535914
>>35910
Нахуя ты с дебилом общаешься? Не корми его и все
image.png24 Кб, 200x113
895 535915
>>35907
>>35910
И, как обычно, я сам нашел правильный ответ на твой не-вопрос. Вот тут хорошая подборочка: https://ninichimusic.com/blog/2018/1/4/10-places-to-find-beta-testers-for-your-indie-game . Вот "ребята" выложили демку https://gamejolt.com/games/lightfall/68206 - в топовых комментах 5 летсплейев. Фидбек за денежку - https://www.playtestcloud.com/pricing , без денежки (комментов не много, но с осмысленным содержанием) - https://roastmygame.com/
896 535916
>>35914
У меня маркетинг, как гвоздь в жопе, вот и общаюсь. Что-то с широкими массами делать нужно (до раннего доступа, да и после).
897 535922
>>35916
Объясняю, как нужно без бюджета пиарить игру: делаешь прототип, идешь к дядьке с баблом, он смотрит на твой прототип, говорит заебись сделал, дает тебе мешок бабла на завершение разработки, говорит, что теперь ты издаешься у него. Ты за мешок бабла делаешь игру, приносишь ее дядьке, дядька ее пиарит и продает, отстегивая тебе половину. Хули сложного?
898 535924
>>35910
Ты игру делаешь чисто для заработка или потому что тебе это нравится и приносит моральное удовлетворение?
899 535925
>>35922
Это реклама клуба инвесторов "Кому за 40" (или как он там у Морейниса назывался)?
900 535926
>>35924
Первую начал делать для себя. Потом понял, что мне это нравится куда больше, чем работать. Релизнулся. По баблу получилось больше, чем заработал бы за то же количество часов. Сейчас более-менее изучил юньку, перестал совсем уж бултыхаться в вижуале - делаю вторую игру. Вторая игра простая, без убер-идеи и нескончаемого потока оргигинальности. Потому что хочу научиться делать игры нормальные, приятные "в целом" (и за счет геймплея), не для узкой аудитории.
901 535927
>>35855

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



От сложности зависит. У меня, например, все модули разделены. Графика, звук, логика, ввод. Может быть одновременно несколько указанных модулей. Могу поток ввода направлять от бота, например. Или отправлять игровые события на сервер для статистики. Удобно. Но и накладные расходы есть. Если игра не на годы рассчита то такое наверно и не нужно.
902 535928
>>35885
Люди на красивую картинку ведутся. Вау эффект, вот это все. Сделаешь хорошо - будут перепосчивать друг другу... Но это очень вау должно быть..
PathDeltaCost.webm6,9 Мб, webm,
1152x800, 0:37
903 535952
ух. наконец отрефакторил генерацию пути. теперь наконец могу добавлять функционал к нему без лишней боли. сделал чтобы модификатор стоимости навмеша применялся к поиску пути и теперь можно сделать так чтобы агент избегал, или наоборот стремился к тем или иным местам. клёво смотреть.

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

>>35845
как заимплементил то такое?
sage 904 535967
>>35952
Хитрожопость ИИ типично не стоит усилий и игроки её зачастую просто не замечают.
905 535969
>>35952

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


Лол, напомнило:
https://www.youtube.com/watch?v=KFNxJVTJleE
906 535975
>>35967
а некоторые игры напротив известны благодаря хитрожопому ИИ, или тем что научили ИИ адекватно пользоваться его окружением. большая и интересная тема.

>>35969
да-а-а я отлично знаю историю ультимы. вообще надо попробовать сделать какую-то более глубокую эко-систему с асимметричным ИИ. что-то навроде ai war fleet command только от первого лица. чтобы вот игрок как джон коннор кусал роботов за пятки и собирал сопротивление, пока его ловят с вертолётами, прожекторами и вышками. было бы здорово сделать так чтобы сопротивление периодически самоорганизовывалось и самовыпиливалось об терминаторов. со всеми причинно-следственными связями. а игрок собирал своё сопротивление шарясь по помойкам и нигде не чувствовал бы себя в безопасности.
908 535980
>>35910

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


А ты лучше него знаешь что и как делать, да?

>Только вот 300 скачек на торренте дадут 30 "спасибо" и 3 коммента: "норм", "хуйня", "хурма".


Ого хоть кто то скачает твою игру.

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

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

>Хитрожопость ИИ типично не стоит усилий и игроки её зачастую просто не замечают.


Alien: Isolation на харде ты конечно не играл?
910 535985
>>35981
на самом деле там сильно уж объёбывают игрока с ИИ алиена. все равно что элизабет приводить как пример хорошего ИИ. в Halo например был очень клёвый ИИ, в FEAR, rainworld, ждалкере. вообще конечно стелс-игры часто имеют неплохой ИИ, но часто слишком уж зацикливаются на его предсказуемости. было бы здорово увидеть что-то где если игрока схватят за жопу то с побегом у него будут очень большие проблемы.
sage 911 535986
>>35981
Эта игра построена вокруг ИИ. Типичная игра нет. И то там скорее всего набор предварительно заложенных сценариев.
>>35985
Предсказуемость ИИ является важнейшей фичей. Игровой ИИ должен быть интересным и красиво проигрывать, а не быть умным.

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


Ага. Большие проблемы в виде mostly negative и рефандов.
912 535987
Как по мне игровая индустрия стагнирует потому что ее делают для тупых шкальцов что бы получить легкие деньги, а хочется что бы было какое то испытания, челендж, с эти хорошо справились игровая серия Dark Souls но таких игр исчезающи мало и это плохо.
913 535988
>>35986
и в итоге мы имеем говно и плохие тенденции, где чётко выражена тупизна ИИ. у большинства ИИ в играх даже нет того что творит ИИ в этой новой зельде, когда поджигает палки у костра чтобы жорить ими и метает друг друга.

>Ага. Большие проблемы в виде mostly negative и рефандов.


разве это проблема? напротив - у нишевого продукта гарантирован хотя-бы минимальный успех.
sage 914 535997
>>35987

>игровая индустрия стагнирует


Где? Дикий рост выручки и доходов сколько лет подряд уже? Год когда рост считается "плохим" по меркам иных отраслей был бы невероятно успешным.

> у большинства ИИ в играх даже нет того что творит ИИ в этой новой зельде


А зачем оно нужно в игре не построенной на поджигании палок у костра?
>>35988

>разве это проблема?


Гигантская. От необходимости искать новую работу до продажи квартирки.

> у нишевого продукта


У него нет бабла на сложные вещи.
915 536002
>>35997

>А зачем оно нужно в игре не построенной на поджигании палок у костра?


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

>Гигантская. От необходимости искать новую работу до продажи квартирки.


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

>У него нет бабла на сложные вещи.


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

но не душу
sage 916 536008
>>36002

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


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

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


Вот. Ты же понимаешь суть геймдева. Фичи ради самих себя не нужны и просто вредны.
917 536011
>>36008

>Игры - развлечение. Сложный ИИ нужен только там где он реально необходим.


а все ли развлечения можно назвать казуальными? нет конечно. ведь существуют такие игры как тоха, что сродни сованию себе биты в задницу, или from the depths где туториал заканчивается часу этак на 500. я знаю что желающих принять челленж в виде сложного ИИ более чем достаточно. а вот желающих создать такой челленж не особо.

>Фичи ради самих себя не нужны и просто вредны.


а причем тут это? яж пишу че: большинство дрочева неверно приоритезирует трату ресурсов. есть множество причин делать так как они, но в итоге про какое-то нишевое говно слышно и через 5 лет после релиза, а очередная срань забывается через неделю.
sage 918 536013
>>36011

> а вот желающих создать такой челленж не особо


Наверно потому что такие игроки играют например в шахматы против ИИ?
919 536040
>>35952

>как заимплементил то такое?


Указываешь юниту, куда идти -> в него вносятся желаемая точка и точка сброса. Дальше в апдейте каждый фрейм вносим в аниматор переменные (зависимость от оставшегося пути и скорости), чтобы он правильную анимацию бега проигрывал.
Но ты, наверное, про поиск пути спрашиваешь, а там у меня всё просто. Стратегия-то пошаговая, поэтому нахожу все квадратики до цели, заношу их в цепочку, юниту скармливаю связанные квадраты цепочки, когда он доходит до желаемой точки или сбрасывает свою позицию. Там в рилтайме только апдейт и то, что аниматор сам делает, чтобы анимации проигрывать. Эту систему в принципе легко перевести в рилтайм полностью, банально сделать шажки короткими, квадратики милипиздрическим и добавить автопропуск хода, если игрок нихуя не жмёт
920 536043
>>35977
Да, я об этом и спрашиваю, в общем-то.
Вот допустим у меня есть массив структов с несколькими базовыми (инты, флоаты, стринги, ну ясно) переменными. Стоит ли заменять его на много массивов переменных?
921 536050
>>36043
Нет, ты явно не об этом спрашиваешь, лол.
В общем unity ecs это хуйня, которая заменяет gameobject и monobehaviour.
Ты создаешь сущности, которые содержат в себе компоненты: идти, стрелять, есть, спать.
У тебя есть системы, которые могут работать последовательно.
Например SleepSystem.
Она берет все entities, у которых есть компонент "спать", и укладывает их спать в 9 вечера.
Или HuntSystem.
Она берет все сущности, у которых есть компоненты идти, стрелять и есть, и делает их ходить по спирали, и, если в поле зрения кто-то съедобный и живой, то стрелять.
EatSystem
Если рядом есть что-то съедобное, то сожрать.
И еще у тебя есть RenderSystem(или как-то так), встроенная прямо в юнити.
Если у сущности есть меш-компонент, то она его нарисует на экране.

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

А вообще можно использовать ECS только для некоторый вещей, которые прям напрашиваются. Птичек летающих сделать или рыбок, или толпу зомби.
922 536053
>>36050
Лучшее объяснение ECS из виденных мною.
923 536055
>>36050

>использовать ECS


Всегда использовал вместо этих костылей интерфейсы.
924 536056
>>36055
Вот этот гражданин явно понимает о чем говорит, верьте ему.
925 536128
Может кто-нибудь по пальцам перечислить, в каких местах юнька рефлексирует? Ясен пень, что сендмесседж, а ещё где?
926 536132
Почему рейкаст2д не работает так как надо?

Vector2 vec = gameObject.transform.position;
Vector2 tar = target.position;
RaycastHit2D rc = Physics2D.Raycast(vec, tar, 100f,enemyLayers);

Этот код наводится куда-то в сторону далеко вправо вверх от vec, вне зависимости от того какие координаты в tar. Судя по всему, этот рейкаст наводится на координаты относительно камеры, ведь луч двигается только когда двигается камера. Короче, я явно чего-то не понимаю, подскажите.
927 536151
>>36013
лол шахматы против ии.

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

>>36055
интерфейсы для структов как-то неочень

>>36132
что же ты. потомучто Physics2D.Raycast в качестве второго параметра принимает направление, а не позицию. вычти один вектор из другого.
928 536153
>>36151

> Physics2D.Raycast в качестве второго параметра принимает направление, а не позицию. вычти один вектор из другого.



Спасибо, это то что нужно.
929 536154
>>36128
ЕМНИП Все Update() и т.п. через рефлексию вызываются
930 536156
>>36154
наркоман какая рефлексия https://blogs.unity3d.com/en/2015/12/23/1k-update-calls/
сенд месседж перестает быть рефлексией после компиляции один хуй
sage 931 536157
>>36156

>сенд месседж перестает быть рефлексией после компиляции один хуй


Лолшто.
932 536158
>>36157
а что ты ожидал то? очевидно что юнити подставляет туда полноценный делегат когда компилирует проект. такая всратая имплементация для эдитора только чтобы удобно было. а всякие дураки воют "ууу рефлексия ууу медленно".
производительность надо проверять в сбилженных проектах, а не в самом юнити.
sage 933 536165
>>36158

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


Не очевидно. И не подставляет. Я сейчас на пробу что-нибудь в il2cpp с SendMessage соберу и посмотрим.
sage 934 536168
Ок. Тупой C# код типа

> public class Hui : MonoBehaviour {



>// Use this for initialization


>void Start () {


> SendMessage("SayHui");


>}



>void SayHui()


>{


> Debug.Log("TI HUI!");


>}


>}


Транслируется в следующее: https://pastebin.com/4zCgatpS
Где чётко виден вызов к SendMessage по строке.
935 536169
>>36050
А это ECS для старых версий юнек зайдет? 5.3.X например
936 536171
>>36050

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


Таак падажжи ебана. Я не понимаю в чем смысл и иноовационность.

Вот у нас есть УСЛОВНЫЙ юнити, вот у нас наспаунились геймобжекты. И вот у нас есть ТОЛЬКО компоненты ЯВСЕХЖРУ, УМЕНЯКРУТОЙИИ и ЦЕЛЬВИЖУСТРЕЛЯЮ, во всех определен скажем метод АПДЕЙТ и каждый компонент подразумевает наличие каких-то параметров.

В чем проблема ПРОСТО линейно разместить в озу данные каждого геймобжекта, а потом проходить по списку данных 3 раза(у нас всего 3 вида компонентов определено) и делать АПДЕЙТ к каждой сущности если стоит метка что там этот компонент есть.
Хотя 3 раза проходить это земля говном(или там в жтом и суть чтот).
В итоге никакой реворк архитектуры игры не нужен. Нужны только изменения в самом юнити(если он не так работает).

А для многопотока не екс нужно, а нужно делать компоненты(под компонентом я офк подразумеваю что объект отнлсится к данному множеству и потому должен пройти заданную обработку через вышеописанный метод апдейт), которые можно по отдельности обрабатывать с малыми конфликтами при доступе к ресурсам. Для разработки как я сказал не требуются установки в мозгу Я ДЕЛАЮ ПО ЕКС Я ДЕЛАЮ ПО ЕКС Я ДЕЛАЮ ПО ЕКС а требуется подумать как сделать чтобы параллельная обработка миллионов таких объектов как можно меньше стопилась в конфликтах к доступу к ресурсу.

Где я ошибаюсь?
937 536173
>>36171
Вообще смена парадигмы зрела давно и оно так правильнее с точки зрения геймдева. Ресурсно - да, каждый пишет свой ECS для оптимизейшона, хотя как ты говорищь - оно могло бы с помощью смены принципов работы интерпритатора(и тут не трогай юнитей, вопросы к мелкомягким с их языком) работать так-же. Но суть в том, что даже кодогенерация привела бы к чему-то похожему на ECS. А зачем плодить сущности, если цель одна? Смена парадигмы как способа мышления ведет к меньшему количеству итераций от человека к откомпилированному коду. Смена уровня абстракции на левел ниже.
И да, происходит смена культуры кода. Если все что можно найти было на гитхабе, в ассетах и прочем была похожа на официальные уроки юнитей с их родными компонентами, чем на чистый шарп(минимум подклассов, юзание паттернов на свести минимум, больше общения с префабами и обращения к компонентам) - приводило, как ни странно к чистому и ненагруженному и главное ЧИТАЕМОМУ коду.
И да, сейчас говорят - меняйте парадигму и культуру на новую, что очень сильно триггерит. Большинство именно программистов и так фигачили на чем-то своем, вроде MVC, где создавался контроллер(ГО с компонентами-контроллерами), что брал на себя функции основного кода, модель(что занималась сериализацией/десериализацией данных и общением с сервом и контроллерами) и вью(что из себя как раз представляет сцену). Такая культура всегда существовала параллельно работе скриптов конкретно на ГО сцены.
И для таких людей смена парадигмы - есть что-то логичное, зревшее ранее, понижающее уровень абстракции и при этом нехило разгружающее систему. Почему это должно быть теми-же яйцами только в профиль? Переучиваться больно, компоненты не все даже стандартные поддерживают, нужно где-то изощряться и костылить. Но это же самый сок в работе, когда ты не спинным мозгом думаешь, а осознаешь себя человеком - властелином логики, сапиенсом блядь
sage 938 536175
>>36171
Всякая хуйня с памятью - побочный эффект DOD. Суть чуть в другом - в отделении состояния от поведения и композиции вместо наследования.
sage 939 536176
>>36173
Смена парадигмы случилась уже очень давно, просто до УНИТИ доезжала долго. http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ написано 11 лет назад.
940 536177
>>36171
Ты ошибаешься в том, что для этого потребуется переделать Юнити, на самом деле это фишка шарпа - в массиве ссылочных типов хранятся ссылки на экземпляры, а сами экземпляры лежат где-то в куче в произвольном порядке, еще и .net их постоянно перекладывает, чтобы фрагментации не было.
Вот и получается, что при итерировании такого массива тебе надо взять ссылку, пойти по ней, сложить кусок памяти в кэш процессора, сделать что тебе надо, повторить.
В случае ецс берется сразу кусок данных, содержащий N элементов массива, запихивается в кэш и последовательно обрабатывается. Отсюда и выигрыш в производительности.
941 536178
>>36176
Братишь, еще на старом сурсе была основной парадигмой именно ECS(только что заметил, что в русской раскладке будет - УСЫ). Унити да, доезжала долго, и видать старалась быть ближе к народу что-ли... Вообще все начало позитивно меняться в лучшую сторону, когда начали появляться новые компоненты и функционал, написанный "звездами" ассетстора и гитхаба, когда их начали скупать. Все эти нгуи, текстмешпро, киеджиро с HDRP, пробилдер, нейстед префабс, и овердохуя прочего - это конкретные люди и, что характерно программисты под юнитей. И их код всегда отличался в сторону разделения функционала, в отличие от этих ваших классических тем с геймобджектами. Нас всегда кормили околомаркетинговой историей в виде уроков для начинающих - повесь компонент ходить на перса, заебашь террейн - зацени, бро, у тебя игра и ты можешь ходить персом. А теперь добавь пушку на которой будет компонент инстанса снарядом - умничка. А теперь заебень на снаряд свой компонент. Заебись - он взрывается! Массовость, бля
Сейчас начинают сами грязнуть в истории, что люди переросшие проекты аля "ГТА МОБАЙЛ ЧЕЛЯБИНСК ЭДИШОН(ВСЕ МОДЕЛИ ВАЗа)" начинают писать свои системы, или переходить на другие движки из-за этой поеботы. А юнитекам это нахуй не надо, вот звезды, коих собрадось уже дохуя, скорее всего и подсказали, как сделать так, чтоб и рыбку съесть и на хуй не сесть
942 536180
>>36177

>Отсюда и выигрыш в производительности.


Насколько большой выигрыш?
943 536182
>>36180
В десятки, а то и сотни для некоторых задач раз https://www.youtube.com/watch?v=j4rWfPyf-hk
944 536184
>>36182
Ого круто, все иду учить ECS.
945 536187
>>36178
И это же охуенно, что разработчики не сидят на жопе ровно. Усам ещё расти и расти, но выглядит уже весело.
946 536219
>>36173

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


Так то, батеньки, c# надо в помойку выкидывать. По себе вижу, как мозги костенеют от недостатка напряжения, а раньше считал .net программистов скорее ленивыми, нежели тупыми.
947 536245
>>36219

>c# надо в помойку выкидывать


Фрипаскальчую! Скорее бы выкинули уже уёбищный шарп с крестами и вернулись к православному паскалю.
948 536251
>>36245
Меня триггерят, как разраба, подобные шутки. Помимо того, что она тупая , ты еще выпячиваешь свой "уровень"
949 536261
>>36251

>ты еще выпячиваешь свой "уровень"


Вы только что посмели предположить мой уровень?
950 536264
>>36261
Есть маркеры характеризующие. Если например корешь тебя хватает периодически за хуй и лезет целоваться - скорее всего - он пидор. Как и ты
951 536275
>>36264

>Этот порвавшийся пердолик


Это какой-то особый вид вниманиеблядства - мериться степенью аутизма?
952 536283
Я где-то слышал, что ближайший год может быть шарп дополнен котлином. Выбор логичный. На данный момент есть поддержка котлина в качестве компилируемых андроидовых ADT плагинов внутри проекта. Может дальше реально будут в эту сторону развиваться
953 536289
>>36251
Мой уровень - 9 лет карьеры разработчика и работа по удаленке в Майами. Достаточно, чтобы написать, что ты несешь хуйню?
954 536290
>>36283

>к шарпоговну прикрутят джаваговно просто чтоб было) в роадмапе конечно ничего об этом не сказано, но ведь просто так бы не УСЛЫШАЛ! А всякие говноязыки которые раньше поддерживались - джаваскрипт и и еще какую то парашу - их выпилили чтоб освободить место для котлина)))))))))


И эти шизоиды делают игры.
sage 955 536294
>>36289
Дельфираб закукарекал.
Аноним 956 536298
>>36294
Ну так помаши крылышками, раз кукарекаешь.
957 536300
>>36290
Ебанись. Услышал - имеется ввиду на юнайте упоминание было. Котлин на данный момент(с ебетки 2018.3) компилируется не юнитёй а андроидстудией. И это нативный язык. Свифт да котлин нынче масткновн юнитёвым разрабом ибо без них никакой мобилковой разработки.
958 536312
sosite vse
959 536313
>>36300

>И это нативный язык.


В андроиде не может быть нативного языка, это же джавамашина. Тебя обманывают.
960 536342
>>36300

>масткновн


Ага, еще скажи что делая игру на юнити под мобилки нужно хоть одну строчку на твоей джавапараше написать.
961 536345
Ну что юнитибоги, небось рефлекшоном все балуетесь.
Поясните дауну с какого так сказать пирога я должен юзать CreateDelegate вместо тупого присвоения существующему делегату времянке ?
962 536346
>>36345
Это я про methodInfo если что.
963 536375
>>36342
Если хочешь встраивать хотя-бы монетизацию, рекламу, нативные сервисы, ачивки, не говоря уже о доступе к низкоуровневым данным с мобилки(вроде GPS координат не в флоате, а в дабле, чтоб получать погрешность не в 15, а в 5 метров) - тебе нужно лезть в студию и в икскод постоянно. Доступ к директориям телефона, какие никакие БД, кастомные библиотеки на других языках. Так чтоб не лазить туда и не писать какие-то моменты руками - только для совсем детских поделий справедливо
964 536382
>>36375
Уверенность что ты не сделал ни одной игры на юнити крепнет с каждым твоим новым постом.
965 536384
>>36382
Я уже несколько лет не общаюсь с юнькой с точки зрения игр - да. Я код пишу, блядь. Да и никогда не занимался лютой индюшатиной и в играх так-же. Понятие "сделать игру" не шибко для меня актуально.
966 536388
Хочу, чтобы жена попробовала работу в IT, веб-дизайн либо что-то аналогичное. У неё хорошие изобразительные навыки и владение photoshop/Corel. Думаю, предложить ей поучиться использовать unity, как один из вариантов. Вдруг зацепит? Насколько велика потребность в c# при использовании unity, насколько велик рынок труда в этой сфере?
med1475232130image.jpg32 Кб, 640x400
967 536395
>>36388
Представь себе ситуацию. Субботний вечер. Ты один дома, потому как у жены дедлайн и нужно марафонить код. Звонок - речь несвязная, паника, человек охуевает от происходящего, потому как вместо того, чтоб спать неделю хуярит коктейль из спидов и ноотропов. Из понятных слов только мат формируемый в текст и "заказчик". Сопровождается это в случае успеха эйфорией и ощущением себя "королем мира и повелителем кода".
Такое будет случаться постоянно в течении пары лет. Потом наступит "перегорание", кризис среднего возраста, и ощущение себя отработанным материалом без цели и неконкурентным молодым мозгам проходящим "стадию 1"
Далее наступит дзен, ей будет нравится пописывать код, зарабатывать на этом очень неплохую денюжку, любовь, мир, дружба и красота. И ностальгия по былому...
968 536436
>>36395
Почему похоже на пасту, но не гуглится?
969 536454
>>36395
https://yandex.ru/images/search?p=35&text=Звонок - речь несвязная%2C паника%2C человек охуевает от происходящего%2C потому как вместо того%2C чтоб спать неделю хуярит
Это определённо какое-то буллшит бинго
970 536457
>>36454
>>36436
Шизюнь, у тебя шапочка из фольги съехала.
971 536488
>>36388
Потребность велика(если игоры делать, то кодеры нужны). Рынок труда небольшой относительно. Людей еще меньше чем спроса. Платят очень хорошо. В геймдеве вообще дохуя специальностей(таланты любые нужны), но самые бохатые и любимые - кодеры.
972 536490
>>36388

>хорошие изобразительные навыки


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

>Насколько велика потребность в c# при использовании unit


И снова, если она художник, то кодинг если и потребуется то тупо на уровне копипасты пары строк.
974 536493
>>36490
У меня в соседнем подъезде художник настоящий живет. Посылает работу на дядю. Правда постоянно стоит перед магазом ближайшим и просит денюжку на водку. Бесполезнее персонажа, чем гумманитария, думающего что вот-вот его тонкий мир кому-то понадобится и будет востребован - никого нет.
975 536494
>>36493
а я под мостом бывало жил и пил паленую из консервной банки с такими же художниками и норм, жизнь живется. тебе просто не понять потому что ты не человек, а ходячий автомат. заменят твою душу на нейросеть, а ты и не прочь
976 536497
>>36493
Я про другого художника )
От картинок которого народ говорит вау.
Художник в том смысле, что идеям тесно у него в голове и он постоянно хватается за кисть.
А юнити и прочие песочницы же круче чем кисть.
977 536505
>>36497
Пиздежь. Норм художник, со скилом но без вау от окружающих может зарабатывать от 5 баксов в час в этих ваших интернетах. Просто рисуя. Художники нищими не бывают. И в юнити им разбирать нужно ровно на уровне ноль, все необходимые объяснения об особенностях работы платформы для того, чтобы они смогли верно выполнить свою работу занимают меньше десяти минут.

>>36488
Графон - это 2/3 от игры. Остальное - геймплей. Что, собственно, и отражает рынок: годному художнику зачастую платят 50+ баксов, годный юнити-кодер мечтает о 10. Поэтому когда художник хочет покирилить - к нему сразу слетается пачка кодеров, готовых бесплатно воплотить его идеи в код. Если же кодер хочет найти себе художника для своего говна - придется платить, бесплатно хуй кто что будет рисовать.и
978 536515
>>36505

>Графон - это 2/3 от игры. Остальное - геймплей.


Ну музон же забыл.
Убери из Мист3, Готики, Уереал музыку - ощути разницу.
979 536540
>>36497
То, что тысяча-две человек лайкнули кого-то на девиантарте - не делает человека художником.
Всем похуй что у художника в голове. Там может быть просто шиза. Или мания величия. А быть может он просто ленивое чмо, которое думает, что оно может нихуя не делать, но почему-то всем охуенно нужен его внутренний мир(на самом деле нет). Это гумманитарий - недочеловек. Плюс лишенный навыков.
Единственно важное - наличие навыков. Если умеет выполнять правильные вещи, пользоваться нужными инструментами, хуячить на выходе найс продукт, что можно использовать, умеющий слушать и слышать, при этом постоянно обучаясь и самообразовываясь(в написании эфикс или шейдоров, умеющий в сабстенсы все и воптимизацию) - то скорее, да, в команде он нужен и в зависимости эт этих скилов он получает денюжку. Иначе - все плохо.
980 536541
981 536547
>>36494
Нейросеть любая имеет цель. Обощи же безцельны
image.png823 Кб, 952x527
982 536573
>>28048 (OP)
Скоро в юньку завезут воксельное ги суперахуительное летающее даже на древних видюхах и не надо будет говнозапекать говно.
https://forum.unity.com/threads/hxgi-realtime-dynamic-gi.472486/page-15#post-3875065
983 536576
>>36573

>Скоро в юньку завезут


Надо только подождать. Не рефлексируем, пиарим. Надо сходить годоблядей пнуть в говнотреде.
984 536598
Пацаны, знает кто-нибудь где character controller хороший лежит? Уже штук 15 попробовал, все хрень какая-то, как будто не врубаются какой он должен быть.
985 536604
>>36598
Тебе фпс, тпс или какой надо-то?
986 536605
>>36604
ТПС
987 536608
>>36598

>Уже штук 15 попробовал, все хрень какая-то, как будто не хотят годноту бесплатно выкладывать.


Юнитификс.
0,0000003.jpg12 Кб, 600x515
988 536609
>>36608

>не хотят годноту бесплатно выкладывать.

9df18f050741a1da79d70751018f8811.jpg35 Кб, 560x561
989 536615
>>36609

>Пацаны, знает кто-нибудь где character controller хороший лежит? Уже штук 15 попробовал, все хрень какая-то, как будто не врубаются какой он должен быть.

990 536636
>>36609
Могу дать внезапный совет: Есть несколько бесплатных и при этом годных контроллеров для годота. Нет, я не призываю к инсталл годот. Предлагаю кое-что покруче: берёшь туториал по контроллеру для годота и реализуешь то же самое в юнити. ГДСкрипт прост и похож даже не не питон, а на алгоритмический псевдокод. Матчасть совершенно та же самая. Достаточно переложить на шарп. _process заменить на Update()
991 536642
>>36598
в ютубе туторалов по контроллерам как говна, сам оттуда спиздил неплохой контроллер и камеру, потому что дебил и не понимаю в них нихуя.
992 536654
>>36505

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


Нуну. Ко всем и всегда слетаются все подряд (и ничего не доделывают). А уважающий себя спец с опытом игнорирует, что кто-то там кирилит.
1348593633189.jpg59 Кб, 640x480
993 536674
>>36642

>спиздил неплохой контроллер и камеру


Там одно говно, я страниц 20 просмотрел, большинство суперпростые, идешь вверх на склоне - скорость не уменьшается, идешь вниз рывками как долбоеб. Есть вроде бы крутой платный
https://assetstore.unity.com/packages/tools/physics/kinematic-character-controller-99131
Но его пока не спиратили. Еще несколько бесплатных, но они странные, вроде авторы хорошо программируют, но один при подъеме на склон проваливается, а при спуске вылазит дальше чем нужно. Где ты видел такую хуйню, ебанько? Хочется спросить у автора. Нашел почти идеальный бесплатный CharacterMotor.cs и CharacterMotorC.cs, это официальный юнитевский из старых версий юнити, потом заменили на фпсrigidbody. Он даже по платформам ездит, вообще идеально. Но у него прыжок стремно сделан, типо если долго жмешь выше летит, слабо - ниже, хуйня какая-то, нужно снести и сделать обычный, но там так запутано, все разваливается если кривыми лапками лезть. И у него есть баг, когда приземляешься на крутой склон летя вниз, он прекрасно скатывается, а если вверх и не отпускаешь кнопку бега, то тупо едет вверх бесконечно, на любую стену можно забраться. Сам не могу исправить ошибку, слишком сложный скрипт, если бы кто-нибудь исправил... Нашел еще и его исправленную версию, но там все переписано, убрана возможность ездить по платформам и тоже недописано.
>>36636

>Предлагаю кое-что покруче: берёшь туториал по контроллеру для годота и реализуешь то же самое в юнити


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

>не получится скорее всего


Как ты игру собрался делать, если даже контроллер по инструкции не можешь осилить?

А вообще я, наверное, скажу ужасную вещь, но... Просто купи нормальный контроллер, если со скиллами все плохо. В конце концов это единоразовая покупка.
995 536682
>>36680
Проблема этих покупок в том, что они все говно. Есть много спираченных ассетов, системы всякие боевки, все говно. Если бы не пиратство пришлось бы кошельком проверять каждый. На ролике выглядит классно, скачиваешь там полное говно. Так бы конечно купил то что нужно. Я склоняюсь к тому, что чем у прогера выше скилл, тем меньше вкуса и вообще творческих способностей (не считая код). И еще им не хватает хитрости просто пиздить самые популярные геймплеи, они обязательно на свое усмотрение делают (конечно хуйню).
sage 996 536686
>>36598
В UCharacterMovementComponent.
997 536698
>>36682
Мужики говно, школьники рулят
014856172693465.jpg485 Кб, 596x587
998 536699
>>36698

>спирва добейси!!!!

999 536723
>>36699
Справедливости ради, ты вряд ли можешь объективно оценить качество чужих ассетов ввиду собственной низкой квалификации. Без обид.
1000 536737
>>36682

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


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

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


Чушь. Талантливый человек талантлив во всём. В данном же случае дело в том, что чем меньше глупый человек что-то знает в такой-то области, тем сильнее он бьёт себя пяткой в грудь, заявляя о своём профессионализме. Такие технари и выдумывают себе тупых гуманитариев, у которых "эти ваши ненужные картинки"
1002 536740
Народ, как лучше реализовать выравнивание ландшафта в стратегии при постройке дома? Это делают с помощью динамического изменения террейна?
1003 536755
>>36740
Гораздо проще сделать фундамент у домиков деревянных который по своей длине гарантированно уходит вглубь любых неровностей. И такие же длинные ступени крыльца у входной двери.
sage 1004 536789
>>36682

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


Нет. Противостояние "гуманитарии-технари" есть ложная дихотомия. Углубляться в одну сторону в ущерб другой - обрекать себя на убогость.
1005 536793
Можно ли в висуал студио забиднить скрипты, ну типа такой хуйяк шифт +1 и перед тобой твой скрипт говна. Подзаебало мышковать в тоннах говна.
1006 536800
>>36793
F12, если ты писал про команду Go To Definition.
1007 536809
>>36800
А можно сделать так к определенному месту, ну вот например хочу забиндить так чтоб при наждатии кнопки открывался опредененный класс в определенном месте, в общем задумка просто быстро свитчится в частопосещаемые места.
1008 536812
>>36809
Хороший код не предполагает часто посещаемых мест.
А на счет твоего вопроса хз, никогда не интересовался.
15321095004680.png156 Кб, 510x510
1009 536817
Кот смотрит на курицу.jpg49 Кб, 500x485
1010 536826
>>36723
Для того чтобы понять, что повар хороший, не нужно быть профессиональным поваром, ебанько. Без обид.
>>36737
Нет, у всех свой потолок в каждом деле. Невозможно много учиться и стать эйнштейном, это врожденные особенности. Можно преуспеть только в том, к чему у тебя склонности врожденные, в остальном потолок очень низкий, чем больше в одном, тем меньше в другом, мозг он маленький.
>>36738

>Чушь. Талантливый человек талантлив во всём.


Заткнись, пидараска. Гении как правило только в чем-то одном гении. Да, и пару талантов иметь можно, но это большая редкость, обычно вообще никаких, хоть усрись. Если у дауна айкью 60, как у тебя, хоть что делай, выше твоей тупой башки ты не прыгнешь, довин.
>>36789
А я и не говорю про технарей и гуманитариев, просто конкретно в этом случае так вышло. Наверняка, в ваших пизданутых манямирках полно гениальных программистов, которые одновременно еще и гениальные художники, что с вас взять.
1011 536842
>>36826

>ебанько


Сразу видно профессионала.
Конечно, ты прав. Для оценки качества фрезерного станка не нужно уметь им пользоваться, это любому дураку очевидно.
1012 536844
>>36817
Bookmarks, нюфаня
1013 536869
>>36826

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


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

> Заткнись, пидараска. Гении как правило только в чем-то одном гении.


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

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


Если говорить про реальный мир - то в нем любые гениальные программисты могли бы стать гениальными художниками. И наоборот. Только зачем им это? Когда ты гениальный программист - тебе не нужно становиться гениальным художником, максимум помазюкать на выходных.
1014 536887
>>36842

>Для оценки качества фрезерного станка


Разговор про людей, дура, что ты несешь.
>>36869

>они ведь в чем-то одном прокачиваются


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

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


Что ты забывать собрался? Существование комплементарных цветов? Хотя мозг забудет градус-по-HUE синего цвета без примесей Или суть оператора условного перехода? Хотя если пять лет не кодить на питоне - if по памяти не напишешь. Умение в гугле вбить "flat design guides"? Что-то ни разу не слышал, чтобы человек забывал про гугль. Ты формулу воды почему не забыл? Не ври, ты её помнишь. А там и кислород от водорода отличишь. Хотя - унеситеэтухуетуотменя - это химия.
Навыки без практики стачиваются - да. Общий скилл остается. Если чувак на 25м лвл понял, что красные штаны и зеленая куртка сочетаются не очень, то он в 35 её снова не оденет. Плюс, в 27 осознает, что эта прическа ему не идет. Это не значит, что в 40 он будет одеваться лучше всех. Но значит именно то, о чем я говорю: забываются детали, но не общие вещи.
1016 536900
секреты реалистичного графона?
1017 536905
>>36900
А что ты понимкаешь под реалистичностью ?
1018 536919
>>36598
А тебе точно игру делать, или велосипеды писать, как долбоебам местным? Я бы дал тебе контроллер, но не уверен пока.
1019 536949
Надо ли в gitignore прописывать .meta файлы? Скачал гит игнор для юнити, ну и вроде как норм, но он не игнорит мета файлы. Но их юнити сам создает каждый раз, да и не обновляются они даже когда сам файл меняешь. Так нахуя их тогда в репозитории хранить?
1020 537008
Как стёкла-то в окна сделать? Теней-то нихуя нет при прозрачности.
Как-то же делают люди.
1021 537014
>>37008
Шейдорами.
1022 537015
>>37008

>Теней-то нихуя нет при прозрачности


Йопт я чуть чай не выронил.
Как нет ?!
1023 537035
Платиновый вопрос: почему в юнити такой стремный свет и как его пофиксить, посоны? Получаю нормальные тени только от direct light, а все остальное расслаивается на ебенячие пикселизированные лесенки. Читал форумы юнити и прочие ресурсы, лекарства так и не нашел.
image.png291 Кб, 1322x936
1024 537048
>>37035
Настройки теней (в зависимости от качества графона) не оно?
1025 537050
>>37035
Вот еще https://stackoverflow.com/a/29046732

> if you have a very large ground object you need to spread your texel budget so shadow quality will be lower


> the floor size was the actual problem


Хотя с 15го года все могло поменяться.
1026 537058
Можно ли сейчас использовать ECS?
1028 537067
>>37058
Еще нет. Но поизучать и пройти пару туторов имеет смысл.
1029 537084
>>37048
Не, в эту первым делом полез, нихуя не меняет. Такое впечатление будто с каждым источником помимо бесконечного эта псина шакалит тени все сильнее.
>>37062
Гляну спс
1030 537147
>>37058
для твоего уровня можно, для энтерпрайса АААААА нет.
1031 537184
>>37147
Но ведь есть куча других ЕКС фреймворков
1032 537627
подскажите клёвую функцию чтобы я мог дать ей какой-то int, а она мне вернула какой-то цвет соответствующий ему и каждый раз один и тот-же для этого int. смещал байтики но не придумал как сделать красиво чтобы цвета не повторялись слишком часто и различались достаточно сильно
image.png10 Кб, 540x117
1033 537642
>>37627
https://en.wikipedia.org/wiki/Hue и еще настраиваемый random seed https://stackoverflow.com/a/19303725 тебе пригодится, если захочешь нелинейную последовательность цветов
1034 538249
>>35649

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


При виде врага он переходит в стейт "выплёвываю мертвечину и выпускаю тентакли", за которым следует стейт "ползу и грыгу, ползу и грызу!". Очевидно же.
Asdx1234.jpg133 Кб, 736x392
Вот что случилось когда ceo UE4 взял... 1035 546871
Котаны, есть проблема, приходит много данных, Json парсер спайкает, иногда коннект вообще падает. Требуется раскидать выполнение задач, для каждого подключения - отдельный поток. Вопрос, как передавать данные в главный юнити поток? Первое что в голову пришло - для каждого типа данных сделать ConcurrentQueue, кидать туда данные, а в юнитипотоке использовать TryDequeue() ? Какие способы могут быть?
1036 588585
>>28761
А вот и нет, если бы вы понимали хоть что-то в аллокации памяти и прочем, возможно вы бы прозрели, что создание класса идет в пул, а пулы разделяются по чанкам в зависимости от фильтров, я использую LeoECS его произвоидетельность примерно около стандартной юнити ECS. Использую стороннюю по множеству причин, среди которых сторонний рендерер внутри юнити и некоторые прицелы на MonoGame
Тред утонул или удален.
Это копия, сохраненная 18 ноября 2019 года.

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

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